forked from jashkenas/coffeescript
    
        
        - 
                Notifications
    
You must be signed in to change notification settings  - Fork 6
 
Closed
Labels
Description
I'm not too happy with the syntax we have for dependent contracts right now.
f :: (Num) -> !(result) -> $1 > result
Scope of $1 is not obvious and its a bit to magical. Would love to allow explicit naming:
f :: (arg:Num) -> !(result) -> arg > result
But this conflicts with object contracts (and I don't think this can be disambiguated). Some other ideas that have been bouncing around:
f :: (x::Num) -> !(result) -> x > result
f :: (x=Num) -> !(result) -> x > result
f :: (Num as x) -> !(result) -> x > result