Hasty Briefsbeta

PProlog: A Prolog for Plan 9

12 days ago
  • #Plan9
  • #Programming
  • #Prolog
  • PProlog is a new Prolog implementation written in C for Plan 9 (specifically 9front).
  • Development started in December 2020 due to the author's need for a Prolog system on 9front.
  • The implementation is experimental and may have suboptimal code.
  • Currently, development is paused, and the system is in a broken state after a failed module addition attempt.
  • Features include a base system based on the Warren Abstract Machine (WAM), extended precision arithmetic via mp(2), basic support for Definite Clause Grammars (DCGs), lists, strings as lists of char atoms, basic control predicates, and full Unicode support.
  • The system is functional but lacks many built-in predicates expected in a complete Prolog system.
  • Built-in predicates as of January 13, 2021, include is/2, halt/0, consult/1, write/1, read/1, call/n, fail/0, >/2, ==/2, atom/1, integer/1, float/1, var/1, compound/1, and term_variables/2.
  • Additional predicates are implemented in the standard library, such as =/2, \=/2, reverse/2, samelength/2, append/3, member/2, select/3, length/2, nl/0, phrase/2, \+/2, false/0, true/0, repeat/0, once/1, ,/2, ;/2, ->/2, and =\=/2.