此中, 逻辑编程语言最能办理SQL的范围性。
逻辑编程语言Logica
Logica就是如许一门逻辑编程语言。
作甚逻辑编程?
逻辑编程是种编程范例,它设定答案须符合的规则来办理题目,而非设定步调来办理题目,过程是究竟+规则=效果。
逻辑编程是种编程范例,它设定答案须符合的规则来办理题目,而非设定步调来办理题目,过程是究竟+规则=效果。
Logica进一步扩展了经典的逻辑编程语法,最明显的是利用聚合,这也是这个名字的泉源: Logic + Aggregation(聚合)。
Logica继续自Yedalog (早期谷歌开辟的一种语言),是一种雷同数据日记 (Datalog-like)的逻辑编程语言。 Logica代码可以编译成SQL,可在谷歌BigQuery上运行 (也支持PostgreSQL和SQLite):
- 支持SQL所缺乏的 简便和可重用的抽象机制
- 支持模块和导入
- 乃至使测试查询变得不再困难!
到底好欠好用,上手表现便知效果。
下面是一个 查找小于 30 的质数的详细示例:
# Define natural numbers from 1 to 29.
N(x) :- x inRange( 30);
# Define primes.
Prime(prime: x) :-
N(x),
x > 1,
~(
N(y),
y > 1,
y != x,
Mod(x, y) == 0
);
运行效果:
$ logica primes.l run Prime
+-------+
| prime |
+-------+
| 2|
| 3|
| 5|
| 7|
| 11|
| 13|
| 17|
| 19|
| 23|
| 29|
+-------+
热议:可否成为主流?
谷歌工程师们鼓励各人积极实验Logica。
许多人很高兴看到Google推出的如许一门新的逻辑编程语言,但表现被主流接纳另有很长的路要走。
正如许多网友都有一些质疑:
有人以为Logica没有真的做到转SQL,只是用了作为假造机的表明器动态“翻译”的。
另有人以为这不是通常意义的逻辑编程,仅仅搞了搞数据库查询。
而且还会带来依靠题目。
但他们都表现大概是对Logica相识得不敷深入。
只有一个人的关注点是这个新编程语言的名字和一家公司撞名了
末了,项目已开源,拜见链接[2]。有爱好 (有头发的)的朋侪可以本身实验一下!
参考链接:
— 完—
本文系网易消息•网易号特色内容鼓励筹划签约账号【量子位】原创内容,未经账号授权,克制随意转载。
参加AI社群,拓展你的AI行业人脉
量子位「AI社群」招募中!接待AI从业者、关注AI行业的小同伴们扫码参加,与 50000+名挚友共同关注人工智能 行业发展&技能希望:
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技能和产物新动态
一键三连「分享」、「点赞」和「在看」
科技前沿希望日日相见~返回搜狐,检察更多