lang/trealla-prolog: New port

A compact, efficient Prolog interpreter with ISO Prolog aspirations.

MIT licensed
Integers & Rationals are unbounded
Atoms are UTF-8 of unlimited length
The default double-quoted representation is *chars* list
Strings & slices are super-efficient (especially with mmap'd files)
REPL with history
Runs on Linux, Android, FreeBSD, macOS, and WebAssembly (WASI) & Go
API for calling from C (or by using WASM from Go & JS)
Foreign function interface (FFI) for calling out to user code
Access SQLITE databases using builtin module (uses FFI)
Concurrency via tasks / linda / futures / engines (generators)
Pre-emptive multi-threading
Blackboarding primitives
...
FFIs for GNU Scientific Library (GSL), SQLite, Raylib
Delimited continuations ##EXPERIMENTAL##
Rational trees ##EXPERIMENTAL##
CLP(Z) ##EXPERIMENTAL##
PR:		286272
Reported by:	Siva Mahadevan <me@svmhdvn.name>
This commit is contained in:
Siva Mahadevan 2025-04-22 06:36:14 +00:00 committed by Wen Heping
parent a9de83cc04
commit 3c6713efe5
4 changed files with 70 additions and 0 deletions

View file

@ -384,6 +384,7 @@
SUBDIR += tclX
SUBDIR += tolua
SUBDIR += tolua++
SUBDIR += trealla-prolog
SUBDIR += tuareg-mode.el
SUBDIR += typstfmt
SUBDIR += typstyle

View file

@ -0,0 +1,46 @@
PORTNAME= trealla-prolog
DISTVERSIONPREFIX= v
DISTVERSION= 2.68.20
CATEGORIES= lang
MAINTAINER= me@svmhdvn.name
COMMENT= Compact, efficient Prolog interpreter written in plain-old C
WWW= https://github.com/trealla-prolog/trealla/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
USES= gmake
BUILD_DEPENDS= xxd:sysutils/xxd
PLIST_FILES= bin/tpl
TEST_TARGET= test
OPTIONS_DEFINE= FFI READLINE SSL THREADS
OPTIONS_DEFAULT= FFI READLINE SSL THREADS
FFI_DESC= FFI support
READLINE_DESC= GNU readline support
SSL_DESC= SSL support
THREADS_DESC= Preemptive multithreading support
FFI_LIB_DEPENDS= libffi.so:devel/libffi
FFI_MAKE_ARGS_OFF= NOFFI=1
READLINE_USES= readline
READLINE_MAKE_ARGS_OFF= ISOCLINE=1
SSL_USES= ssl
SSL_MAKE_ARGS_OFF= NOSSL=1
THREADS_MAKE_ARGS_OFF= NOTHREADS=1
USE_GITHUB= yes
GH_PROJECT= trealla
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/tpl ${STAGEDIR}${PREFIX}/bin/
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1745272025
SHA256 (trealla-prolog-trealla-v2.68.20_GH0.tar.gz) = 2fb4d08e02e75622c78e8f4a5edf5d7a76856b6f3e4c87db37c1b0c040db944a
SIZE (trealla-prolog-trealla-v2.68.20_GH0.tar.gz) = 610669

View file

@ -0,0 +1,20 @@
A compact, efficient Prolog interpreter with ISO Prolog aspirations.
MIT licensed
Integers & Rationals are unbounded
Atoms are UTF-8 of unlimited length
The default double-quoted representation is *chars* list
Strings & slices are super-efficient (especially with mmap'd files)
REPL with history
Runs on Linux, Android, FreeBSD, macOS, and WebAssembly (WASI) & Go
API for calling from C (or by using WASM from Go & JS)
Foreign function interface (FFI) for calling out to user code
Access SQLITE databases using builtin module (uses FFI)
Concurrency via tasks / linda / futures / engines (generators)
Pre-emptive multi-threading
Blackboarding primitives
...
FFIs for GNU Scientific Library (GSL), SQLite, Raylib
Delimited continuations ##EXPERIMENTAL##
Rational trees ##EXPERIMENTAL##
CLP(Z) ##EXPERIMENTAL##