https://github.com/acook/blacklight
a stack-based concatenative virtual machine for implementing highly concurrent languages
https://github.com/acook/blacklight
bytecode concatenative concurrent-programming programming-language stack-machine virtual-machine
Last synced: 6 months ago
JSON representation
a stack-based concatenative virtual machine for implementing highly concurrent languages
- Host: GitHub
- URL: https://github.com/acook/blacklight
- Owner: acook
- Created: 2015-10-25T21:54:37.000Z (about 10 years ago)
- Default Branch: bianca.go
- Last Pushed: 2024-03-10T12:50:16.000Z (almost 2 years ago)
- Last Synced: 2024-06-19T00:33:00.346Z (over 1 year ago)
- Topics: bytecode, concatenative, concurrent-programming, programming-language, stack-machine, virtual-machine
- Language: Go
- Homepage: http://blog.anthonymcook.com/blacklight/
- Size: 662 KB
- Stars: 45
- Watchers: 11
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.markdown
- Contributing: CONTRIBUTING.markdown
Awesome Lists containing this project
README
[](https://github.com/acook/blacklight#readme)
[](https://github.com/acook/blacklight/releases)
[](https://acook.semaphoreci.com/projects/blacklight)
[](https://ci.appveyor.com/project/acook/blacklight/branch/master)
[](https://trello.com/b/vygKBL4j)
[](https://gitter.im/acook/blacklight)
> `blacklight` is a *programming language* which is concurrent, stack-based, and concatenative (BLPL)
> `blacklight` is a **virtual machine** for implementing highly concurrent languages (BLVM)
> `blacklight` is a *data interchange* format for communicating between processes and across networks (BLBC)
Features
--------
blacklight (BLVM) is awesome, here's a few reasons why:
- easy to use builtin parallelism through native concurrency primatives
- threadsafe communication between concurrency units
- rich datatype primitives
- an easy to use homoiconic Forth-like assembly language (BLPL)
- runtime bytecode manipulation and generation
- UTF-8 native datatypes
- multi-architecture and cross-platform (currently: x86_64, ARM, macos, linux, windows)
- (in progress) highly optimized vector operations on supported CPUs
- (planned) security contexts and permissions
Documentation
-------------
- The [blacklight Wiki](https://github.com/acook/blacklight/wiki) has documentation and links (work in progress).
- The [examples directory](https://github.com/acook/blacklight/tree/master/examples) contains several demonstration scripts to get you started.
BLPOC
-----
The current implementation of `blacklight` is a proof-of-concept. It's functional but intended primarily for proving out features, strategies, and specifications. Once The ABI is stable it will be reimplemented with optimization and compatibility in mind against a full test suite. As is, there is very little about `blacklight` that isn't subject to change to better reflect the results of research and experimentation.