Skip to content

Instantly share code, notes, and snippets.

@okram
Created July 16, 2020 17:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save okram/4e5cc5b93794c3fe7725d879d27e2582 to your computer and use it in GitHub Desktop.
Save okram/4e5cc5b93794c3fe7725d879d27e2582 to your computer and use it in GitHub Desktop.
The mm-ADT ;-poly
mmlang> 5-<(+1;+2;+3;+4;+5)
==>(6;8;11;15;20)
mmlang> 5-<(+1+2;+3;+4+5)
==>(8;11;20)
mmlang> 5-<(+1+2+3+4+5)
==>(20)
mmlang> 5-<(+1;+2;+3;+4;+5)>-
==>20
5 is the "particle"
( ) is the "bubble chamber"
-< is the beam that shoots the particle.
>- is the "release valve" :)
Ladies and gentlemen, the R-Module M over M (the mm-ADT Bubble Chamber).
For those not sick of reading. This is the foundation for meta-programming in mm-ADT.
A ;-poly can be programmatically mutated (get/put on a lst).
And ;-poly can be evaluated (-< >- ... split/merge).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment