Re: [merd-devel] doc on syntax
Status: Pre-Alpha
Brought to you by:
pixel_
From: Pixel <pi...@ma...> - 2001-03-26 13:39:00
|
Yoann Padioleau <Yoa...@ir...> writes: [...] > gcd(10,) for partial app can be good also cos it EXHIBIT the fact that we do a partial app > sometimes we can return a func that is a partial app and we dont see it clearly > ex: let f1 x = ...... in (f2 x) > and f2 is in fact of arity 2 !! so by using f2(x,) we can help the reader of the prog. i meant this, adding it. > > +++ WHYISHIIP; excellent principle > quite related to the principle of least surprised added > > +++ associate a type with a name is excellent, but can you generalise?? > i would like to say > vartype "%.*" = Hash > vartype "@.*" = Array > vartype "p_.*" = Ref > I would like to do as in ruby > vartype "@@.*" = instance var for this, you need to change merd's lexer for the variable names. But the idea is good. > can it be applied to function name too ?? > would like to do as in scheme > vartype ".*?" = func -> Bool > vartype ".*!" = func -> Unit wow, that's nice! great idea. > > merd can do even more typing than ml :) > you say it is complicated but dont really see why. i meant - complicated in C - complicated for the type error reporting > in caml you can explicitly type some var/func as in > let f (i:int) .... and the inference engine use this > here you just have a pre processing phase where you add that > if you have a list of (regexp * type) > for every identifier matching regexp, you assoc its corresponding type. agreed, adding it to existing MLs should be very easy, but you may get incomprehensible error messages. I may be pessimist on this though. [...] > have you got an interpreter ?? nope. But i've solved a lot of pb. I'm gonna base the inference on o'haskell's. there are still things to fix (mainly abstract values, if i don't want existential types) |