System programming in Haskell on top of Linux
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc Move tools in a separate package Oct 26, 2018
haskus-system-tools Move tools in a separate package Oct 26, 2018
haskus-system Move tools in a separate package Oct 26, 2018
scripts Add JSON example Feb 2, 2017
.gitignore Minor fixes Apr 14, 2017
.travis.yml Move tools in a separate package Oct 26, 2018
CHANGES.md Update changelog Jul 15, 2017
README.md Remove doc for other random programs Feb 2, 2018

README.md

Haskus system

Haskus system is a framework written in Haskell and designed for system programming. Fundamentally it is an experiment into providing an integrated interface leveraging Haskell features (type-safety, STM, etc.) for the whole system: input, display, sound, network, etc.

Website: http://www.haskus.org/system

Documentation: http://doc.haskus.org/manual/

Building systems

The haskus-system-build tool (in the package of the same name) is the preferred way to build systems.

Install it with:

$ git clone https://github.com/haskus/haskus-system-build.git
$ cd haskus-system-build
$ stack install --install-ghc

It will install the program into ~/.local/bin. Be sure to add this path to your $PATH environment variable.

Then in a new directory do:

$ haskus-system-build init       # download default system template
$ haskus-system-build test       # download, build and test system in QEMU

You may have to install missing programs (cpio, lzip, qemu, make, gcc, binutils, gzip, etc.) for these commands to succeed. See the documentation.

Hacking on haskus-system

Use stack commands to build the haskus-system package:

Build:

$ stack setup
$ stack build

Tests:

$ stack test

Benchmarks:

$ stack bench