A dynamically typed, referentially transparent, lazy functional language that compiles to JavaScript