--- Info -----------------------------------------------------------------------
What : Trot™ Programming Language
Version : 0.2.00
Author : Jeremiah Martell
Copyright : (C) 2010-2014
License : 3-clause BSD
Download : trot-0.2.00.tar.gz (71 KiB)
Clone : git://github.com/GeekHorse/Trot.git
View : https://github.com/GeekHorse/Trot
--- Summary --------------------------------------------------------------------
Trot is a small embeddable programming language that gives you control over the
virtual programs that it runs. You can control their memory usage, virtual cpu
usage, and garbage collection.
This is my personal "weekend project", so progress will be slow but steady.
It will be usable at version 0.4. (see PLAN)
--- Details --------------------------------------------------------------------
- Small
Current sizes of the library are:
- make small, ~40 KB
- make fast, ~60 KB
- Easily embeddable
It will be easy to embed Trot into your application, say a C program, and have
easy Trot and C interactions.
- Garbage Collection
It can handle anything: Self references, mutual references, etc.
Future work will improve it to be incremental and dynamically tunable.
- Fast
To be determined.
- Actor Model
Uses the actor model for easy concurrent programming.
The actors communicate by pushing messages to each other, so there's no need
to worry about mutexes and such.
- Simple
- Only 2 types: lists and ints.
Lists are by reference, so you can create any data structure: heirarchies,
maps, graphs, etc.
Ints are signed 32-bit integers, so they can also be used for unicode
characters.
- Code is stack based.
--- Quality --------------------------------------------------------------------
- Compiled with gcc's -Wall -Werror and -Wextra.
Compiles with 0 warnings.
- Many unit tests guarantee everything works correctly.
- gcov and lcov is used to make sure we get as much coverage as possible.
Current coverage is 100% branch coverage.
- Valgrind is used to look for memory leaks and memory corruption.
There are 0 memory leaks or errors reported.
- Compiles cleanly against C89, C99, and C11 standards.
- All code is documented with doxygen comments.
- All functions are reentrant.
- Contains no third-party code, written entirely by Jeremiah.
--- END ------------------------------------------------------------------------