Re: [racket-dev] case-> and for/sum:

2013-01-04 Thread Jens Axel Søgaard
This version blames the correct expression. The error message itself is however in terms of the expanded code and I see why that is a key problem. /Jens Axel for-sum.rkt Description: Binary data _ Racket Developers list: http://lists.racket-lang.org/dev

Re: [racket-dev] case-> and for/sum:

2013-01-04 Thread Jens Axel Søgaard
2013/1/5 Matthias Felleisen : > > On Jan 4, 2013, at 6:35 PM, Jens Axel Søgaard wrote: > >> Here is my attempt. The only problem, is that when type checking >> fails, the set! expression is blamed instead of user code. > > > That is the key problem. I know which user expression it is, body-expr, I

Re: [racket-dev] case-> and for/sum:

2013-01-04 Thread Matthias Felleisen
On Jan 4, 2013, at 6:35 PM, Jens Axel Søgaard wrote: > Here is my attempt. The only problem, is that when type checking > fails, the set! expression is blamed instead of user code. That is the key problem. _ Racket Developers list: http://lists.racket-lang.org/dev

Re: [racket-dev] case-> and for/sum:

2013-01-04 Thread Jens Axel Søgaard
2013/1/4 Neil Toronto : > I gave `for/sum:' a little thought recently, though, and I couldn't think of > how to make it work without annotations. Maybe you'll have more success. I'm > less motivated to fix `for/sum:' than you are. :D Here is my attempt. The only problem, is that when type checking

Re: [racket-dev] case-> and for/sum:

2013-01-04 Thread Neil Toronto
On 01/04/2013 01:27 PM, Jens Axel Søgaard wrote: 2013/1/3 Neil Toronto : I solved it by not using `for/sum' and writing this ridiculous function for the recursive base case and the initial values in `x': (: zero-of (case-> (Real -> Real) (Number -> Number))) (define

Re: [racket-dev] case-> and for/sum:

2013-01-04 Thread Jens Axel Søgaard
2013/1/3 Neil Toronto : > I solved it by not using `for/sum' and writing this ridiculous function for > the recursive base case and the initial values in `x': > > (: zero-of (case-> (Real -> Real) > (Number -> Number))) > (define (zero-of x) 0) > > Fortunately, it should ge

Re: [racket-dev] case-> and for/sum:

2013-01-04 Thread Vincent St-Amour
This looks like an instance of the problem Neil reported on Monday. I'll discuss Neil's solution with Sam. Vincent At Thu, 3 Jan 2013 18:47:56 +0100, Jens Axel Søgaard wrote: > > Ignore the previous example. Here is the example again, now > with correct usage of case-lambda. The for/sum proble

Re: [racket-dev] case-> and for/sum:

2013-01-03 Thread Neil Toronto
I solved it by not using `for/sum' and writing this ridiculous function for the recursive base case and the initial values in `x': (: zero-of (case-> (Real -> Real) (Number -> Number))) (define (zero-of x) 0) Fortunately, it should get inlined. I also renamed `U' to `V'

Re: [racket-dev] case-> and for/sum:

2013-01-03 Thread Jens Axel Søgaard
Ignore the previous example. Here is the example again, now with correct usage of case-lambda. The for/sum problem remains. /Jens Axel #lang typed/racket (require math) (: matrix-solve-upper (All (A) (case-> ((Matrix Real) (Matrix Real) -> (Matrix Real))