> Perhaps also worth wondering why we're using english, from before we were born, to communicate about supposedly advanced topics...
Yup, some things are so darn' good there jest ain't no improvin' on them. Whether that goes for the venerable tty, I wonder. It seems only yesterday I got my first tty (actually a Telex machine). Only the day before I'd been delivering boxes of punched cards across London by taxi. Now I could type to a computer in Belgium and have the answer inside a minute… can you imagine anything better than that? Well… 50 years on, I guess I can. For a start, the tty went paperless… Apart from that, did anything happen? I'd say yes: a lot. Which things were good and which weren't is something we could usefully debate. Because it would point the way ahead for the "Term" window. Re "crex", I hesitate to offer the code. It's a rat's-nest, and only a marginal improvement on (5!:5)… require 'format/zulu' zux alpha bravo charlie zuf alpha bravo charlie 5!:5<'zux' 3 7$'alpha bravo charlie' The trouble with (5!:5) is… 5!:5<'zuf' 97 108 112 104 97 10 98 114 97 118 111 10 99 104 97 114 108 105 101{a. Just getting it to print out 'LF' for (10{a.) reaps 80% of the benefit in practice… crex zuf 'alpha',LF,'bravo',LF,'charlie' Oh well, here goes… crex 3 : 0 0 crex y : NB. printable lit repn of (string)noun y NB. y is VALUE. For cr-replacement use: crx NB. x-:1 reveals diagnostics otherwise hidden if. ((1 e. $) +. (0 e. $))y do. 5!:5 <'y' return. NB. use built-in conversion instead end. require 'strings' NB. for: rplc NB. Ancillary nouns: 'QT CM'=. 39 44{a. NB. Ancillary verbs: paren=. 1 |. ')(' , ": q1=. QT , QT ,~ [: ": > NB. Build representation: z z=. y rplc QT ; QT,QT z=. q1 z rplc CRLF ; (q1',CRLF,') ; CR ; (q1',CR,') ; LF ; (q1',LF,') ; TAB ; (q1',TAB,') NB. catch remaining non-print chars in: y for_c. ~. y -. 32}. 127{. a. do. z=. z rplc c ; q1 CM, CM,~ paren (":a. i. c),'{a.' end. NB. eliminate: '',* *,'' *,'',* z=. z rplc (CM,QT,QT,CM) ; CM if. (3{.z)-:QT,QT,CM do. z=. 3}.z end. if. (_3{.z)-:CM,QT,QT do. z=. _3}.z end. NB. specify ravel for vec len: 1 if. ($y)-:(,1) do. z=. CM,z end. try. assert y -: ".z NB. Does it convert back again? catch. if. x do. smoutput '>>> crex: BAD lit repn of noun:' smoutput z smoutput '>>> crex: --using instead: 5!:5 <''y''' end. z=. 5!:5 <'y' NB. Reject "cut" interpretation of boxed list if. '<;._1' -: 5{.z do. NB. smoutput '>>> redoing: ',z 4}. crex (<'~'),y return. end. z return. end. z ) Haven't looked at the code in years. Must have written it when I was first learning J. On Sat, Jul 29, 2017 at 12:21 AM, Raul Miller <rauldmil...@gmail.com> wrote: > On Fri, Jul 28, 2017 at 6:55 PM, Jimmy Gauvin <jimmy.gau...@gmail.com> > wrote: > > 2) @ "Those who know J innards" : how hard would it be to add unicode as > > valid characters for identifiers? > > You can find discussions on the subject using forum search (from > jsoftware.com forums), but the brief answer is that there's no good > way to do this. > > Just reading the full unicode specs is beyond the abilities of most > people, but ... for example: there's good reasons why most people do > not know how to type most unicode characters. > > Thanks, > > -- > Raul > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm