“shifted upper row” for those who use a keyboard
the design of which is optimized to being able
to write the word “typewriter” on that very row
and optimized to not be too fast to type on so the
typebars don’t get entangled … yes, we certainly
have that problem with computers; and no, we don’t
want to type fast, let alone healthily (ergonomics)
I have all of these on one layer [1]:
…_[]^ !<>=&
\/{}* ?()-:@ (home row)
#$|~` +%"';
so I don’t ever need to switch layers when writing
+:(]:@)
only two of which I have to leave the home row for
the language mustn’t be blamed for badly designed hardware
and you can always just
setxkbmap yourfavoritelayout
on a compliant system
No, the actual characters hardly matter.
(Written using NEO [1] on an Ergodox [2])
[1] neo-layout.org
[2] ergodox-ez.com
Am 04.10.21 um 21:43 schrieb 'Pascal Jasmin' via Programming:
Going to use reply to Pepe as a case for changing trains before its too late
(ie before they get used)
hook=. `(`:6) NB. (Equivalently, hook=. ``:6)
This is an excellent contribution that shows the CC hook (defined as duplicate
arguments: (u C1 v)(u C2 v) offers no benefits.
The only imaginable cases so far is to produce a hook, or to return (u n) or (v
m) to caller context.
the only possible use of u n over u y (which would occur without the CC) is
that it is possible to bind u or n partially in an expression, or if u n
returns a verb or modifier. There is no natural u which can legally do the
former.
It is possible to create a conjunction that replaces ` such that will accept
nouns or verbs as its arguments and produce gerunds. Without full definition,
my version is:
ti =: 2 : 0
if. -. u isgerundA do. u =. u ar end.
if. -. v isgerundA do. v =. v ar end.
u,v
)
a different conjunction is possible/needed if it is to allow quoted modifiers
to have their atomic representation included.
with h. =: ti`:6
with u ti n `:6 not legally capable of forming a verb or modifier, it is still
possible to create that functionality with u n producing a string, and
h.(1 :)
could then be used to turn that future string computation into an adverb.
C C -> ((u C1 v)C2)
has benefits compared to using workarounds... Benefits > no benefits.
In the case of A C -> adv: u A (C u)
the only "mainstream" benefit is the ability to make a conjunction "reflexive"
(]: C)
theoretical completeness aside, this is not a huge programming application,
though if you knew a different way to provide this in a quoteless manner, that
would be best to eliminate all benefits.
Even if some possiblity is created, benefits are inferior compared to this AC
definition:
A C -> u A (C v)
similar to A C A of A C ]:
The annoyance of A C A pattern is that (A A) C A must be explicit to have a
sane interpretation. More parentheses means more tedious annoyances in
writting code, and avoiding tedious annoyances is a benefit.
My total vision for the trains is that it is higher value to have auto
"pairing"/parenthesizing of "free" u and v's near Cs, than the general minimal
benefits that exist from the trains, although I will also support the explicit triple parenthesing
of as one example (V V C) as superceding the auto-pairing rules.
But forcing AA...A trains to now be parenthesized sometimes is a major tedium
downgrade compared to previous versions of J.
So, for sure I will always hate AC and CC if they persist past beta.
Reflexive conjunctions don't have the same mathematical symmetry of applying
well understood model/concepts of doubling, squaring, 0 and 1 which are so well
understood that they have their own primitives instead of using reflexive
forms. If you know you want a reflexive conjunction application, then you can
be forced into the tedious repetition of uACu or uCu.
Even though each potential implementation of AC creates tedium in some
applications, it is far more tedious to parenthesize many future AA trains then
to provide duplicate conjunction parameters which no built in conjunctions have
any meaningful conceptual frameworks for. Exception example:
quadruple =: +:(]:@) NB. requires 2 more "shifted upper row" typing characters
than +:@+. Reading requires looking up the never used (]:C) pattern.
--
----------------------
mail written using NEO
neo-layout.org
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm