axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] database fixes


From: Ralf Hemmecke
Subject: Re: [Axiom-developer] database fixes
Date: Tue, 17 Oct 2006 11:12:00 +0200
User-agent: Thunderbird 1.5.0.7 (X11/20060909)

> Let us look at an example.  I wrote:
>
> ------------<start example>------------
> ....
>    ; Clean old data
>    (do-symbols (symbol)
>       (when (get symbol 'database)
>          (setf (get symbol 'database) nil)))
>    (setq *allconstructors* nil)
> ...
> ------------<end example>------------
>
> Do you think that:
>
> ------------<start example>------------
> ...
>    <<Clean old data>>
>
> ....
> ....
>
> To clean old data we loop over all symbols from [[boot]] package
> and reset [[boot::database]] property to [[nil]].  We also rest
> [boot::*allconstructors*]] to [[nil]].
> <<Clean old data>>=
>    (do-symbols (symbol)
>       (when (get symbol 'database)
>          (setf (get symbol 'database) nil)))
>    (setq *allconstructors* nil)
> ------------<end example>------------

I think it has been explained enough that the *why* it important...

I just want to remark that one can do quite remarkable things with noweb. Recently I wrote piece of code like that...

<<implementation: Compose>>=
structures(s: SetSpecies L): Generator % == generate {
  for pi in structures(s) $ SetPartition(L) repeat {
    <<Yield elements of $F[\pi]\times\prod_{p\in\pi} {G[p]}$>>
  }
}
@

Of course there is the definition of F\circ G around that code chunk, but, it is nice that one can put (repeat) a part of that definition in the name of the code chunk. That very much helps to recognise the relation between code and corresponding mathematics.

Ralf




reply via email to

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