Lazy Combinations in Elixir
(smaller-infinity.com)
When building Guesswork, a logic programming library for Elixir, I ran into an interesting problem: supporting both logical And as well as infinite streams of possibilities.
When building Guesswork, a logic programming library for Elixir, I ran into an interesting problem: supporting both logical And as well as infinite streams of possibilities.
How to Average in Prolog (2017)
(storytotell.org)
If I had to average a list of numbers, I would probably do it like this:
If I had to average a list of numbers, I would probably do it like this:
Curry: A functional logic programming language
(curry-lang.org)
Curry is a declarative multi-paradigm programming language which combines in a seamless way features from functional programming (nested expressions, higher-order functions, strong typing, lazy evaluation) and logic programming (non-determinism, built-in search, free variables, partial data structures).
Curry is a declarative multi-paradigm programming language which combines in a seamless way features from functional programming (nested expressions, higher-order functions, strong typing, lazy evaluation) and logic programming (non-determinism, built-in search, free variables, partial data structures).
Solving a “Layton Puzzle” with Prolog
(buttondown.com)
I have a lot in the works for the this month's Logic for Programmers release. Among other things, I'm completely rewriting the chapter on Logic Programming Languages.
I have a lot in the works for the this month's Logic for Programmers release. Among other things, I'm completely rewriting the chapter on Logic Programming Languages.
Dusa Programming Language (Finite-Choice Logic Programming)
(dusa.rocks)
Dusa is a logic programming language designed by Rob Simmons and Chris Martens, the first implementation of finite-choice logic programming.
Dusa is a logic programming language designed by Rob Simmons and Chris Martens, the first implementation of finite-choice logic programming.
What Is miniKanren?
(minikanren.org)
miniKanren is a family of Domain Specific Languages for logic programming.
miniKanren is a family of Domain Specific Languages for logic programming.
Fleng 22 (concurrent logic programming)
(call-with-current-continuation.org)
This software is an implementation of "FLENG", a low level concurrent logic programming language descended from Prolog.
This software is an implementation of "FLENG", a low level concurrent logic programming language descended from Prolog.
Logica – Declarative logic programming language for data
(logica.dev)
Logica is an open source declarative logic programming language for data manipulation.
Logica is an open source declarative logic programming language for data manipulation.