Related articles |
---|
Compiling Prolog-like languages sarah@telergy.com (Sarah Thompson) (2002-07-02) |
Re: Compiling Prolog-like languages bmd@cs.kuleuven.ac.be (Bart Demoen) (2002-07-04) |
Re: Compiling Prolog-like languages torbenm@pc-032.diku.dk (Torben Ægidius Mogensen) (2002-07-04) |
Re: Compiling Prolog-like languages neelk@alum.mit.edu (Neelakantan Krishnaswami) (2002-07-04) |
Re: Compiling Prolog-like languages haberg@matematik.su.se (Hans Aberg) (2002-07-04) |
Re: Compiling Prolog-like languages peter.ilberg@ni.com (Peter Ilberg) (2002-07-04) |
Re: Compiling Prolog-like languages rwaltman@verizon.net (Roberto Waltman) (2002-07-04) |
Re: Compiling Prolog-like languages thomasl@erix.ericsson.se (Thomas Lindgren) (2002-07-15) |
Re: Compiling Prolog-like languages adamo@dblab.ece.ntua.gr (Yiorgos Adamopoulos) (2002-07-15) |
Re: Compiling Prolog-like languages ptarau@yahoo.com (Paul Tarau) (2002-07-15) |
Re: Compiling Prolog-like languages oz@blue.cs.yorku.ca (ozan s yigit) (2002-07-15) |
[4 later articles] |
From: | "Hans Aberg" <haberg@matematik.su.se> |
Newsgroups: | comp.lang.prolog,comp.compilers |
Date: | 4 Jul 2002 23:06:08 -0400 |
Organization: | Mathematics |
References: | 02-07-004 |
Keywords: | prolog |
Posted-Date: | 04 Jul 2002 23:06:08 EDT |
"Sarah Thompson" <sarah@telergy.com> wrote:
>1. Can someone point toward a good tutorial on implementing
>Prolog-like programming languages?
I had this problem recently, and it turned out to be real difficult to
find any good info about that. -- Everybody seemed to be autodidact. :-)
So eventually, I took the Mini-Prolog that comes with Hugs
http://haskell.org/hugs, written in Haskell then, and translated it into
C++, replacing its slow parser with a Flex/Bison combination. In the
translation, I had to work around Haskell's laziness, and I successively
flattened out the recursive function calls until arriving at a single loop
with jumps, an essentially simplified interpreted version of the WAM. This
Mini-Prolog has examples of three different CLP engines. Some bug in the
Prolog cut, I recall.
I found the code good for experimenting, like adding Buchberger's Groebner
basis algorithm for experimenting with enhanced unification systems,
experimenting with CLP syntax, relating to proof finding systems and set
theory a bit. -- The things I happened to be interested in at the time.
Then a book on the WAM machine is available freely on the Internet.
http://www.isg.sfu.ca/~hak/documents/wam.html
It is essentially way to produce efficient compiled code, I recall.
Hans Aberg * Anti-spam: remove "remove." from email address.
* Email: Hans Aberg <remove.haberg@member.ams.org>
* Home Page: <http://www.matematik.su.se/~haberg/>
* AMS member listing: <http://www.ams.org/cml/>
Return to the
comp.compilers page.
Search the
comp.compilers archives again.