axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] Re: SPAD and Aldor again


From: Gabriel Dos Reis
Subject: Re: [Axiom-developer] Re: SPAD and Aldor again
Date: 17 Nov 2006 17:57:44 +0100

Martin Rubey <address@hidden> writes:

| Gabriel Dos Reis <address@hidden> writes:
| 
| 
| > | I did quite a bit of work with Aldor now (within the species project
| > | together with Ralf), and I'm quite convinced of the features of this
| > | language. In particular, the semantics of Aldor feel very "sound" to me,
| > | i.e., Aldor usually does what I expect it to do and allows what I would
| > | expect it to allow.
| > 
| > except when it does not, then you get depressed :-)
| 
| But so far not because of Aldor, only because of Axiom's inability to handle
| Aldor code.

well, I had impression following the discussion on aldor-l -- but that
is not important :-)

[...]

| > | Gaby pointed out that "==" has different semantics in Aldor and Axiom, 
but I
| > | have the feeling that this difference is not so severe: in fact, I don't 
know
| > 
| > yes, those are "little details" that are easy to fix in principle, but
| > might consume lot of resource to get right. 
| 
| Ahem, what I am saying is that if we want constants in future SPAD, we will 
use
| the symbol "==" to introduce them. There are no constants in SPAD currently. 
If
| we want to have types being first class, we will very likely need constants.

Yes, that is right.

| > From my perspective, I would like to support recursive types (get rid
| > of )abbrev), dependent types, algebraic types.  
| 
| What are "algebraic types"?

Ralf and you have been doing it in your project, I think.  Basically,
an algebraic type is any data type on can construct with sum and
products.  Examples,

    BinaryTree t = Nil | Node t (BinaryTree t) (BinaryTree t)


Data of algebraic type are constructed with the constructors, and they
are deconstructed through pattern matching. 

Boot has a very limited support for algebraic types, but from what I
understand so far it does not have pattern matching yet.

-- Gaby




reply via email to

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