The Miser Project

Miser Project
Notes Job Jar & Diary

miser>
notes>

n000000>
0.00 2017-09-26 -11:57 -0700

Status

Date

Description

done
2014-04-17
2013-10-21


The Content Material here was successfully repaved as part of the
2007-11-11 stage of the Site Repaving Project.  Check those pages for additional details of the approach to correction and upgrade.

 
     
     
     
     
     
     
     
     
  2017-09-26 The notes/default.htm requires a professional appearance document engineering folio.
  2014-05-03 The idea of interpretation preservation is a property of Ob procedures.  For example '(\e \x) is cK and ob.ap(ob.ap(ob.c(ob_e, ob_arg), x) ,y) = x is interpretation-preserving, of type (x -> (y -> x)).  There is this interesting problem of a procedure being interpretation preserving, and how that is detectable.  Maybe it comes from type inference.  I wonder if there is any connection between procedures that are interpreted as combinators and ones that are not. 
  2014-04-26 Symbols versus keywords.  If I use the ":"-prefixed symbols as symbols that are always interpreted as themselves, they then correspond to the kind of literal keyword that is used in Common Lisp.  We essentially restrict ":" and "." from names and Frugalese ":" name signals that name is to be treated as a keyword.  It always appears with the prefixed ":".  Since we don't have namespaces in oMiser, keywords are essentially the only symbols we have to work with.  (However, the Frugal substitution form, "\" name refers to the oFrugal definition of the symbol with that name.  "\" ":" name is not legal oFrugal syntax.  Note that this may have to be #\ to get around the single-character "\" cases.  This takes more thought.
  2014-04-25 n000900 deferred topic: Notation, TBD, 2000-09-02, Applicative Notations: Right the First Time, Alonzo
  2014-04-25 n000901 deferred topic: oMiser Model, TBD, 2000-09-02, Distributed Identity for Ob Manifestations
  2014-04-25 n001200 deferred topic: Manifesting Obs, TBD, 2000-12-12, Determined Obs and Exception Behavior
  2014-04-25 n010200 deferred topic: Miser, TBD, 2001-02-23, Identity and Individuals
  2014-04-25 n010203 deferred topic:: Miser, TBD, 2001-02-23, Who Can You Trust?
  2014-04-25 n010206 deferred topic: Miser, TBD, 2001-02-23, Terminology: Models, Objects, and Abstractions
  2014-04-25 n010800 deferred topic: Theory, tbd, 2001-08-11, Computational Interpretations of Predicative Sets
  2014-04-25 n011100 deferred topic: Foundations, tbd,  2001-11-14, The Church/Turing Thesis: What It Says, What We Make of It
  2014-04-25 n011200 deferred topic: Computational Logic, tbd, 2001-12-08, Logical Completeness of cond forms as propositions
  2014-04-25 n011201 deferred topic: Computational Logic, tbd, 2001-12-08, How cond is not propositional (when it is computational)
  2014-04-25 n011202 deferred topic: Computational Logic, tbd, 2001-12-08, Hidden Assumptions in Witzel's Selectors
  2014-03-23 I had an exchange with Joe Shipman about [FOM] Alternative foundations and how the Church-Turing Thesis does not figure in the development of algorithms in computer science.  For some reason, I got into how one shows a computation model can provide at-least Church-Turing-equivalent effective computations.   How one gets to, and no more, was harder I thought.  But in fact it is not, in the case of Miser, since the Obs, ob.ap, and the subordinate primitves are all representable in FOL=.  It is also likely that I should go through expressing the primitive-recursive functions on the natural numbers as part of the deal.  I suppose Church's formulation would work too, but I think the direct case of peano arithmetic is also good enough.  If there are objections around that, the sort of universal tool demonstration might be necessary. [dh:2014-04-25 This also impinges on n011100 on the Church/Turing Thesis.]
  2014-03-21 While setting up full folios on self-reference and well-definedness, I began thinking about computational logic.  It is not a problem to have a program carry out computational logic about what is its own expression/code.  The difference has to do with interpretation-preserving activity.  That is, the reasoning is about the behavioral interpretation of the program, but the analysis is on the representation.  It is not necessary to peer into the interpretation, as such, but only rely on the presumed connection of representations and their interpretations to make deductions about the interpretation.   Now, concluding that an algorithm to carry out such analysis is sound is a different matter than the algorithm reporting that its procedure is sound.  It hinges on an algorithm producing a verifiable proof.  This needs to be dealt with at some point in the computational logic treatment of Miser.  Contingencies remain, just as they always did, and must be dealt with accordingly.
  2013-12-29 I was reading this article about database issues around immutability: <http://www.xaprb.com/blog/2013/12/28/immutability-mvcc-and-garbage-collection>.   It had me think about something else.  Preservation of identity has (ob-proc x) preserve x because it is necessary for comparison of procs, even if actually compiled in some form.  What's interesting is that x can be marked as having an applicative interpretation too.  I have to ponder how that works with redundancy detection and garbage collection as well.  I wonder if this is a way to work a jitter of some sort as well, since, in the scheme of things, any construction can have an applicative interpretation.  Much to think about.
  2013-12-16 I am still fretting about the dump processor.  This seems like a two- or three-pass process.  That's a lot, with a high memory burden.   In the absence of asynchrony, it might be possible with a lot of memory rewriting (but have to watch out for things in read-only locations).  I am questioning a lot about this.  There may be many dependencies on partial ordering being detectable and on shared subtree being recognizable.  This seems to involve various kinds of sorting as well as knowing what about the partial ordering is preserved (even under garbage collection).  That might be terribly fragile.  The ways that compression schemes can rely on previous text might provide a way of pointing back, but there is the problem of knowing that something is pointed "back to" and that it needs to be emitted first.  I must find out more about topological sorting, especially of the pert diagram flavor.  I need to master TAoCP 2.2.3 and algorithm 2.2.3T.  There is good news about performance being linear in the number of paths plus nodes, and a better algorithm is to appear in section 7.4.1 (to appear beyond Volume 4A).  Problems 2.2.3-11 and -18 to -25 are about topological sorting and algorithm T.  Problem -11 might be something that drag can be applied to where order is not significant.  Exercise 5-24 is not unlike this, except we have more partical ordering information given an Ob subtree.  We also know it fits in memory, although that might not be much consolation.
  2013-12-16 Compare and Swap (or Compare and Exchange?) are important operations in some activities in oMiser implementations: <http://en.wikipedia.org/wiki/Compare-and-swap>.  There are standard primitives for this, now, in C11 and C++, evidently.  It seems that some are widely implemented and there is a header file for appropriate atomic primitives. 
 1. For the minimization of redundant ob constructions, this can be used for opportunistic sharing (via the "=" primitive) in those situations where asynchronous operation is possible and compare and swap is available as a reliable atomic operation.  If asynchronous operation is not possible, sharing can be done without any requirement for a critical section.
 2. In the garbage collector, there may be a similar issue with regard to Cheney copying. 
 3. There may also be a need in the loader and the dump processor.
For VC++ 2003 Desktop Express, this header is not available: <http://en.cppreference.com/w/c/atomic/atomic_compare_exchange>.  Instead of stdatomic.h, there is xatomic.h and it is one of those horrific dependency contortions.  Figuring out how all of that is coordinated, and how to use a shim for stdatomic.h is challenging, to say the least.
  2013-12-15 The individual views into Ob are substructure views.  See Notebook #71.91.  This has a large impact on the sketch.  However, it should be dealt with in the treatment of <ob> first.
  2013-12-15 For the dump and loader format, it is necessary to provide topological sorting.  This creates two kinds of architectural issues: factoring of the load and dump code to be able to operate without running one or the other (although load is presumably more common than dump, but it is also much easier).  There are the following considerations:
  1. Whether the loader format can have a fully-checked schema, based on how the reverse-polish works. 
  2. How the dump format is created in proper topographical/partial ordering to be readable in reverse-Polish format
  3. How shared components are dealt with in the reverse-Polish format.  This is akin to the problem for ordering of PERT charts, where there are shared nodes.
  4. In addition to structurally-shared nodes, there are also explicitly-named nodes as used in oFrugal or other situations.  It is desirable to preserve the naming, depending on where the loading occurs.  This means the loader has some work to do.  It may take namespace arrangements to deal with this, and it may mean that the persistent form itself has an identification.  The trick is to manage around naming collisions, as distinct from recurrences of the same substructure.
  5. Note that there must be two versions of operation ob.c, so that the one requiring the most drag can be done first.  This is influenced by labelings and sharings.
  2013-11-13 For symbol strings, the null implementation is just the ASCII set of characters, although the representation will allow full UTF8.  So oFrugal and other tools won't allow any more characters than these to be entered in creating a symbolic literal, although if richer ones are encountered they will be allowed.  This means that when the allowable symbol syntax is extended, they should always render properly and be distinguishable properly down-level.  This is going to take a lot more thinking.  Rendering considerations may govern how the syntax for symbol literals is expanded over time, and when a new version is required.  There might have to be some downlevel defaulting of Unicode forms that create combining-form and BiDi issues.
  2013-11-13 n000901, n010200: Identity Concerns: In addition to the key ob-d distinction function, there is need to refine distinction so that distributed identification of individuals works.   That's true even for the primitives, such as ob_a, ob_b, etc.  The identity of constructions works just fine, along with the caching of congruent forms.  The same must happen for individuals as well.  There is also the need to ground individuals in their definitions.  For global constants, these can also be propogated by defining structures for them, in the case of literal symbols and procs.This gets dicier with other types and I have to ponder that.  The requirement is that identification and distinction be preserved and that there be no situation where occurrences of the same object are ever seen as distinct.  Versioning enters into this when primitives or types are not recognized down-level or in other cases where there definitions have not been made known.  This means the applicative interpretation is not known either.  There is also some desire to have accelerators work, also and especially for procs.  [dh:2014-04-25 This is relevant to deferred topics n000901 and n010200.]
in progress 2013-11-03 It would be great if all of the development of nfoWorks and The Miser Project could use a literate version of UpDown that served for development.  This would also be useful for blogging and web pages, for that matter.  This then gets into other topics like Federated Wiki, etc.  I am not sure how this fits into a document engineering situation, but there should be a pattern fit (with the UpDown and the rendering together in the folio document-engineering page.)  That goes a little far.  But the first thing is to get this into an nfoWare project.  [dh:2013-11-03 I am going to development further there.  This work item remains here because I need to keep an incentive in place to keep working over there on behalf of nfoWare itself, nfoWorks, and Miser.]
  2013-11-03 In Knuth's Literate Programming Lecture Notes, there is an example of topological sorting that may be very relevant for the problem of creating a reverse Polish version of an Ob, for being output sequentially with shared components not repeated.  This may involve hooking cells into a hash table where the ordering can be developed.  There needs to be a way to take advantage of the existing partial ordering.  This will be an interesting problem.
  2013-10-23 With regard to distributed use of symbols, I need something similar for extended packages - addition of arithmetic, character and string handling, input-output (eventually), and this will give rise to naming and binding considerations.  There is also the problem about shared/replicated implementations.  So it is not possible to avoid packaging issues and package integrity and verification concerns.  This may require a fair investment in computational logic at the same time.  How this is to be dealt with is an open issue at this point and requires a folio (or more) on the topic.  The sketch should reflect this as an open issue beyond oMiser and probably even sMiser.
  2013-10-21 Work backwards through #71.46 and capture more Miser and Astraendo materials.
  2013-10-21 #71.54 #71.56 For oMiser, regular symbols in (restricted) NCName format are allowed and have symbol significance.  EvInt is itself, Appint(f,x) is ob.c(f,x) where f is a symbol.   This is great for symbolic execution to show what an applicative expression reduces to.  These are the oMiser equivalent of atoms.  This works for applicative procedures, whether combinators or not.  So computational completeness comes from the combinators plus the (primitive) functions on Obs.  This could be a step closer to computational logic, then.  The key demonstration is that S and K procedures are applicative-interpretation preserving.  [dh:2014-03-17 There is also the interesting problem of aliasing for multi-lingual purposes.  This should work reasonably well.]
  2013-10-21 #71.56 For oFrugal, considering "\<char>" with single-character escapes as reserved for primitives.  It will be interesting to know what \?, \!, and \\ might be.
  2013-10-21 #71.56 In the rational representation of reals, is preservation of continuity in some manner the key issue?  Is this a condition on the quality of arithmetic?
  2013-10-04 n140401: Sketch of Ot Progression.   First is just Ob.  Then there is ob.ap, the universal function.  (ob.ev is a problem because it requires a context).  Then there is demonstration of the combinatory interpretation.  Then there is the formalization that deals with functions on ob, not on combinators (represented by obs).  There is combinator preservation and there is the quasi-combinator, mixed-type situation.  Finally, there is the whole deal about differentiation of individuals (actually, pretty early in this game).  Next up is computational logic or more about computational completeness or both.  [dh:2014-04-25 This is the progression that I want to talk about.  There is some sort of ladder of universality that I want to pursue.  This is what n140401 is intended to capture at some level.]
  2007-05-02 n000701 deferred topic: Notation, TBD, 2000-07-18, Notation for the Miser Project. Make a folio for the project notations and then use an include page to have the current notations summary on the front page.  [dh:2014-04-17 This is a TBD at the moment.][dh:2014-04-25 Thie TBD topic has been removed from the catalog.  There are more complex notations involved than those in the original notations.htm file.  That is about programming-language presentation and also BNF notation.  There's also the whole Ot notation.  This might be the generic folio.  I supposed, because notations.htm already exists, the n000701 folio accession number will work just fine.]
  2007-04-30 Cross-reference the notes and the Astraendo catalogs.  There will be further prospects for confusions later as I get into development and techniques
  2006-06-08 Move the notations article into a Note. Then include it up there because it is referred to up there.  I should move some of the references over time.  [dh:2014-04-17 This is a TBD at this time.][dh:2014-04-25 This is n000701 and see the 2007-05-02 note on the same topic.]
  2006-06-08 R010101 and R010101a - These need to be made into a folio and linked to the developments here as further information and more details.
  2003-12-19 I have to think more about data.  I notice that UML is a great example of how the content of language is not in the inscriptions.  The UML diagrams and the technique have almost no semantics at all.  That UML is a formal scheme with no formal content is striking.  However, we operate in data and text languages the same way.  So the insight is that it is nothing new, rather than there is some defect of UML.  UML is a great example of language acts.  I think this is because UML is proposed to be descriptive.  [dh:2004-01-06 I think this goes under situating data in nfoWare, so I will move this note there.]
done
2017-07-07
2017-06-25 n170601 becomes "Welcome to the Miser Project" and it is modeled on the nfoWorks note n080201 for document engineering of the front page.
done
2014-04-27
2014-04-25 n140401: This is about the March of Miser to General-Purpose Universality.  It is a Roadmap.  [dh:2014-04-26 Now called "Pursuing Generality"]
done
2014-04-25
2007-04-29 If necessary, create redirects from n000000 and n000001-log.htm to N000000 and N000001.  [dh:2014-04-25: I don't know when this was done, but we have, instead, simply switched to all lower-case accession codes for notes.  The n00-log.htm and n00-next.htm are both include pages for n000001 (although n000001 no longer has TBD items).]
done
2014-04-25
2014-04-17 Scrub the TBD items out of n000001 and park them here for further development, or not, possibly with new accession numbers.
done
2014-04-25
2006-06-08 I need to clean up the n000001 page to list only those articles that have been started, and remove the shading business.   The never-initiated folios need to go into a job jar for reincarnation as opportunities arise.
done 2014-04-17 Scrub items about notes that are not transposed to folios, moving them or closing them as appropriate.
done 2014-04-17 Go from being repaved to repaved when the last migration (n001100) to folio is completed.
done
2014-04-17
2006-06-08 N020701: Embracing the Transfinite.  This is definitely Astraendo.  It is inspired by early discussion on phil-logic.  [dh:2014-04-17 I am keeping that here.
done
2014-04-17
2006-06-08 N020700: Managing Miser-Theory.info.  This may be unnecessary or it should be over in the construction section.  Figure that all out when the time comes.  [dh:2014-04-17 This has been moved.]
done
2014-04-17
2006-06-08 n011101: Miser Synopsis Concepts.  This one stays here as a folio.  It might be a glossary rather than a concepts statement.  Take a look at this.
done
2014-04-17
2006-06-08 Fix the standard structure on this page, using the proper fonts and title block for a catalog.  The catalog needs to reflect n000001 and n000000 and have the usual form.
done
2014-04-17
2006-06-08 n010207: What's An Algorithm.  OK, this is meant to be a serious treatment of this particular topic.  I think this belongs in Astraendo.  Miser Notes are really to be specific to Miser and Frugal and thinking about them, techniques, discussions, etc.  [dh:2014-04-17 I am keeping and developing that here too.]
done
2014-04-17
2006-06-08 n010205: Programs Are Rarely Algorithms.  This one also deserves a folio.  It is also an Astraendo.  This is one I want to elevate to discussion fairly soon, because it relates to the problems of defects in programs that has been illustrated lately.  [dh:2014-04-17 This is kept here too.]
done
2014-04-17
2006-06-08 n010204: Framework Versus Structure.  I am not sure what in my Programs Are Rarely Algorithms pitch led to this, but it is a worthy topic, and it might be better grounded around the Miser Project.  I will look for inspiration when it is time to work this one over.  This is probably an Astraendo.  [dh:2014-04-17 I have kept it here.]
done
2014-04-17
2006-06-08 n010202: Homage to the Bit.  This needs to play out the original abstraction idea, along with the notion of features, tied to the manifestation notion.  This is clearly Astraendo, illustrated by thinking around Miser and Frugal, especially Frugal.  [dh:2014-04-17 I am keeping it in the transposed folder here.]
done
2014-04-17
2006-06-08 n010201: Manifesting Abstractions - this is related to homage to the bit and so on.  This deserves preservation as a folio with an include-page tombstone at the top level.  This is clearly Astraendo. [dh:2014-04-17 I kept it here as a transposed folio specific to the Miser Case.
done
2014-04-17
2013-10-21 Before correcting n00xxyy, n01xxyy, and n02xxyy pages in notes/, first create subordinate folios and include the correct pages at this level to avoid broken links.
done
2014-04-17
2013-10-21 Clean up 2002/ folios
done
2014-04-17
2013-10-21 Clean up 2001/ folios
done
2014-04-17
2006-06-08 N001000 convert to a folio with a single tombstone.  This is Miser as theoretical system.  It involves the Einstein quotation.  There appears to be some serious rework required.  [dh:2014-04-17 wormholes are provided instead, but the cleanup of the topic is handled.
done
2014-04-17
2006-06-08 Create a nested notes/yyyy/mm/ folder structure for these notes and reorganize into folios with their own job jars.
moved to a140101
2014-01-29
2013-12-25 I need to create a notation note.  I want to use the same structure that Keith Devlin has employed, especially with the biconditional, conditional, and exclusive or notation.  I don't need set theory so much.  I do need equational algebraic formulations, propositions, predicates, and quantifiers.  The goal is to work up in stages and get to the point where representation of functions in a logical theory can be addressed.  Farther out, there is need to deal with computational completeness and what the import of that is.  This applies first (I think) for the representation of combinators and then for the related computational completeness of the expressed functions on obs.   The basics of this can be done in Astraendo and appealed to from the oMiser materials(?).
done
2013-12-05
2013-11-30 Construction Structure repaving for case-sensitive uniformity is underway at the notes/N*.htm files.  These notes are frozen until that is accomplished.
done 2013-10-21 Repave n000000 and n000001.
done 2007-05-02 N020600: Set up folio in the appropriate place and map the current materials to that location.  There will be a mammoth number of repairs necessary just to get all of the links and images to work.  I will also need to monitor the site log for failures involving any of these pages.
done
2007-04-30
2007-04-29 Make some sort of note at a higher level to indicate that there are changes made with regard to case sensitivity and there may be breakage until we get everything tidied up.
done
2007-04-30
2007-04-29 Capitalize the note filenames in the development-site folders and leave the capitalizations in the file system and VSS.
done
2007-04-30
2007-04-29 Use the proper title block sizes and styles for this header and the catalogs.
done
2007-04-30
2007-04-29 Add N000000 and N000001 to the catalog.
done
2007-04-30
2006-06-08 Fix N000001 to have the standard structure.
done
2007-04-30
2007-04-29 Update N000001 to use the modern format for title block, construction block, and the catalog layout.
done 2007-04-29 Find any uncapitalized note names in the file system and replace them with capitalized ones.
done 2007-04-29 n000001-log: Rename to N000001 and make sure that is the form used on the site.
done 2007-04-29 n000000: Rename to N000000 and make sure that is the form used on the site.
done 2006-06-08 N010205: Fix the algorithm statement and put in the version of Python used.  Add history notes about this part.  Contract to the top section.   I need to put in the version 1.5.2 version and the date of the code.  Also, this gives me something I can post about.
     
0.00 2004-01-06-13:08 Create Initial Placeholder
The initial notes compilations are created to house the development of early-forms of folios.  Materials are moved here from other locations on the project for adaptation to this structure.

Construction Structure (Hard Hat Area)

You are navigating the Miser Project.

created 2004-01-06-13:08 -0800 (pst) by orcmid
$$Author: Orcmid $
$$Date: 17-09-26 11:57 $
$$Revision: 65 $