For something that follows the semantics of JS and produces very readable code (a la TypeScript), PureScript is really nice.