v1.0.0 released — get it on GitHub

Write like
Python.
Run on C++.

PyCimen is a hybrid programming language with Python's friendly syntax, a performance-minded C++ interpreter and direct access to the pip ecosystem.

fibonacci.pcl
❯ ./pycimen fibonacci.pcl
0 1 1 2 3 5 8 13
C++
interpreter core
53
PyCimen-LSP installs
5.0 ★
VS Code Marketplace rating
15
test suites

Features

The best of two languages, in one toolchain.

Python-like syntax

Minimal, indentation-based syntax you already know: functions, classes, closures, ternaries and augmented assignment.

C++ runtime

Source is lexed, parsed into an AST and evaluated by an interpreter written in modern C++, built for speed.

Python ecosystem

An embedded Python interpreter lets you import modules installed with pip, so ML and data libraries are one import away.

PyCimen-LSP

A VS Code extension with code completion, error checking and syntax highlighting for .pcl files.

Package manager

Ships with a package manager so projects can pull in dependencies without leaving the toolchain.

Tested core

15 test suites cover expressions, control flow, functions, classes, strings and bitwise operations.

Under the hood

From source to result.

Every PyCimen program travels through a classic interpreter pipeline, each stage hand-written in C++.

01
Source
.pcl file
02
Lexer
tokens
03
Parser
grammar rules
04
AST
syntax tree
05
Evaluator
C++ runtime

Examples

Feels familiar from line one.

These snippets come straight from the PyCimen test suite. If you can read Python, you can already write PyCimen.

Build from source
$ git clone https://github.com/elif1906/Pycimen
$ cd pycimen && make
$ ./pycimen hello.pcl
number.pcl
class Number:
    def __init__(self, n):
        self._n = n

    def __add__(self, other):
        return Number(self._n + other.getN())

    def getN(self):
        return self._n

n1 = Number(3)
n2 = Number(5)
n3 = Number(6)
n4 = Number(9)

n5 = n1.__add__(n2).__add__(n3).__add__(n4)
print(n5.getN())
Output
❯ ./pycimen number.pcl
23

Abstract

PyCimen: a new hybrid programming language.

This work explores the design and implementation of PyCimen, which combines the flexibility of Python with the performance-oriented nature of C++. It covers the core components of language implementation (the lexer, the parser and the abstract syntax tree), offering Python-like syntax executed in an optimized and efficient C++ runtime.

PyCimen provides a convenient developer experience through PyCimen-LSP: code completion, error checking and syntax highlighting. It includes a package manager and an embedded Python interpreter, enabling direct import of Python modules installed with pip and leveraging the rich Python ecosystem.

Thanks to this design, Python machine-learning libraries become usable alongside C++, making AI integration far easier than with existing C++ libraries, while PyCimen's minimal syntax removes much of C++'s difficulty.

Ready for a new experience?

Download PyCimen, install the VS Code extension and run your first .pcl file in minutes.