Solved a big design problem today :
"a<*A, b</*B, C*/>c, D*>d" replaces "a∈A, b∉B, C∌c, D∋d"
( Works best for full-height-* fonts. )
1.
So in maths, we write "a∈A, A∋a" to mean "a is an element of the collection A", and "a∉A, A∌a" to mean "a is NOT an element of the collection A".
This is basically a sexy round version of the Greek letter, epsilon, and it is shorthand for "est", meaning "the entire work". This is attributed to Peano.
2.
Our common ASCII character set has no such equivalent. It would be UX-wise ridiculous to write 'e' everywhere. So for the past couple of weeks I've been using "<e </e e/> e>" in place of "∈ ∉ ∌ ∋", which I thought was pretty smart.
That was until I started using this for Type Hints/ Annotations/ Signifiers : where writing something like "variablename<eTypeA" has a poor UX, due to the adjacency of the latin [e] and the [A-Z] charset for the first-letter of type names. This is no problem for a machine lexer, but humans are less clear in thought. And it also depends on the limited charset for type name first-letters, so phooey.
Oh yes, and using '∈' for Type Hints instead of the paamayim nekudotayim 'value::type' ( as in Haskell), 'value:type' ( as in Python, OCaml ), 'type<value>' ( C++ ) is, indeed part of the solution.
3.
All that being said, the revision is a work in progress.
No comments :
Post a Comment