Skip to content

MatzeB/fluffy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

81970c1 · Feb 2, 2013
Oct 2, 2011
Apr 19, 2009
Sep 2, 2010
Feb 2, 2013
Oct 2, 2011
Apr 26, 2009
Oct 1, 2011
Feb 2, 2013
Jun 3, 2007
Apr 23, 2009
Feb 2, 2013
Apr 23, 2009
May 10, 2009
Jun 7, 2012
Apr 10, 2011
Jun 7, 2012
May 5, 2009
Oct 1, 2011
Jun 7, 2012
Apr 5, 2007
Mar 27, 2009
Jul 29, 2007
May 5, 2009
May 17, 2012
May 17, 2012
May 17, 2012
May 17, 2012
May 17, 2012
Oct 2, 2011
Apr 10, 2011
Jun 7, 2012
Apr 10, 2009
Jun 7, 2012
May 5, 2009
Apr 10, 2011
Jun 7, 2012
May 29, 2007
May 29, 2007
Jun 7, 2012
Jun 21, 2009
Jul 21, 2007
Apr 10, 2011
Apr 10, 2011
Jun 6, 2007
Mar 27, 2009
Apr 10, 2011
Apr 10, 2011
Apr 10, 2011
Jun 7, 2012
Jun 20, 2009
Jun 7, 2012
Jun 6, 2007
Apr 10, 2011
Jun 7, 2012

Repository files navigation

						The fluffy programming language



1. Introduction

fluffy is an experimental language designed around the following features:
	- support the low-level constructs and performance needed for system
	  programming and speed critical algorithms
	- generic programming with parametric polymorphy and typeclasses
	- extensible through plugins
	- consistent syntax

The implementation utilizes the libfirm backend for producing highly optimized
machine assembly.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2. Building and Installation

2.1 Prerequisites

* Any ANSI C99 compiler (the makefiles are configure for gcc)

* libfirm 1.9.0 or later
* libcore 0.9.0 or later (needed for libfirm)
* gcc is needed if you want to assemble and link programs produces by the
  fluffy compiler

2.2 Building

Open the Makefile and change the variables if needed (on linux systems it
should work out of the box). Then type

make

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3. Language

There's no detailed language description yet as the language is still evolving.
However you could look at the code here:

	test/typeclass2.fluffy	- generic sorting algorithm implemented with
                              typeclasses
	test/sdl                - simple image viewer utlitzing the libSDL library
	                          (you currently have to manually link the assembly
							   against libsdl)
	stdlib/*                - declarations for large parts of the C standard
	                          library. Also including some helper coder for
							  variable sized array.
	plugins/*               - Language extensions plugins (for and while loops)
	                          developed in the language itself
	benchmarks/*            - several smaller benchmark programs

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

4. Contact

Matthias Braun <[email protected]>

About

The fluffy programming language main repository

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages