tsani's Type System

From Lojban
Jump to navigation Jump to search

It's fine and dandy to say that the small type indicators used in parentheses or square brackets in the gimste are not prescriptive, but the truth of the matter is that using some types of sumti in some places is right out wrong. This has led me to believe that it would be possible to statically type every sumti place of every gismu, defining explicit interactions of the places in Lojban for the most part.

The types

First and foremost, it would be necessary to produce some sort of list of the types used in this classification. Fundamentally, things can be separated into two main classes:

The primary distinction of things

  • things of this world -> class A
  • things not of this world -> class B

Class A deals with objects and events, whereas class B deals with non-physical entities, which turn out the greatly outnumber in type their physical counterparts. Class B namely encloses pure numbers, properties, predications, sequences, text, sets.

The secondary distinctions of things

Furthermore, we can further split up class A to produce a more semantic-level difference in objects. Objects tend to come in two varieties, as I see it. Objects are either volitional or non-volitional, a very distinguishing characteristics. This distinction isn't quite a separation because volitional entities can substitute for non-volitional entities in many/all circumstances, if desired, whereas the use of non-volitional entities in a volitional entity sumti place is almost always either mildly nonsensical or metaphorical. Consider {mi dunda lo plise do}, {mi dunda do lo pulji}, and {lo plise cu lebna mi}. This leads me to say that the volitional entities class is a simply a subset of the physical objects class.

In brief, class A, things of this world:

  • Objects (tables, web sites, books, windows, smells);
  • (Volitional entities (people, possibly animals, possibly really smart AIs];
  • Events (lo nu citka, lo balvi, lo cinri).

And class B, things not of this world:

  • Pure numbers ({li ci}, {lo zilkancu be lo'i klama});
  • Properties ({lo ka ce'u bebna}, {lo selkai be do}, {lo se kakne be do});
  • Predications ({lo du'u do cilre}, {lo du'u dei na'e pluja});
  • Sequences ({zo coi ce'o zo do}, {lo'u a e i le'u}, {lo porsi be fi lo'i bajra});
  • Sets ({lo'i klama}, {lo simxu be lo ka ce'u cinba ce'u};
  • Text ({lo se du'u xukau do mi cinri}, {lu coi rodo li'u}, {zo si}).

Individuals and masses

The individual/mass distinction just has to do with distributivity, but for what it's worth, I strongly reject the idea that {lo} can produce a mass.

Type conversions

Given that types are static for a given place, it becomes very important to know by which means one might cast objects from one type into another. Of course, some conversions are impossible (number->event?!). Lojban text preceded by a question mark contains experimental cmavo.

  • individuals->set: {lu'i ko'a};
  • text->predication: ?{du'au ko'a}
  • predication->text: {lo se du'u broda}, ?{lu'au ko'a}
  • predication->property: {lo selbri be ko'a}
  • set->sequence: {lo porsi be fi ko'a}
  • sequence->set: {lo te porsi be fi ko'a}
  • number->text: {me'o MEX}
  • *->(presumably) text: {lu'e ko'a}
  • text->something useful: {la'e ko'a}

I started a discussion page about this Discussion: Type System here. --selpa'i