I am thinking about asking miniKanren to optimize a program and synthesize a proof in some dependently typed language to prove correctness. But it does not seem possible with available implementations [email protected] 在 2020年10月6日 星期二下午1:58:45 [UTC] 的信中寫道:
> Hi, all! > > *Intro* > > I'm new to miniKanren but getting up to speed quickly. I started > implementing microKanren in Go earlier today, and may implement it in V > <https://vlang.io> or Janet <https://janet-lang.org/> afterward. > > I'm an avid Emacs user and studied Clojure years ago before deciding to > keep things simple for a while by using Go for concurrent programming > instead, but thanks to Will's fantastic talk "The Most Beautiful Program > Ever Written" <https://www.youtube.com/watch?v=OyfBQmvr2Hc> and my > growing frustrations with how software is built today -- namely manually, > one character at a time, often in a seriously unsafe language (like C or > C++), and without our tooling being remotely intelligent nor particularly > helpful -- I am looking again at Lisps and am *really* excited about > relational programming. Alan Kay's description of Planner and my own > programming experiences has made me wonder why all programmers aren't using > something like a statically (or optionally) typed Lisp with Prolog-like > capabilities, and miniKanren in Scheme is closer to that than anything else > I've seen (dynamic though it may be)! > > *Self-optimizing miniKanren?* > > Question: starting from a Barliman-like setup, is it computationally > tractable to have miniKanren or microKanren generate a more efficient > version of itself? That is, how about giving Barliman constraints and its > own source code as input, but with the slowest portion (used for program > synthesis) replaced with *X*, thereby getting Barliman to synthesize more > versions of itself, where those versions are benchmarked against each > other, with the winner becoming the new running program that then (more > quickly) generates faster versions of *itself*, ad infinitum? > > Seems like a badass use case for BOINC or some SETI@Home-like network, > where we all join forces to use our spare compute to make program synthesis > faster and faster over time! And hopefully without creating either Skynet > or the gray goo scenario in the process :-D. > -- You received this message because you are subscribed to the Google Groups "minikanren" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/minikanren/6038d29e-a7d7-4e8e-9b17-1c1745d8c3fen%40googlegroups.com.
