Downloading Felix

Felix is currently only available from the git repository on GitHub. We have ceased providing packages and tarballs. To download on a Unix box, ensure the following are installed:

git
python 3.1 or better
ocaml 3.12 or better
g++ 4.1 or better
Felix builds on Linux and OSX. It is supposed to build on Windows using MSVC++ as well however we cannot support Windows at this time and the build is likely to fail.

Initial download

Then issue these commands:
git clone git@github.com:felix-lang/felix.git
cd felix
git submodule init
git submodule update
make build
make doc
make test

Now to install Felix:

make install           # sudo password required
make install-bin       # sudo password required
mk_daemon /usr/local/bin/webserver --port=1116
# point your browser at http://localhost:1116
Felix should now be installed in
/usr/local/lib/felix/felix-1.1.6rc4
the core binaries in
/usr/local/bin
and the webserver should be running on port 1116 (clearly, change details depending on version!).

All versions of Felix are installed concurrently. If you're finished using a version you should delete the installation directory. The binaries in

/usr/local/bin
are copies of those in the last install directory.

Options

You can also build a debug version of Felix:
make build-debug
This builds in directory
build/debug
. The code is built with debug symbols and unoptimised. If you like you can also build for a different word size using
make build32 test32
make build64 test64
(pick whichever the standard build didn't select). This is mainly for checking if your code is portable.

Updating Felix

To update felix do this:
cd felix
git pull
git submodule update
rm automaton.syntax   # temporarily required!
make build
make test
make doc
Now you can install as before. If the build doesn't work properly, you can clean up with
rm -rf build
This is even more drastic: git clean -dfx

Using Felix

To use Felix you prepare a file and invoke the command line harness:
echo 'println$ "Hello World";'' > hello.flx
flx hello 
You can also find sample code in directory test and tut. Perhaps more interesting, but required SDL installed, graphics demos in demos.

Contributing to Felix

Always discuss on mailing list first. To contribute directly to the main repository you will require permission. Then you can do
git commit -a
git push
to push out a patch. If you don't have permission, you should register with GitHub and fork a clone there, then download your working copy from that. Now you can push to your fork. When you're ready you can use the Github web interface to send a merge request email.

Bug Reports

You can use the Github bug tracking tool and/or send an email to the Felix mailing list.

Mailing Lists

mailto:felix-language@googlegroups.com # registration required
mailto:felix-language@lists.sourceforge.net # registration required

Web site

The main page is currently at
http://felix-lang.org
If you follow the installation procedure this should be echoed on your local machine.