Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kfl/pure-prolog
Simple pure prolog interpreter
https://github.com/kfl/pure-prolog
haskell prolog
Last synced: 15 days ago
JSON representation
Simple pure prolog interpreter
- Host: GitHub
- URL: https://github.com/kfl/pure-prolog
- Owner: kfl
- License: mit
- Created: 2017-10-03T10:06:58.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-05-11T07:39:23.000Z (almost 3 years ago)
- Last Synced: 2023-04-14T20:40:23.013Z (almost 2 years ago)
- Topics: haskell, prolog
- Language: Haskell
- Homepage:
- Size: 14.6 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
What Is It?
===========Simple-minded implementation of pure Prolog.
Interface
---------The help message you get by calling `pure-prolog -?`:
~~~
Pure Prolog Interpreter v0.1, (C) Ken Friis Larsen 2012-2018options [OPTIONS] [GOALSTRING]
Common flags:
-s --search=SEARCH Specify whether to use DFS, BFS, or Limited
-p --program=FILE Prolog file with clauses
-l --limit=INT Limit the number of solutions found
-d --depth=INT Maximum depth to traverse when using limited search
-i --info=ANALYSIS Don't interpret program, only analyse it
-? --help Display help message
-V --version Print version information
--numeric-version Print just the version number
~~~Valid values for analysis are `External`, `Uses`, and `Interface`. If
you want see both which predicates are declared (the interface) and
which predicates are called (the uses) in the file `myprolog.pl` then
use the command:~~~
$ pure-prolog -p myprolog.pl -i interface -i uses
~~~This will first print the interface (one predicate per line), then a
blank line, and finally the uses (one predicate per line).If you just want a list of the external (or build-in) predicates that
are used, then use `-i external`.How to install
--------------~~~
$ git clone https://github.com/kfl/pure-prolog.git
$ cd pure-prolog
$ stack install
~~~