用 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://codercto.com/soft/d/16984.html

深入解析Spring MVC与Web Flow

深入解析Spring MVC与Web Flow

Seth Ladd、Darren Davison、Steven Devijver、Colin Yates / 徐哲、沈艳 / 人民邮电出版社 / 2008-11 / 49.00元

《深入解析Spring MVCgn Web Flow》是Spring MVC 和Web Flow 两个框架的权威指南,书中包括的技巧和提示可以让你从这个灵活的框架中汲取尽可能多的信息。书中包含了一些开发良好设计和解耦的Web 应用程序的最佳实践,介绍了Spring 框架中的Spring MVC 和Spring Web Flow,以及着重介绍利用Spring 框架和Spring MVC 编写Web ......一起来看看 《深入解析Spring MVC与Web Flow》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

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

正则表达式在线测试