[m-dev.] would like some help getting acquainted with the compiler
paul at bone.id.au
Fri Jun 21 19:02:24 AEST 2013
On Fri, Jun 21, 2013 at 04:26:22PM +1000, Julien Fischer wrote:
> On Fri, 14 Jun 2013, Christopher Perez wrote:
>> I took some interest in logical programming after an AI course
>> introduced me to lisp, which helped me discover other programming
>> paradigms. I've since then picked up Scala and Prolog, but have been
>> disappointed to see lack of support for Mercury. Instead of simply
>> using Mercury though, I would like to learn how it ticks. If anyone
>> would like to help me get started, even naming some good math books as
>> preliminaries, my email is Christopher.Perez100 at gmail.com
>> My goal is to advance the theory of logical programming (which I find
>> beautiful), help others settle into the language as well, and also
>> create a Mercury to Verilog compiler.
> The overall structure of the Mercury compiler itself (i.e the contents of the
> compiler directory) are described in the file: compiler/notes/compiler_design.html.
> Since that file is regularly updated, there's no point me repeating its
> contents in this mail.
I generally suggest that new contributes start by reading the hlds_goal and
hlds_info structures, and understand them. Then understand the difference
between predicates and procedures (the latter is a predicate compiled for a
given mode). Then the 'stages' of the compiler. After that, study is
usually directed based on what ever the new contributor wants to work on.
More information about the developers