https://wiki.haskell.org/api.php?action=feedcontributions&user=Sseefried&feedformat=atomHaskellWiki - User contributions [en]2024-03-19T10:41:43ZUser contributionsMediaWiki 1.35.5https://wiki.haskell.org/index.php?title=Game_Development&diff=59852Game Development2015-06-12T04:04:20Z<p>Sseefried: /* Examples */</p>
<hr />
<div>[[Category:Games]] [[Category:Community]]<br />
<br />
This page and the #haskell-game [[IRC channel]] are the starting points for everyone interested in doing game development with Haskell. You may also wish to join the [http://www.haskellers.com/teams/7 Games group] on haskellers.com, or [http://www.reddit.com/r/haskellgamedev the Haskell game development subreddit].<br />
<br />
There are quite a lot of games, unfinished libraries, and interested people out there - please gather links here and join us on '''[irc://irc.freenode.net/#haskell-game #haskell-game]''' !<br />
<br />
<br />
== Games and game engines ==<br />
<br />
* [[Applications and libraries/Games]] lists [[Applications and libraries/Games#Games|games]] and [[Applications and libraries/Games#Game_Engines_and_Libraries|game engines/libs]]<br />
<br />
* See also Hackage categories: [http://hackage.haskell.org/packages/#cat:Game Game], [http://hackage.haskell.org/packages/#cat:Game%20Engine Game Engine], [http://hackage.haskell.org/packages/#cat:Graphics Graphics], [http://hackage.haskell.org/packages/#cat:Sound Sound], [http://hackage.haskell.org/packages/#cat:Physics Physics], [http://hackage.haskell.org/packages/#cat:FRP FRP]<br />
<br />
* Other game-related wiki pages: [[:category:Games]]<br />
<br />
<br />
=== Other supporting software ===<br />
<br />
* [http://hackage.haskell.org/package/grid grid] provides tools for working with regular arrangements of tiles, such as might be used in a board game or self-organising map (SOM). Grid currently supports triangular, square, and hexagonal tiles, with various 2D and toroidal layouts ([https://github.com/mhwombat/grid/wiki description]).<br />
<br />
<br />
== Articles and blog posts ==<br />
<br />
<!-- add new ones at the top, probably --><br />
<br />
* [http://fho.f12n.de/posts/2014-10-25-easily-extensible-entity-enigma.html The easily extensible entity enigma]<br />
<br />
* [http://www.gamedev.net/page/resources/_/technical/game-programming/haskell-game-object-design-or-how-functions-can-get-you-apples-r3204 Haskell Game Object Design - Or How Functions Can Get You Apples]<br />
<br />
* [http://keera.co.uk/blog/2014/10/15/from-60-fps-to-500/ From 60 Frames per Second to 500 in Haskell]<br />
<br />
* [http://www.reddit.com/r/haskell/comments/2f9w0p/is_it_practical_to_write_a_strong_chess_engine_in/ Is it practical to write a strong chess engine in Haskell?]<br />
<br />
* [https://www.youtube.com/watch?v=1MNTerD8IuI Writing a game in Haskell] (video)<br />
<br />
* [https://ocharles.org.uk/blog/posts/2013-08-18-asteroids-in-netwire.html Asteroids & Netwire]<br />
<br />
* [https://ocharles.org.uk/blog/posts/2013-08-01-getting-started-with-netwire-and-sdl.html Getting Started with Netwire and SDL]<br />
<br />
* [https://github.com/alexander-b/master-thesis The Quest for Programming Nirvana: On Programming Game Systems in Haskell]; a Master Thesis on programming game systems in Haskell<br />
<br />
* [http://www.cse.unsw.edu.au/~pls/thesis/munc-thesis.pdf Functional Programming and 3D Games] (thesis, PDF)<br />
<br />
* [http://blog.chucklefish.org/?p=154 Wayward Tide: Technical Info]<br />
<br />
* [https://ocharles.org.uk/blog/posts/2013-08-18-asteroids-in-netwire.html Asteroids & Netwire]<br />
<br />
* [http://jshaskell.blogspot.nl/2012/09/breakout.html Writing JavaScript games in Haskell - Breakout]<br />
<br />
* [https://github.com/leonidas/codeblog/blob/master/2012/2012-01-17-declarative-game-logic-afrp.md Purely Functional, Declarative Game Logic Using Reactive Programming]<br />
<br />
* [http://folk.uio.no/carljsv/computergames/computergames.pdf Computer Games'] - trying to implement the game flow of a computer game<br />
<br />
* [http://lambda-the-ultimate.org/node/1277 The Next Mainstream Programming Languages: A Game Developer's Perspective] (PPT, PDF) presentation by Tim Sweeney<br />
<br />
* [http://prog21.dadgum.com/23.html Purely Functional Retrogames]<br />
<br />
* [http://prog21.dadgum.com/36.html Accidentally Introducing Side Effects into Purely Functional Code]<br />
<br />
* [[media:wxhaskell.pdf | wxHaskell - A Portable and Concise GUI Library for Haskell]] (PDF) - describes an implementation of an asteroids game, [[wxAsteroids]]<br />
<br />
* [http://www.palgorithm.co.uk/2009/08/haskell-for-games/ Haskell for Games!] Blog post, with PDF slides from AngloHaskell talk.<br />
<br />
* [http://www.gamasutra.com/view/feature/2985/postmortem_naughty_dogs_jak_and_.php Postmortem: Naughty Dog's Jak and Daxter: the Precursor Legacy]; an article about a game developed with a [http://en.wikipedia.org/wiki/Domain-specific_language DSL] compiler written in Lisp<br />
<br />
* [http://lambdor.net/ Lambdor] blog mostly about Yampa FRP and game development in Haskell with some tutorials<br />
<br />
* [http://jshaskell.blogspot.de/ Writing JavaScript games in Haskell]<br />
<br />
* [http://lambdacube3d.wordpress.com/ LambdaCube 3D] is a domain specific language and library that makes it possible to program GPUs in a purely functional style.<br />
<br />
== Videos ==<br />
<br />
* [http://www.youtube.com/watch?v=AJQZg3Po-Ag bloxors: an OpenGL Logic Game written in Haskell]<br />
<br />
* [http://www.youtube.com/watch?v=XoE5CKLLnaM LambdaCube 3D - Stunts example]<br />
<br />
* [http://www.youtube.com/watch?v=JleoASegUlk LambdaCube 3D - Quake 3 example]<br />
<br />
<br />
== Examples ==<br />
<br />
<!-- add new ones at the top, probably --><br />
<br />
* [http://folk.uio.no/carljsv/gorillabas/ GorillaBAS] - this was an attempt on defining computer games, and build such a thing.<br />
<br />
* https://github.com/mlesniak/game - Haskell/OpenGL/Chipmunk game prototypes<br />
<br />
* [[wxAsteroids]], a well-documented game, based on [[wxHaskell]]<br />
<br />
* [https://github.com/simonmichael/hssdl-mac-example hssdl-mac-example] - how to make an SDL-using package buildable on mac OSX<br />
<br />
* http://codepad.org/LRGEkkDp - initialization for SDL to start rendering OpenGL stuff<br />
<br />
* http://hackage.haskell.org/package/stunts - A revival of the classic racing game Stunts to serve as a non-toy-sized example for LambdaCube.<br />
<br />
* http://hackage.haskell.org/package/dow - Dungeons of Wor is an homage to the classic arcade game, Wizard of Wor. This game is also an experiment in functional reactive programming, so it might be a useful resource to anyone interested in this topic.<br />
<br />
* [https://github.com/sseefried/open-epidemic-game Epidemic]: a small game for Android devices. As an added bonus a complete development environment for the game can be built with Docker using the [https://github.com/sseefried/docker-epidemic-build-env.git docker-epidemic-build-env] repo.<br />
<br />
* Possible Hackage categorisation guidelines: upload games to Game, engines and libs to Game Engine, or at least to some category beginning with Game, and check latest categories before uploading<br />
<br />
== Forums ==<br />
<br />
There are several forums in the Haskell world where game development can be discussed:<br />
* The [https://www.haskell.org/mailman/listinfo/haskell-cafe Haskell Café] mailing list<br />
<br />
* This page<br />
<br />
* [irc://irc.freenode.net/#haskell-game #haskell-game] ([[IRC]])<br />
<br />
* [http://www.haskellers.com/teams/7 Special Interest Groups » Games] at Haskeller.com<br />
<br />
* [https://github.com/haskell-game/brainstorming haskell-game] at GitHub<br />
<br />
* [http://www.reddit.com/r/haskellgamedev Haskell Game Development] at reddit<br />
<br />
<br />
== Wishlist ==<br />
<br />
Is Hackage missing a useful data structure or library for some functionality that would benefit game programming? Suggestions for useful things can be added here as potential projects to hack on.<br />
<br />
* [https://hackage.haskell.org/package/Octree Octtree], [http://hackage.haskell.org/package/KdTree kd]-[http://hackage.haskell.org/package/kd-tree tree], various space partitioning techniques (maybe start with [http://hackage.haskell.org/package/spacepart spacepart]).<br />
<br />
* Binding to [http://www.fmod.org fmod]<br />
<br />
* Binding to [http://enet.bespin.org/Features.html enet] for multiplayer games. (jeffz is working on this).</div>Sseefriedhttps://wiki.haskell.org/index.php?title=Android&diff=59121Android2014-11-24T06:46:35Z<p>Sseefried: /* Related */</p>
<hr />
<div>{{Stub}}<br />
<br />
== Introduction == <br />
<br />
Android is an operating system for mobile devices, based on Linux; software development is mainly done in Java. See the [http://en.wikipedia.org/wiki/Android_(operating_system) Wikipedia article] for more information.<br />
<br />
<br />
== How to develop Android software in Haskell ==<br />
<br />
There are two main approaches to writing Android applications. You can either use<br />
the Java Native Interface ([http://en.wikipedia.org/wiki/Java_Native_Interface JNI])<br />
or the Native Development Kit ([https://developer.android.com/tools/sdk/ndk/index.html NDK]).<br />
<br />
If you'd like to go down the path of using the JNI there is a Haskell binding library [https://github.com/neurocyte/foreign-jni foreign-jni]; here is a demonstration of its use: [https://github.com/neurocyte/android-haskell-activity android-haskell-activity].<br />
<br />
Another option is, to use Thrift, as described in the blog article [http://mortenib.wordpress.com/2009/10/29/thrift-and-haskell/ Thrift and Haskell]<br />
<br />
You can also create applications using the NDK. See the [https://github.com/ajhc/demo-android-ndk NativeActivity demo application] using the [http://ajhc.metasepi.org/ Ajhc Haskell compiler] for example.<br />
<br />
There has also been some success in compiling GHC as a cross compiler. See below.<br />
<br />
== Discussions ==<br />
<br />
* StackOverflow: [http://stackoverflow.com/questions/5151858/running-a-haskell-program-on-the-android-os Running a Haskell program on the Android OS]<br />
* Reddit: [http://www.reddit.com/r/haskell/comments/ful84/haskell_on_android/ Haskell on Android], [http://www.reddit.com/r/haskell_proposals/comments/fdz3y/haskell_bindings_for_android_ndk_apis/ Haskell bindings for Android NDK APIs] and [http://www.reddit.com/r/haskell_proposals/comments/7ihso/an_arm_port_of_ghc_that_works_so_we_can_program/ An ARM port of GHC that works (so we can program the iphone or android)]<br />
* Google+ [https://plus.google.com/101555949501667191720/posts/JaFk1HS5oR7 So who else is interested in getting Haskell running on Android?]<br />
<br />
<br />
== Related ==<br />
<br />
* [http://hackage.haskell.org/trac/ghc/wiki/Building/CrossCompiling Cross-compiling GHC]<br />
* [https://github.com/neurocyte/ghc-android ghc-android]; a build script for building ghc cross compilers targeting Android.<br />
* [https://github.com/sseefried/docker-build-ghc-android docker-build-ghc-android]; a Dockerfile to build a GHC 7.8.3 cross compiler targeting Android on Debian Wheezy. Based heavily on [https://github.com/neurocyte/ghc-android ghc-android]. You can also just <code>docker pull sseefried/debian-stable-ghc-android</code> from the Docker Hub.<br />
* [https://github.com/conscell/hugs-android hugs-android]; a port of HUGS Haskell interpreter to Android.<br />
* [[ARM]]<br />
* [https://ghcarm.wordpress.com/ GHC on ARM]<br />
* [[iPhone]]<br />
<br />
<br />
[[Category:OS]]<br />
[[Category:Platforms]]</div>Sseefriedhttps://wiki.haskell.org/index.php?title=Android&diff=59119Android2014-11-23T10:03:51Z<p>Sseefried: /* Related */</p>
<hr />
<div>{{Stub}}<br />
<br />
== Introduction == <br />
<br />
Android is an operating system for mobile devices, based on Linux; software development is mainly done in Java. See the [http://en.wikipedia.org/wiki/Android_(operating_system) Wikipedia article] for more information.<br />
<br />
<br />
== How to develop Android software in Haskell ==<br />
<br />
There are two main approaches to writing Android applications. You can either use<br />
the Java Native Interface ([http://en.wikipedia.org/wiki/Java_Native_Interface JNI])<br />
or the Native Development Kit ([https://developer.android.com/tools/sdk/ndk/index.html NDK]).<br />
<br />
If you'd like to go down the path of using the JNI there is a Haskell binding library [https://github.com/neurocyte/foreign-jni foreign-jni]; here is a demonstration of its use: [https://github.com/neurocyte/android-haskell-activity android-haskell-activity].<br />
<br />
Another option is, to use Thrift, as described in the blog article [http://mortenib.wordpress.com/2009/10/29/thrift-and-haskell/ Thrift and Haskell]<br />
<br />
You can also create applications using the NDK. See the [https://github.com/ajhc/demo-android-ndk NativeActivity demo application] using the [http://ajhc.metasepi.org/ Ajhc Haskell compiler] for example.<br />
<br />
There has also been some success in compiling GHC as a cross compiler. See below.<br />
<br />
== Discussions ==<br />
<br />
* StackOverflow: [http://stackoverflow.com/questions/5151858/running-a-haskell-program-on-the-android-os Running a Haskell program on the Android OS]<br />
* Reddit: [http://www.reddit.com/r/haskell/comments/ful84/haskell_on_android/ Haskell on Android], [http://www.reddit.com/r/haskell_proposals/comments/fdz3y/haskell_bindings_for_android_ndk_apis/ Haskell bindings for Android NDK APIs] and [http://www.reddit.com/r/haskell_proposals/comments/7ihso/an_arm_port_of_ghc_that_works_so_we_can_program/ An ARM port of GHC that works (so we can program the iphone or android)]<br />
* Google+ [https://plus.google.com/101555949501667191720/posts/JaFk1HS5oR7 So who else is interested in getting Haskell running on Android?]<br />
<br />
<br />
== Related ==<br />
<br />
* [http://hackage.haskell.org/trac/ghc/wiki/Building/CrossCompiling Cross-compiling GHC]<br />
* [https://github.com/neurocyte/ghc-android ghc-android]; a build script for building ghc cross compilers targeting Android.<br />
* [https://github.com/sseefried/docker-build-ghc-android docker-build-ghc-android]; a Dockerfile to build a GHC 7.8.3 cross compiler targeting Android on Debian Wheezy. Based heavily on [https://github.com/neurocyte/ghc-android ghc-android].<br />
* [https://github.com/conscell/hugs-android hugs-android]; a port of HUGS Haskell interpreter to Android.<br />
* [[ARM]]<br />
* [https://ghcarm.wordpress.com/ GHC on ARM]<br />
* [[iPhone]]<br />
<br />
<br />
[[Category:OS]]<br />
[[Category:Platforms]]</div>Sseefriedhttps://wiki.haskell.org/index.php?title=Android&diff=59118Android2014-11-23T09:36:49Z<p>Sseefried: /* Related */</p>
<hr />
<div>{{Stub}}<br />
<br />
== Introduction == <br />
<br />
Android is an operating system for mobile devices, based on Linux; software development is mainly done in Java. See the [http://en.wikipedia.org/wiki/Android_(operating_system) Wikipedia article] for more information.<br />
<br />
<br />
== How to develop Android software in Haskell ==<br />
<br />
There are two main approaches to writing Android applications. You can either use<br />
the Java Native Interface ([http://en.wikipedia.org/wiki/Java_Native_Interface JNI])<br />
or the Native Development Kit ([https://developer.android.com/tools/sdk/ndk/index.html NDK]).<br />
<br />
If you'd like to go down the path of using the JNI there is a Haskell binding library [https://github.com/neurocyte/foreign-jni foreign-jni]; here is a demonstration of its use: [https://github.com/neurocyte/android-haskell-activity android-haskell-activity].<br />
<br />
Another option is, to use Thrift, as described in the blog article [http://mortenib.wordpress.com/2009/10/29/thrift-and-haskell/ Thrift and Haskell]<br />
<br />
You can also create applications using the NDK. See the [https://github.com/ajhc/demo-android-ndk NativeActivity demo application] using the [http://ajhc.metasepi.org/ Ajhc Haskell compiler] for example.<br />
<br />
There has also been some success in compiling GHC as a cross compiler. See below.<br />
<br />
== Discussions ==<br />
<br />
* StackOverflow: [http://stackoverflow.com/questions/5151858/running-a-haskell-program-on-the-android-os Running a Haskell program on the Android OS]<br />
* Reddit: [http://www.reddit.com/r/haskell/comments/ful84/haskell_on_android/ Haskell on Android], [http://www.reddit.com/r/haskell_proposals/comments/fdz3y/haskell_bindings_for_android_ndk_apis/ Haskell bindings for Android NDK APIs] and [http://www.reddit.com/r/haskell_proposals/comments/7ihso/an_arm_port_of_ghc_that_works_so_we_can_program/ An ARM port of GHC that works (so we can program the iphone or android)]<br />
* Google+ [https://plus.google.com/101555949501667191720/posts/JaFk1HS5oR7 So who else is interested in getting Haskell running on Android?]<br />
<br />
<br />
== Related ==<br />
<br />
* [http://hackage.haskell.org/trac/ghc/wiki/Building/CrossCompiling Cross-compiling GHC]<br />
* [https://github.com/neurocyte/ghc-android ghc-android]; a build script for building ghc cross compilers targeting Android.<br />
* [https://github.com/sseefried/docker-build-ghc-android docker-build-ghc-android]; a Dockerfile to build a GHC cross compiler targeting Android in Debian Wheezy. Based heavily on [https://github.com/neurocyte/ghc-android ghc-android].<br />
* [https://github.com/conscell/hugs-android hugs-android]; a port of HUGS Haskell interpreter to Android.<br />
* [[ARM]]<br />
* [https://ghcarm.wordpress.com/ GHC on ARM]<br />
* [[iPhone]]<br />
<br />
<br />
[[Category:OS]]<br />
[[Category:Platforms]]</div>Sseefriedhttps://wiki.haskell.org/index.php?title=Android&diff=59117Android2014-11-23T09:32:37Z<p>Sseefried: /* How to develop Android software in Haskell */</p>
<hr />
<div>{{Stub}}<br />
<br />
== Introduction == <br />
<br />
Android is an operating system for mobile devices, based on Linux; software development is mainly done in Java. See the [http://en.wikipedia.org/wiki/Android_(operating_system) Wikipedia article] for more information.<br />
<br />
<br />
== How to develop Android software in Haskell ==<br />
<br />
There are two main approaches to writing Android applications. You can either use<br />
the Java Native Interface ([http://en.wikipedia.org/wiki/Java_Native_Interface JNI])<br />
or the Native Development Kit ([https://developer.android.com/tools/sdk/ndk/index.html NDK]).<br />
<br />
If you'd like to go down the path of using the JNI there is a Haskell binding library [https://github.com/neurocyte/foreign-jni foreign-jni]; here is a demonstration of its use: [https://github.com/neurocyte/android-haskell-activity android-haskell-activity].<br />
<br />
Another option is, to use Thrift, as described in the blog article [http://mortenib.wordpress.com/2009/10/29/thrift-and-haskell/ Thrift and Haskell]<br />
<br />
You can also create applications using the NDK. See the [https://github.com/ajhc/demo-android-ndk NativeActivity demo application] using the [http://ajhc.metasepi.org/ Ajhc Haskell compiler] for example.<br />
<br />
There has also been some success in compiling GHC as a cross compiler. See below.<br />
<br />
== Discussions ==<br />
<br />
* StackOverflow: [http://stackoverflow.com/questions/5151858/running-a-haskell-program-on-the-android-os Running a Haskell program on the Android OS]<br />
* Reddit: [http://www.reddit.com/r/haskell/comments/ful84/haskell_on_android/ Haskell on Android], [http://www.reddit.com/r/haskell_proposals/comments/fdz3y/haskell_bindings_for_android_ndk_apis/ Haskell bindings for Android NDK APIs] and [http://www.reddit.com/r/haskell_proposals/comments/7ihso/an_arm_port_of_ghc_that_works_so_we_can_program/ An ARM port of GHC that works (so we can program the iphone or android)]<br />
* Google+ [https://plus.google.com/101555949501667191720/posts/JaFk1HS5oR7 So who else is interested in getting Haskell running on Android?]<br />
<br />
<br />
== Related ==<br />
<br />
* [http://hackage.haskell.org/trac/ghc/wiki/Building/CrossCompiling Cross-compiling GHC]<br />
* [https://github.com/neurocyte/ghc-android ghc-android]; a build script for building ghc cross compilers targeting Android.<br />
* [https://github.com/conscell/hugs-android hugs-android]; a port of HUGS Haskell interpreter to Android.<br />
* [[ARM]]<br />
* [https://ghcarm.wordpress.com/ GHC on ARM]<br />
* [[iPhone]]<br />
<br />
<br />
[[Category:OS]]<br />
[[Category:Platforms]]</div>Sseefriedhttps://wiki.haskell.org/index.php?title=Android&diff=59116Android2014-11-23T09:32:00Z<p>Sseefried: /* How to develop Android software in Haskell */</p>
<hr />
<div>{{Stub}}<br />
<br />
== Introduction == <br />
<br />
Android is an operating system for mobile devices, based on Linux; software development is mainly done in Java. See the [http://en.wikipedia.org/wiki/Android_(operating_system) Wikipedia article] for more information.<br />
<br />
<br />
== How to develop Android software in Haskell ==<br />
<br />
There are two main approaches to writing Android applications. You can either use<br />
the Java Native Interface ([http://en.wikipedia.org/wiki/Java_Native_Interface JNI])<br />
or the Native Development Kit ([https://developer.android.com/tools/sdk/ndk/index.html NDK]).<br />
<br />
If you'd like to go down the path of using the JNI there is a Haskell binding library [https://github.com/neurocyte/foreign-jni foreign-jni]; demonstration of the use: [https://github.com/neurocyte/android-haskell-activity android-haskell-activity].<br />
<br />
Another option is, to use Thrift, as described in the blog article [http://mortenib.wordpress.com/2009/10/29/thrift-and-haskell/ Thrift and Haskell]<br />
<br />
You can also create applications using the NDK. See the [https://github.com/ajhc/demo-android-ndk NativeActivity demo application] using the [http://ajhc.metasepi.org/ Ajhc Haskell compiler] for example.<br />
<br />
There has also been some success in compiling GHC as a cross compiler. See below.<br />
<br />
== Discussions ==<br />
<br />
* StackOverflow: [http://stackoverflow.com/questions/5151858/running-a-haskell-program-on-the-android-os Running a Haskell program on the Android OS]<br />
* Reddit: [http://www.reddit.com/r/haskell/comments/ful84/haskell_on_android/ Haskell on Android], [http://www.reddit.com/r/haskell_proposals/comments/fdz3y/haskell_bindings_for_android_ndk_apis/ Haskell bindings for Android NDK APIs] and [http://www.reddit.com/r/haskell_proposals/comments/7ihso/an_arm_port_of_ghc_that_works_so_we_can_program/ An ARM port of GHC that works (so we can program the iphone or android)]<br />
* Google+ [https://plus.google.com/101555949501667191720/posts/JaFk1HS5oR7 So who else is interested in getting Haskell running on Android?]<br />
<br />
<br />
== Related ==<br />
<br />
* [http://hackage.haskell.org/trac/ghc/wiki/Building/CrossCompiling Cross-compiling GHC]<br />
* [https://github.com/neurocyte/ghc-android ghc-android]; a build script for building ghc cross compilers targeting Android.<br />
* [https://github.com/conscell/hugs-android hugs-android]; a port of HUGS Haskell interpreter to Android.<br />
* [[ARM]]<br />
* [https://ghcarm.wordpress.com/ GHC on ARM]<br />
* [[iPhone]]<br />
<br />
<br />
[[Category:OS]]<br />
[[Category:Platforms]]</div>Sseefriedhttps://wiki.haskell.org/index.php?title=AusHac2011&diff=40839AusHac20112011-07-06T00:22:07Z<p>Sseefried: /* PlaySpace Online */</p>
<hr />
<div>AusHac 2011 will be held at UNSW from the '''8th to the 10th of July''' 2011, at the [http://maps.google.com/maps?cid=9827534508363927277&hl=en&ie=UTF8&hq=&hnear=&ll=-33.918168,151.231077&spn=0.010773,0.022702&t=h&z=16&iwloc=A Computer Science and Engineering building] at UNSW (Building K17), in room 113.<br />
<br />
Last year's AusHac was a huge success, and we'd love to make this years even bigger and better, but for that, we need you!<br />
<br />
If you are interested on coming, please fill in our [http://axman6.wufoo.com/forms/aushac-2011-sign-up/ sign up] form so we have an idea of numbers. Signup is required to gain access to the university network. If you're not sure you can come, fill it in anyway and leave a comment down the bottom. '''We'd rather be ready for too many people than not enough!'''<br />
<br />
== Project ideas ==<br />
<br />
=== PlaySpace Online ===<br />
<br />
'''What:''' <br />
<br />
[http://conal.net Conal Elliott] has designed a DSL called [Shady](http://hackage.haskell.org/package/shady-gen-0.5.1) that generates [http://en.wikipedia.org/wiki/GLSL GLSL] shaders. We already have a [http://seanseefried.com/webgl proof of concept] that these shaders can be displayed in WebGL. (If you want to view this please do it in Google Chrome 12+ or Firefix 4+ on a computer with a decent graphics card.)<br />
<br />
<br />
[http://playspace.seanseefried.com PlaySpace Online] will be a web application, written in [http://www.yesodweb.com Yesod], that will allow people to write their own Shady effects and play with them all within the comfort of their WebGL enabled browser.<br />
<br />
'''Who:''' Sean Seefried<br />
<br />
'''Repos:''' <br />
<br />
* Proof of concept: [https://github.com/sseefried/playspace-webgl playspace-webgl]<br />
* Skeleton of web app: [https://github.com/sseefried/play-space-online play-space-online]<br />
* The language: [http://hackage.haskell.org/package/shady-gen-0.5.1 shady-gen] and [http://hackage.haskell.org/package/shady-graphics-0.5.0 shady-graphics]<br />
<br />
=== Graph Stuff ===<br />
<br />
'''What:''' Not quite sure yet; possibly a [http://thejit.org/ JavaScript InfoVis Toolkit] backend for [http://projects.haskell.org/graphviz/ graphviz].<br />
<br />
'''Who:''' Ivan<br />
<br />
=== DDC ===<br />
<br />
'''What:''' DDC is Ben Lippmeier's experimental compiler. For anyone who would like to hack on a compiler written in Haskell, but found GHC too complex, DDC is a perfect match. There are a number of open newbie bugs and I'd be happy to walk anyone through fixing them.<br />
<br />
'''Who:''' Erik de Castro Lopo<br />
<br />
=== GHC ===<br />
<br />
'''What:''' I've been hacking on GHC recently. Would love to hack on it with someone who knows the code base better than me.<br />
<br />
'''Who:''' Erik de Castro Lopo<br />
<br />
=== Dropbox clone ===<br />
<br />
'''What:''' Dropbox is a great idea, but the fact that everything is stored on the Dropbox servers in cleartext is a deal breaker for me. So, how much of a clone can a motivated team get done in a weekend when using Haskell? Idea would be to use Wai/Warp for server side web code, http-enumerator for the client side, git or darcs for the back end storage (can we rip code out of gitit?). On the client side we would need OS specific clients for Linux, Mac and Windows to do the syncing.<br />
<br />
'''Who:''' Erik de Castro Lopo (but only if i get some other interested parties).<br />
<br />
== Accommodation ==<br />
<br />
=== Hostels ===<br />
If you're looking for somewhere cheap to stay near UNSW then there are a [http://www.hostelworld.com/hostels/Sydney/Coogee few back-packers in Coogee].<br />
It's about a 10 minute bus ride from Coogee Beach to UNSW. Shared rooms are AUD$30 - 40.<br />
<br />
For something a bit further out, you could also try one of the [http://www.yha.com.au/hostels/search/region.cfm?regionid=62 Sydney YHA hostels]. The Glebe one is walking distance to Darling Harbour, though it takes about 50 min to get to UNSW via light rail then bus. Private rooms with shared facilities are about AUD$80. Shared rooms are AUD$30 - 40.<br />
<br />
If you want to say across the road from Central station, and don't mind hanging out with English gap-year kids, then you try [http://www.wakeup.com.au/ WakeUp].<br />
<br />
If you like to party then [http://www.evasbackpackers.com.au/ Evas Backpackers] is a short stumble home from Kings Cross. <br />
<br />
I'd avoid [http://www.sydneycentralonwentworth.com.au/ SydneyCentralOnWentworth]. It has a pretty website but the rooms are small and dingy (benl23 stayed there in 2009)<br />
<br />
Note that hostels tend to be busiest on Friday and Saturday nights, so it's good to book early.<br />
<br />
=== Colleges ===<br />
For something more up-market you could try one of [http://www.housing.unsw.edu.au/housing/short_term/short_term.php?p=overview the UNSW residential Colleges]. This site also has more links to hotels and hostels.<br />
<br />
=== Hotels ===<br />
If you have AUD$120 - 150 per night and aren't organised then [http://www.lastminute.com.au/hotels.html LastMinute] is a good place to find a hotel. You get the best prices if you book 2-3 days in advance. Alternatively, try [http://www.wotif.com/ wotif].<br />
<br />
== Related Links ==<br />
<br />
* [[AusHac2010]]<br />
* [[OzHaskell]]<br />
<br />
[[Category:Events]]<br />
[[Category:Hackathon]]</div>Sseefriedhttps://wiki.haskell.org/index.php?title=AusHac2011&diff=40838AusHac20112011-07-06T00:20:33Z<p>Sseefried: /* PlaySpace Online */</p>
<hr />
<div>AusHac 2011 will be held at UNSW from the '''8th to the 10th of July''' 2011, at the [http://maps.google.com/maps?cid=9827534508363927277&hl=en&ie=UTF8&hq=&hnear=&ll=-33.918168,151.231077&spn=0.010773,0.022702&t=h&z=16&iwloc=A Computer Science and Engineering building] at UNSW (Building K17), in room 113.<br />
<br />
Last year's AusHac was a huge success, and we'd love to make this years even bigger and better, but for that, we need you!<br />
<br />
If you are interested on coming, please fill in our [http://axman6.wufoo.com/forms/aushac-2011-sign-up/ sign up] form so we have an idea of numbers. Signup is required to gain access to the university network. If you're not sure you can come, fill it in anyway and leave a comment down the bottom. '''We'd rather be ready for too many people than not enough!'''<br />
<br />
== Project ideas ==<br />
<br />
=== PlaySpace Online ===<br />
<br />
'''What:''' <br />
<br />
[http://conal.net Conal Elliott] has designed a DSL called [Shady](http://hackage.haskell.org/package/shady-gen-0.5.1) that generates [http://en.wikipedia.org/wiki/GLSL GLSL] shaders. We already have a [http://seanseefried.com/webgl proof of concept] that these shaders can be displayed in WebGL. (If you want to view this please do it in Google Chrome 12+ or Firefix 4+ on a computer with a decent graphics card.)<br />
<br />
<br />
[http://playspace.seanseefried.com PlaySpace Online] will be a web application, written in [http://www.yesodweb.com Yesod], that will allow people to write their own Shady effects and play with them all within the comfort of their WebGL enabled browser.<br />
<br />
'''Who:''' Sean Seefried<br />
<br />
'''Repos:''' <br />
<br />
* Proof of concept: [https://github.com/sseefried/playspace-webgl playspace-webgl]<br />
* Skeleton of web app: [https://github.com/sseefried/play-space-online play-space-online]<br />
* [shady-gen](http://hackage.haskell.org/package/shady-gen-0.5.1)<br />
* [shady-graphics](http://hackage.haskell.org/package/shady-graphics-0.5.0)<br />
<br />
=== Graph Stuff ===<br />
<br />
'''What:''' Not quite sure yet; possibly a [http://thejit.org/ JavaScript InfoVis Toolkit] backend for [http://projects.haskell.org/graphviz/ graphviz].<br />
<br />
'''Who:''' Ivan<br />
<br />
=== DDC ===<br />
<br />
'''What:''' DDC is Ben Lippmeier's experimental compiler. For anyone who would like to hack on a compiler written in Haskell, but found GHC too complex, DDC is a perfect match. There are a number of open newbie bugs and I'd be happy to walk anyone through fixing them.<br />
<br />
'''Who:''' Erik de Castro Lopo<br />
<br />
=== GHC ===<br />
<br />
'''What:''' I've been hacking on GHC recently. Would love to hack on it with someone who knows the code base better than me.<br />
<br />
'''Who:''' Erik de Castro Lopo<br />
<br />
=== Dropbox clone ===<br />
<br />
'''What:''' Dropbox is a great idea, but the fact that everything is stored on the Dropbox servers in cleartext is a deal breaker for me. So, how much of a clone can a motivated team get done in a weekend when using Haskell? Idea would be to use Wai/Warp for server side web code, http-enumerator for the client side, git or darcs for the back end storage (can we rip code out of gitit?). On the client side we would need OS specific clients for Linux, Mac and Windows to do the syncing.<br />
<br />
'''Who:''' Erik de Castro Lopo (but only if i get some other interested parties).<br />
<br />
== Accommodation ==<br />
<br />
=== Hostels ===<br />
If you're looking for somewhere cheap to stay near UNSW then there are a [http://www.hostelworld.com/hostels/Sydney/Coogee few back-packers in Coogee].<br />
It's about a 10 minute bus ride from Coogee Beach to UNSW. Shared rooms are AUD$30 - 40.<br />
<br />
For something a bit further out, you could also try one of the [http://www.yha.com.au/hostels/search/region.cfm?regionid=62 Sydney YHA hostels]. The Glebe one is walking distance to Darling Harbour, though it takes about 50 min to get to UNSW via light rail then bus. Private rooms with shared facilities are about AUD$80. Shared rooms are AUD$30 - 40.<br />
<br />
If you want to say across the road from Central station, and don't mind hanging out with English gap-year kids, then you try [http://www.wakeup.com.au/ WakeUp].<br />
<br />
If you like to party then [http://www.evasbackpackers.com.au/ Evas Backpackers] is a short stumble home from Kings Cross. <br />
<br />
I'd avoid [http://www.sydneycentralonwentworth.com.au/ SydneyCentralOnWentworth]. It has a pretty website but the rooms are small and dingy (benl23 stayed there in 2009)<br />
<br />
Note that hostels tend to be busiest on Friday and Saturday nights, so it's good to book early.<br />
<br />
=== Colleges ===<br />
For something more up-market you could try one of [http://www.housing.unsw.edu.au/housing/short_term/short_term.php?p=overview the UNSW residential Colleges]. This site also has more links to hotels and hostels.<br />
<br />
=== Hotels ===<br />
If you have AUD$120 - 150 per night and aren't organised then [http://www.lastminute.com.au/hotels.html LastMinute] is a good place to find a hotel. You get the best prices if you book 2-3 days in advance. Alternatively, try [http://www.wotif.com/ wotif].<br />
<br />
== Related Links ==<br />
<br />
* [[AusHac2010]]<br />
* [[OzHaskell]]<br />
<br />
[[Category:Events]]<br />
[[Category:Hackathon]]</div>Sseefriedhttps://wiki.haskell.org/index.php?title=AusHac2011&diff=40602AusHac20112011-06-23T04:09:17Z<p>Sseefried: /* Project ideas */</p>
<hr />
<div>AusHac 2011 will be held at UNSW from the '''8th to the 10th of July''' 2011, at the [http://maps.google.com/maps?cid=9827534508363927277&hl=en&ie=UTF8&hq=&hnear=&ll=-33.918168,151.231077&spn=0.010773,0.022702&t=h&z=16&iwloc=A Computer Science and Engineering building] at UNSW (Building K17), in room 113.<br />
<br />
Last year's AusHac was a huge success, and we'd love to make this years even bigger and better, but for that, we need you!<br />
<br />
If you are interested on coming, please fill in our [http://axman6.wufoo.com/forms/aushac-2011-sign-up/ sign up] form so we have an idea of numbers. Signup is required to gain access to the university network. If you're not sure you can come, fill it in anyway and leave a comment down the bottom. '''We'd rather be ready for too many people than not enough!'''<br />
<br />
== Project ideas ==<br />
<br />
=== PlaySpace Online ===<br />
<br />
'''What:''' <br />
<br />
[http://conal.net Conal Elliott] has designed a DSL called Shady that generates [http://en.wikipedia.org/wiki/GLSL GLSL] shaders. We already have a [http://seanseefried.com/webgl proof of concept] that these shaders can be displayed in WebGL. (If you want to view this please do it in Google Chrome 12+ or Firefix 4+ on a computer with a decent graphics card.)<br />
<br />
<br />
[http://playspace.seanseefried.com PlaySpace Online] will be a web application, written in [http://www.yesodweb.com Yesod], that will allow people to write their own Shady effects and play with them all within the comfort of their WebGL enabled browser.<br />
<br />
'''Who:''' Sean Seefried<br />
<br />
'''Repos:''' <br />
<br />
* Proof of concept: [https://github.com/sseefried/playspace-webgl playspace-webgl]<br />
* Skeleton of web app: [https://github.com/sseefried/play-space-online play-space-online]<br />
<br />
=== Graph Stuff ===<br />
<br />
'''What:''' Not quite sure yet; possibly a [http://thejit.org/ JavaScript InfoVis Toolkit] backend for [http://projects.haskell.org/graphviz/ graphviz].<br />
<br />
'''Who:''' Ivan<br />
<br />
=== DDC ===<br />
<br />
'''What:''' DDC is Ben Lippmeier's experimental compiler. For anyone who would like to hack on a compiler written in Haskell, but found GHC too complex, DDC is a perfect match. There are a number of open newbie bugs and I'd be happy to walk anyone through fixing them.<br />
<br />
'''Who:''' Erik de Castro Lopo<br />
<br />
=== GHC ===<br />
<br />
'''What:''' I've been hacking on GHC recently. Would love to hack on it with someone who knows the code base better than me.<br />
<br />
'''Who:''' Erik de Castro Lopo<br />
<br />
== Accommodation ==<br />
<br />
=== Hostels ===<br />
If you're looking for somewhere cheap to stay near UNSW then there are a [http://www.hostelworld.com/hostels/Sydney/Coogee few back-packers in Coogee].<br />
It's about a 10 minute bus ride from Coogee Beach to UNSW. Shared rooms are AUD$30 - 40.<br />
<br />
For something a bit further out, you could also try one of the [http://www.yha.com.au/hostels/search/region.cfm?regionid=62 Sydney YHA hostels]. The Glebe one is walking distance to Darling Harbour, though it takes about 50 min to get to UNSW via light rail then bus. Private rooms with shared facilities are about AUD$80. Shared rooms are AUD$30 - 40.<br />
<br />
If you want to say across the road from Central station, and don't mind hanging out with English gap-year kids, then you try [http://www.wakeup.com.au/ WakeUp].<br />
<br />
If you like to party then [http://www.evasbackpackers.com.au/ Evas Backpackers] is a short stumble home from Kings Cross. <br />
<br />
I'd avoid [http://www.sydneycentralonwentworth.com.au/ SydneyCentralOnWentworth]. It has a pretty website but the rooms are small and dingy (benl23 stayed there in 2009)<br />
<br />
Note that hostels tend to be busiest on Friday and Saturday nights, so it's good to book early.<br />
<br />
=== Colleges ===<br />
For something more up-market you could try one of [http://www.housing.unsw.edu.au/housing/short_term/short_term.php?p=overview the UNSW residential Colleges]. This site also has more links to hotels and hostels.<br />
<br />
=== Hotels ===<br />
If you have AUD$120 - 150 per night and aren't organised then [http://www.lastminute.com.au/hotels.html LastMinute] is a good place to find a hotel. You get the best prices if you book 2-3 days in advance. Alternatively, try [http://www.wotif.com/ wotif].<br />
<br />
== Related Links ==<br />
<br />
* [[AusHac2010]]<br />
* [[OzHaskell]]<br />
<br />
[[Category:Events]]<br />
[[Category:Hackathon]]</div>Sseefriedhttps://wiki.haskell.org/index.php?title=AusHac2011&diff=40601AusHac20112011-06-23T01:05:28Z<p>Sseefried: PlaySpace online project idea</p>
<hr />
<div>AusHac 2011 will be held at UNSW from the '''8th to the 10th of July''' 2011, at the [http://maps.google.com/maps?cid=9827534508363927277&hl=en&ie=UTF8&hq=&hnear=&ll=-33.918168,151.231077&spn=0.010773,0.022702&t=h&z=16&iwloc=A Computer Science and Engineering building] at UNSW (Building K17), in room 113.<br />
<br />
Last year's AusHac was a huge success, and we'd love to make this years even bigger and better, but for that, we need you!<br />
<br />
If you are interested on coming, please fill in our [http://axman6.wufoo.com/forms/aushac-2011-sign-up/ sign up] form so we have an idea of numbers. Signup is required to gain access to the university network. If you're not sure you can come, fill it in anyway and leave a comment down the bottom. '''We'd rather be ready for too many people than not enough!'''<br />
<br />
== Project ideas ==<br />
<br />
=== PlaySpace Online ===<br />
<br />
'''What:''' <br />
<br />
[http://conal.net Conal Elliott] has designed a DSL called Shady that generates [http://en.wikipedia.org/wiki/GLSL GLSL] shaders. We already have a [http://seanseefried.com/webgl proof of concept] that these shaders can be displayed in WebGL. (If you want to view this please do it in Google Chrome 12+ of Firefix 4+ on a computer with a decent graphics card.)<br />
<br />
<br />
[http://playspace.seanseefried.com PlaySpace Online] will be a web application, written in [http://www.yesodweb.com Yesod], that will allow people to write their own Shady effects and play with them all within the comfort of their WebGL enabled browser.<br />
<br />
'''Who:''' Sean Seefried<br />
<br />
'''Repos:''' <br />
<br />
* Proof of concept: [https://github.com/sseefried/playspace-webgl playspace-webgl]<br />
* Skeleton of web app: [https://github.com/sseefried/play-space-online play-space-online]<br />
<br />
=== Graph Stuff ===<br />
<br />
'''What:''' Not quite sure yet; possibly a [http://thejit.org/ JavaScript InfoVis Toolkit] backend for [http://projects.haskell.org/graphviz/ graphviz].<br />
<br />
'''Who:''' Ivan<br />
<br />
=== DDC ===<br />
<br />
'''What:''' DDC is Ben Lippmeier's experimental compiler. For anyone who would like to hack on a compiler written in Haskell, but found GHC too complex, DDC is a perfect match. There are a number of open newbie bugs and I'd be happy to walk anyone through fixing them.<br />
<br />
'''Who:''' Erik de Castro Lopo<br />
<br />
=== GHC ===<br />
<br />
'''What:''' I've been hacking on GHC recently. Would love to hack on it with someone who knows the code base better than me.<br />
<br />
'''Who:''' Erik de Castro Lopo<br />
<br />
== Accommodation ==<br />
<br />
=== Hostels ===<br />
If you're looking for somewhere cheap to stay near UNSW then there are a [http://www.hostelworld.com/hostels/Sydney/Coogee few back-packers in Coogee].<br />
It's about a 10 minute bus ride from Coogee Beach to UNSW. Shared rooms are AUD$30 - 40.<br />
<br />
For something a bit further out, you could also try one of the [http://www.yha.com.au/hostels/search/region.cfm?regionid=62 Sydney YHA hostels]. The Glebe one is walking distance to Darling Harbour, though it takes about 50 min to get to UNSW via light rail then bus. Private rooms with shared facilities are about AUD$80. Shared rooms are AUD$30 - 40.<br />
<br />
If you want to say across the road from Central station, and don't mind hanging out with English gap-year kids, then you try [http://www.wakeup.com.au/ WakeUp].<br />
<br />
If you like to party then [http://www.evasbackpackers.com.au/ Evas Backpackers] is a short stumble home from Kings Cross. <br />
<br />
I'd avoid [http://www.sydneycentralonwentworth.com.au/ SydneyCentralOnWentworth]. It has a pretty website but the rooms are small and dingy (benl23 stayed there in 2009)<br />
<br />
Note that hostels tend to be busiest on Friday and Saturday nights, so it's good to book early.<br />
<br />
=== Colleges ===<br />
For something more up-market you could try one of [http://www.housing.unsw.edu.au/housing/short_term/short_term.php?p=overview the UNSW residential Colleges]. This site also has more links to hotels and hostels.<br />
<br />
=== Hotels ===<br />
If you have AUD$120 - 150 per night and aren't organised then [http://www.lastminute.com.au/hotels.html LastMinute] is a good place to find a hotel. You get the best prices if you book 2-3 days in advance. Alternatively, try [http://www.wotif.com/ wotif].<br />
<br />
== Related Links ==<br />
<br />
* [[AusHac2010]]<br />
* [[OzHaskell]]<br />
<br />
[[Category:Events]]<br />
[[Category:Hackathon]]</div>Sseefriedhttps://wiki.haskell.org/index.php?title=Applications_and_libraries/Graphics&diff=20156Applications and libraries/Graphics2008-03-21T03:43:39Z<p>Sseefried: PanTHeon is dead now. Panic is the only thing I maintain.</p>
<hr />
<div>Dealing with graphics, drawing and graphics file formats. For information about libraries for graphical user interfaces, see [[Libraries and tools/GUI libraries|GUI libraries]].<br />
<br />
== Applications ==<br />
<br />
;[http://haskell.org/Blobs Blobs diagram editor]<br />
:Blobs is a diagram editor for directed graphs. It is written in Haskell, using the platform-independent GUI toolkit wxHaskell. Blobs is a front-end for drawing and editing graph diagrams.<br />
<br />
;[http://web.comlab.ox.ac.uk/oucl/work/ian.lynagh/Fraskell/ Fraskell]<br />
:A Haskell program that generates images of the Mandelbrot set.<br />
<br />
=== Ray tracing ===<br />
<br />
;[http://www.cse.unsw.edu.au/~cgray/banky/ Banky : Monte Carlo ray tracing]<br />
:A monte carlo ray tracer in Haskell. Monte-Carlo ray-Tracing uses random and quasi-random techniques for improved image synthesis. Monte-carlo ray-tracers simulate global illumination and eliminates the ambient term. It does this using a set of random techniques to simulate an integration model of illumination, which is far more realistic.<br />
<br />
;[http://www.haskell.org/tmrwiki/HRay HRay: A Haskell ray tracer]<br />
:HRay, a ray tracer in Haskell. The goal is to show how elegant, short and maintainable a ray tracing implementation would be in a functional language, as opposed to an imperative or procedural language. It uses a formal model for the application, using the functional and declarative formalism Funmath <br />
<br />
;[http://staff.science.uva.nl/~kort/hart/index.html HaRT: Haskell ray tracer]<br />
:Yet another Haskell ray tracer<br />
<br />
;[http://benny.kramekweb.com/hrayt/ hrayt, A Haskell Raytracer]<br />
:A Haskell ray tracer in only a few hours.<br />
<br />
;[http://www.nobugs.org/developer/htrace/index.html Htrace, A Haskell Raytracer]<br />
:A 1 day raytracer.<br />
<br />
;[http://www.xs4all.nl/~jkort/ Haskell Ray Tracer]<br />
:A Haskell ray tracer written for Jan Kort's master thesis<br />
<br />
;[http://www.cs.mu.oz.au/~bjpop/code.html bjpop-ray]<br />
:A simple raytracer using wxHaskell for the GUI.<br />
<br />
;[http://groups.csail.mit.edu/graphics/classes/6.837/F99/projects/reports/team06.pdf Parallel Ray Tracing in pH]<br />
:A parallel ray tracer, using the parallel Haskell<br />
<br />
;Galois Ray Tracer from icfp00<br />
:A Galois Connections team submitted a ray tracer entry in Haskell in the 2000 icfp contest<br />
<br />
;[http://www.macs.hw.ac.uk/~gnik/apset/ray_tracer.lhs A Ray Tracer for Spheres]<br />
:David King's Haskell port of an Id ray tracer from the [http://www.csg.lcs.mit.edu/impala/ Impala suite]<br />
<br />
== Libraries ==<br />
<br />
;[http://haskell.org/graphics/ The Hugs Graphics Library]<br />
:The Hugs Graphics Library supports 2-dimensional graphics operations, timers, mouse and keyboard actions and multiple windows. It runs on Hugs under both Win32 and X11. An earlier version was used for early prototypes of Fran.<br />
<br />
;[http://haskell.org/haven/ Haven]<br />
:Scalable Vector Graphics for Haskell. Portable, device-independent, resolution-independent library, including support for affine transformations, Bezier curves, fine-grained control of pen attributes, bounds and intersection tests, constructive area geometry, anti-aliased rendering, outline fonts, etc.<br />
<br />
;[http://www.conal.net/Fran/ Functional Reactive Animation]<br />
:FRAN is a Haskell library (or "embedded language") for interactive animations with 2D and 3D graphics and sound. It runs on Hugs under Windows 95 and Windows NT, using Win32 graphics (GDI).<br />
<br />
;[[Grapefruit]]<br />
:Grapefruit is a library for programming graphical animations and GUIs in a declarative way. It is based on the concepts of [[Functional Reactive Programming]].<br />
<br />
;[http://haskell.org/HOpenGL/ HOpenGL]<br />
:HOpenGL is a Haskell binding for the OpenGL graphics API (GL 2.1 / GLU 1.3) and the portable OpenGL utility toolkit GLUT.<br />
<br />
;[http://cryp.to/funcmp/ Functional Metapost]<br />
:Functional Metapost is a Haskell binding for MetaPost, the powerful but cumbersome graphics language.<br />
<br />
;[http://www.haskell.org/haskellwiki/HaskLS L-systems]<br />
:A Haskell implementation for Lindenmayer Systems (L-systems). The goal is to implement L-systems in Haskell, and provide a way to visualize them using HOpenGL.<br />
<br />
;[http://darcs.haskell.org/~lemmih/hsSDL/ hsSDL]<br />
:Contains bindings to libSDL, libSDL_gfx, libSDL_image, libSDL_mixer and libSDL_ttf.<br />
<br />
;[http://dockerz.net/software/chart.html Chart Library]<br />
: A simple library for drawing 2D charts, implemented in haskell, using the [http://cairographics.org/ Cairo] graphics library for rendering.<br />
<br />
;[http://linuz.sns.it/~monge/wiki/index.php/Milfoh Milfoh]<br />
:An image to texture loading library. Use SDL_image (and a bare minimun of SDL), to load image files as opengl textures.<br />
<br />
;[http://users.info.unicaen.fr/~karczma/Work/Clastic_distr/clastic.html Clastic]<br />
:Texture generation<br />
<br />
=== Pan ===<br />
<br />
;[http://www.conal.net/pan Pan]<br />
:An embedded language and highly optimizing compiler for image synthesis and transformation, based on the simple idea of images as functions over infinite, continuous 2D space. The resulting binaries can be used as PhotoShop plugins, embedded in web pages or PowerPoint, or used in an interactive standalone viewer. The compiler contains no domain-specific knowledge, so it's very extensible. See the [http://www.conal.net/pan/Gallery/ gallery] for visual examples. Currently Windows-only, but ports are encouraged.<br />
<br />
;[http://haskell.org/edsl/pansharp.html Pan#]<br />
:Pan# is a slightly re-engineered version of Pan. It uses the same compiler but used the Microsoft .NET framework instead of visual studio, making it easier to install and use. It also has a number of new features added. While Pan is embedded in Haskell, Pan# has its own Haskell-like language built in so there is no need to use other Haskell compilers. Currently Windows-only.<br />
<br />
;[http://www.acooke.org/jara/pancito/index.html Pancito]<br />
:Pancito is a Haskell module for manipulating functional images and then saving them to disk. It was inspired by Pan.<br />
<br />
;[http://www.cse.unsw.edu.au/~sseefried/pan/index.html Panic]<br />
:A cross-platform re-implementation of Pan in Haskell using the wxWidgets GUI library and OpenGL graphics library.<br />
<br />
=== Graphics file formats ===<br />
<br />
;[http://www.alpheccar.org/en/posts/show/82 HPDF]<br />
:A small portable Haskell library to generate PDF pictures.<br />
<br />
;[http://www.cs.uu.nl/people/jeroen/ Functional Specification of the JPEG algorithm], and an Implementation for Free<br />
<br />
;[http://web.archive.org/web/20010606145143/www.numeric-quest.com/haskell/gd/index.html PNG and JPEG writer]<br />
: available at internet archive; cumbersome for download<br />
<br />
;[http://web.archive.org/web/20010306041706/www.numeric-quest.com/funpdf/index.html PDF writer]<br />
: available at internet archive; cumbersome for download<br />
<br />
<br />
<br />
{{LibrariesPage}}</div>Sseefriedhttps://wiki.haskell.org/index.php?title=OzHaskell&diff=15973OzHaskell2007-10-02T08:50:08Z<p>Sseefried: </p>
<hr />
<div>'''There is AngloHaskell and now AmeroHaskell. Doesn't that call for OzHaskell?'''<br />
<br />
Who would be interested to have a Haskell event in Australia, possibly in Sydney? This is just a wild idea without any concrete date or format yet. Jot down any suggestions on this page.<br />
<br />
Interested Haskellers:<br />
<br />
* [[:User:Chak|Manuel Chakravarty]]<br />
* [[:User:TonyMorris|Tony Morris]]<br />
* [[:User:Brecknell|Matthew Brecknell]] (Brisbane)<br />
* [[:User:Mark_Wassell|Mark Wassell]]<br />
* [[:User:Rl|Roman Leshchinskiy]]<br />
* [[:User:cbrad|Brad Clow]]<br />
* [[:User:nornagon|Jeremy Apthorp]]<br />
* [[:User:AndrewA|Andrew Appleyard]]<br />
* [[:User:bjpop|Bernie Pope]]<br />
* [[:User:benl23|Ben Lippmeier]]<br />
* [[:User:RohanDrape|Rohan Drape]]<br />
* [[:User:ivanm|Ivan Miljenovic]] (Brisbane)<br />
* [[:User:EricWilligers|Eric Willigers]]<br />
* [[:User:TonySloane|Tony Sloane]]<br />
* [[:User:Bens|Ben Sinclair]]<br />
* [[:User:andrep|Andre Pang]]<br />
* [[:User:AndrewBromage|Andrew Bromage]] (Melbourne)<br />
* [[:User:Droberts|Dale Roberts]] (Sydney)<br />
* [[:User:GeoffWilson|Geoff Wilson]] (Melbourne)<br />
* [[:User:Saulzar|Oliver Batchelor]] (Brisbane)<br />
* [[:User:Nick|Nick Seow]] (Sydney)<br />
* [[:User:sseefried|Sean Seefried]] (Sydney)</div>Sseefriedhttps://wiki.haskell.org/index.php?title=Existential_type&diff=2497Existential type2006-02-22T05:41:21Z<p>Sseefried: </p>
<hr />
<div>Existential types in conjunction with type classes can be used to emulate the dynamic dispatch mechanism of object oriented programming languages. To illustrate this concept I show how a classic example from object oriented programming can be encoded in Haskell.<br />
<br />
<br />
<br />
class Shape_ a where<br />
perimeter :: a -> Double<br />
area :: a -> Double<br />
<br />
data Shape = forall a. Shape_ a => Shape a<br />
<br />
type Radius = Double<br />
type Side = Double<br />
<br />
data Circle = Circle Radius<br />
data Rectangle = Rectangle Side Side<br />
data Square = Square Side<br />
<br />
<br />
instance Shape_ Circle where<br />
perimeter (Circle r) = 2 * pi * r<br />
area (Circle r) = pi * r * r<br />
<br />
instance Shape_ Rectangle where<br />
perimeter (Rectangle x y) = 2*(x + y)<br />
area (Rectangle x y) = x * y<br />
<br />
instance Shape_ Square where<br />
perimeter (Square s) = 4*s<br />
area (Square s) = s*s<br />
<br />
instance Shape_ Shape where<br />
perimeter (Shape shape) = perimeter shape<br />
area (Shape shape) = area shape<br />
<br />
<br />
--<br />
-- Smart constructors<br />
--<br />
<br />
circle :: Radius -> Shape<br />
circle r = Shape (Circle r)<br />
<br />
rectangle :: Side -> Side -> Shape<br />
rectangle x y = Shape (Rectangle x y)<br />
<br />
square :: Side -> Shape<br />
square s = Shape (Square s)<br />
<br />
shapes :: [Shape]<br />
shapes = [circle 2.4, rectangle 3.1 4.4, square 2.1]<br />
<br />
[[Category:Idioms]]</div>Sseefriedhttps://wiki.haskell.org/index.php?title=Existential_type&diff=2496Existential type2006-02-22T05:39:57Z<p>Sseefried: </p>
<hr />
<div>Existential types in conjunction with type classes can be used to emulate the dynamic dispatch mechanism of object oriented programming languages. To illustrate this concept I show how a classic example from object oriented programming can be encoded in Haskell.<br />
<br />
<br />
data Shape = forall a. Shape_ a => Shape a<br />
<br />
type Radius = Double<br />
type Side = Double<br />
<br />
<br />
data Circle = Circle Radius<br />
data Rectangle = Rectangle Side Side<br />
data Square = Square Side<br />
<br />
class Shape_ a where<br />
perimeter :: a -> Double<br />
area :: a -> Double<br />
<br />
instance Shape_ Circle where<br />
perimeter (Circle r) = 2 * pi * r<br />
area (Circle r) = pi * r * r<br />
<br />
instance Shape_ Rectangle where<br />
perimeter (Rectangle x y) = 2*(x + y)<br />
area (Rectangle x y) = x * y<br />
<br />
instance Shape_ Square where<br />
perimeter (Square s) = 4*s<br />
area (Square s) = s*s<br />
<br />
instance Shape_ Shape where<br />
perimeter (Shape shape) = perimeter shape<br />
area (Shape shape) = area shape<br />
<br />
<br />
--<br />
-- Smart constructors<br />
--<br />
<br />
circle :: Radius -> Shape<br />
circle r = Shape (Circle r)<br />
<br />
rectangle :: Side -> Side -> Shape<br />
rectangle x y = Shape (Rectangle x y)<br />
<br />
square :: Side -> Shape<br />
square s = Shape (Square s)<br />
<br />
shapes :: [Shape]<br />
shapes = [circle 2.4, rectangle 3.1 4.4, square 2.1]<br />
<br />
[[Category:Idioms]]</div>Sseefriedhttps://wiki.haskell.org/index.php?title=Existential_type&diff=2495Existential type2006-02-22T05:38:03Z<p>Sseefried: </p>
<hr />
<div> data Shape = forall a. Shape_ a => Shape a<br />
<br />
type Radius = Double<br />
type Side = Double<br />
<br />
<br />
data Circle = Circle Radius<br />
data Rectangle = Rectangle Side Side<br />
data Square = Square Side<br />
<br />
class Shape_ a where<br />
perimeter :: a -> Double<br />
area :: a -> Double<br />
<br />
instance Shape_ Circle where<br />
perimeter (Circle r) = 2 * pi * r<br />
area (Circle r) = pi * r * r<br />
<br />
instance Shape_ Rectangle where<br />
perimeter (Rectangle x y) = 2*(x + y)<br />
area (Rectangle x y) = x * y<br />
<br />
instance Shape_ Square where<br />
perimeter (Square s) = 4*s<br />
area (Square s) = s*s<br />
<br />
instance Shape_ Shape where<br />
perimeter (Shape shape) = perimeter shape<br />
area (Shape shape) = area shape<br />
<br />
<br />
--<br />
-- Smart constructors<br />
--<br />
<br />
circle :: Radius -> Shape<br />
circle r = Shape (Circle r)<br />
<br />
rectangle :: Side -> Side -> Shape<br />
rectangle x y = Shape (Rectangle x y)<br />
<br />
square :: Side -> Shape<br />
square s = Shape (Square s)<br />
<br />
shapes :: [Shape]<br />
shapes = [circle 2.4, rectangle 3.1 4.4, square 2.1]<br />
<br />
[[Category:Idioms]]</div>Sseefried