Giter VIP home page Giter VIP logo

fluffy's Introduction

						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]>

fluffy's People

Contributors

matzeb avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.