Category:KL1: Difference between revisions

no edit summary
(Created page with "{{stub}}{{language|KL1}}")
 
No edit summary
Line 1:
{{stub}}{{language|KL1}}
 
KL1 is a parallel logic programming language created for use with the Fifth Generation Computer System started in Japan in 1982.
 
KL1 programs are constructed from Guarded Horn Clauses which have the form of: Goal(Arguments) :- Guard | Body.
 
When executing a goal, all of the subgoals in the body are executed in parallel. If one of the subgoals requires a value as part of its guard that has not been initiated yet, then it will sleep until that variable has been initiated.
 
KL1 uses an actor model where threads of execution are just mutually recursive goal inferences, and messages are shared between threads via shared variables that normally take the form of a cons list.
 
While hardly any working hardware exists, a portable compiler for KL1 called KLIC is available for unix systems available at: https://www.ueda.info.waseda.ac.jp/~ueda/.
 
KLIC compiles KL1 code down to C code that can either run sequentially, or parallel under a shared memory implementation or on-top of the Parallel Virtual Machine software that can be found at: https://www.csm.ornl.gov/pvm/.
 
Additional information on KL1 and the Fifth Generation Computer Project can be found at: https://www.ueda.info.waseda.ac.jp/AITEC_ICOT_ARCHIVES/ICOT/HomePage.html. This website is a museum of the research and efforts put into the FGCS containing information on it's development and use.
9

edits