Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. @screwlisp is having some site connectivity problems so asked me to remind everyone that we'll be on the anonradio forum at the top of the hour (a bit less than ten minutes hence) for those who like that kind of thing:

@screwlisp is having some site connectivity problems so asked me to remind everyone that we'll be on the anonradio forum at the top of the hour (a bit less than ten minutes hence) for those who like that kind of thing:

Scheduled Pinned Locked Moved Uncategorized
lispygophergopherlispcommonlisp
120 Posts 14 Posters 163 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • dougmerritt@mathstodon.xyzD dougmerritt@mathstodon.xyz

    @wrog
    > I'm also guessing TECO wouldn't have existed without there being people who managed to wrap their brains around it and found it to be expressive and concise. I myself never got there (also never really tried TBH),

    I'm one of those people, BTW. My proof is that I wrote a closed-loop stick figure ASCII animation juggling three balls.

    As with any complex TECO thing, the resulting code was write-only -- and that was always the problem with even mildly powerful TECO macros.

    Perl at its worst can be described as write-only line noise, yes, but in my experience is *STILL* better than TECO!

    I am indeed fortunate to be able to stick with Emacs and Vi.

    @kentpitman @ramin_hal9001 @screwlisp @cdegroot

    kentpitman@climatejustice.socialK This user is from outside of this forum
    kentpitman@climatejustice.socialK This user is from outside of this forum
    kentpitman@climatejustice.social
    wrote last edited by
    #64

    @dougmerritt @wrog @ramin_hal9001 @screwlisp @cdegroot

    TECO was a necessary innovation under word-addressed memory. With 36 bits per word, you couldn't afford that much space for an instruction. 5 7-bit bytes (with a bit left over) 8n one word was a lot more compact than an assembly instruction. With only 256 KW (kilowords) total addressable in 18 bits, you had to get all the power packed in you could. And we didn't have WYSIWYG yet, and most computer people couldn't type. So it would make a lot more sense to you if you were doing hunt and peck with almost no visibility into what you're changing. Typing -3cifoo$$ to mean go back three characters and insert foo and show me what the few characters around my cursor look like was extremely natural in context. That it became a programming language was a natural extension of that so that you didn't have to keep typing the same things over and over again.

    kentpitman@climatejustice.socialK 1 Reply Last reply
    0
    • kentpitman@climatejustice.socialK kentpitman@climatejustice.social

      @dougmerritt @wrog @ramin_hal9001 @screwlisp @cdegroot

      TECO was a necessary innovation under word-addressed memory. With 36 bits per word, you couldn't afford that much space for an instruction. 5 7-bit bytes (with a bit left over) 8n one word was a lot more compact than an assembly instruction. With only 256 KW (kilowords) total addressable in 18 bits, you had to get all the power packed in you could. And we didn't have WYSIWYG yet, and most computer people couldn't type. So it would make a lot more sense to you if you were doing hunt and peck with almost no visibility into what you're changing. Typing -3cifoo$$ to mean go back three characters and insert foo and show me what the few characters around my cursor look like was extremely natural in context. That it became a programming language was a natural extension of that so that you didn't have to keep typing the same things over and over again.

      kentpitman@climatejustice.socialK This user is from outside of this forum
      kentpitman@climatejustice.socialK This user is from outside of this forum
      kentpitman@climatejustice.social
      wrote last edited by
      #65

      @dougmerritt @wrog @ramin_hal9001 @screwlisp @cdegroot

      In effect, a Q register, what passed for storage in TECO, was something you can name in one bite. So 1,2mA meaning call what's in A with args 1 and 2 was a high-level language function call with two arguments that fit into a single machine word. Even the PDP-10 pushj instruction, which was pretty sophisticated as a way of calling a function, couldn't pass arguments with that degree of compactness.

      dougmerritt@mathstodon.xyzD wrog@mastodon.murkworks.netW djl@mastodon.mit.eduD 3 Replies Last reply
      0
      • kentpitman@climatejustice.socialK kentpitman@climatejustice.social

        @dougmerritt @wrog @ramin_hal9001 @screwlisp @cdegroot

        In effect, a Q register, what passed for storage in TECO, was something you can name in one bite. So 1,2mA meaning call what's in A with args 1 and 2 was a high-level language function call with two arguments that fit into a single machine word. Even the PDP-10 pushj instruction, which was pretty sophisticated as a way of calling a function, couldn't pass arguments with that degree of compactness.

        dougmerritt@mathstodon.xyzD This user is from outside of this forum
        dougmerritt@mathstodon.xyzD This user is from outside of this forum
        dougmerritt@mathstodon.xyz
        wrote last edited by
        #66

        @kentpitman
        As usual, Kent, an excellent description -- and I had forgotten some of those details, but yes, those were very real advantages.

        @wrog @ramin_hal9001 @screwlisp @cdegroot

        dougmerritt@mathstodon.xyzD 1 Reply Last reply
        0
        • dougmerritt@mathstodon.xyzD dougmerritt@mathstodon.xyz

          @kentpitman
          As usual, Kent, an excellent description -- and I had forgotten some of those details, but yes, those were very real advantages.

          @wrog @ramin_hal9001 @screwlisp @cdegroot

          dougmerritt@mathstodon.xyzD This user is from outside of this forum
          dougmerritt@mathstodon.xyzD This user is from outside of this forum
          dougmerritt@mathstodon.xyz
          wrote last edited by
          #67

          @kentpitman
          Incidentally, I did *not* hate TECO at the time. I'm just remarking on some fairly objective issues with it.

          But at the time, I really appreciated its power (even though for me this was after using vi and emacs).

          Also, if one reads about its history in the literature, about how it originally worked in 8 KB with a sliding window on files, and then later versions added more and more commands and power, it all makes sense as an organic 4D creation.

          Which is true of most software that one is sympathetic to.

          @wrog @ramin_hal9001 @screwlisp @cdegroot

          1 Reply Last reply
          0
          • wrog@mastodon.murkworks.netW wrog@mastodon.murkworks.net

            @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

            To be sure, my Perl tends to be more structured.

            On the other hand, I also hate Moose (Perl's attempt at CLOS) and have thus far succeeded in keeping that out of my life.

            I also remember there being a time in my life when I could read and understand APL.

            But if you do think it's possible to come up with some kind of useful formal definition/criterion for "expressiveness", go for it.

            I'll believe it when I see it.

            11/11

            wrog@mastodon.murkworks.netW This user is from outside of this forum
            wrog@mastodon.murkworks.netW This user is from outside of this forum
            wrog@mastodon.murkworks.net
            wrote last edited by
            #68

            @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

            ... and, crap, I messed up the threading (it seems 9 and 10 are siblings, so you'll miss 9 if you're reading from here. 9 is kind of the point. Go back to 8.)

            (I hate this UI. If anybody's written an emacs fediverse-protocol thing for doing long threaded posts please point me to it, otherwise it looks like I'm going to have to write one ...)

            𝜔/11

            kentpitman@climatejustice.socialK dougmerritt@mathstodon.xyzD wrog@mastodon.murkworks.netW 3 Replies Last reply
            0
            • wrog@mastodon.murkworks.netW wrog@mastodon.murkworks.net

              @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

              ... and, crap, I messed up the threading (it seems 9 and 10 are siblings, so you'll miss 9 if you're reading from here. 9 is kind of the point. Go back to 8.)

              (I hate this UI. If anybody's written an emacs fediverse-protocol thing for doing long threaded posts please point me to it, otherwise it looks like I'm going to have to write one ...)

              𝜔/11

              kentpitman@climatejustice.socialK This user is from outside of this forum
              kentpitman@climatejustice.socialK This user is from outside of this forum
              kentpitman@climatejustice.social
              wrote last edited by
              #69

              @wrog @dougmerritt @ramin_hal9001 @screwlisp @cdegroot

              It's a bit low tech but if you noticed it in time that other people don't have a ton of other stuff attached to it, just save the text, delete the old post, attach the new. Someone could make that be a single operation in a client and even have it send mail to the people who attached replies saying here's your text if you want to attach it to the new post. Or you could attach your own post with their text in it. Low-tech as it is, existing tools offer us a lot more options than sometimes people see. I'm sure you could have figured this out, and are more fussing at the tedium, but just for fun I'm going to cross reference a related but different scenario...

              Link Preview Image
              The Cornfield Explained - Kent Pitman - Open Salon

              favicon

              (web.archive.org)

              1 Reply Last reply
              0
              • wrog@mastodon.murkworks.netW wrog@mastodon.murkworks.net

                @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                ... and, crap, I messed up the threading (it seems 9 and 10 are siblings, so you'll miss 9 if you're reading from here. 9 is kind of the point. Go back to 8.)

                (I hate this UI. If anybody's written an emacs fediverse-protocol thing for doing long threaded posts please point me to it, otherwise it looks like I'm going to have to write one ...)

                𝜔/11

                dougmerritt@mathstodon.xyzD This user is from outside of this forum
                dougmerritt@mathstodon.xyzD This user is from outside of this forum
                dougmerritt@mathstodon.xyz
                wrote last edited by
                #70

                @wrog
                > (I hate this UI. If anybody's written an emacs fediverse-protocol thing for doing long threaded posts please point me to it, otherwise it looks like I'm going to have to write one ...)

                There are *so* many programmers using variants of this UI that you would think someone would have addressed it by now.

                But you never know, maybe not. Certainly everyone who does multi-posts seems to be struggling with doing it by hand, from my point of view, so that would seem to cry out for the need for some fancier textpost-splitting auto-sequence-number thingie, in emacs or command line or something.

                Conceivably a web search would find the thing if it exists. I personally almost never do long posts, so I just grin and bear it when it comes up.

                @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                screwlisp@gamerplus.orgS 1 Reply Last reply
                0
                • dougmerritt@mathstodon.xyzD dougmerritt@mathstodon.xyz

                  @wrog
                  > (I hate this UI. If anybody's written an emacs fediverse-protocol thing for doing long threaded posts please point me to it, otherwise it looks like I'm going to have to write one ...)

                  There are *so* many programmers using variants of this UI that you would think someone would have addressed it by now.

                  But you never know, maybe not. Certainly everyone who does multi-posts seems to be struggling with doing it by hand, from my point of view, so that would seem to cry out for the need for some fancier textpost-splitting auto-sequence-number thingie, in emacs or command line or something.

                  Conceivably a web search would find the thing if it exists. I personally almost never do long posts, so I just grin and bear it when it comes up.

                  @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                  screwlisp@gamerplus.orgS This user is from outside of this forum
                  screwlisp@gamerplus.orgS This user is from outside of this forum
                  screwlisp@gamerplus.org
                  wrote last edited by
                  #71

                  I think for protocol reasons it is necessary to try and connect up the thread using quote-posts, however any particular client understands that.

                  If you visit the topmost toot of the thread, you at least get the whole (cons) tree.
                  @dougmerritt @wrog @kentpitman @ramin_hal9001 @cdegroot

                  dougmerritt@mathstodon.xyzD 1 Reply Last reply
                  0
                  • screwlisp@gamerplus.orgS screwlisp@gamerplus.org

                    I think for protocol reasons it is necessary to try and connect up the thread using quote-posts, however any particular client understands that.

                    If you visit the topmost toot of the thread, you at least get the whole (cons) tree.
                    @dougmerritt @wrog @kentpitman @ramin_hal9001 @cdegroot

                    dougmerritt@mathstodon.xyzD This user is from outside of this forum
                    dougmerritt@mathstodon.xyzD This user is from outside of this forum
                    dougmerritt@mathstodon.xyz
                    wrote last edited by
                    #72

                    @screwlisp
                    Y'all are misunderstanding. Due to the error-prone nature of labelling a series of posts, from one way of viewing he skipped post 9, and 8 linked to 10.

                    Another view showed simply the correct sequence.

                    Regardless, anyone who has written e.g. "3/n" on a post is already implicitly indicating a desire for automation.

                    @wrog @kentpitman @ramin_hal9001 @cdegroot

                    screwlisp@gamerplus.orgS 1 Reply Last reply
                    0
                    • dougmerritt@mathstodon.xyzD dougmerritt@mathstodon.xyz

                      @screwlisp
                      Y'all are misunderstanding. Due to the error-prone nature of labelling a series of posts, from one way of viewing he skipped post 9, and 8 linked to 10.

                      Another view showed simply the correct sequence.

                      Regardless, anyone who has written e.g. "3/n" on a post is already implicitly indicating a desire for automation.

                      @wrog @kentpitman @ramin_hal9001 @cdegroot

                      screwlisp@gamerplus.orgS This user is from outside of this forum
                      screwlisp@gamerplus.orgS This user is from outside of this forum
                      screwlisp@gamerplus.org
                      wrote last edited by
                      #73

                      @dougmerritt
                      Lots of clients are available that will daisychain toots within the constraints of your instance if you send a large one. I think mastodon.el is like this. I think that the 𝜑/ζ post counting is often some interesting but quasi-ironic metadata about how the author is feeling about local restarts available to them at the time of writing.
                      @wrog @kentpitman @ramin_hal9001 @cdegroot

                      dougmerritt@mathstodon.xyzD 1 Reply Last reply
                      0
                      • screwlisp@gamerplus.orgS screwlisp@gamerplus.org

                        @dougmerritt
                        Lots of clients are available that will daisychain toots within the constraints of your instance if you send a large one. I think mastodon.el is like this. I think that the 𝜑/ζ post counting is often some interesting but quasi-ironic metadata about how the author is feeling about local restarts available to them at the time of writing.
                        @wrog @kentpitman @ramin_hal9001 @cdegroot

                        dougmerritt@mathstodon.xyzD This user is from outside of this forum
                        dougmerritt@mathstodon.xyzD This user is from outside of this forum
                        dougmerritt@mathstodon.xyz
                        wrote last edited by
                        #74

                        @screwlisp
                        Well there you go. So wrog just needs to find a list of such clients to choose the most suitable one -- if any.

                        @wrog @kentpitman @ramin_hal9001 @cdegroot

                        wrog@mastodon.murkworks.netW 1 Reply Last reply
                        0
                        • dougmerritt@mathstodon.xyzD dougmerritt@mathstodon.xyz

                          @wrog
                          > I'm also guessing TECO wouldn't have existed without there being people who managed to wrap their brains around it and found it to be expressive and concise. I myself never got there (also never really tried TBH),

                          I'm one of those people, BTW. My proof is that I wrote a closed-loop stick figure ASCII animation juggling three balls.

                          As with any complex TECO thing, the resulting code was write-only -- and that was always the problem with even mildly powerful TECO macros.

                          Perl at its worst can be described as write-only line noise, yes, but in my experience is *STILL* better than TECO!

                          I am indeed fortunate to be able to stick with Emacs and Vi.

                          @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                          wrog@mastodon.murkworks.netW This user is from outside of this forum
                          wrog@mastodon.murkworks.netW This user is from outside of this forum
                          wrog@mastodon.murkworks.net
                          wrote last edited by
                          #75

                          @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                          Yeah I had <1 year stuck on DEC-20s at Stanford before Unix boxes became generally available (originally had to be an RA on a grant with its own VAX, and incoming students on NSFs typically weren't). Seeing Gosling Emacs that first spring, it was clear that was The Future...
                          ⟹ less reason to do TECO

                          ... though ironically, I *did* learn the SAIL editor (SAIL/WAITS -- TOPS-10 derivative -- was, by 1985, a completely dead software ecosystem, *only* continued to exist because Knuth and McCarthy had decades of crap + sufficient grant $$ for the (by then) fantastic expense to keep it going; the only other people who used it were the 3 of us maintaining the Pony (vending machine))

                          1 Reply Last reply
                          0
                          • kentpitman@climatejustice.socialK kentpitman@climatejustice.social

                            @dougmerritt @wrog @ramin_hal9001 @screwlisp @cdegroot

                            In effect, a Q register, what passed for storage in TECO, was something you can name in one bite. So 1,2mA meaning call what's in A with args 1 and 2 was a high-level language function call with two arguments that fit into a single machine word. Even the PDP-10 pushj instruction, which was pretty sophisticated as a way of calling a function, couldn't pass arguments with that degree of compactness.

                            wrog@mastodon.murkworks.netW This user is from outside of this forum
                            wrog@mastodon.murkworks.netW This user is from outside of this forum
                            wrog@mastodon.murkworks.net
                            wrote last edited by
                            #76

                            @kentpitman @dougmerritt @ramin_hal9001 @screwlisp @cdegroot

                            it's not so much the editor itself, which, from your description doesn't seem that much worse than, say, what you had to do in IBM XEDIT to get stuff done,

                            but the macro system, specifically, which as I understand it,(1) was an add-on, (2) would have needed utility commands that one didn't use in the normal course of editing (e.g., for rearranging arguments + building control constructs) and therefore were put on obscure characters, and *this* is where things went nuts…

                            I recall briefly viewing the TOPS-20 Emacs sources … *did* look like somebody had whacked a cable out in the hall (time to hit refresh-screen)
                            … granted, I may be misremembering; this *was* 40 years ago…

                            wrog@mastodon.murkworks.netW 1 Reply Last reply
                            0
                            • wrog@mastodon.murkworks.netW wrog@mastodon.murkworks.net

                              @kentpitman @dougmerritt @ramin_hal9001 @screwlisp @cdegroot

                              it's not so much the editor itself, which, from your description doesn't seem that much worse than, say, what you had to do in IBM XEDIT to get stuff done,

                              but the macro system, specifically, which as I understand it,(1) was an add-on, (2) would have needed utility commands that one didn't use in the normal course of editing (e.g., for rearranging arguments + building control constructs) and therefore were put on obscure characters, and *this* is where things went nuts…

                              I recall briefly viewing the TOPS-20 Emacs sources … *did* look like somebody had whacked a cable out in the hall (time to hit refresh-screen)
                              … granted, I may be misremembering; this *was* 40 years ago…

                              wrog@mastodon.murkworks.netW This user is from outside of this forum
                              wrog@mastodon.murkworks.netW This user is from outside of this forum
                              wrog@mastodon.murkworks.net
                              wrote last edited by
                              #77

                              @kentpitman @dougmerritt @ramin_hal9001 @screwlisp @cdegroot

                              I also recall '~' being an important character that showed up a lot in TECO for some reason,

                              and *normally* the only time you'd see sequences of ~'s in large numbers was when your modem was dying and your line was about to be dropped

                              and this may, at least partially, be where TECO's "line noise" reputation came from.

                              kentpitman@climatejustice.socialK 1 Reply Last reply
                              0
                              • wrog@mastodon.murkworks.netW wrog@mastodon.murkworks.net

                                @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                                ... and, crap, I messed up the threading (it seems 9 and 10 are siblings, so you'll miss 9 if you're reading from here. 9 is kind of the point. Go back to 8.)

                                (I hate this UI. If anybody's written an emacs fediverse-protocol thing for doing long threaded posts please point me to it, otherwise it looks like I'm going to have to write one ...)

                                𝜔/11

                                wrog@mastodon.murkworks.netW This user is from outside of this forum
                                wrog@mastodon.murkworks.netW This user is from outside of this forum
                                wrog@mastodon.murkworks.net
                                wrote last edited by
                                #78

                                @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                                hmm... is there a way to do a reply that is *also* a quote-post? I should try this.

                                Roger Crew✅❌☑🗸❎✖✓✔ (@wrog@mastodon.murkworks.net)

                                @dougmerritt@mathstodon.xyz @kentpitman@climatejustice.social @ramin_hal9001@fe.disroot.org @screwlisp@gamerplus.org @cdegroot@mstdn.ca To the point where, the following summer as an intern, I was needing to write a tree walk, and I wrote it in FORTRAN — because that's what was available at AT&T Basking Ridge (long story) — using fake recursion (local vars get dimensions as arrays, every call/return becomes a computed goto, you get the idea…) because I wanted to see if this *could* actually be done in FORTRAN, and it could, and it worked, and there was much rejoicing; I think my supervisor (who, to be fair, was not really a programmer) blue-screened on that one. And *then* I tried to explain it all to my dad... 8/11

                                favicon

                                Mastodon (mastodon.murkworks.net)

                                (𝜔+1)/11

                                wrog@mastodon.murkworks.netW 1 Reply Last reply
                                0
                                • wrog@mastodon.murkworks.netW wrog@mastodon.murkworks.net

                                  @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                                  hmm... is there a way to do a reply that is *also* a quote-post? I should try this.

                                  Roger Crew✅❌☑🗸❎✖✓✔ (@wrog@mastodon.murkworks.net)

                                  @dougmerritt@mathstodon.xyz @kentpitman@climatejustice.social @ramin_hal9001@fe.disroot.org @screwlisp@gamerplus.org @cdegroot@mstdn.ca To the point where, the following summer as an intern, I was needing to write a tree walk, and I wrote it in FORTRAN — because that's what was available at AT&T Basking Ridge (long story) — using fake recursion (local vars get dimensions as arrays, every call/return becomes a computed goto, you get the idea…) because I wanted to see if this *could* actually be done in FORTRAN, and it could, and it worked, and there was much rejoicing; I think my supervisor (who, to be fair, was not really a programmer) blue-screened on that one. And *then* I tried to explain it all to my dad... 8/11

                                  favicon

                                  Mastodon (mastodon.murkworks.net)

                                  (𝜔+1)/11

                                  wrog@mastodon.murkworks.netW This user is from outside of this forum
                                  wrog@mastodon.murkworks.netW This user is from outside of this forum
                                  wrog@mastodon.murkworks.net
                                  wrote last edited by
                                  #79

                                  @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                                  (I'm guessing a mastodon UI that actually respects the use of surreal numbers to number multipost components and rearranges threads accordingly will be implemented approximately never.

                                  … though I suppose it could turn out to be one of the more creative ways to get kicked off of the Fediverse … )

                                  Link Preview Image
                                  Surreal number - Wikipedia

                                  favicon

                                  (en.wikipedia.org)

                                  (𝜔/2)/11

                                  dougmerritt@mathstodon.xyzD 1 Reply Last reply
                                  0
                                  • wrog@mastodon.murkworks.netW wrog@mastodon.murkworks.net

                                    @kentpitman @dougmerritt @ramin_hal9001 @screwlisp @cdegroot

                                    I also recall '~' being an important character that showed up a lot in TECO for some reason,

                                    and *normally* the only time you'd see sequences of ~'s in large numbers was when your modem was dying and your line was about to be dropped

                                    and this may, at least partially, be where TECO's "line noise" reputation came from.

                                    kentpitman@climatejustice.socialK This user is from outside of this forum
                                    kentpitman@climatejustice.socialK This user is from outside of this forum
                                    kentpitman@climatejustice.social
                                    wrote last edited by
                                    #80

                                    @wrog @dougmerritt @ramin_hal9001 @screwlisp @cdegroot

                                    Funny, I couldn't recall "~" being important at all so had to go check. See https://codeberg.org/PDP-10/its/src/branch/master/doc/_teco_/tecord.1132 and while I do see a few uses of it, they seem very minor.

                                    I read this into an Emacs editor buffer and did "M-x occur" looking for [~] and got these, all of which seem highly obscure. I think it is probably because in the early days there may have been a desire not to have case matter, so the upper and lower case versions of these special characters (see line 2672 below) may have once been equivalent or might have some reason to want to reserve space to be equivalent in some cases. Remember that, for example, on a VT52, he CTRL key did not add a control bit but masked out all the bits beyond the 5th, so that CTRL+@ and CTRL+Space were the same (null) character, for example. And sometimes tools masked out the 7th bit in order to uppercase something, which means that certain characters like these might have in some cases gotten blurred.

                                    10 matches for "[~]" in buffer: tecord.1132
                                    1270: use a F~ to compare the error message string against a
                                    2017: case special character" (one of "`{|}~<rubout>").
                                    2235: the expected ones, with F~.
                                    2370: kept in increasing order, as F~ would say, or FO's binary
                                    2672: also ("@[\]^_" = "`{|}~<rubout>").
                                    4192:F~ compares strings, ignoring case difference. It is just
                                    4446: this option include F^A, F^E, F=, FQ, F~, G and M.
                                    4942: string storage space, but begins with a "~" (ASCII 176)
                                    4977: character should be the rubout beginning a string or the "~"
                                    4980: "~" or rubout, then it is not a pointer - just a plain number.

                                    If I recall correctly, this also meant in some tools it was possible if you were using a control-prefix con CTRL-^ to have CTRL-^ CTRL-@ be different than CTRL-^ @ because one of them might set the control bit on @ and the other on null, so there was a lot of ailasing. It even happened for regular characters that CTRL-^ CTRL-A would get you a control bit set on #o1 while CTRL+^ A would get you the control bit set on 65. Some of these worked very differently on the Knight TV, which used SAIL characters, I think, and which thought a code like 1 was an uparrow, not a control-A. There were a lot of blurry areas, and it was hell on people who wanted to make a Dvorak mode because it was the VT52 (and probably VT100 and AAA) hardware that was doing this translation, so there was no place to software intercept all this and make it different, so that's probably why something as important as Teco treaded lightly on making some case distinctions.

                                    But if someone remembers, better, please let me know. It's been 4+ decades since I used this stuff a lot and details slip away. It's just that these things linger, I think, because they were so important to realize were live rails not to tread upon. And because I did, for a while, live and breathe this stuff, since I wrote a few TECO libraries (like ZBABYL and the original TeX mode), so I guess practice drills it in, too.

                                    wrog@mastodon.murkworks.netW 1 Reply Last reply
                                    0
                                    • kentpitman@climatejustice.socialK kentpitman@climatejustice.social

                                      @dougmerritt @wrog @ramin_hal9001 @screwlisp @cdegroot

                                      In effect, a Q register, what passed for storage in TECO, was something you can name in one bite. So 1,2mA meaning call what's in A with args 1 and 2 was a high-level language function call with two arguments that fit into a single machine word. Even the PDP-10 pushj instruction, which was pretty sophisticated as a way of calling a function, couldn't pass arguments with that degree of compactness.

                                      djl@mastodon.mit.eduD This user is from outside of this forum
                                      djl@mastodon.mit.eduD This user is from outside of this forum
                                      djl@mastodon.mit.edu
                                      wrote last edited by
                                      #81

                                      @kentpitman @dougmerritt @wrog @ramin_hal9001 @screwlisp @cdegroot

                                      Yes, right. To all that. One minor point is that the PDP-6/10 had a byte-addressing instruction that was pretty weird (overkill in flexibility, like every PDP-6/10 instruction). So that data packing wasn't all that unreasonable.

                                      I showed up to the TECO world in Jan. 1973 with a gofer programming gig in the Macsyma group. The Datapoint terminals were already there, so I missed the pre-(almost)WYSIWYG days.

                                      dougmerritt@mathstodon.xyzD 1 Reply Last reply
                                      0
                                      • kentpitman@climatejustice.socialK kentpitman@climatejustice.social

                                        @wrog @dougmerritt @ramin_hal9001 @screwlisp @cdegroot

                                        Funny, I couldn't recall "~" being important at all so had to go check. See https://codeberg.org/PDP-10/its/src/branch/master/doc/_teco_/tecord.1132 and while I do see a few uses of it, they seem very minor.

                                        I read this into an Emacs editor buffer and did "M-x occur" looking for [~] and got these, all of which seem highly obscure. I think it is probably because in the early days there may have been a desire not to have case matter, so the upper and lower case versions of these special characters (see line 2672 below) may have once been equivalent or might have some reason to want to reserve space to be equivalent in some cases. Remember that, for example, on a VT52, he CTRL key did not add a control bit but masked out all the bits beyond the 5th, so that CTRL+@ and CTRL+Space were the same (null) character, for example. And sometimes tools masked out the 7th bit in order to uppercase something, which means that certain characters like these might have in some cases gotten blurred.

                                        10 matches for "[~]" in buffer: tecord.1132
                                        1270: use a F~ to compare the error message string against a
                                        2017: case special character" (one of "`{|}~<rubout>").
                                        2235: the expected ones, with F~.
                                        2370: kept in increasing order, as F~ would say, or FO's binary
                                        2672: also ("@[\]^_" = "`{|}~<rubout>").
                                        4192:F~ compares strings, ignoring case difference. It is just
                                        4446: this option include F^A, F^E, F=, FQ, F~, G and M.
                                        4942: string storage space, but begins with a "~" (ASCII 176)
                                        4977: character should be the rubout beginning a string or the "~"
                                        4980: "~" or rubout, then it is not a pointer - just a plain number.

                                        If I recall correctly, this also meant in some tools it was possible if you were using a control-prefix con CTRL-^ to have CTRL-^ CTRL-@ be different than CTRL-^ @ because one of them might set the control bit on @ and the other on null, so there was a lot of ailasing. It even happened for regular characters that CTRL-^ CTRL-A would get you a control bit set on #o1 while CTRL+^ A would get you the control bit set on 65. Some of these worked very differently on the Knight TV, which used SAIL characters, I think, and which thought a code like 1 was an uparrow, not a control-A. There were a lot of blurry areas, and it was hell on people who wanted to make a Dvorak mode because it was the VT52 (and probably VT100 and AAA) hardware that was doing this translation, so there was no place to software intercept all this and make it different, so that's probably why something as important as Teco treaded lightly on making some case distinctions.

                                        But if someone remembers, better, please let me know. It's been 4+ decades since I used this stuff a lot and details slip away. It's just that these things linger, I think, because they were so important to realize were live rails not to tread upon. And because I did, for a while, live and breathe this stuff, since I wrote a few TECO libraries (like ZBABYL and the original TeX mode), so I guess practice drills it in, too.

                                        wrog@mastodon.murkworks.netW This user is from outside of this forum
                                        wrog@mastodon.murkworks.netW This user is from outside of this forum
                                        wrog@mastodon.murkworks.net
                                        wrote last edited by
                                        #82

                                        @kentpitman @dougmerritt @ramin_hal9001 @screwlisp @cdegroot

                                        Yeah, I don't know. Maybe '~' was prevalant in Emacs source, or I'm conflating TECO with Something Else.

                                        By my era VT-52s were gone, you'd occasionally see a VT100 in a server room for not wanting to waste $$ there, the terminal of choice at Stanford CS was the Heathkit-19 + if you were in one of the well-financed research groups, you got a Sun-1 or a Sun-2. At DEC(WSL) where I interned, it was all personal VAXstations.

                                        I do recall Emacs ^S and ^Q being problematic due to terminal mode occasionally getting set badly (and then the underlying hardware would wake up, "Oh, flow control! I know how to do that!", ^S would freeze everything and you had to Just Know to do ^Q...)

                                        dougmerritt@mathstodon.xyzD wrog@mastodon.murkworks.netW 2 Replies Last reply
                                        0
                                        • wrog@mastodon.murkworks.netW wrog@mastodon.murkworks.net

                                          @kentpitman @dougmerritt @ramin_hal9001 @screwlisp @cdegroot

                                          Yeah, I don't know. Maybe '~' was prevalant in Emacs source, or I'm conflating TECO with Something Else.

                                          By my era VT-52s were gone, you'd occasionally see a VT100 in a server room for not wanting to waste $$ there, the terminal of choice at Stanford CS was the Heathkit-19 + if you were in one of the well-financed research groups, you got a Sun-1 or a Sun-2. At DEC(WSL) where I interned, it was all personal VAXstations.

                                          I do recall Emacs ^S and ^Q being problematic due to terminal mode occasionally getting set badly (and then the underlying hardware would wake up, "Oh, flow control! I know how to do that!", ^S would freeze everything and you had to Just Know to do ^Q...)

                                          dougmerritt@mathstodon.xyzD This user is from outside of this forum
                                          dougmerritt@mathstodon.xyzD This user is from outside of this forum
                                          dougmerritt@mathstodon.xyz
                                          wrote last edited by
                                          #83

                                          @wrog
                                          This seems familiar, but I'm not wholly sure why.

                                          It is binary 01111110 and as such really did show up in some line noise contexts that favored such a thing (it's similar to 11111111).

                                          It's also used by vi to mark nonexistent lines at the end of the file; Bill wanted it to be something other than just nothing on that screen line, for specificity of feedback to the user.

                                          @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups