Waldek Hebisch <[EMAIL PROTECTED]> writes:

> This is an old bug.  IIRC in Issue Tracker we have a few reports
> that looks like this problem.

OK, I found "#274 Can't get a parameter in an anonymous function"

> In the past I looked at code handling closures and my impression was that the
> code was "broken by design".  More precisely, to correctly handle closures
> one needs precise information about scopes (including information which
> symbols represent variables).  It seems that part of scope information is
> never collected and part is already lost when closures are handled.

Oh dear.

> I may be wrong and it is possible a simple fix will cure things.  However,
> given that I do not believe in a simple fix to closure problem I did not
> spent much time searching for such fix.

OK.  There is one thing that gave me hope however: providing type information
seems to be a cure:

(1) -> f3 z == (x: INT):INT +-> gcd(x,z)
                                                                   Type: Void
(2) -> f3 5

   (2)  theMap(NIL,519)
                                                   Type: (Integer -> Integer)
(3) -> % 25

   (3)  5
                                                        Type: PositiveInteger

Do you have examples where typing things does not help?  I'll add my examples
to IssueTracker and bugs2008, in any case.

Martin


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
open-axiom-devel mailing list
open-axiom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open-axiom-devel

Reply via email to