[m-dev.] would like some help getting acquainted with the compiler

Paul Bone 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:
>
> Hi,
>
> 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.
> (<https://github.com/Mercury-Language/mercury/blob/master/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.


-- 
Paul Bone
http://www.bone.id.au



More information about the developers mailing list