[Haskell-cafe] New (?) Partial Monad
Christopher Lane Hinson
lane at downstairspeople.org
Sat Jun 2 15:01:18 EDT 2007
> Can you post any code using the monad? The article was interesting but
> I think it would make more sense if I saw some working code ...
>
> Justin
>
Ok. I wrote a simple implementation of the procedural texture example.
This just runs on the CLI, printing the color that would be drawn.
(I don't have the patience right now to implement a graphical version,
nifty though that would be, because I wrote Partial originally to do the
same thing with models in OpenGL. But that example is too complicated
to be pedagogical, and will probably take days or weeks to write and
test, modulo free time.)
The example is here, and recall that ".../partial/" is darcs gettable:
http://www.downstairspeople.org/darcs/partial/ProceduralTextureExample.hs
When run, it looks something like this:
> testTexture blue
Color {color_red = 0.0, color_green = 0.0, color_blue = 1.0}
> testTexture $ lighten red
Color {color_red = 1.0, color_green = 0.5, color_blue = 0.5}
> testTexture $ checkerboard yellow blue
Hmmm. It looks like this texture varies by coordinate. Enter an x
coordinate:
0
Enter a y coordinate:
0
Color {color_red = 1.0, color_green = 1.0, color_blue = 0.0}
> testTexture $ checkerboard yellow blue
Hmmm. It looks like this texture varies by coordinate. Enter an x
coordinate:
4
Enter a y coordinate:
3
Color {color_red = 0.0, color_green = 0.0, color_blue = 1.0}
More information about the Haskell-Cafe
mailing list