IRC channel logs
2015-07-26.log
back to list of logs
<mark_weaver>paron_remote: are you familiar with "The Reasoned Schemer" or with miniKanren? <mark_weaver>William Byrd was one of the authors of "The Reasoned Schemer", and the "o" suffix is also used in that book <mark_weaver>oh yes, of course you know it, you packaged it for guix :) <paron_remote>mark_weaver: new things that have been happening on top of that <paron_remote>mark_weaver: it's now possible to write stuff with "evalo" which is able to logically create certain programs <paron_remote>mark_weaver: this is, by far, the most mind blowing talk I've ever watched <paron_remote>mark_weaver: a lot of the stuff shown in that video is stuff apparently just happening in the last 6 months <paron_remote>mark_weaver: for example, there's one part of the video where he took a program written in normal scheme (I think it was a theorem prover) and stripped out a part of it <paron_remote>mark_weaver: and minikanren with evalo figured out what code could complete it <paron_remote>mark_weaver: it also could define quines from a simple as (run ( <paron_remote>but you can even have it generate a twine, two different programs which when evaluated print out each other <paron_remote>mark_weaver: anyway, this is all really interesting to me... I've been thinking about procedurally generated code and what it might mean for free software <paron_remote>since google is now picking up on AI problems that haven't been touched since the AI winter... <paron_remote>I think we might soon see a drastic change to this space. <mark_weaver>I will. I find this style of programming very compelling <paron_remote>mark_weaver: so that code repo linked above also has guile stuff <paron_remote>mark_weaver: maybe I should refactor or repackage for guile/guix <paron_remote>(((lambda (_.0) (list (list (quote lambda) (quote (_.0)) _.0) (list (quote quote) _.0))) (quote (list (list (quote lambda) (quote (_.0)) _.0) (list (quote quote) _.0)))) (=/= ((_.0 closure)) ((_.0 list)) ((_.0 quote))) (sym _.0)) <mark_weaver>it's probably some subtle difference in the macro expander <mark_weaver>paron_remote: that error message makes me suspect that there was a bare 'quote' used where an expression is expected. <paron_remote>((lambda (_.0) (list _.0 (list (quote quote) _.0))) (quote (lambda (_.0) (list _.0 (list (quote quote) _.0))))) <paron_remote>((lambda (_.0) (list _.0 (list (quote quote) _.0))) (quote (lambda (_.0) (list _.0 (list (quote quote) _.0))))) <davexunit>paron_remote: I accidentally cheated by looking at twitter before seeing this <paron_remote>davexunit: however, not all examples work in guile currently <paron_remote>davexunit: for example, some of them make sure that the generated code (=/= q quote) or whatever <paron_remote>davexunit: updated for the talk. This DOES contain a guile-mk.scm <davexunit>wasn't sure he even knew our community existed. <davexunit>since he's more on the commercial side of things in terms of the software he uses <paron_remote>davexunit: well there is a .DS_STORE checked in there ;) <stis>hello paron_remote: nice example. <stis>hello paron_remote: nice!! Fun stuff. <stis>paron_remote: where did you find the sources? <stis>I will try run it on guile-log, it has a very good kanren implementation (fast)