It's a nice interface. I'm glad arrow keys, the first thing I tried, work. But you're not going to trick me into looking for a sequence of moves that change the parity of the underlying permutation.
The game is solvable -- no tricks, just something you've overlooked.
(Hint: Someone who doesn't know about parity might try scrambling the puzzle randomly, then find that they can reach the goal state about half of the time.)
That was fun. My usual technique of making a "train" of letters to slide and then attach a caboose didn't work. So I flipped my phone upside down and acted like I wanted to make the word WON at the top. I did then did the rest of th puzzle, finding out the difference from a normal 15 puzzle along the way.
That's because the Elm compiler doesn't yet do much in the way of "dead code elimination" (DCE).
However, that will change in a future release of Elm, once Joey Eremondi's work has been fully integrated. My understanding is that integration is not slated for the 0.16 release (imminent) but will likely be part of the 0.17 release.
Are they planning to leverage the Google Closure compiler the way Clojurescript does? Un-optimized Clojurescript is also huge until it runs through Closure compilation.
Elm looks absolutely fascinating to me, but one of the things that strikes me is odd is the prevalence examples that eschew markup for the canvas. Not a bad thing per se, but definitely a departure from what most JS Frameworks and tool sets show off.
I'm so fascinated by Elm. What a great addition to the world of JS tooling. I wish had more time to spend on it, but the Haskell syntax, the strict typing, the Haskell compiler, and reactive JS model, the emphasis on graphic UI building as a native language feature, all just really great and relevant ideas.
One issue I noticed: when playing with the mouse, if I click on a tile, then click on some other tile, the FIRST tile clicked is the one that moves - which seems like a bug and is certainly a counterintuitive input behavior.
(Hint: Someone who doesn't know about parity might try scrambling the puzzle randomly, then find that they can reach the goal state about half of the time.)
However, that will change in a future release of Elm, once Joey Eremondi's work has been fully integrated. My understanding is that integration is not slated for the 0.16 release (imminent) but will likely be part of the 0.17 release.
See: https://groups.google.com/forum/#!searchin/elm-dev/dead$20co...
http://www.purescript.org/
https://leanpub.com/purescript/read
Also, some of the ideas from Elm are having an influence in the PureScript ecosystem.
For example: https://github.com/bodil/purescript-signal
See also: https://github.com/slamdata/purescript-halogen
One issue I noticed: when playing with the mouse, if I click on a tile, then click on some other tile, the FIRST tile clicked is the one that moves - which seems like a bug and is certainly a counterintuitive input behavior.