Category:KL1: Difference between revisions
Content added Content deleted
(Created page with "{{stub}}{{language|KL1}}") |
No edit summary |
||
Line 1: | Line 1: | ||
{{stub}}{{language|KL1}} |
{{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. |