Fivey Software

Junpi: Haskell multimedia library for GNU/Linux

Junpi is a high-level Haskell library for making games and graphical applications on GNU/Linux. A testing pre-release is available (see below).

The latest development version of Junpi can be obtained via git:

git clone

Junpi is distributed under a BSD3-style license. See file LICENSE in the source package for details.

Junpi version (testing pre-release)

Note: this is a pre-release. The API is subject to breaking changes.



Ensure that you have the following dependencies installed:

Unpack the Junpi source package, enter the package directory and run:

cabal install

This will install the 'Junpi' Haskell library and the 'junpi-server' executable program.

Using Junpi

To make an application with Junpi, create a Haskell source file called 'Main.hs' in a new directory. 'Main.hs' must import module 'Junpi' and export a value named 'mainApp' of type 'App'. For example:

import Junpi

mainApp :: App
mainApp = your_code_here

For details on how to construct an 'App' value, see the Haddock API documentation for Junpi, included in the source package.

To run your application, enter the following command in the terminal from within the directory containing your 'Main.hs':


The junpi-server program is a graphical Haskell interpreter. Think of it as like GHCi extended with multimedia capabilities but without the Read-Eval-Print-Loop (internally, junpi-server uses the GHC API and so will invoke whatever version of GHC you have installed on your system).

To interact with the Junpi server:


Please e-mail any comments and bug reports to: rjh at fiveysoftware dot com