The mandulia package

[ Tags: gpl, graphics, program ] [ Propose Tags ]

Mandulia provides a zooming visualisation of the Mandelbrot Set as many Julia Sets. Featuring a profiled and optimized renderer, and a Lua configuration and scripting interface.

[Skip to Readme]


Versions 0.4, 0.5, 0.6, 0.7
Change log ChangeLog
Dependencies array, base (==4.*), bytestring, containers, directory, filepath, GLUT (>=2.2), hslua (>=0.2), time [details]
License GPL-3
Copyright (C) 2010 Claude Heiland-Allen <>
Author Claude Heiland-Allen
Category Graphics
Home page
Source repository head: git clone git://
this: git clone git:// v0.4)
Uploaded Mon Jul 12 19:38:34 UTC 2010 by ClaudeHeilandAllen
Distributions NixOS:0.7
Executables mandulia
Downloads 989 total (9 in the last 30 days)
Rating 0.0 (0 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-29 [all 7 reports]
Hackage Matrix CI



Enable optimizations for SSE4 CPUs.


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for mandulia-0.4

[back to package description]

Mandelbrot/Julia set explorer.


Multi-core CPU with lots of RAM recommended.  For two cores run:

mandulia +RTS -N2 -M2G -RTS configuration

Currently there are two preset configurations available:
'interactive' -- keyboard navigation
'random'      -- randomized navigation

Both of these configurations extend 'defaults'.


'interactive' defines the following key bindings:

Escape   -- quit
PageUp   -- zoom in
PageDown -- zoom out
cursors  -- move around
End      -- stop moving
Home     -- return to base
[ ]      -- change speed
#        -- reset speed

Other configurations may differ, check their sources for details.


Mandulia can be reconfigured without recompilation, using Lua scripts.
The first (non RTS) argument to 'mandulia' will be executed on startup.
First it will try to load it as a file, then via Lua's 'require()'.
See 'defaults.lua' to see the available interface, and 'interactive.lua'
for an example of keyboard navigation.  Note that some variables only
take effect on startup, and later modification will be ignored.


If you installed an executable with profiling, try (for example):

mandulia +RTS -s -P -V0.001 -H512M -M2G -RTS