Skip to content

Instantly share code, notes, and snippets.

raiph / .md
Last active Aug 3, 2022
Raku's "core"
View .md

This article drills down to Raku's core: a metamodel ("model of a model") of a model of computation ("how units of computations, memories, and communications are organized") that is actor model semantics "ready".1


Then mathematical neatness became a goal and led to pruning some features from the core of the language. ... Another way to show that LISP was neater than Turing machines was to write a universal LISP function and show that it is briefer and more comprehensible than the description of a universal Turing machine.

— John McCarthy, History of Lisp

Many presume the mathematical theory of functions (or exact equivalents like lambda calculus) is an adequate computation primitive.

raiph / .md
Last active Jul 1, 2022
Nice looking (but complicated to code and not accessible for blind) footnoted links for Reddit, SO, GH gists. (View raw to see underlying markdown.)
View .md

To future me and any other readers:

  • The Reddit rendering (which you should see if you click the foregoing link) of this gist's underlying markdown hopefully renders the footnotes in the Reddit footnotes bullet below such that they look the same style as seen in the StackOverflow footnotes bullet of the GH gist rendering of this gist. I say "hopefully" in the sense they do look the same using my laptop as I write this in Feb 2022, and in the sense I'm hoping it'll remain that way. But of course things might look different on your system, and any of these platforms can change their rendering at any time.
  • Use this footnote approach if you like, but it's complicated, and, worse, probably horrible for the blind, and, worst of
raiph / .md
Created Jul 1, 2022
Dimash official YT channel subscriber count growth
View .md

​ @A moment with Musasia 😍

This comment is mostly just somewhere to store some info. It may well interest no one else but me.

In my above comment I wrote "His official YT channel had grown to about a million subscribers about a year ago. I think it's now approaching 2 million". I realized after I'd written it that I was quite unsure about the exact number a year ago. So I investigated. It turns out it is approaching 2M but was about 1.3M a year ago, not 1M. This comment corrects the record with the summary I just gave plus a ridiculous amount of detail below that will almost certainly interest no one but me.

Before I get to the hard data, let me say a bit about where I'm coming from.

View gist:ce552c18af72f9609eaef1c2eb39a2ba
Find a life worth enjoying
Take risks
Love deeply
Have no regrets
raiph / .md
Created Apr 30, 2022
Longevity diet
View .md
raiph / .md
Last active Jan 29, 2022
View .md

"a quasi is like a little templating language for the raku code"

Please consider choosing a word other than quasi. Using quasi introduces conceptual complexity that is unnecessary and, imo, harmful. Given that what it does is a "Transform of a syntax template" with the transform being "To AST", please consider one or more of ToAST, toAST, and/or toast, and perhaps encourage the lie-to-children simplicity of "template of AST".

raiph /
Last active Jan 22, 2021
trans DWEM

What this is

My documentation of P6's .trans routine for anyone who reads it.

It may be a step toward updating the official doc and/or cleaning up the relevant spec tests and/or functionality.

I have tried to be clear enough that a future me will be able to make sense of it, and hopefully anyone else who reads this.

It's supposedly exhaustive (definitely exhausting!).

raiph / .md
Last active Aug 7, 2020
2009/2013 papers: The Power of Interoperability: Why Objects Are Inevitable
View .md

Let us first consider the theory of how modular extension facilitates software evolution. The need for a software system to support new, unanticipated implementations of an abstraction was discussed in Parnas’s seminal paper on the criteria to be used in decomposing systems into modules. Parnas’s argument has become a pillar of software design: nearly all software must change over time, so a software system should be decomposed in a way that hides (i.e. isolates) decisions that are likely to change. The implication is that when change comes, it can be accommodated by providin a new implementation of the abstraction captured by the module’s interface. So extension is important for facilitating software evolution. However, is the interoperability of extensions necessary in practice, beyond examples such as widgets?

What if that notion is applied to a PL -- or, more to the point, a metalanguage?

View gist:ad0c6019a285805d3131f1ebf7c64717
What I'm starting with
Toshiba Satellite Pro C50-A-1E0
455GB drive
DVD RW drive
Celeron 1005M @ 1.9GHz, 64 bit