Parsing code + test suite done, so now I can go on with the compilation and then execution of the expansion! #suetum #versu #praxis
ok, after some bugfix I reached the astronomical amount of...
(drumrolls)
48 lines of antlr4 parser.
i love so much when i can code less O_O
#suetum #praxis #versu
Lots of thinking, and then the grammar for the expansion construct is so embarrassingly simple 🥹 #Suetum #versu #praxis

Fixed also the last bug regarding axiom/rules exploration. Which allows you to drill-down in axiom expansions, and sub-axiom expansions and so on.

Now, in the space between the work on Selanìa, I can get to attack (my version of) Prolog's definite clause grammars.

It will probably be a more pragmatic approach, strongly oriented towards the narrative usages, with dedicated syntax, although it will be 100% based on exclusion logic like the rest.

#Suetum #versu #praxis

Big commit on #Suetum to improve axioms (rules). Now you can write mutually recursive rules, and Habitus is also kind-of able to show them (there are still cases in which it can't expand an axiom, in case the very first rule of the axiom already fails)!

https://codeberg.org/owofgames/suetum/commit/d90f8f4d2a5fa3db54c0a8448a28724833798874

#praxis #versu

This #Suetum program is doing like a thousand more computations than it should to check a condition, but at least the indented logger produces a very pleasing minimap on the right of the editor.

#versu #praxis

I kind of, sort of forgot that axioms are parts of the system, and right now they are completely opaque to the debugger.

So! Let's expand the system the allows for notifications during the unification of logic clauses to work also on axioms, and track a "stack" of the resolution.

This was quite tricky, and revealed a bug in recursive axiom applications, but: it's done! Now, how to properly display it...

#Suetum #versu #praxis

The work on the debugging tool for #Suetum is reaching its completion, but this is the most dense part, conceptually.

Added the possibility to see the agents' heuristics, to time travel (!) between the current and past states of the simulations, and what I'm now working on is the ability of creating "alternative" world states, where you simulate a different choice from the one picked by the game purely inside the debugging tool.

#praxis #versu

So, apparently, yes: it was a matter of an afternoon to add support for forall/exists quantification in #Suetum 😮

(also added the possibility to explore the bindings that matched the conditions, to debug problems in matching, and set an icon too)

#praxis #versu

Welp, looks like "for all" and "exists" operator are indeed necessary to build logic programs like i need.

So, this afternoon will be dedicated to that... because it will be... very... simple... to add quantifiers... right? >_>

#suetum #versu #praxis