[plt-scheme] static checking, mrflow?

From: Robert Nikander (nikander at nc.rr.com)
Date: Wed May 16 14:48:07 EDT 2007


The one language feature I miss in Scheme is that it doesn't do much 
static (compile time) thinking.  After digging around a little, two 
things piqued my interest: MrFlow and Typed Scheme.

I found some examples of Typed Scheme in it's documentation.  Are there 
some similar docs or demos of MrFlow?  It's page says "coming soon" -- 
how soon?  If there are no docs or intro papers, can someone tell me 
what it does, or point to some papers that describe the theory that it 
implements?  Does it subsume the idea of a type system?

Will it infer or allow annotations for function types, like the 
following imagined notation for `map':

map : ('a ... -> 'b) (list 'a) ...

Will it catch this type error?

(map string-append (list "a" "b") (list 1 2))

Or this error?

(map string-append (list "a" "b") (list "1"))


Posted on the users mailing list.