Do you think first class types could be defined as in this article:
http://en.wikipedia.org/wiki/First-class_object
Yes.
So perhaps, in Axiom/FiCAS terms:
A first class *type* would be a *category* that could be generated,
stored, passed around and extended at run-time.
A first class *object* would be a *domain* that could be generated,
stored, passed around, extended and constructed at run-time.
You think to much in terms of OOP. Please ban the word "object" in the
context of FriCAS. Although you are actually not really wrong with
"object = domain", if you think in OO terms in FriCAS, you have the
wrong mindset.
In PanAxiom a "type" is either a domain or a category.
A category is also first class. Using categories as function argument is
OK and used, but there are serious troubles with a category that is
constructed at runtime.
http://axiom-portal.newsynthesis.org/refs/articles/define.pdf
Also look at other articles on
http://axiom-portal.newsynthesis.org/refs/articles .
So, instead of creating a file.spad and then calling )co this would
instead be done directly by code running in other domains.
That's currently not possible. But it would somehow be nice if the
compiler could be called on something of type "String".
It seems to me that, for a CAS that can do discrete mathematics at the
highest levels of abstraction this would be needed.
Why do you think that compilation of runtime-generated code would be
vital for doing discrete mathematics?
Up to now I've only wished that Aldor would be a little more powerful in
the context of the Aldor-Combinat project. But even there it is not
completely clear whether compilation of generated code would solve my
problem there.
> That is we need to
define structures, that can define further structures, that can define
further structures...
Sorry, but I don't agree. You can do quite a lot with functions that
return function that (in turn) return functions.
Do you have a concrete use case where you would need recompilation?
Ralf
--
You received this message because you are subscribed to the Google Groups "FriCAS -
computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/fricas-devel?hl=en.