From cdf92eb0b8551a32af34eebc3f02cf9ffdd6915c Mon Sep 17 00:00:00 2001 From: "Dennis E. Hamilton" Date: Fri, 10 May 2019 07:55:57 -0700 Subject: [PATCH] ob.txt 0.1.6 smoothing and elaboration Resolve issue #16 typo and issue #20 enclosure explanation, thanks to review by @band. Further smoothing of the text at the same time. --- oMiser/ob.txt | 73 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 45 insertions(+), 28 deletions(-) diff --git a/oMiser/ob.txt b/oMiser/ob.txt index e647755..9f87926 100644 --- a/oMiser/ob.txt +++ b/oMiser/ob.txt @@ -1,4 +1,4 @@ -ob.txt 0.1.5 UTF-8 dh:2019-04-30 +ob.txt 0.1.6 UTF-8 dh:2019-05-10 The Miser Project Code ====================== @@ -6,14 +6,14 @@ ob.txt 0.1.5 UTF-8 dh:2019-04-30 ‹ob› MATHEMATICAL STRUCTURE, DATA REPRESENTATION, AND EXPRESSIONS - ---------------------------------------------------------------- + ----------------------------------------------------------------- Formulation of the mathematical structure, ‹ob›, illustrates the bridge between mathematical logic and theoretical limitations of all present- day computation systems. The ‹ob›-based computation model, although low-level, is as powerful, with respect to those limits, as any other model. A central purpose of the Miser Project is demonstration of how - that and then to draw the connection with an operational realization. + that is the case, drawing the connection with an operational realization. Under the Miser ‹ob› computational model, obs serve interchangeably as data and as scripts of procedures -- computational methods -- operating on @@ -31,18 +31,18 @@ ob.txt 0.1.5 UTF-8 dh:2019-04-30 . * There are two selector functions, ob.a(z) and ob.b(z) that given - any ob and determine an ob as their result. + any ob determine an ob as their result. * There is an arbitrary supply of distinct individuals, including ob.NIL. For any individual, z, ob.a(z) = ob.b(z) = z. * For z any ob, the function ob.e(z) determines the ob such that ob.a(ob.e(z)) = z and ob.b(ob.e(z)) = ob.e(z). We speak of ob.e(z) - as encapsulation of z. + as the enclosure of z. - * The individuals and encapsulations together are identified as - singletons because they have in common that ob.b(z) = z. There - are oMiser idioms that exploit this. + * The individuals and enclosure together are identified as singletons + because they have in common that ob.b(z) = z. There are oMiser idioms + that exploit this. * For any obs x and y, the function ob.c(x, y) determines the pair such that ob.a(ob.c(x,y)) = x and ob.b(ob.c(x,y)) = y and neither @@ -52,11 +52,12 @@ ob.txt 0.1.5 UTF-8 dh:2019-04-30 determine when obs are the same or different based on structure alone, - ob.is-individual(z) true whenever ob.a(z) = z - ob.is-singleton(z) true whenever ob.b(z) = z - - ob.is-pair(z) whenever ob.is-singleton(z) is false - - ob.is-enclosure(z) whenever ob.is-singleton(z) is true + - ob.is-pair(z) true whenever ob.is-singleton(z) is false + - ob.is-enclosure(z) true whenever ob.is-singleton(z) is true and ob.is-individual(z) is false. * The enrichment of obs for particular applications is solely by + exploitation of these structural characteristics of obs along with introduction of distinct individuals. 2. DATA REPRESENTATION TEXT NOTATION @@ -78,7 +79,7 @@ ob.txt 0.1.5 UTF-8 dh:2019-04-30 Having a finite canonical form for every ob provides a basis for computational manipulation of obs, a kind of ob arithmetic. We can always answer the question, "which ob is this?" if its canonical - form can be obtained. + form can be determined. There is similarity with ordinary arithmetic. Consider that each decimal numeral written out without any leading zeroes (except for "0" alone) @@ -102,7 +103,7 @@ ob.txt 0.1.5 UTF-8 dh:2019-04-30 significed at keyboards by using the grave accent, U+0060 `, although the preferred substitute is the apostrophe, U+0027. Keep in mind that this is an expression operator and not the same as syntactical - "quotation." + "quotation" (although there is a similarity of function in scripts). * ob.c(x, y) is expressed x :: y @@ -134,14 +135,14 @@ ob.txt 0.1.5 UTF-8 dh:2019-04-30 All of the individual terms in that expression are lindies. - 2.2 Publication Notation + 2.3 Publication Notation In formats having greater typographical flexibility than plaintest, there can be useful embellishments. Primitives can be presented in boldface and even lower-case, with the leading "." omitted, since the special typography reflects their "reserved" and distinct status as primitives. - 2.3 Additional Forms + 2.4 Additional Forms The notation can be "pretty-printed", using indentation, to facilitate comprehension. The addition of comments, blank lines, indentations, and @@ -209,20 +210,24 @@ ob.txt 0.1.5 UTF-8 dh:2019-04-30 Without getting into the details, here is a case where a procedure is used to combine obs x and y, also as scripts, into a procedure that involves - even further applications to achieve the intended result. + even further applications to achieve the intended result. Powerful + systematic treatment of these applicative operations is expanded on at + . Many obs are useful in composing scripts by combining others in this - manner. Using procedures to compute other scripts from given ones and - data demonstrates a critical characteristic of stored-program computation. + manner. Using procedures to compute other scripts from given ones + demonstrates a critical characteristic of stored-program computation. This capability is at the heart of how software is used to build higher- level tools and their programming languages, although the mechanisms of general-purpose procedures do not "rewrite" scripts to make other scripts, - having alternative mechanisms at hand. + there being alternative mechanisms at hand in well-designed general- + purpose computers. 4.1 Applicative-Expression Style - In oFrugalese, the evaluation (4) can be expressed using applicative- - expression style, + In oFrugalese, the evaluation (4) can be expressed using a defined + applicative-expression style, similar to mathematical and programming- + language functional notation. cS(x,y) z = x(z) y(z) (5) @@ -237,7 +242,7 @@ ob.txt 0.1.5 UTF-8 dh:2019-04-30 of the result of one ob-yielding application, here x(z), to the result of another ob-yielding expression, such as y(z), as in (5). All of the examples in (5-6) are formulas for the same applicative operations, namely - those that deliver (4). + those that deliver the same result as (4) with cS eliminated. 4.2 Applicative Expressions in oFrugal @@ -253,7 +258,7 @@ ob.txt 0.1.5 UTF-8 dh:2019-04-30 There is no applicative operation required in the evaluation of (2) to arrive at the ob (1). But the leading terms in (7), by their spacing, - constitute applicative-operation expression, leading to interpretation as + signify applicative operation, leading to interpretation as obap.ap(.A, obap.ap(.B, obap.ap(.B, x))) = ob.a(ob.b(ob.b(x))), @@ -293,8 +298,8 @@ ob.txt 0.1.5 UTF-8 dh:2019-04-30 all involves just obs. Given some means to express manipulation of strings of character codes - and of input-output streams, we could define the oFrugal REPL itself - in Frugalese. + and of input-output streams, we could define oFrugal processing itself in + Frugalese. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -314,16 +319,28 @@ ob.txt 0.1.5 UTF-8 dh:2019-04-30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ATTRIBUTION + + Hamilton, Dennis E. ‹ob› Mathematical Structure, Data Representation, and Expressions. Miser Theory Conception text file ob.txt version 0.1.6 dated + 2019-05-10, available on the Internet as a version of + + TODO - * Add an attribution statement + * Continue review. + + * Add Notes and Reference section. + + * Also add Content table. + + * Explain more about traces and the ^cS application in the final example. - * Get straight on the elimination of acute accent in 0.0.6 and however this - works, in ob-exp. It is the case that we will use apostrophe over back- - tick if it is necessary to make a plaintext substitution for reverse-prime - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 0.1.6 2019-05-10-07:49 Correct issue #16 typo spotted by William L. Anderson. + Be more careful about enclosure per issue #20 by William L. Anderson. + Provide further editorial improvements throughout the text. 0.1.5 2019-04-30-13:06 Smooth a few places and make adjustments in early passages thanks to comments from colleague William L. Anderson. 0.1.4 2019-04-29-12:07 Smooth the text flow and touch up in places. Add TODO