[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-mail] Data structure for object definition
From: |
Gabriel Dos Reis |
Subject: |
Re: [Axiom-mail] Data structure for object definition |
Date: |
28 Sep 2006 13:47:11 +0200 |
"Page, Bill" <address@hidden> writes:
| On Wednesday, September 27, 2006 6:38 PM Gabriel Dos Reis wrote:
| > ...
| > Basically I would like functionalities similar to those in
| > mkfunc.spad, but that lets me inspect (using SPAD code)
| > category, domain, and package definitions as SPAD objects.
| >
|
| In other words: structural reflection. Right?
|
| Aside: Have I mentioned this article before?
|
| http://citeseer.ist.psu.edu/106401.html
|
| "Reflection in logic, functional and object-oriented programming:
| a Short Comparative Study"
| by François-Nicola Demers, Jacques Malenfant.
I'll have a look at it.
| In Proceedings of the IJCAI'95 Workshop on Reflection
| and Metalevel Architectures and their Applications in AI,
| pages 29-38, August 1995.
|
| I think it is an excellent survey of the subject.
|
| -------
|
| Anyway, I still am not convinced that use of reflection in a
| statically-typed programming language really makes sense. It
| seems to me that most of the information that you seek is easily
| available in other ways - simply because the language *is*
| statically-typed.
I would like to do Algoritmic Differentiation of codes written in SPAD.
What other ways do you think is better than having the function bodies
as objects to manipulate? I don't want to write another SPAD parser if
I can use the existing one.
| I am concerned that the use of reflection in
| this context might promote a coding style that is somewhat
| contrary to that envisaged by the language designers: where such
| "introspective" information must be made explicit and manifest
| in the structure of the program rather than implicit in the
| data structures on which it operates.
I hate it when it comes to "language designers thought you only need
this, and thou shall not need something else".
| SPAD is not Java and believe that is a good thing since I have
| already seen some remarkably obscure techniques in Java based
| on reflection.
Please please, let not go there -- I'm not interested in the Java
vs. SPAD debate. I have a need for manipulating SPAD codes as
objects. (I do the same for C++ -- see "The Pivot" project.)
One uses is for Algorithmic Differentiation (the immediate use I would
like to achieve).
[...]
| IN any case, do not forget the initial work done in Aldor and
| SPAD on this subject by Peter Broadbery that I am sure I have
| mentioned before. I think it is directly related to what you
| want to do. See:
|
| http://wiki.axiom-developer.org/209
|
| Peter was involved with the project to integrate Aldor with Axiom
| while at IBM so he is/was intimately familiar with this subject.
| See especially his reference to 'interop.boot' in
|
| http://lists.nongnu.org/archive/html/axiom-developer/2005-09/msg00250.html
|
| "From memory, and looking at interop.boot, we find that a domain
| is a cons pair of two elements. The first is a vector of functions
| (eg. $oldAxiomDomainDispatch), and the second is used as an argument
| to functions within the vector.
|
| The functions do the following:
| 1) return the name of the domain, as a null terminated string
| 2) unknown
| 3) lookup an export by hashcode
| 4) return the domain's hashcode
| 5) unknown (inheritance related).
|
|
| Categories are similar, but have a different vector of functions.
Thanks!
-- Gaby
- Re: [Axiom-mail] Data structure for object definition, (continued)
- Re: [Axiom-mail] Data structure for object definition, Gabriel Dos Reis, 2006/09/27
- Re: [Axiom-mail] Data structure for object definition, root, 2006/09/27
- Re: [Axiom-mail] Data structure for object definition, Gabriel Dos Reis, 2006/09/28
- Re: [Axiom-mail] Data structure for object definition, root, 2006/09/28
- Re: [Axiom-mail] Data structure for object definition, Gabriel Dos Reis, 2006/09/28
- Re: [Axiom-mail] Data structure for object definition, root, 2006/09/28
- Re: [Axiom-mail] Data structure for object definition, Gabriel Dos Reis, 2006/09/28
- Re: [Axiom-mail] Data structure for object definition, root, 2006/09/28
- Re: [Axiom-mail] Data structure for object definition, C Y, 2006/09/28
- RE: [Axiom-mail] Data structure for object definition, Page, Bill, 2006/09/27
- Re: [Axiom-mail] Data structure for object definition,
Gabriel Dos Reis <=
RE: [Axiom-mail] Data structure for object definition, Page, Bill, 2006/09/27
Re: [Axiom-mail] Data structure for object definition, Martin Rubey, 2006/09/29