Skip to content

Custom Runtimes

The ability to build custom runtimes would be useful in many development situations. Like Objective Caml's -custom, one would be able to create a interactive-invokable (GHCi) with a custom main () initialization and finalizer. For things such as SDL applications, Cocoa applications, there is a need for custom run loops as well. This would be an immensely great integration feature for GHC. In these situations it is not possible to work in GHCi on most/all platforms without much work done in a specialized hs-plugins REPL environment.

Ideas of Requirements:

  • specifiable initializer (from main)

  • specifiable finalizer

  • specifiable run loop / event handler (light thread) as such:

    * REPL

    * thread 0 - read, eval (send to thread 1), print, loop

    * thread 1 - processing events run loop, check for eval + send result to print stage

[the author is developing a Cocoa+GL native application in 100% Haskell sans HOC sans HOpenGL]

Edited by Ian Lynagh -
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information