public
Description: A purely functional programming language intended for practical programming.
Clone URL: git://github.com/nostrademons/eve-language.git
Search Repo:
name age message
folder .gitignore Tue Jun 24 07:01:56 -0700 2008 Changed .gitignore for cleanliness. [nostrademons]
folder README Thu Jul 10 07:36:51 -0700 2008 Added blog URL to README. [nostrademons]
folder bootstrap/ Tue Aug 26 14:05:16 -0700 2008 Added name & doc attributes to defs [nostrademons]
folder src/ Mon Aug 25 13:11:16 -0700 2008 Added TODO note on Iterators. [nostrademons]
folder test/ Mon Aug 25 12:42:06 -0700 2008 Simplified main REPL by removing all the auto-t... [nostrademons]
README
Eve is intended to be a purely-functional programming language with Erlang-style concurrency and Python syntax.  It's 
dynamically typed, but with optional type declarations and type definitions (soft typing).  The intended userbase is 
people who currently use Python or Ruby for shell scripting and web programming but would like to try out functional 
programming techniques without learning a whole new syntax and language ecosystem.

This is prerelease software, hence the lack of documentation.  A large number of unit tests are available in the /test 
directory; the Eve standard libraries (in /src) also support doctess, which are run automatically by the test harness.  
The main compiler source code is in /bootstrap and consists of a bunch of Haskell modules.

To build, you'll need the following software:
- GHC (Glasgow Haskell Compiler)
- Alex (Haskell lexer generator)
- Happy (Haskell parser generator)
- make

The makefile offers the following targets:
- eve (default): builds the interactive interpreter
- test: builds the test harness
- check: builds & runs the test harness
- lex: builds an executable that prints out the token stream, for debugging
- clean: removes all generated files.

There is a blog tracking development and design decisions at:

http://eve-language.blogspot.com/