

Elm 0.12.3 – Hardware accelerated 3D rendering with WebGL - wheatBread
http://elm-lang.org/blog/announce/0.12.3.elm

======
thu
This release makes me very happy. I never really took a look at Elm but
yesterday I've receive a bug report on a very old library of mine to parse
GLSL. The author of Elm told me it was used in their WebGL work and pointed to
that Thwomp example. I didn't know that library was actually used by anyone!

~~~
johnpmayer
John here. Having language-glsl available on hackage was a boon for the
features in this release. Thank you!

------
davexunit
The Elm hackers continue to impress me. FRP, the interactive timeline
debugger, and now functional 3D graphics. Functional game programming is a big
interest of mine, and I've taken a lot of inspiration from Elm in my own
personal project to create a 2D game engine for Guile Scheme.

------
kbenson
I still think first of a terminal mail program when I read "elm". Same for
"pine".

------
phorese
Loading this page insta-kills my Browser.

FF 29.0.1 on 3.10.39-1-MANJARO x86_64 with lots of plugins (HTTPSEverywhere,
Ghostery, FlashBlock...)

It does not recognize the crash and does not offer a crash report on restart.

~~~
TD-Linux
Works for me on 3.14 with the nvidia blob driver. Definitely sounds like a
video driver issue. File a bug report?

~~~
phorese
Will do.

------
kristianp
I'm curious, why isn't type inference used in the examples? For example:

[http://elm-lang.org/edit/examples/WebGL/Triangle.elm](http://elm-
lang.org/edit/examples/WebGL/Triangle.elm)

Edit: ok, the language has full type inference, but not the webgl examples.

~~~
wheatBread
Type inference works on all Elm programs, but it's best practice to add type
annotations.

In the WebGL examples, I felt it made things a bit clearer since folks are
probably not familiar with how WebGL works. Once you get comfortable reading
types, it helps you see how things fit together, and they definitely helped me
learn John's API when I was new to it :)

But if you don't need/want type annotations, you can totally take them all
away and they'll be inferred! How did having them effect your experience of
looking at the examples?

~~~
kristianp
The main effect was that I thought "why is this ML-style language not using
type inference!". :) But now that you have explained why you've annotated the
examples, I can see that it would be educational to see the types when the
reader wouldn't have seen the library before.

------
dbbolton
>We switched away from Hue-Saturation-Value (HSV) because Value is a bit more
confusing than Lightness.

That's funny to me because I've always found HSV colors and color choosers to
be a lot more intuitive.

------
wereHamster
Does it only support Triangles? What about buffers? Rendering individual
triangles is not efficient if you have anything more than a simple scene.

~~~
johnpmayer
The API expects triangles, but it is implemented to always use buffers under
the hood. Basically, mesh data of 10 triangles with 4 attributes per vertex is
converted to 4 buffers, each of length 30.

------
paulannesley
elm was my daily-use email client at work twelve years ago.
[http://en.wikipedia.org/wiki/Elm_(email_client)](http://en.wikipedia.org/wiki/Elm_\(email_client\))

