Skip to content
This repository has been archived by the owner on Dec 1, 2023. It is now read-only.

metadsl/metadsl

Repository files navigation

metadsl

This repo is deprecated and we recommend using egglog-python instead.

Documentation Status Binder Test

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, from 2018 till 2020.

Quansight Labs Logo