axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] makeAxExportForm


From: Peter Broadbery
Subject: Re: [Axiom-developer] makeAxExportForm
Date: Sat, 31 May 2008 18:35:12 +0100

On Sat, May 31, 2008 at 5:55 PM, Ralf Hemmecke <address@hidden> wrote:
> src/interp/ax.boot
>
> contains the function
>
> makeAxExportForm(filename, constructors) ==
>  $defaultFlag : local := false
>  $literals := []
>  axForms :=
>     [modemapToAx(modemap) for cname in constructors |
>            (modemap:=GETDATABASE(cname,'CONSTRUCTORMODEMAP)) and
>              (not cname in '(Tuple Exit Type)) and
>                not isDefaultPackageName cname]
>  if $baseForms then
>     axForms := [:$baseForms, :axForms]
>  if $defaultFlag then
>     axForms :=
>        [['Foreign, ['Declare, 'dummyDefault, 'Exit], 'Lisp], :axForms]
>  axForms := APPEND(axDoLiterals(), axForms)
>  axForm := ['Sequence, _
>               ['Import, [], 'AxiomLib], ['Import, [], 'Boolean], :axForms]
>  axForm
>
> Can someone more clearly explain what its output format is?
>

Not sure if this a boot question or an aldor one.  The output is aldor
abstract syntax - ie. that used in .ap files.
The boot code does look horrible; a lisp equivalent for the last
assignment is something like
(setq axform `(Sequence (import  () 'AxiomLib) (Import () Boolean) ,axforms)).

Filename is unused.  The function probably created a file at one
stage, at a guess.

Peter


> Ralf
>
> PS: Why is there a parameter "filename" if it is not used in the function?
> (Well I don't understand boot, so that may be a stupid question.)
>
>
> _______________________________________________
> Axiom-developer mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/axiom-developer
>




reply via email to

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