5 ms·
So, this project is a web side of a famous (arguably THE most famous) book on relational programming. It's a book that introduces a dialogue for learning the la
by KirinDave 8y ago
So, this project is a web side of a famous (arguably THE most famous) book on relational programming. It's a book that introduces a dialogue for learning the language, how it's implemented, and its principles. The principles of relational programming are the important part. It's not strictly "Incorrect" to say "MiniKanren specifies logical systems" but it doesn't really capture the spirit of relational programming.
The book is linked from the page, and the book itself is well reviewed on average (and gets an excellent rating from me, personally). The first 3 paragraphs explain this and link to a video with more details.
MiniKanren's had some extremely interesting results presented in it, most famously a relational bidirectional interpreter (which can suggest programs that transform input in a specified way). William Byrd (one of the primary authors of the work) still gives an excellent talk on the subject because it's not well known. [0]
I can't help but notice the link to the book, the exhaustive list of papers and talks, links to videos and an invitation schedule. It seems like there was an awful lot of information you just ignored. As a friendly bit of advice, PLT, PLR, and in general the deeper and more modern end of algorithmic work is not going to present a punch, javascript-framework-esque 60 second animation for you.
So if you are going to pursue more on MiniKanren (and I really recommend it, it's amazing stuff) then I strongly recommend you gird yourself for rifling through references and books as a first resort rather than a last.
- ufo 8y agoDid you mean to include a link to the talk with that "[0]"?
- KirinDave 8y agoI did! Looks like I had a formatting error! [0]: https://www.youtube.com/watch?v=RVDCRlW1f1Y https://www.youtube.com/watch?v=RVDCRlW1f1Y Sorrrrry!
- typon 8y agoGood answer. Actually a 10-line blurb on the core operations of Minikanren and some output from programs would be pretty useless. It would only serve to confuse the reader because names like "fresh", "conde", "numbero" etc aren't very descriptive (you can argue whether they're good names at all). Maybe having a little blurb about the meta-circular interpreter might be useful as a way of "exciting" the audience by presenting a cool result.
- haolez 8y agoI think the parent’s criticism was constructive. A simpler website could attract more people to dive deep into the topic.
- KirinDave 8y agoGlibly: Not every subject is amenable to a 20 second summary animation with pictures of rich people on computers in cafes in the background. More seriously: They explain it, they link to a whole book, and they link to a video with that crazy bidirectional interpreter. What else do you actually think would help? It's very unusual looking Scheme code, it's not going to be readable to the average viewer. I have written Lisp for over a decade and the code was nonsense to me until I read the book.
- sgentle 8y agoI disagree with you, but to really understand why you will need to read my book. It may sound like a lot of effort, but I can assure you that my disagreement is as intricate as the celestial orbits, as deep as the darkest ocean, and as as divine as the heavens themselves. The scholars and holy men have spent years studying why I disagree with you, and they will confirm that, once you too have spent years studying, you will not only disagree with your former self, but understand, with the first true clarity of your adult life, that the sacred knowledge cannot be grasped by the clumsy hands of a dilettante. "Please, sir", I hear you ask, "can you not spare some crumb of wisdom from the table of your enlightenment? Some small morsel to nourish me on my journey?" I am afraid not. Summaries are nothing but fornications of the mind: easy pleasures to tempt you away from the righteous path of long and laborious study to an uncertain end. The truly wise know that it is better to know nothing than to know a little. And if, in some fit of insouciance, you begin to think it is not worth your time to engage with the entire depth (as the ocean, recall) of my argument before knowing if it is true, or useful, or relevant to you? Then I can offer nothing but pity. Do you not understand that it is you who must prove yourself worthy of my ideas? You who must justify your relevance to me? The ego of students these days is astonishing. It's no wonder they never learn anything.
- KirinDave 8y agoI like to imagine a hypothetical, parallel universe where you spent the same amount of time writing your overwrought post and instead focused on the first paragraph of the simple, accessible webpage that is linked, you'd see a link directly to a series of interactive code samples. An exact summary of "what it's good for" is found in the second paragraph (as noted by others in this thread). Such an investment of time would surely get you below the fold, and see the link to multiple talks and papers. There's a whole section just entitled, "Recorded Talks" with dozens of videos offered by professionals far more qualified to talk on the subject than either you or I as implementors of such software systems laid out in an archival format. Talks by such amazing people as Byrd, Freidman, Stokke or Nolan. I like to think in that same universe, the poster I responded to also took this time. So that I could have instead spent more time on my OTHER, way more fun and interesting post where I go into a use case. Maybe actually reformatted some source code from the prototype I'm contractually forbidden to share to give a more in-depth look in how one might use these principles (which are, as I suggested, not at all obvious) in industry applications. I think that alternate universe is one I'd like to live in. Instead, I'm stuck here in this one. A universe where instead of doing more cool posts about the electromechanics of power tools and their restoration, you instead write a prickly little post defending someone's request for a thing that was literally offered in the first paragraph of the source page they asked about. One where I spend time writing this boring post as well. Truly, we live in the darkest timeline. Probably the darkest part about this timeline is that my post you responded to, devoid of novelty and missing the talk link I was going to copypaste leaving a blank footnote annotation? That's gotten over 3x the positive moderation of my other post where I describe an active use case. But thanks for your feedback. You're right, I shouldn't post here anymore.