orcmid / miser

The Miser Project is practical demonstration of computation-theoretical aspects of software
https://orcmid.github.io/miser/
Apache License 2.0
3 stars 1 forks source link

Split oMiser and oFrugal grammars #56

Open orcmid opened 3 years ago

orcmid commented 3 years ago

The file ob-exp.txt combines two important cases that need to be separated for comprehension.

  1. The canonical expression of obs is supported. The oFrugal output of such expressions will round-trip. That is, immediate re-input to oFrugal will yield essentially the same expression as output. That is, the same ob is determined.
  2. There are additional capabilities that that are entirely resolved in oFrugal and it is useful to separate the accounts for that purpose. oFrugal provides all of the concrete syntax including lexical structure, handling of computer character sets, and progression of oFrugal-bound definitions to be used in subsequent oFrugal statements/commands.
  3. There are also oMiser obs whose existence is on behalf of oFrugal and users thereof. That contextual situation needs to be reflected in a clear-cut manner.

This issue and its subtasks will account for achievement of all that.

orcmid commented 2 years ago

This will be handled by having ob-exp be the full oFrugal expression and have an abbreviated version that is only for the canonical forms.

The canonical form is the essential output case.

It would be nice to do something about the all-lindy cases though, so they can be a pleasing output form without introducing strings and input-output. A challenge has to do with lists being built back to front :). This takes some thought.