https://github.com/antonsynd/mamba
C++20 transpilation target for a statically-typed Pythonic language
https://github.com/antonsynd/mamba
chiri clang cmake cpp cpp20 cxx cxx20 header-only python python3 pythonic sidewinder statically-typed transpiler
Last synced: about 1 month ago
JSON representation
C++20 transpilation target for a statically-typed Pythonic language
- Host: GitHub
- URL: https://github.com/antonsynd/mamba
- Owner: antonsynd
- Created: 2024-07-10T14:23:07.000Z (over 1 year ago)
- Default Branch: mainline
- Last Pushed: 2025-01-25T22:14:27.000Z (about 1 year ago)
- Last Synced: 2025-01-25T23:26:58.281Z (about 1 year ago)
- Topics: chiri, clang, cmake, cpp, cpp20, cxx, cxx20, header-only, python, python3, pythonic, sidewinder, statically-typed, transpiler
- Language: C++
- Homepage:
- Size: 41.5 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# mamba
Mamba is an educational project exploring a transpilation target for
[Sidewinder](https://github.com/antonsynd/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](https://github.com/antonsynd/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](https://github.com/google/googletest)
* [Chiri](https://github.com/antonsynd/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
```sh
chiri pkg release
```