[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] Low-level stuff and where to look for documentatio

From: Tim Daly
Subject: Re: [Axiom-developer] Low-level stuff and where to look for documentation.
Date: Mon, 16 Aug 2010 18:01:16 -0400
User-agent: Thunderbird (Windows/20090302)

Guillaume Yziquel wrote:

I've been reading a few things, as time allows, when it comes to my project of embedding Axiom into OCaml.

As far as I understand it, it seems to be better to bind a GCL interpreter (I do not know Lisp well, so feel free to correct), and access Axiom stuff from this interpreter. So I'm currently looking as to how this should be done.
This is a possible path. It would be possible to grab the top level of the
lisp loop using pseudo-ttys (an expect-like interface). GCL is just a big C program
so you can add your own code to the GCL build.

But, on the other hand, The Axiom / Lisp 'interface' isn't so clear to me. I've been reading chapter 4, and specifically section entitled "Understanding a compiled function", which is the only place I've found low-level information. I've got a few questions on this topic:

-1- What is the purpose of the vmlisp.lisp.pamphlet file?
"Axiom" used to be written in Maclisp (MIT), then was rewritten into VMLisp
(IBM Mainframe), and then I helped rewrite it into common lisp. Because of
the complexity of the system the vmlisp port was written by implementing the
maclisp primitives. Because of the complexity of the system the common lisp
port was written by implementing the maclisp and vmlisp primitives in common lisp.
These "foreign primitive implementations" live in vmlisp.lisp

The low-level information does not yet exist. The fundamental task of the Axiom project has been, and continues to be, writing this kind of documentation. But Axiom is about 1 million things of code and we are still in the phase of collecting
the code into a literate form so it can be documented.

-2- It also seems that the commands

    )trace ONEP )break
    (trace (ONEP :entry (break))

are equivalent but that one is on the Axiom command prompt and that the other is on the Lisp command prompt. How do you access the Lisp command prompt

They are equivalent.
You can access the lisp command line with
  )lisp ...some lisp s-expression...
as in
 )lisp (trace (onep :entry (break))

-3- Where is the source code of the /usr/lib/axiom-20100701/bin/AXIOMsys file (as installed by Debian)?

AXIOMsys is the whole interpreter/compiler/system. It consists of hundreds of files.
You can see the source from any release (they happen every 2 months) at:

Thanks for clarifying these issues...

Best regards,

Guillaume Yziquel.

Axiom-developer mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]