-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathREADME
21 lines (16 loc) · 1.37 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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)
- The Monad Template Library (included in some GHC distributions, or apt-get install libghc6-mtl-dev)
- 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/