β
ππΒ·
logic I now have a somewhat general "pigeonhole solver" which, given a set of equations of the form x_iΒ¬=x_j and for each x_i, one equation of the form x_iβ{c_j
β
c_(j+1) c_(j+2) ... c_(j+k)}. This can directly be solved with a search, but I've been trying to avoid that in my pretense toward symbolic manipulation. In the end,
β
I'm not sure my approach is all that different than a search - if I can write my approach up in a sensible form, I'll post a doc someplace and hope to learn more.
β
β
ππΒ·
coding I updated my color text routines that I use in all my Python tools to proceess faster when read into Emacs. One day, I may create an IDE for my βneo-retroβ
β
logic-puzzle computing environment, but Emacs is still the best tool for me.
β
β
ππΒ·
coding While I use Unicode extensively and appreciate its near universal adoption and support, I object to any description of it as a "character set". It is a partial
β
encoding for semantically based typesetting of all human-readable text that includes representations for historic character sets. Ideally, a "character set" provides
π»
β
an abstract, finite set of symbols for computation and a visual representation that allows human beings to readily identify symbols in a sequence - a simple alphabet.
π
β
If we remove codepoints that are control values (modifiers and typesetting indicators) and, for groups of characters which are (subjectively) visually similar,
π
β
discard all but one, we are left with a workable character set. But it's a major bonus if human beings can naturally associate meaning with sequences to form a human
π
β
readable language. This character set requires knowledge of every alphabet included in Unicode and fluency in at least one language that uses each alphabet. I encode
π
β
formal languages and strings using my own (still evolving) βZy Logical Character Set" or "Zylch" (the "zy" is vestigial, but still makes for entertaining acronyms).
π
β
It's a single byte encoding starting with the digits 0β―9, followed by the 26 uppercase then 26 lowercase letters of English. Then a bunch of symbols that change from
π
β
week to week...
π£
β
β
ππΒ·
coding I'm using βββ for dot product and βββ for cross product. My preprocessor translates these from binary operators into calls to βdotβ and βcrossβ, which are
β
native in GLSL and implemented in Python to work on number sequences of equal length (dot) or only 3-tuples of numbers (cross).
β
β
ππΒ·
logic I've added support for the Cartesian Product, represented by βΓβ in Unicode (U+D7). What I call βtuple constrained quantificationβ (ββ¨x yβ©βZΓZ) is accepted in
β
βͺSapphireβ« as well as set exponentiation by an integer (Z^4 β· ZΓZΓZΓZ) ({1β―3}^3 β· {1β―3}Γ{1β―3}Γ{1β―3}). Finite expressions can be evaluated in calculator fashion (β¨1 2
β
3β©β{1β―3}^3 β· β) (ββ¨a bβ©β{1β―3}^2 a>3 β a+b>4 β· β) and can also be symbolically manipulated by βͺAgβ«, aka βThe Silver Solverβ. I've updated my Sudoku rules to use these
β
new features
β
β°
ππΒ·
I finally go around to watching Jordan Peele's documentary "Get Out" the other night. I have to say, the re-enactments were grisly, but well done.