ELPI(1)
π ELPI(1) β User Commands π
okay bestie, welcome to the elpi page, aka the embeddable lambda-Prolog interpreter. she's giving language-implementation realness and we're gonna go through everything, no skipping, no cap. π¦
β¨ NAME β¨
elpi β embeddable lambda-Prolog interpreter. that's the whole vibe. she interprets, she embeds, she slays. π
β¨ SYNOPSIS β¨
elpi [OPTION].. [FILE].. [-- ARGS..]
like, options first, then files, then -- and then whatever args you wanna yeet at her. πΈ
β¨ DESCRIPTION β¨
π Main options:
-testβ runs the query"main". just straight up runsmain, that's it, that's the girl. β¨-execpred β runs the query"pred ARGS". so you hand her a predicate and she runs it withARGS. iconic.-Dvar β Define variable. this is the conditional compilation one, iykyk. π-document-builtinsβ Print documentation for built-in predicates. free docs, we love that for us. π-no-tcβ don't typecheck the program. living dangerously, I see. π-delay-problems-outside-pattern-fragmentβ deprecated, for Teyjus compatibility. it's giving legacy era, bestie. still works, still counts. π-versionβ prints the version of Elpi. she'll tell you who she is. π
π§ Parsing options:
-IPATH β search for accumulated files inPATH. so when stuff gets accumulated, this is where she looks. π
π₯ Tracing options:
-trace-atFNAME START STOP β print trace between call START and STOP of function FNAME (FNAME can be omitted, default isrun). so it's a lil window of trace, very targeted. π-trace-onKIND FILE β enable trace printing. KIND isttyorjson(default istty). FILE isstdoutorstderr(default) orhost:portor/pathor./path. yes she can send it over the network, she's flexible like that. π-trace-skipREX β ignore trace items matching REX. not interested, blocked. π-trace-onlyREX β trace only items matching REX. the opposite energy, obsessed with exactly this. β¨-trace-only-predREX β trace only when the current predicate matches REX. predicate-specific attention, main character energy. π-trace-tty-maxboxNUM β Formatmax_boxesset to NUM. literally just setsmax_boxesto NUM. π«Ά-trace-tty-maxcolsNUM β Formatmarginset to NUM. setsmarginto NUM, no notes. πΈ-stats-onβ Collect statistics. numbers girlies rise. π-perf-onβ Disable trace output, but keep perf. so: no trace noise, all the perf data. best of both. π₯
Tracing options can be used to debug your programs and the Elpi interpreter. fr fr, that's what they're for.
Tracing points for the user are prefixed with 'user:' while the ones for the Elpi developer with 'dev:'. so you can tell who's talking. π¦
A sensible set of options to debug your programs is:
-trace-on -trace-at 1 9999 -trace-only '\(run\|select\|user:\)'
copy that, paste that, thank me later. π
π Debug options (for debugging Elpi, not your program):
bestie, read the parenthetical. these are for debugging Elpi herself, not your cute lil program. don't come for me when you use them and get confused. π
-print-accumulated-filesβ prints files loaded viaaccumulate. the receipts of what got accumulated. π§Ύ-print-astβ prints files as parsed, then exit. right after parsing, nothing more. β¨-printβ prints files after most compilation passes, then exit. she's been through some things at this point. π-print-passesβ prints intermediate data during compilation, then exit. all the messy in-between stages. π-print-unitsβ prints compilation units data, then exit. unit by unit, very thorough. π
and that's the whole page, bestie!! π every flag, every arg, every default, all present and accounted for. now go trace something and have the best day. mwah! πβ¨
β signing off: elpi 1.13.7, October 2021, that's the version and the date, love u bye!! π¦π
π¦ where this page comes from
- debian bookworm: elpi 1.16.8-1+b2 Β· LGPL-2.1-or-later
- debian trixie: elpi 2.0.7-1+b1 Β· LGPL-2.1-or-later
- ubuntu jammy: elpi 1.14.1-1 Β· LGPL-2.1-or-later
- ubuntu noble: elpi 1.17.4-3build1 Β· LGPL-2.1-or-later
- ubuntu questing: elpi 2.0.7-1build2
- ubuntu resolute: elpi 2.0.7-3build3 Β· LGPL-2.1-or-later
- ubuntu stonking: elpi 3.7.2-2build2 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms