用 Java 编写的 miniKanren 实现 Java8kanren

码农软件 · 软件分类 · 其他开发相关 · 2019-10-17 20:58:26

软件介绍

Java8kanren 是用 Java 编写的 miniKanren 实现。

miniKanren  是一类关系型编程语言。miniKanren 可以通过给定的关系表达式和计算结果来反向推导,找出符合条件的输入变量的取值组合。程序员可以通过加入关系表达式对输入变量和计算结果添加约束条件。miniKanren 通过“搜索树”的办法来搜索所有可能的输入变量。如果搜索空间非常大而且符合条件的结果不存在,miniKanren 的搜索有可能永远也不会停止。

evalo 是一个用 miniKanren 写的程序,evalo 是以关系表达式为输入和输出的程序。在 miniKanren 中调用 evalo 的方法是:(evalo q q)。evalo 具有自产生程式的功能。

Dan Friedman 的 “The Reasoned Schemer” 一书使用 miniKanren 来介绍关系型编程。该书还提供了 miniKanren 在 Scheme 语言上的一个完整实现。该实现的核心代码的长度仅仅只有两页纸。miniKanren 的 Scheme 实现的设计目的是容易理解,修改并扩展。

目前,Haskell、Racket、 Ruby、Clojure 以及 Python 中有 miniKanren 的具体实现。其中最典型的实现是 Scheme 的版本。Clojure 语言里的 core.logic 也是受到 miniKanren 启发。

本文地址:https://www.codercto.com/soft/d/16984.html

Music Recommendation and Discovery

Music Recommendation and Discovery

Òscar Celma / Springer / 2010-9-7 / USD 49.95

With so much more music available these days, traditional ways of finding music have diminished. Today radio shows are often programmed by large corporations that create playlists drawn from a limited......一起来看看 《Music Recommendation and Discovery》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试