Re: Adatx - Test driven development... literally.

2014-03-15 Thread Ludwik Grodzki
Hi William, All.

The idea of quines http://en.wikipedia.org/wiki/Quine_(computing) and the 
existence of evalo is new to me (just reading Wikipedia about them now), 
exiting stuff.

I've added extra examples to adatx's read-me. They are contrived in the 
sense I knew the solution upfront and know it can be found in reasonable 
time (bar the fib one).

I'll link back to your mad-at-x repo if you don't mind.

Regards.

Ludwik.



On Saturday, 15 March 2014 02:54:13 UTC, William Byrd wrote:

 Hey everyone!

 Adatx looks like fun!  I tried coming up with a simple miniKanren/cKanren 
 program that can synthesize the program on the adatx github page:

 https://github.com/webyrd/mad-at-x

 I just implemented a simple evaluator for expressions including +, -, 
 integers from 0-11 (extending the domain slows down the solving in 
 cKanren), variables, lambda expressions, and application.  The advantage of 
 this approach is that the solver can synthesize lambda expressions and 
 applications, in addition to calls to the arithmetic functions.  On the 
 other hand,  I suspect the search is slower (partly due to the higher 
 branching factor), and handling numeric operators not supported by the 
 finite domain solver is tricky.  For those cases, adatx probably is more 
 general.

 I had some trouble getting the finite domain constraints to work with the 
 evaluator relation under core.logic.  I'll have to ask David about it.

 Ludwik, are there other examples I should try with my implementation?

 Cheers,

 --Will



 On Friday, March 14, 2014 7:56:23 AM UTC-6, frye wrote:

 Right. Yes, it looks very interesting, and I need to research it too. 

 Well I'm certainly keen on hearing about your results. 


 Tim Washington 
 Interruptsoftware.com http://interruptsoftware.com 
  

 On Fri, Mar 14, 2014 at 7:13 AM, Ludwik Grodzki gro...@gmail.com wrote:

 Tim.

 Thank you for the William Byrd video link, more research for me to 
 follow up on.
 I have not seen core.logic examples that would suggest I could do the 
 program search in clojure's program space vs in the MiniKanren program 
 space. I need to look at core.logic more closely. That and core.typed.



 On Thursday, 13 March 2014 03:00:07 UTC, frye wrote:

 This looks interesting. I was hammocking a solution that could use 
 that. But on Infoq, I recently 
 watchedhttp://www.infoq.com/interviews/byrd-relational-programming-minikanrenWilliam
  Byrd, describing just this feature in MiniKanren. 

 As such, I expect to see this feature will be in core.logic. Did you 
 explore that path? Was there something missing that prompted Adatx ? 

 Many thanks. 


 Tim Washington 
 Interruptsoftware.com http://interruptsoftware.com 




-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Adatx - Test driven development... literally.

2014-03-14 Thread Ludwik Grodzki
Tim.

Thank you for the William Byrd video link, more research for me to follow 
up on.
I have not seen core.logic examples that would suggest I could do the 
program search in clojure's program space vs in the MiniKanren program 
space. I need to look at core.logic more closely. That and core.typed.



On Thursday, 13 March 2014 03:00:07 UTC, frye wrote:

 This looks interesting. I was hammocking a solution that could use that. 
 But on Infoq, I recently 
 watchedhttp://www.infoq.com/interviews/byrd-relational-programming-minikanrenWilliam
  Byrd, describing just this feature in MiniKanren. 

 As such, I expect to see this feature will be in core.logic. Did you 
 explore that path? Was there something missing that prompted Adatx ? 

 Many thanks. 


 Tim Washington 
 Interruptsoftware.com http://interruptsoftware.com 


 On Sun, Mar 9, 2014 at 3:13 PM, Ludwik Grodzki gro...@gmail.comjavascript:
  wrote:

 ... and here's an example of how it works:

 (def workings
  (adatx/prob-solve
   {
   :symvec['+ '- '* '/ 'x1 'x2]
   :prog-holder   '(fn [x1 x2] :adatx.prog-hold/prog)
   :in-out-pairs  [{:in [1 2] :out 4}
   {:in [1 3] :out 5}
   {:in [2 3] :out 7}
   {:in [4 3] :out 11}]
   :sandbox :none}))
 (adatx/get-solution workings); = (fn [x1 x2] (+ x1 x1 x2))





 On Saturday, 8 March 2014 21:30:56 UTC, Ludwik Grodzki wrote:

 Hello Clojure Group.

 I've put together a little library that writes clojure code for you... 
 given test input/output examples and a heuristic of relevant functions.

 https://github.com/LudoTheHUN/adatx

 Feedback + contributions very welcome.

 Regards.

 Ludwik.

  -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/d/optout.




-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Adatx - Test driven development... literally.

2014-03-14 Thread Timothy Washington
Right. Yes, it looks very interesting, and I need to research it too.

Well I'm certainly keen on hearing about your results.


Tim Washington
Interruptsoftware.com http://interruptsoftware.com


On Fri, Mar 14, 2014 at 7:13 AM, Ludwik Grodzki grod...@gmail.com wrote:

 Tim.

 Thank you for the William Byrd video link, more research for me to follow
 up on.
 I have not seen core.logic examples that would suggest I could do the
 program search in clojure's program space vs in the MiniKanren program
 space. I need to look at core.logic more closely. That and core.typed.



 On Thursday, 13 March 2014 03:00:07 UTC, frye wrote:

 This looks interesting. I was hammocking a solution that could use that.
 But on Infoq, I recently 
 watchedhttp://www.infoq.com/interviews/byrd-relational-programming-minikanrenWilliam
  Byrd, describing just this feature in MiniKanren.

 As such, I expect to see this feature will be in core.logic. Did you
 explore that path? Was there something missing that prompted Adatx ?

 Many thanks.


 Tim Washington
 Interruptsoftware.com http://interruptsoftware.com



-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Adatx - Test driven development... literally.

2014-03-14 Thread William Byrd
Hey everyone!

Adatx looks like fun!  I tried coming up with a simple miniKanren/cKanren 
program that can synthesize the program on the adatx github page:

https://github.com/webyrd/mad-at-x

I just implemented a simple evaluator for expressions including +, -, 
integers from 0-11 (extending the domain slows down the solving in 
cKanren), variables, lambda expressions, and application.  The advantage of 
this approach is that the solver can synthesize lambda expressions and 
applications, in addition to calls to the arithmetic functions.  On the 
other hand,  I suspect the search is slower (partly due to the higher 
branching factor), and handling numeric operators not supported by the 
finite domain solver is tricky.  For those cases, adatx probably is more 
general.

I had some trouble getting the finite domain constraints to work with the 
evaluator relation under core.logic.  I'll have to ask David about it.

Ludwik, are there other examples I should try with my implementation?

Cheers,

--Will



On Friday, March 14, 2014 7:56:23 AM UTC-6, frye wrote:

 Right. Yes, it looks very interesting, and I need to research it too. 

 Well I'm certainly keen on hearing about your results. 


 Tim Washington 
 Interruptsoftware.com http://interruptsoftware.com 
  

 On Fri, Mar 14, 2014 at 7:13 AM, Ludwik Grodzki gro...@gmail.comjavascript:
  wrote:

 Tim.

 Thank you for the William Byrd video link, more research for me to follow 
 up on.
 I have not seen core.logic examples that would suggest I could do the 
 program search in clojure's program space vs in the MiniKanren program 
 space. I need to look at core.logic more closely. That and core.typed.



 On Thursday, 13 March 2014 03:00:07 UTC, frye wrote:

 This looks interesting. I was hammocking a solution that could use that. 
 But on Infoq, I recently 
 watchedhttp://www.infoq.com/interviews/byrd-relational-programming-minikanrenWilliam
  Byrd, describing just this feature in MiniKanren. 

 As such, I expect to see this feature will be in core.logic. Did you 
 explore that path? Was there something missing that prompted Adatx ? 

 Many thanks. 


 Tim Washington 
 Interruptsoftware.com http://interruptsoftware.com 




-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Adatx - Test driven development... literally.

2014-03-12 Thread Timothy Washington
This looks interesting. I was hammocking a solution that could use that.
But on Infoq, I recently
watchedhttp://www.infoq.com/interviews/byrd-relational-programming-minikanrenWilliam
Byrd, describing just this feature in MiniKanren.

As such, I expect to see this feature will be in core.logic. Did you
explore that path? Was there something missing that prompted Adatx ?

Many thanks.


Tim Washington
Interruptsoftware.com http://interruptsoftware.com


On Sun, Mar 9, 2014 at 3:13 PM, Ludwik Grodzki grod...@gmail.com wrote:

 ... and here's an example of how it works:

 (def workings
  (adatx/prob-solve
   {
   :symvec['+ '- '* '/ 'x1 'x2]
   :prog-holder   '(fn [x1 x2] :adatx.prog-hold/prog)
   :in-out-pairs  [{:in [1 2] :out 4}
   {:in [1 3] :out 5}
   {:in [2 3] :out 7}
   {:in [4 3] :out 11}]
   :sandbox :none}))
 (adatx/get-solution workings); = (fn [x1 x2] (+ x1 x1 x2))





 On Saturday, 8 March 2014 21:30:56 UTC, Ludwik Grodzki wrote:

 Hello Clojure Group.

 I've put together a little library that writes clojure code for you...
 given test input/output examples and a heuristic of relevant functions.

 https://github.com/LudoTheHUN/adatx

 Feedback + contributions very welcome.

 Regards.

 Ludwik.

  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Adatx - Test driven development... literally.

2014-03-12 Thread Alex Baranosky
There goes my job...


On Wed, Mar 12, 2014 at 8:00 PM, Timothy Washington twash...@gmail.comwrote:

 This looks interesting. I was hammocking a solution that could use that.
 But on Infoq, I recently 
 watchedhttp://www.infoq.com/interviews/byrd-relational-programming-minikanrenWilliam
  Byrd, describing just this feature in MiniKanren.

 As such, I expect to see this feature will be in core.logic. Did you
 explore that path? Was there something missing that prompted Adatx ?

 Many thanks.


 Tim Washington
 Interruptsoftware.com http://interruptsoftware.com


 On Sun, Mar 9, 2014 at 3:13 PM, Ludwik Grodzki grod...@gmail.com wrote:

 ... and here's an example of how it works:

 (def workings
  (adatx/prob-solve
   {
   :symvec['+ '- '* '/ 'x1 'x2]
   :prog-holder   '(fn [x1 x2] :adatx.prog-hold/prog)
   :in-out-pairs  [{:in [1 2] :out 4}
   {:in [1 3] :out 5}
   {:in [2 3] :out 7}
   {:in [4 3] :out 11}]
   :sandbox :none}))
 (adatx/get-solution workings); = (fn [x1 x2] (+ x1 x1 x2))





 On Saturday, 8 March 2014 21:30:56 UTC, Ludwik Grodzki wrote:

 Hello Clojure Group.

 I've put together a little library that writes clojure code for you...
 given test input/output examples and a heuristic of relevant functions.

 https://github.com/LudoTheHUN/adatx

 Feedback + contributions very welcome.

 Regards.

 Ludwik.

  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Adatx - Test driven development... literally.

2014-03-09 Thread Ludwik Grodzki
... and here's an example of how it works:

(def workings
 (adatx/prob-solve
  {
  :symvec['+ '- '* '/ 'x1 'x2]
  :prog-holder   '(fn [x1 x2] :adatx.prog-hold/prog)
  :in-out-pairs  [{:in [1 2] :out 4}
  {:in [1 3] :out 5}
  {:in [2 3] :out 7}
  {:in [4 3] :out 11}]
  :sandbox :none}))
(adatx/get-solution workings); = (fn [x1 x2] (+ x1 x1 x2))





On Saturday, 8 March 2014 21:30:56 UTC, Ludwik Grodzki wrote:

 Hello Clojure Group.

 I've put together a little library that writes clojure code for you... 
 given test input/output examples and a heuristic of relevant functions.

 https://github.com/LudoTheHUN/adatx

 Feedback + contributions very welcome.

 Regards.

 Ludwik.



-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Adatx - Test driven development... literally.

2014-03-08 Thread Ludwik Grodzki
Hello Clojure Group.

I've put together a little library that writes clojure code for you... 
given test input/output examples and a heuristic of relevant functions.

https://github.com/LudoTheHUN/adatx

Feedback + contributions very welcome.

Regards.

Ludwik.

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.