oFrugal.txt 0.0.10 UTF-8 2024-01-22 ----|----1----|----2----|----3----|----4----|----5----|----6----|----7----|--* The Miser Project Code ====================== published OFRUGAL REPL DEVELOPMENT AND OPERATION -------------------------------------- oFrugal REPL (Read, Eval, Print, Loop) is the oFrugalese component of the pair - oMiser representation and use of the abstract structure, ‹ob› as an encapsulated data-structure and universal machine implementation via reusable program library. - oFrugal front-end processor offering an interface for external exercise of oMiser functions in a more-practical form for personal exploration and operation of oMiser programs. oFrugal implementations provide input-output and other functions that oMiser necessarily lacks. oFrugal is essentially an assembler/calculator of oMiser obs, a means to exercise scripts written as obs that compute other obs by applicative operation. In particular, oFrugal presents the results of computations in the same notation(s) employed for inputs. It is characteristics of the ob-calculator approach that if an output is presented as an input, the result for that input will be equivalent to the original output, rather than some further calculation. For the oFrugal calculator as a REPL (Read, Evaluate, Print, Loop), the file oFrugalese.txt specifies the grammar and its interpretation for the input as a continuous stream. Other files are for aspects of the concrete implementation and the interchange of files among them. MANIFEST (text files only) oFrugal.txt this synopsis and TODOs ob-exp.txt the grammar for applicative expressions of ob computations oFrugalese.txt the interpreted language for oFrugal text files/streams/terminal sources submitted to the oFrugal REPL. sketch.txt A sketch of oFrugal with a bit about the ob mathematical structure ----|----1----|----2----|----3----|----4----|----5----|----6----|----7----|--* Copyright 2020-2022, 2024 Dennis E. Hamilton Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ----|----1----|----2----|----3----|----4----|----5----|----6----|----7----|--* ATTRIBUTION Hamilton, Dennis E. oFrugal REPL Development and Operation. Miser Project Code text file oFrugal.txt version 0.0.10 dated 2024-01-22 available on the Internet as a version of TODO * Create these, with attention to the division of labor and the reliance on the common ob-exp txt. * Explain the oMiser mockup case because of file-system location of SML scripts. There needs to be some principle applied on this. * Maybe need notes and references? * In processing and handling of Unicode, bidirectionality has to be constrained in a manner where the key lexical structure is not disturbed and there is no ambiguity with regard to parsing. * Create reference specifications for lexical structure of input texts from keyboards, streams, and persistent data. The reference character set is Unicode and the reference encoding is UTF-8. * lexical.txt will provide the lexical-level of processing. There will be a basic character-stream case and that will be supplemented by two levels: recognition of specific tokens and then the regular elements. * mindelay.txt is the REPL parser structure. It is related to the Alan Perlis "mindelay-scan-doer" scheme for a mostly one-pass process where an operation can be carried out as soon as its operands are determined. For oFrugal that one-pass process calculates obs and provides for the binding of obs and the access to those bound obs in subsequent expressions. This is a moderately-extended precedence parser. Behavior of this parser procedure can be verified against the context-free grammar for the same oFrugal texts. The handling of error cases is beyond what the grammar determines. * Point out the odd similarity with John Backus use of a system process above the functional layer. But in my case, dealing with the absence of any stateful entities in oMiser and obaptheory.txt. And this provides, in some manner, a form that might be simulated in oMiser. ----|----1----|----2----|----3----|----4----|----5----|----6----|----7----|--* 0.0.10 2024-01-22T22:39Z Touch-ups on the repurposing 0.0.9 2024-01-17T00:40Z Refactored to orcmid.github.io/miser/oFrugal/ with reduced number of tombstoned components carried over. 0.0.8 2022-08-12T03:52Z Add grammars.txt, manage TODOs, some touch-ups 0.0.7 2022-08-06T17:22Z Reflect name change to oFrugalese.txt and closing of some TODOs with treatment in mendelay.txt. 0.0.6 2022-08-01T23:48Z Add mindelay.txt and ob-exp.txt 0.0.5 2022-07-29T22:15Z Manifest syntax.txt 0.0.4 2022-04-01T18:22Z Touch ups and some TODO management 0.0.3 2022-01-28T19:47Z Add TODOs on the parser 0.0.2 2021-11-03T17:52Z Add TODO on bidirectional spoofing 0.0.1 2020-08-10-13:22 Add mockups/ and Attribution, manage TODOs 0.0.0 2020-08-05-10:23 Create placeholder and initial job jar for the oFrugal code development. *** end of oFrugal.txt ***