scryer-prolog
adventofcode
Our great sponsors
scryer-prolog | adventofcode | |
---|---|---|
42 | 69 | |
1,866 | 14 | |
- | - | |
9.7 | 8.6 | |
7 days ago | 3 months ago | |
Rust | Python | |
BSD 3-clause "New" or "Revised" License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
scryer-prolog
-
The Shen Programming Language
thank you! the scryer community deserves much of the credit too. everyone is welcome and encouraged to join us at https://github.com/mthom/scryer-prolog! some exciting plans in the pipe
- Advent of Code 2023 is nigh
-
Djot is a light markup syntax
Djot is the markup syntax that is used for the documentation of Scryer Prolog, using a parser written in Prolog:
https://github.com/aarroyoc/djota
It works well so far. One of the few limitations I noticed so far pertains to the formatting of tables. For instance, consider the table used in library(format) to describe control sequences:
https://github.com/mthom/scryer-prolog/blob/b0566e41503a6c8d...
It contains several entries that span multiple lines, yet are meant to denote only a single row of the table, such as:
% | `~Nr` | where N is an integer between 2 and 36: format the |
-
Why did Prolog lose steam? (2010)
There's a nice book[1][2] about Prolog, with modern characteristics. Moreover, there are things like ProbLog[3] and DeepProbLog[4] that allow you to use probabilistic reasoning and power of machine learning. I am personally looking forward for Scryer Prolog[5] to achieve its goals.
[1] https://www.metalevel.at/prolog
[2] https://github.com/triska/the-power-of-prolog
[3] https://github.com/ML-KULeuven/problog
- PHP: Prolog Home Page
- Control memory usage in scryer prolog
-
Julia is missing 'pycall' for Rust
One use case would be for example Scryer-prolog. The latter is a very fast and easy to use Prolog. It includes high performance constraint solving (e.g. CLP(ℤ)). I'd write a bridge to this prolog, but not if it is too cumbersome.
-
State machines and reconciliation loops
if native Prolog, which one? scryer-prolog seems to be constantly mentioned a having fast string support and useful libraries for dealing with JSON and web APIs
- The Power of Prolog
-
Annotated implementation of microKanren: an embeddable logic language
No, what I'm describing is the "monadic" behaviour of `phrase_from_file/2` and similar predicates. In conjunction with definite clause grammars, this means that your I/O operations either conform to the provided spec or fail. This is a "hot topic" (if LP topics can really still be "hot") and sees active development in new prolog systems.
Check this out:
https://www.swi-prolog.org/pldoc/man?section=pio
https://github.com/mthom/scryer-prolog/blob/084fc845902f7b43...
adventofcode
- -🎄- 2022 Day 25 Solutions -🎄-
- -🎄- 2022 Day 20 Solutions -🎄-
- -🎄- 2022 Day 14 Solutions -🎄-
-
-🎄- 2022 Day 13 Solutions -🎄-
My code is here https://github.com/djotaku/adventofcode/blob/66d74babd2ed37f56858096bc5598149448b6839/2022/Day_13/Python/solution.py
- -🎄- 2022 Day 12 Solutions -🎄-
- -🎄- 2022 Day 11 Solutions -🎄-
- [2022 Day 10 (Part 1)][Python] For complex sample input, final answer is wrong
- -🎄- 2022 Day 10 Solutions -🎄-
- -🎄- 2022 Day 9 Solutions -🎄-
- -🎄- 2022 Day 8 Solutions -🎄-
What are some alternatives?
swipl-devel - SWI-Prolog Main development repository
logica - Logica is a logic programming language that compiles to SQL. It runs on Google BigQuery, PostgreSQL and SQLite.
differential-datalog - DDlog is a programming language for incremental computation. It is well suited for writing programs that continuously update their output in response to input changes. A DDlog programmer does not write incremental algorithms; instead they specify the desired input-output mapping in a declarative manner.
materialize - The data warehouse for operational workloads.
tau-prolog - An open source Prolog interpreter in JavaScript
prolog - The only reasonable scripting engine for Go.
AdventOfCode2021 - Solutions to all 25 AoC 2021 problems in Rust :crab: Less than 100 lines per day and under 1 second total execution time! :christmas_tree:
otp - Erlang/OTP
AdventOfCode - My Advent of Code solutions. I also upload videos of my solves: https://www.youtube.com/channel/UCuWLIm0l4sDpEe28t41WITA
Advent-of-Code - My solutions or attempts at solutions to the Advent of Code event.
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
advent-of-code-cpp - C++ solutions for the Advent of Code programming puzzles - http://adventofcode.com/