Kauê Hunnicutt Bazilli
Kauê Hunnicutt Bazilli
``` ?- [user]. q :- length(_,_), false; true. ?- q. ^C error('$interrupt_thrown',repl/0). ?- wam_instructions(q/0, Ins), maplist(portray_clause, Ins). allocate(0). try_me_else(6). put_variable(x(1),1). put_variable(x(2),2). call(length,2). deallocate. execute(false,0). trust_me(0). deallocate. execute(true,0). ``` This case...
> it may be a way to gradually increase the use of the monotonic execution mode in different libraries. Yes! The biggest problem with the monotonic mode is that it...
Using `$/1` from `library(debug)` to trace both the `(\=)/2` in the `dif/2` implementation and the `freeze/2` goal, we have: ``` ?- dif(X, a), freeze(X, $X=b). call:(A\=a). % Freeze wasn't called...
> You can take **safely** the success of `X \= Y`. You cannot take its failure. And it seems to be a pity if this cannot be exploited. Can you...
There is a lot of unsafe stuff happening all over the place in Scryer. It's kind of scary that a lot of them are behind macros which aren't easy to...
I don't think Scryer currently has an interface for getting this (what in Rust you would call an iterator). It was postponed from the initial pull request because it wasn't...
Implementing a new instruction is a change that needs to fork Scryer. I think what this issue is referring to is an API to expose user defined functions to the...
While it's not ideal and really impractical, I think you could just use the FFI as a workaround if you really need to do this. You compile a .so that...
Ok, if I'm understanding this correctly (I never used pgrx or PostgreSQL) you have to use the functions given by the library because they are dynamically generated from the connection...
In fact, with this whole socket thing you could skip the .so and just use [`library(sockets)`](https://www.scryer.pl/sockets) (or [`library(http/http_open)`](https://www.scryer.pl/http/http_open) if you are feeling less low level).