On Saturday 13 Aug 2011 17:25:39 Ralf Hemmecke wrote:
> > 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.

I didn't mention OOP, I realise that discussion of that topic on this
forum goes nowhere, you seem a bit obsessed with it. Last time we
exchanged emails you accused me of unsound OOP practises because I
prefixed some function names with the word 'get'.

I used the word object in the sense that its used in the First-
class_object article that I was quoting in wikipedia which is not OOP.

As far as I can see the word 'object' represents a perfectly valid
mathematical concept, for example in category theory. I'm sure you're
not really such a control freak that you would try to ban the word
'object'?

> > 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?

I am still trying to understand the maths here, from what I've
gathered so far the Yonada lemma allows some sort of shift between
objects and arrows? In which case we could always get round the
problem by lifting up to higher
order functions.

However, when everything is lifted up to higher and higher order
functions I find the code very hard to follow, also the package that
works with higher order functions (Currying and stuff like that) seems
to have lots of warnings
about buggy code.

If we were going to take this to its extreme I guess we would end up
with pure functional code which has its own problems?

I think to make things manageable there is a need for some sort of
encapsulation to make code manageable. Again, I'm not talking about
OOP here, just the sort of encapsulation that SPAD domains provide.

Martin

-- 
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.

Reply via email to