6 ms·
Something like this would make a great addition to CoffeeScript.
by danh 14y ago
Something like this would make a great addition to CoffeeScript.
- natefaubion 14y agoIt meshes pretty well as is. If only I could get rid of the strings and redundant arguments. mymap = pattern { '_, []' : -> [] 'f, [x, xs...]' : (f, x, xs) -> [f x].concat mymap(f, xs) } It shares a lot of the same splat/rest/destructuring syntax.
- oscilloscope 14y agoCheck out LiveScript's implicit switch syntax: http://gkz.github.com/LiveScript/#switch http://gkz.github.com/LiveScript/#switch
- natefaubion 14y agoThat's along similar lines, but more like guards in Haskell: http://en.wikibooks.org/wiki/Haskell/Control_structures http://en.wikibooks.org/wiki/Haskell/Control_structures
- ble 14y agoLast I heard, jashkenas was not a fan of adding such. "... [P]attern matching inspired by static languages is a particularly poor fit for JavaScript (and by extension CoffeeScript), because types are extremely weak in JS." -jashkenas [1] "[... P]attern matching is not nearly as useful in a language without rich types [...]" - jashkenas [2] I'm on that reddit thread, respectfully disagreeing with him. [1]: https://github.com/jashkenas/coffee-script/issues/1419#issuecomment-1645482 https://github.com/jashkenas/coffee-script/issues/1419#issue... [2]: http://www.reddit.com/r/programming/comments/er0qj/coffeescript_hits_10_happy_holidays_proggit/c1a907o http://www.reddit.com/r/programming/comments/er0qj/coffeescr...