News for hackers. Stuff that matters.
Re:LambdaCube 3D by overgard on Sunday December 27, 2015 @11:35AM (#10797883)
This is pretty fascinating, although superficially a lot of this seems more complex than just plain opengl. For example:

  clear = FrameBuffer $ (DepthImage @1 1000, ColorImage @1 navy)   -- ...
  mapFragments s fs = Accumulate colorFragmentCtx PassAll (\a -> FragmentOutRastDepth $ fs a) s clear

Compared with:

  glClearColor(...)
  glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)

State management is a nightmare in OpenGL, but that second chunk of code is a lot easier to wrap my head around even if it's objectively worse in a lot of ways. Still though, I'm waiting to see the language tutorial before I make up my mind. Looks interesting!
Re:LambdaCube 3D by csabahruska on Sunday December 27, 2015 @01:36PM (#10798273)
that OpenGL code is written like this in LambdaCube 3D:

  main = ScreenOut (FrameBuffer (ColorImage @1 (V4 0 1 0 1.0)))
or with depth + color buffer

  main = ScreenOut (FrameBuffer (DepthImage @1 1000, ColorImage @1 navy))
Re:LambdaCube 3D by abecedarius on Sunday December 27, 2015 @11:26AM (#10797847)
For anyone else wondering what this has to do with https://en.wikipedia.org/wiki/Lambda_cube -- in a few minutes I couldn't find anything.
Re:LambdaCube 3D by vlastachu on Sunday December 27, 2015 @09:42AM (#10797552)
http://lambdacube3d.com/editor.html why type inference (for hints in editor) is so cool? Can I do something similar for haskell (without pain if possible)?
Re:LambdaCube 3D by vegabook on Sunday December 27, 2015 @08:45AM (#10797415)
Does anything like this exist in Ocaml?
Re:LambdaCube 3D by wiz21 on Sunday December 27, 2015 @08:36AM (#10797398)
it compiles, but how does it run ?
Re:LambdaCube 3D by S4M on Sunday December 27, 2015 @10:24AM (#10797648)
Just edit the code, and if there are no compile errors, it will reload a new version. To make sure it works for you, load the example "Example01.lc" and change the color (the tuple at the end of the line). it should change the color displayed after a second or two.