-
Notifications
You must be signed in to change notification settings - Fork 1
A compiler for a new general purpose programming language.
License
elginer/Obelisk
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
The Obelisk Programming Language
Copright 2010 John Morrice
Released under the terms of the GNU General Public License. See COPYING.
Contact: John Morrice of spoon@killersmurf.com
From the Obelisk Report:
"Obelisk is a general purpose programming language.
Obelisk aims to:
* Be an eagerly evaluated, functional programming language.
* Support functions with expressive, polymorphic types, but to be utterly type safe.
* Respect functional purity, with no mutable variables in functions...
...but also to support a class-based object system, where objects control mutable state, represented by their instance variables
* Be supportive of simple and efficient implementation: implementation of an Obelisk compiler which produces competitively fast code should not warrant a PhD dissertation.
* Be developed in an free and open manner."
...well, it's not quite there! That is what Obelisk aims to be. This is a work-in progress compiler for the Obelisk programming language.
What you'll need to work on this:
* The Glasgow Haskell compiler. I am using version 6.10.4.
* Cabal-install, a command line interface to GHC package management.
* A C compiler. The scripts that build the runtime are rigged to use GCC. I use C99 and -pedantic.
Current stage: iteration #1
Objectives: implement a compiler for non-polymorphic, simply typed functions.
What we have:
In the compiler; Lexical analysis, parse, and type-checking of simple functions. Check the 'tests' directory.
In the run-time: Basic memory management, copying garbage collector.
Build the compiler with ./build.sh
Run the tests with ./test.sh
Build the runtime with ./runtime.sh
In the runtime directory
Build the tests with ./test.sh
Execute the runtime tests by hand or within gdb.
About
A compiler for a new general purpose programming language.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published