[Top][All Lists]
[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
>