Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kcreate/charly-vm

Fully parallel dynamically typed programming language
https://github.com/kcreate/charly-vm

bytecode-interpreter compiler coroutines fiber parallel pointer-tagging programming-language

Last synced: 5 days ago
JSON representation

Fully parallel dynamically typed programming language

Awesome Lists containing this project

README

        

Charly Programming Language Logo, Image credit: DALL-E

# Charly Programming Language

![Unit Test](https://github.com/KCreate/charly-vm/workflows/Unit%20Test/badge.svg?branch=rewrite)

> Note: This is the rewrite branch of charly-vm.
> Lots of stuff isn't working yet.
> The [main branch](https://github.com/KCreate/charly-vm/tree/main) contains the previous
> fully functional version of charly-vm.

This launches a REPL which (at the moment) doesn't do very much.

This launches a REPL which (at the moment) does some cool stuff, but still not a lot.

This launches a REPL which supports some cool stuff, but still not a lot

`./debug.sh [path/to/file.ch]`

# Dependencies

- `sudo apt-get install libboost-all-dev`

# Installation

Follow the steps below to install the `charly` executable on your system.

1. `git clone https://github.com/KCreate/charly-vm charly-vm`
2. `cd charly-vm`
3. `git checkout rewrite`
4. `git submodule init`
5. `git submodule update`
6. Set the `CHARLYVMDIR` environment variable to the project's root folder
- e.g. `export CHARLYVMDIR=/home/user/github/KCreate/charly-vm`
7. `./install.sh`

> The last step might request sudo permissions in order to access the relevant system directories.

# Running the unit tests

```
$ ./tests.sh
[ 31%] Built target libcharly
[ 87%] Built target Catch2
[ 89%] Built target Catch2WithMain
[100%] Built target tests
===============================================================================
All tests passed (1422 assertions in 10 test cases)
```