Re: [racket-users] [ANN] Porting PAIP's Prolog interpreter from Common Lisp to Racket, 1st version

2017-10-14 Thread Matthias Felleisen

> On Oct 13, 2017, at 3:01 PM, Luis Marcelo Rosso  wrote:
> 
> Hi all,
> 
> I am porting the Prolog interpreter shown in Peter Norvig's classic text on 
> AI, "Paradigms of Artificial Intelligence Programming: Case Studies in Common 
> Lisp 1st Edition", 
> https://www.amazon.com/Paradigms-Artificial-Intelligence-Programming-Studies/dp/1558601910/,
>  also known as PAIP, in its chapter 11, "Logic Programming".
> 
> I have just ended its first version, corresponding to section 11.2, and 
> shared:
> the code at https://github.com/promesante/paip-racket/
> the experience in 
> https://promesante.github.io/2017/10/12/porting_paips_prolog_interpreter_from_common_lisp_to_racket/
> 
> Enhancement suggestions more than welcome.



Thanks for sharing. 

Implementing a Prolog (in Scheme 84) was also my first adventure into the world 
of 
parentheses. The year was 1984 and it was a ton of fun. Someone scanned it in 
eventually (because I lost all my sources when I moved here from Rice): 

 https://www2.ccs.neu.edu/racket/pubs/#tr182-f

If you take a look, it is _not_ an interpreter but a compiler from Prolog to 
(). 
Dorai S.’s Racklog implementation of Prolog is an extension of this work. 

;; - - - 

Having said that, you wrote that you wanted to explore Racket because it is a
a “language hothouse” (a slogan we used for a while). Your interpreter-based 
Prolog implementation is not what we meant with that. You could indeed
implement this interpreter in any old language in a straightforward manner. What
we do mean is the macro-based approach, which allows a short-and-sweet 
transpiler 
from here to there (for some value of here and there). 

Keep pushing — Matthias



-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[racket-users] [ANN] Porting PAIP's Prolog interpreter from Common Lisp to Racket, 1st version

2017-10-13 Thread Luis Marcelo Rosso
Hi all,

I am porting the Prolog interpreter shown in Peter Norvig's classic text on 
AI, "Paradigms of Artificial Intelligence Programming: Case Studies in 
Common Lisp 1st Edition", 
https://www.amazon.com/Paradigms-Artificial-Intelligence-Programming-Studies/dp/1558601910/,
 
also known as PAIP, in its chapter 11, "Logic Programming".

I have just ended its first version, corresponding to section 11.2, and 
shared:

   - the code at https://github.com/promesante/paip-racket/
   - the experience in 
   
https://promesante.github.io/2017/10/12/porting_paips_prolog_interpreter_from_common_lisp_to_racket/
   

Enhancement suggestions more than welcome.

Cheers

Luis M. Rosso
https://promesante.github.io/
https://github.com/promesante/

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.