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

metadsl/metadsl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

68e621f · Dec 1, 2023
Oct 24, 2022
Oct 18, 2022
Aug 2, 2022
Oct 18, 2022
Apr 3, 2020
Oct 19, 2022
Oct 18, 2022
Oct 18, 2022
Oct 18, 2022
Oct 18, 2022
Oct 24, 2022
Oct 24, 2022
Oct 18, 2022
Aug 18, 2022
Sep 16, 2019
Oct 18, 2022
Aug 18, 2022
Oct 18, 2022
May 16, 2020
Feb 19, 2021
Mar 3, 2022
Oct 19, 2022
Dec 1, 2023
Apr 27, 2020
Apr 24, 2019
Apr 26, 2020
Apr 26, 2020
Oct 19, 2022
Apr 26, 2020
Jul 21, 2023
Oct 24, 2022
Oct 19, 2022
Apr 26, 2020
Feb 18, 2020
Jan 25, 2022
Apr 26, 2020

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