C++ Haskell C Objective-C Makefile M4
Latest commit 504ae8f Feb 17, 2017 @deech Bump version to


Fltkhs - A Haskell Binding to the FLTK GUI Library

Fltkhs aims to be a complete Haskell binding to the FLTK GUI library.

NOTE: As of version only FLTK 1.3.4-1 is supported. Old code written against FLTK 1.3.3 will still work, 1.3.4 does not remove any functionality.

NOTE: As of version, due to the introduction of closed type families, only GHC >= 7.8.1 is supported.

Quick Install

Linux, *BSD and OSX

Installing FLTK from source (vs. package mangers) is recommended. Package managers sometimes put headers and libraries in unexpected places causing fltkhs compilation failures. On OSX the brew package for the current stable version of FLTK is broken. Furthermore some Linux distributions only ship the shared libraries which means that executables are less portable. Compiling from source is pretty quick and painless and fixes these problems.

Install FLTK-1.3.4-1 from source:

  > wget http://fltk.org/pub/fltk/1.3.4/fltk-1.3.4-1-source.tar.gz
  > tar -zxf fltk-1.3.4-1-source.tar.gz
  > cd fltk-1.3.4-1
  > ./configure --enable-gl --enable-shared --enable-localjpeg --enable-localzlib --enable-localpng
  > make
  > sudo make install
  > fltk-config --version

Build the FLTKHS skeleton project:

  > brew install autoconf # Only on OSX
  > git clone http://github.com/deech/fltkhs-hello-world
  > cd fltkhs-hello-world
  > stack install
  # About 6-8 minutes passes ...
  > stack exec fltkhs-hello-world


Please see the detailed Windows installation instructions


Drawing with FLTKHS

A table of widgets

A complex tree Done completely using Fluid. Notice how tree nodes can be arbitrary widgets.


A number of demos are also available in the fltkhs-demos and the fltkhs-fluid-demos packages.