prolog
prolog copied to clipboard
The only reasonable scripting engine for Go.
#238 Refine interface `Term`, especially `*Compound`, so that we can introduce efficient representation of lists, strings, etc.
I had a crazy idea recently. Not sure if it would work, but it could maybe be a relatively low-effort way to get faster strings. The gist is: - Represent...
I have been playing around with prolog recently, and I got a meta-interpreter running (mostly by going along with https://www.metalevel.at/acomip) that provides a reasoning as to how a goal was...
What is really nice is that you have chosen `current_prolog_flag(max_arity, unbounded)`! ``` ?- length(_,E), N is 2^E, writeq(N),nl, catch(functor(F,f,N), Error, true), nonv ar(Error). 1 2 4 8 16 32 64...
Since Ichiban is currently one of actively developed ISO adhering system with bounded integers that are also checked, I can only ask the following question about [`succ/2](https://www.complang.tuwien.ac.at/ulrich/iso-prolog/prologue#succ) to you: ```...
When I try on WSL I get: ``` $ go get -u github.com/ichiban/prolog package embed: unrecognized import path "embed" (import path does not begin with hostname) package io/fs: unrecognized import...
Hi, I'm trying to experiment more with lists in the library but I'm struggling a bit, maybe you can help. Given the program: ``` is_comparison(a). comparison_list(a, [1.0, 2.0]). score(X,Y) :-...
Hello, Great project!! I tried out the example and it works as expected, however I'm having some issues with queries without free variables. In particular, in the example in the...
Hello, A further issue. I don't seem to be able to use the clause predicates to add/remove facts from the interpreter. What I tried: ``` func main() { p :=...
Hi @ichiban I was wondering if there's perhaps a way to add facts to the prolog interpreter without going through the p.Exec() route, which parses a string, but rather by...