I think your comment is very appropriate. Since the semantics of Record is well represented as a limit (and dually, Union is represented as a co-limit), selecting a field is just projection (or injection in the case of Union). Axiom should respect this by have Record (and Union) export these operations.
It seems to me that the Axiom developers were ambivalent about the use of elt (dot), apply, eval and function application. There use could be simplified and clarified. On Tue, Feb 14, 2012 at 3:37 AM, Serge D. Mechveliani <[email protected]> wrote: > In Spad, rc.foo > > selects a field named foo in a record rc. > In Haskell, this is > foo rc -- similar as applying any function. > > Indeed, foo has type Record(foo : Foo, ...) -> Foo. > In particular, it allows, for example, > map foo (records :: List Record(...)). > Regards, > > ------ > Sergei > [email protected] > > > > -- > 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. > -- 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.
