C++ targeted programming language

Arcable

Arcable is a programming language for writing C++-targeted programs in Python-like, C-like, assembly-like, or hybrid styles.

def main() -> int:
    message: string = "hello"
    print(message)
    return 0

Install Arcable

Arcable is distributed as a single Windows installer: install.exe. Download it, run it, and confirm the setup prompt.

The installer extracts arcable.exe and acomp.exe to %LOCALAPPDATA%\Arcable\bin, writes the language server and support files under %LOCALAPPDATA%\Arcable, installs the VS Code extension, and sets the user environment variables.

%LOCALAPPDATA%\Arcable\bin\arcable.exe
%LOCALAPPDATA%\Arcable\bin\acomp.exe
%LOCALAPPDATA%\Arcable\tools\arcable_lsp.py

After installing, open a new terminal and run:

arcable path\to\file.arc -o app.exe

Language Styles

Python-like

def main() -> int:
    message: string = "hello"
    print(message)
    return 0

C-like

int main() {
    print("hello");
    return 0;
}

Assembly-like

.var value int 41
add value 1
print value
ret 0

Hybrid style

def main() {
    print("hello")
}

Imports

import <math.h>
from <stdint.h> import *
#include <math.h>
import "my_header.hpp";
.import <math.h>
%include "my_header.hpp"

Import targets become C++ #include lines in the generated file. They must use angle brackets for system headers or quotes for local headers.

Editor Support

The installer includes Arcable language support for VS Code, plus the standalone language server for editors that can launch an LSP process.

python %LOCALAPPDATA%\Arcable\tools\arcable_lsp.py

The editor tooling provides syntax coloring, diagnostics, quick fixes, hover text, and completions for Arcable and C++-style code.

History

Arcable started as AdaptableCPP, a compiler idea for adapting different code styles into C++. As the project gained .arc files, diagnostics, imports, editor support, reusable language rules, and multiple styles, it became clearer that Arcable was its own language rather than only a C++ wrapper.