-
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 [email protected] 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