elpi(1)

embeddable lambda-Prolog interpreter

Section 1 elpi bookworm source

Description

ELPI

NAME

elpi - embeddable lambda-Prolog interpreter

SYNOPSIS

elpi [OPTION].. [FILE].. [-- ARGS..]

DESCRIPTION

Main options:

-test runs the query "main"

-exec pred

runs the query "pred ARGS"

-D var

Define variable (conditional compilation)

-document-builtins Print documentation for built-in predicates

-no-tc don’t typecheck the program

-delay-problems-outside-pattern-fragment (deprecated, for Teyjus

compatibility)

-version prints the version of Elpi

Parsing options:

-I PATH

search for accumulated files in PATH

Tracing options:

-trace-at FNAME START STOP

print trace between call START

and STOP of function FNAME (FNAME can be omitted, default is run)

-trace-on KIND FILE enable trace printing.

KIND is tty or json (default is tty). FILE is stdout or stderr (default) or host:port or /path or ./path

-trace-skip REX

ignore trace items matching REX

-trace-only REX

trace only items matching REX

-trace-only-pred REX

trace only when the current predicate matches REX

-trace-tty-maxbox NUM

Format max_boxes set to NUM

-trace-tty-maxcols NUM

Format margin set to NUM

-stats-on

Collect statistics

-perf-on

Disable trace output, but keep perf

Tracing options can be used to debug your programs and the Elpi interpreter.

Tracing points for the user are prefixed with ’user:’ while the ones for the Elpi developer with ’dev:’.

A sensible set of options to debug your programs is: -trace-on -trace-at 1 9999 -trace-only ’\(runselectuser:\)’

Debug options (for debugging Elpi, not your program):

-print-accumulated-files prints files loaded via accumulate

-print-ast prints files as parsed, then exit

-print prints files after most compilation passes, then exit

-print-passes prints intermediate data during compilation, then exit

-print-units prints compilation units data, then exit