Skip to content

jpjacobs/general_sym

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

J Symbolic addon

Manipulates J as symbols in egraph
Inspired by https://colab.research.google.com/drive/1tNOQijJqe5tw-Pk9iqd6HHb2abC5aRid?usp=sharing#scrollTo=4YJ14dN1awEA

Implemented:
- V: implemented unionfind
- implemented sym class with
  - create method for making new egraph, where enodes are part of eclasses, and refer to eclassid's of eclasses which they have as arguments.
  - adden method to add enodes, being (AR, references to argument eclasses). This is the low-level interface used by add.
  - add, which does the heavy lifting of recursing through AR's, adding (implied) arguments and verbs on the way
    - verbs are applied to nouns using an apply enode (a::, vbid, argids)
    - hooks and forks have a special enode h:: and f:: , followed by references to their constituent verbssuch that semantics are not required, and they are treated pretty much the same as adverbs and conjunctions.
  - applied adverbs and conjunctions take verbs (leafs).

Not yet implemented:
- the add method for:
  - Though applied conjunction, will need extensive separate treatment: explicit definitions
  - modifier trains
- repairing the egraph
- rebuilding the egraph
- applying rewrite rules in the egraph
- ... 

Releases

No releases published

Packages

No packages published

Languages