Logica逻辑编辑语言

联合创作 · 2023-09-18 21:27

Logica,一种新的开源逻辑编程语言。 Logica 是 Yedalog(Google 早期开发的一种语言)的继承者,是一种类似于 Datalog 的逻辑编程语言。其代码会编译成 SQL,并在 Google BigQuery 上运行(实验性地支持 PostgreSQL 和 SQLite)。


此外,Logica 支持 SQL 所缺乏的干净和可重用的抽象机制,支持模块和导入,可以在交互式的 Python 笔记本上使用。


代码示例


查找 30 以内的质数


编写primes.l程序:



# Define natural numbers from 1 to 29.
N(x) :- x in Range(30);
# Define primes.
Prime(prime: x) :-
N(x),
x > 1,
~(
N(y),
y > 1,
y != x,
Mod(x, y) == 0
);

运行primes.l



$ logica primes.l run Prime
+-------+
| prime |
+-------+
| 2 |
| 3 |
| 5 |
| 7 |
| 11 |
| 13 |
| 17 |
| 19 |
| 23 |
| 29 |
+-------+
浏览 26
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报