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.
  • kentpitman@climatejustice.socialK kentpitman@climatejustice.social

    @dougmerritt @screwlisp @cdegroot @ramin_hal9001

    Well, I'm just trying to explain why hygiene seems more like a crisis to the Scheme community than it did to the CL community, who mostly asked "why is this a big deal?". It is a big deal in Scheme. And it's not because of the mindset, it's because different designs favor different outcomes.

    The CL community would have been outraged if we overcomplicated macros, while the Scheme community was grateful for safety they actually perceived a need for, in other words.

    So yes, "the master is which community you aim to serve". We agree on that. ๐Ÿ™‚

    ramin_hal9001@fe.disroot.orgR This user is from outside of this forum
    ramin_hal9001@fe.disroot.orgR This user is from outside of this forum
    ramin_hal9001@fe.disroot.org
    wrote last edited by
    #41

    @kentpitman@climatejustice.social I just want to say, I never had much of an opinion on hygienic macros, other than they seemed like a very good idea. But your explanation of why it isn't a big deal in Common Lisp, because namespaces and libraries prevent nearly all name collisions, was very convincing. And when you consider how complicated the Racket macro expander is, you start to wonder whether it is really worth all of that complexity to ensure a very particular coding problem never happens.

    @dougmerritt@mathstodon.xyz @screwlisp@gamerplus.org @cdegroot@mstdn.ca

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

      @wrog
      > but I can't see how more than 2 would ever be necessary for a copying GC

      It's not "necessary", it's "to make GC performance a negligeable percentage of overall CPU".

      It was about a theoretical worst case as I recall, certainly not about one particular algorithm.

      And IIRC it was actually a factor of 7 -- 5 is merely a good mnemonic which may be close enough. (e.g. perhaps 5-fold keeps overhead down to 10-20% rather than 7's 1%, although I'm making it up to give the flavor -- I haven't read the book for 10-20 years)

      But see the book (may as well use the second edition) if and when you care; it's excellent. Mandatory I would say, for anyone who wants to really really understand all aspects of garbage collection, including performance issues.

      @screwlisp @kentpitman @cdegroot @ramin_hal9001

      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
      #42

      @dougmerritt @screwlisp @kentpitman @cdegroot @ramin_hal9001

      Is this the book you're talking about?
      (sorry this was after my time in Scheme Land, hadn't heard of it before)

      Amazon.com

      favicon

      (www.amazon.com)

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

        @dougmerritt @screwlisp @kentpitman @cdegroot @ramin_hal9001

        Is this the book you're talking about?
        (sorry this was after my time in Scheme Land, hadn't heard of it before)

        Amazon.com

        favicon

        (www.amazon.com)

        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
        #43

        @wrog
        Yes, that's it. (And every time I've checked, it [in 1st & 2nd edition] is the only book ever dedicated to purely Garbage Collection)

        @screwlisp @kentpitman @cdegroot @ramin_hal9001

        1 Reply Last reply
        0
        • ramin_hal9001@fe.disroot.orgR ramin_hal9001@fe.disroot.org

          @kentpitman@climatejustice.social I just want to say, I never had much of an opinion on hygienic macros, other than they seemed like a very good idea. But your explanation of why it isn't a big deal in Common Lisp, because namespaces and libraries prevent nearly all name collisions, was very convincing. And when you consider how complicated the Racket macro expander is, you start to wonder whether it is really worth all of that complexity to ensure a very particular coding problem never happens.

          @dougmerritt@mathstodon.xyz @screwlisp@gamerplus.org @cdegroot@mstdn.ca

          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
          #44

          @ramin_hal9001
          Well, people used to take advantage of the freedom of the original unhygenic lisp macros to do all manner of unholy coding.

          @kentpitman @screwlisp @cdegroot

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

            @ramin_hal9001

            I'm not 100% positive I understand your use of constraint here, but I think it is more substantive than that. If you want to use the metaphor you've chosen, a haiku reaches close to theoretical minimum of what can be compressed into a statement, while a long-form essay does not. This metaphor is not perfect, though, and will lead astray if looked at too closely, causing an excess focus on differential size, which is not actually the key issue to me.
            I won't do it here, but as I've alluded to more than once I think on the LispyGopher show, I believe that it is possible to rigorously assign cost to the loss of expression between languages.

            That is, that a transformation of expressional form is not, claims of Turing equivalence notwithstanding, cost-free both in terms of efficiency and in terms of expressional equivalence of the language. It has implications (positive or negative) any time you make such changes.

            Put another way, I no longer believe in Turing Equivalence as a practical truth, even if it has theoretical basis.

            And I am pretty sure the substantive loss can be expressed rigorously, if someone cared to do it, but because I'm not a formalist, I'm lazy about sketching how to do that in writing, though I think I did so verbally in one of those episodes.

            It's in my queue to write about. For now I'll just rest on bold claims. ๐Ÿ™‚ Hey, it got Fermat quite a ways, right?

            But also, I had a conversation with ChatGPT recently where I convinced it of my position and it says I should write it up... for whatever that's worth. ๐Ÿ™‚

            cc @screwlisp @wrog @dougmerritt @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
            #45

            @kentpitman
            > That is, that a transformation of expressional form is not, claims of Turing equivalence notwithstanding, cost-free both in terms of efficiency and in terms of expressional equivalence of the language. It has implications (positive or negative) any time you make such changes.

            I hope everyone here is already clear that "expressiveness" is something that comes along on *top* of a language's Turing equivalence.

            Indeed Turing Machines (and pure typed and untyped lambda calculus and SKI combinatory calculus and so on) are all *dreadful* in terms of expressiveness.

            And for that matter, expressiveness can be on top of Turing incomplete languages. Like chess notation; people argue that the algebraic notation is more expressive than the old descriptive notation. (People used to argue in the other direction)

            @ramin_hal9001 @screwlisp @wrog @cdegroot

            ramin_hal9001@fe.disroot.orgR wrog@mastodon.murkworks.netW 2 Replies Last reply
            0
            • dougmerritt@mathstodon.xyzD dougmerritt@mathstodon.xyz

              @kentpitman
              > That is, that a transformation of expressional form is not, claims of Turing equivalence notwithstanding, cost-free both in terms of efficiency and in terms of expressional equivalence of the language. It has implications (positive or negative) any time you make such changes.

              I hope everyone here is already clear that "expressiveness" is something that comes along on *top* of a language's Turing equivalence.

              Indeed Turing Machines (and pure typed and untyped lambda calculus and SKI combinatory calculus and so on) are all *dreadful* in terms of expressiveness.

              And for that matter, expressiveness can be on top of Turing incomplete languages. Like chess notation; people argue that the algebraic notation is more expressive than the old descriptive notation. (People used to argue in the other direction)

              @ramin_hal9001 @screwlisp @wrog @cdegroot

              ramin_hal9001@fe.disroot.orgR This user is from outside of this forum
              ramin_hal9001@fe.disroot.orgR This user is from outside of this forum
              ramin_hal9001@fe.disroot.org
              wrote last edited by
              #46

              @dougmerritt@mathstodon.xyz yes, I am maybe a little unclear in what I wrote. I tend to take shortcuts when I write about Scheme that make it seem I am equating it to the untyped lambda calculus.

              I have heard of the Turing Tarpit. And I have inspected the intermediate representation of Haskell before (the Haskell Core), so I have seen first-hand that expressing things in lambda calculus makes the code almost impossible to understand.

              @kentpitman@climatejustice.social @screwlisp@gamerplus.org @wrog@mastodon.murkworks.net @cdegroot@mstdn.ca

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

                @kentpitman
                > That is, that a transformation of expressional form is not, claims of Turing equivalence notwithstanding, cost-free both in terms of efficiency and in terms of expressional equivalence of the language. It has implications (positive or negative) any time you make such changes.

                I hope everyone here is already clear that "expressiveness" is something that comes along on *top* of a language's Turing equivalence.

                Indeed Turing Machines (and pure typed and untyped lambda calculus and SKI combinatory calculus and so on) are all *dreadful* in terms of expressiveness.

                And for that matter, expressiveness can be on top of Turing incomplete languages. Like chess notation; people argue that the algebraic notation is more expressive than the old descriptive notation. (People used to argue in the other direction)

                @ramin_hal9001 @screwlisp @wrog @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
                #47

                @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                [..it's possible I'm missing the point, but I'm going to launch anyway...]

                I believe trying to define/formalize "expressiveness" is roughly as doomed as trying to define/formalize "intelligence". w.r.t. the latter, there's been nearly a century of bashing on this since Church and Turing and we're still no further along than "we know it when we see it"

                (and I STILL think that was Turing's intended point in proposing his Test, i.e., if you can fool a human into thinking it's intelligent, you're done; that this is the only real test we've ever had is a testament to how ill-defined the concept is...)

                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

                  [..it's possible I'm missing the point, but I'm going to launch anyway...]

                  I believe trying to define/formalize "expressiveness" is roughly as doomed as trying to define/formalize "intelligence". w.r.t. the latter, there's been nearly a century of bashing on this since Church and Turing and we're still no further along than "we know it when we see it"

                  (and I STILL think that was Turing's intended point in proposing his Test, i.e., if you can fool a human into thinking it's intelligent, you're done; that this is the only real test we've ever had is a testament to how ill-defined the concept is...)

                  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
                  #48

                  @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                  The point of Turing equivalence is that even though we have different forms for expressing algorithms and there are apparently vast differences in comprehensibility, they all inter-translate, so any differences in what can utltimately be achieved by the various forms of expression is an illusion. We have, thus far, only one notion of computability.

                  (which is not to say there can't be others out there, but nobody's found them yet)

                  2/11

                  wrog@mastodon.murkworks.netW screwlisp@gamerplus.orgS 2 Replies Last reply
                  0
                  • wrog@mastodon.murkworks.netW wrog@mastodon.murkworks.net

                    @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                    The point of Turing equivalence is that even though we have different forms for expressing algorithms and there are apparently vast differences in comprehensibility, they all inter-translate, so any differences in what can utltimately be achieved by the various forms of expression is an illusion. We have, thus far, only one notion of computability.

                    (which is not to say there can't be others out there, but nobody's found them yet)

                    2/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
                    #49

                    @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                    I believe expressiveness is a cognition issue, i.e., having to do with how the human brian works and how we learn. If you train yourself to recognize certain kinds of patterns, then certain kinds of problems become easier to solve.
                    ... and right there I've just summarized every mathematics, science, and programming curriiculum on the planet.

                    What's "easy" depends on the patterns you've learned. The more patterns you know, the more problems you can solve. Every time you can express a set of patterns as sub-patterns of one big super-pattern small enough to keep in your head, that's a win.

                    I'm not actually sure there's anything more to "intelligence" than this.

                    3/11

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

                      @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                      The point of Turing equivalence is that even though we have different forms for expressing algorithms and there are apparently vast differences in comprehensibility, they all inter-translate, so any differences in what can utltimately be achieved by the various forms of expression is an illusion. We have, thus far, only one notion of computability.

                      (which is not to say there can't be others out there, but nobody's found them yet)

                      2/11

                      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
                      #50

                      @wrog

                      A New Kind Of Science

                      @dougmerritt @kentpitman @ramin_hal9001 @cdegroot

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

                        @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                        I believe expressiveness is a cognition issue, i.e., having to do with how the human brian works and how we learn. If you train yourself to recognize certain kinds of patterns, then certain kinds of problems become easier to solve.
                        ... and right there I've just summarized every mathematics, science, and programming curriiculum on the planet.

                        What's "easy" depends on the patterns you've learned. The more patterns you know, the more problems you can solve. Every time you can express a set of patterns as sub-patterns of one big super-pattern small enough to keep in your head, that's a win.

                        I'm not actually sure there's anything more to "intelligence" than this.

                        3/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
                        #51

                        @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                        I still remember trying to teach my dad about recursion.

                        He was a research chemist. At some point he needed to do some hairy statistical computations that were a bit too much for the programmable calculators he had in his lab. Warner-Lambert research had just gotten some IBM mainframe -- this was early 1970s, and so he decided to learn FORTRAN -- and he became one of their local power-users.

                        Roughly in the same time-frame, 11-year-old me found a DEC-10 manual one of my brothers had brought home from college. It did languages.

                        Part 1 was FORTRAN.
                        Part 2 was Basic.

                        But it was last section of the book that was the acid trip.

                        Part 3 was about Algol.

                        4/11

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

                          @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                          I still remember trying to teach my dad about recursion.

                          He was a research chemist. At some point he needed to do some hairy statistical computations that were a bit too much for the programmable calculators he had in his lab. Warner-Lambert research had just gotten some IBM mainframe -- this was early 1970s, and so he decided to learn FORTRAN -- and he became one of their local power-users.

                          Roughly in the same time-frame, 11-year-old me found a DEC-10 manual one of my brothers had brought home from college. It did languages.

                          Part 1 was FORTRAN.
                          Part 2 was Basic.

                          But it was last section of the book that was the acid trip.

                          Part 3 was about Algol.

                          4/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
                          #52

                          @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                          This was post-Algol-68, but evidently the DEC folks were not happy with Algol-68 (I found out later *nobody* was happy with Algol-68), so ... various footnotes about where they deviated from the spec; not that I had any reason to care at that point.

                          I encountered the recursive definition of factorial and I was like,

                          "That can't possibly work."

                          (the FORTRAN and Basic manuals were super clear about how each subprogram has its dedicated storage; calling one while it was still active is every bit an error like dividing by zero. You're just doing it wrong...)

                          5/11

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

                            @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                            This was post-Algol-68, but evidently the DEC folks were not happy with Algol-68 (I found out later *nobody* was happy with Algol-68), so ... various footnotes about where they deviated from the spec; not that I had any reason to care at that point.

                            I encountered the recursive definition of factorial and I was like,

                            "That can't possibly work."

                            (the FORTRAN and Basic manuals were super clear about how each subprogram has its dedicated storage; calling one while it was still active is every bit an error like dividing by zero. You're just doing it wrong...)

                            5/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
                            #53

                            @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                            Then there was the section on call-by-name (the default parameter passing convention for Algol)

                            ... including a half page on Jenson's Device, that, I should note, was presented COMPLETELY UN-IRONICALLY because this was still 1972,

                            as in, "Here's this neat trick that you'll want to know about."

                            And my reaction was, "WTFF, why???"

                            and also, "That can't possibly work, either."

                            Not having any actual computers to play with yet, that was that for a while.

                            Some years later, I got to college and had my first actual programming course...

                            6/11

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

                              @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                              Then there was the section on call-by-name (the default parameter passing convention for Algol)

                              ... including a half page on Jenson's Device, that, I should note, was presented COMPLETELY UN-IRONICALLY because this was still 1972,

                              as in, "Here's this neat trick that you'll want to know about."

                              And my reaction was, "WTFF, why???"

                              and also, "That can't possibly work, either."

                              Not having any actual computers to play with yet, that was that for a while.

                              Some years later, I got to college and had my first actual programming course...

                              6/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
                              #54

                              @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                              ... in Pascal.. And there I finally learned about and was able to get used to using recursion.

                              Although I'd say I didn't *really* get it until the following semester taking the assembler course and learning about *stacks*.

                              It was like recursion was sufficiently weird that I didn't really want to trust it until/unless I had a sense of what was actually happening under the hood,

                              And THEN it was cool.

                              7/11

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

                                @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                                ... in Pascal.. And there I finally learned about and was able to get used to using recursion.

                                Although I'd say I didn't *really* get it until the following semester taking the assembler course and learning about *stacks*.

                                It was like recursion was sufficiently weird that I didn't really want to trust it until/unless I had a sense of what was actually happening under the hood,

                                And THEN it was cool.

                                7/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
                                #55

                                @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                                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

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

                                  @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                                  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

                                  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
                                  #56

                                  @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                                  And, to be fair, by then, he had changed jobs/companies, moved up to the bottom tier of management, wasn't using The Computer anymore, so maybe the interest had waned.

                                  But it struck me that I was never able to get past showing him the factorial function and,

                                  "That can't possibly work."

                                  He had basically accepted the FORTRAN model of things and that was that.

                                  Later, when he retired he got one of the early PC clones and then spent vast amounts of time messing with spreadsheets.

                                  9/11

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

                                    @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                                    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

                                    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
                                    #57

                                    @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                                    You may say that untyped lambda calculus and SKI combinatory calculus and so on) are all *dreadful* in terms of expressiveness, and I will probably agree,

                                    ... but it also seems to me that Barendregt got pretty good at it.

                                    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),

                                    ... but at the same time, it's *still* the case that if I need to write a one-liner to do something, chances are, I'll be doing it in Perl, and I've heard people complain about *that* language being essentially write-only line-noise.

                                    10/11

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

                                      @dougmerritt @kentpitman @ramin_hal9001 @screwlisp @cdegroot

                                      You may say that untyped lambda calculus and SKI combinatory calculus and so on) are all *dreadful* in terms of expressiveness, and I will probably agree,

                                      ... but it also seems to me that Barendregt got pretty good at it.

                                      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),

                                      ... but at the same time, it's *still* the case that if I need to write a one-liner to do something, chances are, I'll be doing it in Perl, and I've heard people complain about *that* language being essentially write-only line-noise.

                                      10/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
                                      #58

                                      @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

                                      screwlisp@gamerplus.orgS ramin_hal9001@fe.disroot.orgR wrog@mastodon.murkworks.netW 3 Replies 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

                                        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
                                        #59

                                        @wrog
                                        Thank-you for the wonderful autobiography!
                                        @dougmerritt @kentpitman @ramin_hal9001 @cdegroot

                                        dougmerritt@mathstodon.xyzD 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

                                          ramin_hal9001@fe.disroot.orgR This user is from outside of this forum
                                          ramin_hal9001@fe.disroot.orgR This user is from outside of this forum
                                          ramin_hal9001@fe.disroot.org
                                          wrote last edited by
                                          #60

                                          @wrog@mastodon.murkworks.net your story about learning recursion in Algol reminded me of a story that was told about how Edsger Dijkstra influenced the Algol spec (through a personal conversation with I think John Bakus) to include what we now understand as a "function call," by specifying the calling convention for how the stack must be modified before the subroutine call and after the return. I first heard the story in a YouTube video called, "How the stack got stacked".

                                          Regarding "expressiveness," you do make a good point about it (possibly) being fundamentally a subjective thing, like "intelligence." Personally, I never felt the restrictions in Haskell made it any less expressive as a language.

                                          It is interesting how you can express some incredibly complex algorithms with very few characters in APL. Reducing function names to individual symbols and applied as operators does make the language much more concise, but is "concise" a necessary condition for "expressive?"

                                          @dougmerritt@mathstodon.xyz @kentpitman@climatejustice.social @screwlisp@gamerplus.org @cdegroot@mstdn.ca

                                          dougmerritt@mathstodon.xyzD 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