-
Notifications
You must be signed in to change notification settings - Fork 0
Shared Nothing Arc Processes implementation
License
AmkG/snap
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
+-------+ | .-. | +-------+ | / \ | | .-. | SNAP Shared Nothing Arc Processes +-------+ | / \ | +-------+ +-------+ | .-. | +-------+ | / \ | | .-. | > Share nothing. Arc everything. +-------+ | / \ | +-------+ Goal: Create a virtual machine focused on two major things: list processing and actor concurrency. A subgoal is that within a process, anything goes: use functional style, or imperative, or whatnot - you can mutate structures within a process. Communication between processes is always copying (from the Arc-side, at least), so each process is encapsulated from one another. Another subgoal is to define a "symbolcode", basically a symbolic and possibly portable (across architectures, possibly even across different Arc implementations) form of bytecode. Other goals: fast message passing, fast execution, generational GC for long-lived processes, trap-exit and process linking Requirements for compiling: a C++ compiler (tested on g++ 4.2.3) Boost (tested on 1.34.1) http://www.boost.org/users/download/ Tested on Ubuntu 8.04, 64-bit (should probably work on Windows, if your C++ compiler is compliant unless I accidentally used something GNU-specific, which would be a bug.) To test: Go to the test/ directory. Choose any .cpp file. Assuming you have a GNU C++ compiler and the bourne shell on your system: ./compile_test <testfile>.cpp This should compile the desired test. Then run: ./a.out
About
Shared Nothing Arc Processes implementation
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published