The Miser Project

m230900 oMiser Articles
HashFlags Technique
Notes & Work Items

miser>oMiser>
2023>09>

 

m230900a>
0.0.1 2026-02-12 12:32 -0800

Status

Date

Description

     
     
     
     
     
     
in progress 2026-02-12 Add m230900c on Object Comparison.  Also find where that's talked about and link to m230900c.
in progress 2026-02-12 Clean up m230900b on invariance, and mention the MOb there since it figure into how names are recovered for certain cases of individuals.
in progress 2026-01-25 If there is a bit on ob-cells to indicate possible value of a binding, that bit cannot be part of the Hash tag construction, because it is not inherent in the structure and origin of the ob-cell.  So it can only be a hint, and it doesn't even indicate when it might be the value of more than one binding as well as no binding (any longer).  While this might be solvable by another level of indirection.  That's a scary prospect. [dh:2026-02-12: I thought it might work by some finess with the hash of such an object.  Each binding of the same object would require an entry in the MOb, a kind of pseudo-individual that ties an individual to a particular binding name.  But the bound ob-cell has no way to get back to any of those unless the ob-cell hashflag is somehow useable to get "back up hill."  We also need
to cope with false positives when the ob-cell is no longer so bound.  This might simply be a bridge too far.  It's still interesting.  The flag bit, if there is one, cannot be part of the HashFlag because it's not structural and invariant.] 
 
in progress
 
2025-10-24 Look into pseudo-random generators as ways to generate hashes from other hashes.  This would have the HashFlag be treated in some manner as (part of) the current state of an RNG with significant cyclicity.   One of the diehard RNGs that have easy next-random procedures might work.  GB_FLIP is not suitable in this situation.  Also check Knuth on this.  This will influence how big we want the HashFlag to be and how we place the Flag bits.  [dh:2025-11-04: I an digging around in the Stanford GraphBase and the dieharder offered good RNGs and see how the hashflags can be taken as seeds to generate new ones, especially for pairs.  For enclosures and synthetics, different RNG methods could be used.  For named individuals, we have the hashing on names to be of assistance.][dh:2026-02-12 because the reference count needs to be a 32-bit word, the HashFlags field only has 32 bit available.  How many flag bits are needed determins how large the Hash portion can be.  I am thinking of 8 bits for the flag, but that might not be essential.  I know of 3 bits so far.  I need to know how good a 24 bit hash can be before shrinking the 8-bit flag allowance though.
done 2025-09-14

Create this this page from the hybridForm examplar

done 2024-02-18


The Construction and Content Material here was created in conformance with the 2023-11-04 style and location requirements of the
Site Refactoring/Preservation Project.  Check that folder for additional details of the approach to correction and upgrade.

 
     
Revision History:
0.0.1 2025-10-24T18:16Z Initial Note
0.0.0 2025-09-14T19:48Z Creation from hybridForm boilerplate

Construction Structure (Hard Hat Area)

You are navigating the Miser Project on GitHub.

created 2025-09-14T19:48Z  by orcmid