Lojban as a declarative programming language

From Lojban
Revision as of 09:12, 30 September 2015 by Gleki (talk | contribs)
Jump to navigation Jump to search

Lojban programming language

One step towards an artificial intelligence would be to use Lojban as a declarative programming language. I want to discuss with the computer how I want my program to work, and then the computer goes ahead and writes that program. This is quite similar to Prolog, except that you can express any conceivable concept (more or less) in Lojban.

Firstly, though, I need to learn Lojban. Skimming through the gimste, here are some useful gismu for use with computerdom:

klesi     kle lei  class                                     x1 (mass/si'o) is a class/category/subgroup/subset within x2 with defining property x3 (ka)
sucta suc          abstract                                  x1 (si'o) is abstracted/generalized/idealized from x2 [something concrete] by rules x3
(i.e. superclasses)
steci tec     te'i specific             'special'            x1 (ka) is specific/particular/specialized/[special]/a defining property of x2 among x3 (set)
(i.e. subclasses)
sumti sum     su'i argument                                  x1 is a/the argument of predicate/function x2 filling place x3 (kind/number)
sidbo sib     si'o idea                                      x1 (idea abstract) is an idea/concept/thought about x2 (object/abstract) by thinker x3
(I think that sidbo is a good gismu for the "Object" from OO programming. An "Object" isn't physical, so "dacti" isn't a good word to use.)
tcini              situation            'state'              x1 [state/property] is a situation/condition/state/position/are conditions/circumstances of x2
liste     ste      list                                      x1 (physical object) is a list/catalog/register of sequence/set x2 in order x3 in medium x4
datni              data                                      x1 (du'u) [fact/measurement] is data/information/statistic(s) about x2 gathered by method x3
djuno jun     ju'o know                                      x1 knows fact(s) x2 (du'u) about subject x3 by epistemology x4
(sedjuno might be useful to refer to a fact)
fancu              function                                  x1 is a function/single-valued mapping from domain x2 to range x3 defined by expression/rule x4
lanli lal          analyze                                   x1 analyzes/examines-in-detail x2 by method/technique/system x3 [process/activity]
logji loj          logic                                     x1 [rules/methods] is a logic for deducing/concluding/inferring/reasoning to/about x2 (du'u)
tadji              method                                    x1 [process] is a method/technique/approach/means for doing x2 (event) under conditions x3
fendi fed          divide                                    x1 (agent) divides/partitions/separates x2 into sections/parts/ind. x3 by method/partition x4
jmina min          add                  'augment'            x1 adds/combines x2 to/with x3, with result x4; x1 augments x2 by amount x3
(i.e. add to a liste, or add numbers?)
vimcu vic     vi'u remove                                    x1 removes/subtracts/deducts/takes away x2 from x3 with/leaving result/remnant/remainder x4
pilji         pi'i multiply             'multiply'           x1 is the product/total/result of factors/multiplicands (x2 and x3) x2 multiplied by x3
cumki cum     cu'i possible             'maybe'              x1 (event/state/property) is possible under conditions x2; x1 may/might occur; x1 is a maybe
dunli dun     du'i equal                                     x1 is equal/congruent to/as much as x2 in property/dimension/quantity x3
simsa     smi      similar                                   x1 is similar/parallel to x2 in property/quantity x3 (ka/ni); x1 looks/appears like x2
frica fic          differ                                    x1 differs/is distinct from/contrasts with/is unlike x2 in property/dimension/quantity x3
mleca mec     me'a less                                      x1 is less than x2 in property/quantity x3 (ka/ni) by amount x4
 
girzu gir gri      group                                     x1 is group/cluster/team showing common property (ka) x2 due to set x3 linked by relations x4
(ordered set?)
sisku sis          seek                                      x1 seeks/searches/looks for property x2 among set x3 (complete specification of set)
jinzi jiz          innate                                    x1 (property - ka) is an innate/inherent/intrinsic/natural property/quality/aspect of x2
ka    kam          property abstract                         abstractor: property/quality abstractor (-ness); x1 is quality/property exhibited by [bridi]
(ka - I'm trying to find the gismu that means "x1 is a property of x2)"
kampu         kau  common                                    x1 (property - ka) is common/general/universal among members of set x2 (complete set)
ce'o          ce'o in a sequence with                        non-logical connective: ordered sequence link; "and then", forming a sequence
porsi por     poi  sequence                                  x1 [ordered set] is sequenced/ordered/listed by comparison/rules x2 on unordered set x3
cmima mim cmi      member                                    x1 is a member/element of set x2; x1 belongs to group x2; x1 is amid/among/amongst group x2
lidne         li'e precede              'leader'             x1 precedes/leads x2 in sequence x3; x1 is former/preceding/previous; x2 is latter/following
ciste         ci'e system                                    x1 (mass) system interrelated by structure x2 among components x3 (set) displaying x4 (ka)
minde mid     mi'e command                                   x1 issues commands/orders to x2 for result x3 (event/state) to happen; x3 is commanded to occur
minji         mi'i machine                                   x1 is a machine for use/function x2; [automated apparatus, without direct function control]
notci not     noi  message              'note'               x1 is a message/notice/memorandum about subject x2 from author x3 to intended audience x4
krefu ref     ke'u recur                                     x1 (event) is the x3'rd recurrence/repetition of x2 (abstract); x2 happens again in [form] x1
benji bej     be'i transfer             'send'               x1 transfers/sends/transmits x2 to receiver x3 from transmitter/origin x4 via means/medium x5
cabra         ca'a apparatus                                 x1 is apparatus/mechanism/device/equipment for function x2 controlled/[triggered] by x3 (agent)
cfari     cfa      initiate                                  x1 [state/event/process] commences/initiates/starts/begins to occur; (intransitive verb)
fatne fat     fa'e reverse                                   x1 [sequence] is in reverse order from x2 [sequence]; x1 (object) is inverted from x2 (object)   
fatri         fai  distribute                                x1 is distributed/allotted/allocated/shared among x2 with shares/portions x3; (x2/x3 fa'u)      

So now I'm able to describe classes, methods and properties of classes so I could describe an object-oriented system. I can create groups, sets, lists. I can describe properties of objects and define methods (selmidste?) on them.

I could also describe a logical system.