All Projects → metadsl → metadsl

metadsl / metadsl

Licence: other
Domain Specific Languages in Python

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to metadsl

Llvm
Project moved to: https://github.com/llvm/llvm-project
Stars: ✭ 4,461 (+5087.21%)
Mutual labels:  code-generation, intermediate-representation
pazel
pazel - generate Bazel BUILD files for Python
Stars: ✭ 38 (-55.81%)
Mutual labels:  code-generation
llvm-hs-typed
Type Safe LLVM IR ( Experimental )
Stars: ✭ 47 (-45.35%)
Mutual labels:  code-generation
objective-c-parser
Get the JSON representation of an Objective-C header file
Stars: ✭ 19 (-77.91%)
Mutual labels:  code-generation
SymbolicControlSystems.jl
An interface between ControlSystems.jl and SymPy.jl
Stars: ✭ 20 (-76.74%)
Mutual labels:  code-generation
grizzly
A Python-to-SQL transpiler as replacement for Python Pandas
Stars: ✭ 27 (-68.6%)
Mutual labels:  code-generation
copygen
Go generator to copy values from type to type and fields from struct to struct (copier without reflection). Generate any code based on types.
Stars: ✭ 121 (+40.7%)
Mutual labels:  code-generation
autogenu-jupyter
An automatic code generator for nonlinear model predictive control (NMPC) and the continuation/GMRES method (C/GMRES) based numerical solvers for NMPC
Stars: ✭ 89 (+3.49%)
Mutual labels:  code-generation
apps
APPS: Automated Programming Progress Standard (NeurIPS 2021)
Stars: ✭ 174 (+102.33%)
Mutual labels:  code-generation
finn-base
Open Source Compiler Framework using ONNX as Frontend and IR
Stars: ✭ 21 (-75.58%)
Mutual labels:  intermediate-representation
kotlin-code-gen-sample
Code generation samples for Kotlin projects
Stars: ✭ 35 (-59.3%)
Mutual labels:  code-generation
Kodgen
C++17 parser and code generator
Stars: ✭ 19 (-77.91%)
Mutual labels:  code-generation
simple-annotation-processor
Simple annotation processor example. Inspired by the idea of "How ButterKnife works?"
Stars: ✭ 54 (-37.21%)
Mutual labels:  code-generation
metalang
Meta-language used to generate code stubs in a variety of real-world programming languages.
Stars: ✭ 19 (-77.91%)
Mutual labels:  code-generation
molicode
molicode
Stars: ✭ 75 (-12.79%)
Mutual labels:  code-generation
hidev
Automation tool mixed with code generator for easier continuous development
Stars: ✭ 27 (-68.6%)
Mutual labels:  code-generation
nunavut
Generate code from DSDL using PyDSDL and Jinja2
Stars: ✭ 23 (-73.26%)
Mutual labels:  code-generation
dingo
Generated dependency injection containers in go (golang)
Stars: ✭ 75 (-12.79%)
Mutual labels:  code-generation
qm
QM model-based design tool and code generator based on UML state machines
Stars: ✭ 54 (-37.21%)
Mutual labels:  code-generation
go-codegen
Go repos for code generation
Stars: ✭ 32 (-62.79%)
Mutual labels:  code-generation

metadsl

Documentation Status Binder

metadsl is an exploration of how we can create deeply embedded domain specific languages in Python, in a way that is type safe (plays nicely with Mypy) and feels ergonomic to Python developers. It is meant to be a building block for other libraries to create their own domain specific languages and compile them to different forms.

Current Status

It currently is not being actively supported and is in need of a refactor to:

  1. Refactor the type analysis to stop relying on Python's built in type objects and use its own instead.
  2. Make "abstractions" (aka functions) a first class citizen, instead of the current approach of embedding them as data.

It also needs a compelling downstream user to help drive further development.

If you are interested in either of these topics, feel free to open an issue or reach out directly.

Support

The only reason this projects exists was due to the funding and support from Quansight Labs, since its inception in 2018 till 2020.

Quansight Labs Logo

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].