Haskell: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
m Added to languages, fixed the links being in a code box
No edit summary
Line 3: Line 3:
This page won't describe the pros and cons or the features of using Haskell for kernel development. You can find out more about Haskell on [http://en.wikipedia.org/wiki/Haskell_(programming_language) Wikipedia]. Just like with most other languages, you still require some [[Assembly|assembly]] to jump into your Haskell code.
This page won't describe the pros and cons or the features of using Haskell for kernel development. You can find out more about Haskell on [http://en.wikipedia.org/wiki/Haskell_(programming_language) Wikipedia]. Just like with most other languages, you still require some [[Assembly|assembly]] to jump into your Haskell code.


== Compilers ==
== Getting started ==
The following [http://www.ninj4.net/kinetic/haskell-independent.html post] taken from the Kinetic website gives an overview in getting a kernel to boot in [[GRUB]]. The most popular method though has been to use a small [[C]] or [[Assembly|assembly]] [[Microkernel||microkernel]], and use Haskell to implement the servers.
The [http://haskell.org/ghc/ Glasgow Haskell Compiler] is the recommended compiler for Haskell. GHC can output executables [citation of the executable formats required], byte code, object files, and even C code (which you can send through your favourite C compiler, such as GCC).


== Support ==
Being a functional programming language, it may be hard to adapt a lot of example code written in imperative languages, therefore a heavy theoretical understanding of operating systems and the concepts involved is required. That being said, you're not completely alone; try Googling for "Haskell on Bare Bones", and more general terms such as "Functional Languages in Operating Systems".
Being a functional programming language, it may be hard to adapt a lot of example code written in imperative languages, therefore a heavy theoretical understanding of operating systems and the concepts involved is required. That being said, you're not completely alone; try Googling for "Haskell on Bare Bones", and more general terms such as "Functional Languages in Operating Systems".

== Compilers ==
The [http://haskell.org/ghc/ Glasgow Haskell Compiler] is the recommended compiler for Haskell. GHC can output executables [citation of the executable formats required], byte code, object files, and even C code (which you can send through your favourite C compiler, such as GCC).


== Operating Systems in Haskell ==
== Operating Systems in Haskell ==

Revision as of 05:32, 28 August 2009

Haskell is a functional programming language that can be used for operating system development.

This page won't describe the pros and cons or the features of using Haskell for kernel development. You can find out more about Haskell on Wikipedia. Just like with most other languages, you still require some assembly to jump into your Haskell code.

Getting started

The following post taken from the Kinetic website gives an overview in getting a kernel to boot in GRUB. The most popular method though has been to use a small C or assembly |microkernel, and use Haskell to implement the servers.

Being a functional programming language, it may be hard to adapt a lot of example code written in imperative languages, therefore a heavy theoretical understanding of operating systems and the concepts involved is required. That being said, you're not completely alone; try Googling for "Haskell on Bare Bones", and more general terms such as "Functional Languages in Operating Systems".

Compilers

The Glasgow Haskell Compiler is the recommended compiler for Haskell. GHC can output executables [citation of the executable formats required], byte code, object files, and even C code (which you can send through your favourite C compiler, such as GCC).

Operating Systems in Haskell

See Also