Out of the Tar Pit by Ben Moseley & Peter Marks

Published: April 1, 2023, 5:36 p.m.

b'

Out of the Tar Pit is in the grand pantheon of great papers, beloved the world over, with just so much influence. The resurgence of Functional Programming over the past decade owes its very existence to the Tar Pit\\u2019s snarling takedown of mutable state, championed by Hickey & The Cloj-Co. Many a budding computational philosophizer \\u2014\\xa0both of yours truly counted among them \\u2014 have been led onward to the late great Bro86 by this paper\\u2019s borrow of his essence and accident. But is the paper actually good? Like, really \\u2014 is it that good? Does it hold up to the blinding light of hindsight that 2023 offers? Is this episode actually an April Fools joke, or is it a serious episode that Ivan just delayed by a few weeks because of life circumstances and his own incoherent sense of humour? I can\\u2019t tell.

\\n

Apologies in advance. Next time, we\\u2019re going back to our usual format to discuss Intercal.

\\n

Links

\\n
    \\n
  • \\n

    Before anything else, we need to link to Simple Made Easy. If you don\\u2019t know, now you know! It\\u2019s a talk by Rich Hickey (creator of Clojure) that, as best as I can tell, widely popularized discussion of simplicity and complexity in programming, using Hickey\\u2019s own definitions that built upon the Tar Pit paper. Ignited by this talk, with flames fanned by a few others, as functional programming flared in popularity through the 2010s, the words \\u201csimple\\u201d, \\u201ceasy\\u201d, \\u201ccomplex\\u201d, and \\u201creason about\\u201d became absolutely raging memes.

    \\n
  • \\n
  • \\n

    We also frequently reference Fred Brooks and his No Silver Bullet. Our previous episode has you covered.

    \\n
  • \\n
  • \\n

    The two great languages of the early internet era: Perl & TcL

    \\n
  • \\n
  • \\n

    For more on Ivan\\u2019s \\u201cBLTC paradise-engineering wombat chocolate\\u201d, see our episode on Augmenting Human Intellect, if you dare.

    \\n
  • \\n
  • \\n

    For more on Jimmy\\u2019s \\u201cSatoshi\\u201d, see Satoshi Nakamoto, of course.

    \\n
  • \\n
  • \\n

    And for Anonymous, go on.

    \\n
  • \\n
  • \\n

    Enemy of the State \\u2014 This film slaps.

    \\n
  • \\n
  • \\n

    \\u201cSome people prefer not to commingle the functional, lambda-calculus part of a language with the parts that do side effects. It seems they believe in the separation of Church and state.\\u201d \\u2014\\xa0Guy Steele

    \\n
  • \\n
  • \\n

    \\u201cmy tempo\\u201d

    \\n
  • \\n
  • \\n

    FoC Challenge: Brooks claimed 4 evils lay at the heart of programming \\u2014 Complexity, Conformity, Changeability, and Invisibility. Could you design a programming that had a different set of four evils at the heart of it? (Bonus: one of which could encompass the others and become the ur-evil)

    \\n
  • \\n
  • \\n

    The paper introduces something called Functional Relational Programming, abbreviated FRP. Note well, and do not be confused, that there is a much more important and common term that also abbreviates to FRP: Family Resource Program. Slightly less common, but yet more important and relevant to our interests as computer scientists, is the Fluorescence Recovery Protein in cyanobacteria. Less abundant, but again more relevant, is Fantasy Role-Playing, a technology with which we\\u2019ve all surely developed a high degree of expertise. For fans of international standards, see ISO 639-3 \\u2014 the\\xa0Franco-Proven\\xe7al language, represented by language code frp. As we approach the finality of this paragraph, I\\u2019ll crucially point out that \\u201cFRP\\u201d, when spoken aloud all at once at though it were a word, sounds quite like the word frp, which isn\\u2019t actually a word \\u2014\\xa0you\\u2019ve fallen right into my trap. Least importantly of all, and also most obscurely, and with only minor interest or relevance to listeners of the podcast and readers of this paragraph, we have the Functional Reactive Programming paradigm originally coined by Conor Oberst and then coopted by rapscallions who waste time down by the pier playing marbles.

    \\n
  • \\n
  • \\n

    FoC Challenge: Can you come up with a programming where informal reasoning doesn\\u2019t help? Where you are lost, you are without hope, and you need to get some kind of help other than reasoning to get through it?

    \\n
  • \\n
  • Linear B
  • \\n
  • LinearB
  • \\n
  • Intercal
  • \\n
  • \\n

    Esolangs

    \\n
  • \\n
  • FoC Challenge: Can you come up with a kind of testing where using a particular set of inputs does tell you something about the system/component when it is given a different set of inputs?
  • \\n
\\n
    \\n
  • \\n

    It was not Epimenides who said \\u201cYou can\\u2019t dip your little toesies into the same stream\\u201d two times \\u2014 presumably because he only said it once.

    \\n
  • \\n
  • \\n

    Zig has a nicely explicit approach to memory allocation.

    \\n
  • \\n
  • \\n

    FoC Challenge: A programming where more things are explicit \\u2014 building on the example of Zig\\u2019s explicit allocators.

    \\n
  • \\n
  • \\n

    Non-ergonomic, Non-von Neumann, Nonagon Infinity

    \\n
  • \\n
  • One of Ivan\\u2019s favourite musical acts of the 00s is the ever-shapeshifting Animal Collective \\u2014 of course \\U0001f644. If you\\u2019ve never heard of them, the best album to start with is probably the avant-pop Feels, though their near-breakthrough was the loop-centric Merriweather Post Pavilion, and Ivan\\u2019s personal favourite is, as of this writing, the tender psychedelic folk of Prospect Hummer.
  • \\n
\\n

Jimmy\\u2019s Philosophy Corner

\\n\\n

Music featured in this episode:

\\n
    \\n
  • Jimmy\\u2019s Philosophy Corner got a new stinger. No link, sorry. Why does this feel like a changelog?
  • \\n
\\n

Get in touch, ask us questions, send us old family recipes:

\\n\\n

https://futureofcoding.org/episodes/063

See omnystudio.com/listener for privacy information.

'