To implement DeepForest, parallel logic programming language KL1/KLIC was used. Logic programming languages are non-procedural and declarative computer languages [Chikayama et al., 1988,Winston, 1993,O'Keefe, 1994]. KL1 is one of parallel logic programming languages [Tick, 1991], in which parallel execution is intended. This language has been designed based on Guarded Horn Clauses [Ueda, 1985] to develop from an operating system [Chikayama et al., 1988,Ueda and Chikayama, 1990] to various application programs for parallel inference machines in ICOT. KLIC is a translator from KL1 to C language [Chikayama et al., 1988].
In logic programming languages, ``logic'' is equivalent to programming. Therefore, by using logic programming languages, we can literally clarify a problem in terms of logic. In that sense logic programming language like prolog is a tool for thinking [Sterling and Shapiro, 1986]. One of my objectives in DeepForest is to provide an environment to study molecular evolution in logic programming.