Yes, I write an app in TypeScript at work. I generally like it a lot, but part of the reason I created this was out of some frustration with its type system.
TypeScript was obviously on your mind. The readme states 'Functions in TypeScript can have zero or more arguments in general, just like in Javascript.' You might want to change that to 'PureScript'
This is a bit like Fay, is it not? I'm not skilled enough in either languages to cite the differences, though pureScript does not seem like it's strictly adhering to haskell syntax.
Basically, I wrote this partly just for fun, but also because each of the current options (Fay, Elm, Roy, TypeScript, etc.) all had some small feature I wanted to change. The biggest factor for me was the generation of compact, readable, debuggable Javascript.
Was anyone else a little disappointed to find that it was yet another Haskell inspired language (like Fay, Roy, Elm, Lambdascript, ghcjs, &c)? I was really hoping to find a version of Pure http://purelang.bitbucket.org adapted for the browser. It seems like a custom language that compiles to JavaScript is the new standard Haskell pet project. For those wondering on what other JS powered languages there are, check out http://altjs.org.
For me it looks like he's just using Haskell conventions. People in Haskell land use such short variable names for abstract variables. (I.e. when you don't really know much about their type.)
I am familiar with atoi but I have never seen itoa, one of the printf family is usually used. However looking it up, a few websites list the function but clearly say that it isn't ANSI C.
In pattern matching, how do you discriminate between literal patterns and variables patterns? I'm especially curious about how `true' and `false' vs `result' are handled.
This is handled in the parser. There are two productions, identifier and reserved and the two don't intersect. Reserved identifiers like true and false match more eagerly than regular identifiers.
Great work, and I will star it and follow progress, but I'd rather put more efforts into learning new ECMAScript 6 stuff. I will definitely look more into it after that though.