Skip to content

C++20 transpilation target for a statically-typed Pythonic language

Notifications You must be signed in to change notification settings

antonsynd/mamba

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mamba

Mamba is an educational project exploring a transpilation target for Sidewinder, a statically-typed Pythonic language, to C++20.

Check the cpp/test subdirectory for status on the implementation.

Design

This provides a C++ transpilation target for a statically-typed Pythonic language called Sidewinder. This aims to provide a nearly 1-to-1 equivalent of the built-in symbols in Sidewinder (which are based on those in Python 3), so that a transpiler can translate those symbols as trivially as possible.

Requirements

  • C++20*
  • clang-format
  • include-what-you-use
  • Google Test
  • Chiri
  • CMake 3.14+
  • Python 3.8+

*My local development is on macOS with clang. I might test g++ later on, but right now, for best results, use clang.

How to build and run tests

chiri pkg release