James Cash 🍍

@jamesnvc
62 Followers
57 Following
359 Posts
I make computer things in Toronto, mostly in Clojure. I powerlifting, strongman, and Highland Games How are you?
New Placehttps://fosstodon.org/@jamesnvc
PronounsHe/Him
Websitehttps://occasionallycogent.com
Workhttps://bloomventures.io
Finally leaving the mastodon.social nest & moving to @jamesnvc
Account moving doesn't seem to be working, so I guess I'll just set up a redirect & folks can manually re-follow if they care to

@aphyr Ah yeah, that's true. The implementations can do *some* optimizations to avoid extra choice-points, but it's pretty finicky & pretty ugly to take advantage of; that makes sense.

Yeah, reif is very cool -- I used it to write grammars for HTTP/2 that can run in either direction (i.e. parse or serialize) but it was very complicated to make it work (https://github.com/jamesnvc/http2_client/blob/master/prolog/frames.pl).

Very cool, in any case.

jamesnvc/http2_client

Prolog HTTP/2 Client. Mirror of https://gitlab.com/jamesnvc/prolog_http2_client - jamesnvc/http2_client

@aphyr Wait, so it's going Prolog -> Lisp -> miniKanren? That is beautiful, I love it!
I also like your comment on line 91 of that gist; logic variables are amazing!

For the code itself, any particular reason why all the semi-colons instead of defining more clauses for the predicate? I'd usually see like

foo(X) :- a.
foo(X) :- b.
...

vs

foo(X) :- ( a ); ( b ) ; ....

@aphyr 😆 An iconoclast where ever you go! 😂

@aphyr haha, I think the Prolog community tends to enjoy wild experiments with the language itself :grin:

Also, wrt to unicode characters, the semantics of what's a variable/atom should be defined by these rules: https://www.swi-prolog.org/pldoc/man?section=syntax#sec:2.16.1.9 I'm sure Jan would like to update either the language or the docs if there are inconsistencies!

SWI-Prolog -- Manual

@aphyr Ooh, you're using SWI? Nice, I've gotten involved in that community over the last couple years & I've come to really love the language and some of the folks involved. If you have any issues, the Discourse at https://swi-prolog.discourse.group/ is quite good - Jan, the primary developer is known to add features/fix bugs in response to posts there in a matter of hours :p
SWI-Prolog

SWI-Prolog forum

SWI-Prolog
@bzg (although I think I did mangle the in-reply-to header...I might try re-sending, with an added apology to the recipients)
@bzg Ah okay, thanks! I'm not subscribed -- I just read the list through gnus -- so I guess that'd be it. Thanks!
@bzg Relatedly, I just tried to send patches to two bugs from the Org bug tracker thing & I think I did it wrong -- I don't see either in the mailing list. Someday I'll figure this out 😆
@aphyr @technomancy I look forward to your next interview which somehow relies on Turing-complete composition of combining characters :p