Elektrine lite

← Feed

raganwald.com

raganwald@functional.cafe

<p>Reg &quot;raganwald&quot; Braithwaite&#39;s account for discussing functional programming and shamelessly plugging essays about programming.</p><p>Follows are NOT endorsements. This account often follows back, and unappealing content happens to be noticed, this account may mute locally instead of unfollowing.</p><p>Flying, careers, society and other stuff is over on @raganwald@social.bau-ha-us.</p>

Posts

  • View post

    Concatenative Combinators aren’t a #concatenativelanguage in the strict sense. Although it’s true that any two valid programs catenated together form a valid program, it is not true that any bisection of a program results in two valid programs. This is because concatenative combinators includes quotations, which makes it a Dyck Language. The correct rules are that 1. Inserting any valid program into another valid program results in a valid program. This includes inserting at the end or the beg...

  • View post

    In days of yore, it was common to ask junior programmers a &quot;fizzbuzz&quot; question to test extremely basic ability to write code. One such question was, “Write a function that takes as its argument a string, and returns whether the string contains balanced parentheses.” https://raganwald.com/2018/11/14/dyck-joke.html

  • View post

    @sitcom_nemesis “A language that doesn&amp;#39;t affect the way you think about programming, is not worth knowing.” —Dr. Alan J. Perlis https://www.cs.yale.edu/homes/perlis-alan/quotes.html

  • View post

    One step closer to writing the words of my next blog post. The theme is &amp;quot;balanced parentheses, but generating them, not recognizing them.&amp;quot; I now have an implementation of generators for simple BP (aka &amp;quot;Dyck-1 languages&amp;quot;) and Typed BP (aka &amp;quot;Dyck 2+ languages&amp;quot;): https://gist.github.com/raganwald/31f12e78d47a69d44f3ebe172b64e803 The first 19 words output by the typed generator with pairs &amp;quot;()&amp;quot;, &amp;quot;[]&amp;quot;, and &am...

  • View post

    One of the finest things ever written abut the state of computing... And an excellent shaggy dog story: “The Emperor&amp;#39;s Old Clothes,” Dr. Tony Hoare&amp;#39;s 1980 Turing Award lecture. http://pascal.hansotten.com/uploads/hoare/The%20Emperor&amp;#39;s%20Old%20Clothes.pdf

  • View post

    A fresh result in the pursuit of finding something interesting about &amp;quot;balanced parentheses.&amp;quot; Having already sorted out how to generate every finite balanced parentheses string, we now can parse a string and determine if it is balanced with recursion. https://github.com/raganwald/balanced-parentheses/blob/main/src/typed-dyck.test.ts#L57

  • View post

    &amp;quot;Code should be written to be verified, and only incidentally to be executed&amp;quot; Proposition: Code written in functional languages is both intrinsically and extrinsically more verifiable. Intrinsically because of idempotency. Extrinsically because social forces happen to have resulted in code written in languages like Elixir to contain patterns that are easier to model. The attached opinion piece suggests this makes them better languages for LLMs. But that also makes them better...

  • View post

    RE: https://social.bau-ha.us/@raganwald/116261952487728203 My author is at it again.

  • View post

    Try APL in your browser! But first, a little motivation to get you started: Game of Life in APL. Pay attention to how interactive APL programming is completely different from other ✌🏽dynamic✌🏽 languages like Ruby or JavaScript. It&amp;#39;s much more like Smalltalk or LISP. https://m.youtube.com/watch?v=a9xAKttWgP4 Now try it for yourself: https://tryapl.org/

  • View post

    A very famous cover illustrated by Robert Frank Tinney (1947 - 2026). The mass adoption of OOP was the result of many interlocking changes, but this cover of this issue of Byte did a great deal to popularize Smalltalk and contemporaneous OO languages. This issue led me to installing Digitalk&amp;#39;s Smalltalk/V, and also to learning all about commands, undo, redo, and Object Pascal. Thank you, Robert. Others may have done the engineering that captured my interest, but your illustration captu...

  • View post

    “A Conversation with Alan Kay” (2004) Contains his famous ’programming is a pop culture’ quote and his perspective on the tenuous relationship between success and perceived merit in the software industry. https://queue.acm.org/detail.cfm?id=1039523

  • View post

    It was once fashionable to ask &amp;quot;pet&amp;quot; interview questions of software engineers. These questions usually demanded that the applicant know—or figure out on the fly—some algorithm with an intermediate- or advanced technique, like recursion. One variation on the &amp;quot;pet question&amp;quot; interview would seem to ask for an algorithm, but in actuality there would be a quick-and-dirty &amp;quot;hack&amp;quot; such as using a regex to perform replacements in a text file. &amp...

  • View post

    “Learn Lisp the Hard Way,” 2nd draft, last updated in 2022. https://llthw.common-lisp.dev #lisp #commonLisp

  • View post

    Postmodernist Programming: “Emulating GOTO in Scheme with continuations” https://terezi.pyrope.net/ccgoto/

  • View post

    Espresso Ristretto. I miss CoffeeScript, I was very fond of that language and the lovely experience of working with CoffeeScript, Backbone, and even jQuery during a time when interfaces were considerably more CRUD-forward. https://raganwald.com/assets/books/coffeescript-ristretto.pdf