TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Reazon – miniKanren for Emacs

90 pointsby geospeckover 6 years ago

7 comments

nickdrozdover 6 years ago
Some background: miniKanren is a logic programming language in the neighborhood of Prolog (they are similar in the way that Python and Javascript are similar). The language is described and implemented in the book <i>The Reasoned Schemer</i>, which is a sequel to the classic <i>The Little Schemer</i>. The major implementations of miniKanren are in Clojure and Racket.<p>I was reading TRS and wanted to run the code, but I didn&#x27;t have (and didn&#x27;t feel like getting) Clojure or Racket. At the same time, I wanted to try my hand at some serious Elisp programming. The obvious answer was to put miniKanren into Emacs, and that&#x27;s what this is.
CamTinover 6 years ago
Fun! I highly recommend watching Dan Friedman and William Byrd give their miniKanren conference talk (they&#x27;ve done it a number of times slightly differently) e.g. this one at the &quot;Conj&quot; Clojure convention: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=5Q9x16uIsKA" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=5Q9x16uIsKA</a><p>It&#x27;s really a fun presentation and does a great job introducing logic programming and miniKanren to lay programmers.
sqrt17over 6 years ago
Snarky aside: you can also install a real Prolog (e.g. SWI Prolog) and run that in an Emacs session, and will be more performant and expressive than anything you would build on top of Emacs Lisp
评论 #17960701 未加载
评论 #17962074 未加载
bjoliover 6 years ago
Now, I am all for logic programming, but i have rarely found a place where such a solution haven&#x27;t been to much of a mental burden for a project with more contributors than only myself. I love to find problems where logic programming is a good fit, and I love the elegance of such solutions, but I can&#x27;tc expect my team to actually grok it.<p>What are your experience? Any successful uses?
评论 #17959881 未加载
jordighover 6 years ago
&gt; namely that of ending the names of test functions with p<p>I feel like this was a missed opportunity to say &quot;predicate&quot; instead of &quot;test functions&quot;.
amiroucheover 6 years ago
I think nothing can beat minikanren (or microkanren) to query a quad store. It make recursive queries easy.
评论 #17961946 未加载
shawnover 6 years ago
Bahaha, 3 of the 30 front page stories are about Lisp. Yessss, rise, Rise! Let the Lisp dominance commence! Take to the streets and take macros into your hearts! Demand a formal holiday to celebrate all conses! Tear off those strongly typed shackles and write a macro system to expand your grocery lists! <a href="https:&#x2F;&#x2F;github.com&#x2F;sctb&#x2F;lumen" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;sctb&#x2F;lumen</a><p>Today is a good day.
评论 #17959482 未加载
评论 #17961164 未加载