In Abstract Syntax Tree design there are two philosophical approaches that sort of align with the concept of reduced instruction set vs complex instruction set design. In LM we have a very minimal reduced AST form, but there are some primitives that are created as compounds of other AST components e.g. ascripted terms.
These compound terms don't necessarily need to provide a type for every sub term, but rather just one for the whole compound term. This could reduce memory usage / cpu usage by a significant bit since these compounds are so common.
In Abstract Syntax Tree design there are two philosophical approaches that sort of align with the concept of reduced instruction set vs complex instruction set design. In LM we have a very minimal reduced AST form, but there are some primitives that are created as compounds of other AST components e.g. ascripted terms.
These compound terms don't necessarily need to provide a type for every sub term, but rather just one for the whole compound term. This could reduce memory usage / cpu usage by a significant bit since these compounds are so common.