The Felix Programming Language
OCaml C HTML C++ Python TeX Other
Latest commit df0a932 Dec 3, 2016 @gbluma gbluma committed on GitHub Merge pull request #91 from rfistman/fix-debug-crash
check for null when debug logging with get_fpc_desc
Permalink
Failed to load latest commit information.
buildscript Fixed unable to locate dyld lib during build Jul 6, 2016
buildsystem New version 2016.07.12-rc1 Jul 12, 2016
demos Add gui tests Jan 31, 2015
docs Index [ci ckip] Aug 28, 2016
extras Get order of arguments right in _interface. Sep 22, 2015
fbuild Remove the test run in fbuild .. again. Jul 16, 2016
installscript Although these are generated .. Jul 18, 2016
licences Remove more stuff.. and note, sqlite test fails now ;( Dec 7, 2010
lpsrc fix Oct 29, 2015
speed More packaging. Aug 15, 2015
src check for null when debug logging with get_fpc_desc Dec 3, 2016
.gitignore adding generated sources to .gitignore Sep 25, 2015
.gitmodules Remove fbuild submodule. May 3, 2012
.travis.yml more chips. [ci skip] Sep 14, 2016
GNUmakefile Try again... Sep 1, 2016
GNUmakefile.old Redo GNUmakefile to follow windows model. Oct 16, 2015
INSTALL fix Oct 29, 2015
LICENCE Fix makefile bug that commented out flxg target. Dec 4, 2013
Makefile Fix windows makefile. Mar 24, 2016
README Update README May 11, 2016
VERSION Same. Messy. Jul 18, 2016
appveyor.yml Updating appveyor to capture all new files Oct 16, 2016
build.fpc Rework flx. Jan 9, 2015
chiptest.flx Grammar Oct 17, 2016
ci.pdf Tuple append. Oct 29, 2016
configure put sqlite3.c back in repo, wasnt causing issue Aug 18, 2015
fbuildroot.py Try try try. Sep 1, 2016
felix-ref.pdf Tuple append. Oct 29, 2016
flxsetup.bat fix this up a bit Nov 29, 2015
hello.flx Add some extras to win32 install [ci skip] Oct 27, 2015
m.ml Fix recursive types. Jun 12, 2016
makedoc.sh Parse is a kw now. Sep 29, 2016
modern_programming.pdf Tuple append. Oct 29, 2016
pars.flx Tuple append. Oct 29, 2016
popp.bat Push and pop PATH. Sep 26, 2015
pushp.bat Push and pop PATH. Sep 26, 2015
release.sh New version 2016.04.10-rc1 Apr 10, 2016
set_FLX_VERSION.sh fix Oct 29, 2015
setupdebug.bat Add personal debugger setup. Sep 27, 2015
showversion.py fix Oct 29, 2015
startmenusetup.bat Add a setup batch file I can run from Startup Menu. Sep 19, 2015
technote-compact-linear-types.pdf Tuple append. Oct 29, 2016
technote-row-polymorphism.pdf Tuple append. Oct 29, 2016
update-fbuild.sh Add script to update Fbuild May 2, 2016
vcvarsall.bat Add Windows 10 setup for Turkey. Aug 29, 2015
vssetup.bat Add a setup batch file I can run from Startup Menu. Sep 19, 2015
wbuild.fpc Fixes... Oct 5, 2015
win32.fpc Replace "skaller" with %USERNAME% Sep 20, 2015
win32_make_set_FLX_VERSION.py fix Oct 29, 2015

README

Felix is an advanced high performance statically typed scripting language.
The current annotated reference manual is felix-ref.pdf.

It is as easy to run a program as Python:

flx filename

"just works". But underneath it generates highly optimised machine
binaries which outperform all interpreters, bytecode compilers,
virtual machines, and most compiled languages including C.
Felix is an aggressive inliner which performs whole program
analysis.

Features:

* generates highly optimised ISO C++
* advanced resource manager organises compilation and linkage
* often runs faster than C
* glueless binding to C and C++ libraries
* lightweight threads with channels
* asynchronous network I/O
* thread safe garbage collection
* strictly statically typed
* overloading
* first order parametric polymorphism
* polymorphism with constraints
* multitype Haskell style type classes
* type classes with real semantic specification
* semantics can be checked by theorem provers
* strong functional subsystem
* pattern matching
* first class function, sum, and product types
* Tre based regexp processing built in
* bindings to Gnu GMP and Gnu GSL included
* user definabled and inline extensible grammar
* builds on all platforms
* runs on all platforms
* open source FFAU (free for any use) licence