following: 1
followed tags: 10
followed domains: 0
badges given: 0 of 0
hubskier for: 3446 days
If you are interested in the idea of "UI as a pure function of State", you could also take a look at Elm. It's a Haskell-like language that compiles to HTML/JS/CSS and does some pretty nifty things.
You could read Creating Languages in Racket, it teaches you how to create your own DSL for writing adventure games in. You'll end up with code that looks like this: http://queue.acm.org/downloads/2011/racket/6-color/world.rkt You can teach yourself more Racket by reading SICP.
> How well supported is it Elm is created almost solely by Evan Czaplicki, there are some other contributors but for the most part it looks like a one-man-show. FWIW he does seem to be very responsive, and the mailing list is full of people who'll help. > can it easily interface with native javascript? There is a "port" mechanism, it is described here: https://github.com/evancz/elm-html-and-js
All of the PHP, Java, Python, C, C# that you mention are imperative languages. If you want to expand your horizon you could look into some other paradigms. Personally I'd recommend taking a look at Smalltalk, which is a "pure" object oriented language unlike java, or a functional language such as Haskell (if you're into web development perhaps a dialect such as Elm might be more interesting; but Elm is kind of young and small). You can also learn a multi-paradigm language such as Racket. Coming from world4ch, I'll give you a standard response and tell you to read SICP.