You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Instantly share code, notes, and snippets.
🐴
everything happens so much oh no
Quil
robotlolita
🐴
everything happens so much oh no
PL designer ● Artist ● Writer ● I like cute things and cats
There are so many great GIFs out there and I want to have copies of them. Twitter makes that harder than it should be by converting them to MP4 and not providing access to the source material. To make it easier, I made a bash pipeline that takes a tweet URL and a filename, extracts the MP4 from that tweet and uses ffmpeg to convert back to GIF.
The Racket platform provides a robust set of tools for developing languages, mostly centered around the macro system and the #lang protocol, which allows providing arbitrary readers to convert text input to syntax objects representing Racket modules. The REPL is a bit more complicated, however, because it has different rules—each expression needs to be dynamically read, assigned lexical context, expanded, compiled, evaluated, and printed, all in real time. (In that sense, perhaps the phrase “REPL” oversimplifies what Racket is doing, but that’s a separate conversation.)
So how does Racket accommodate this in the face of completely arbitrary user-defined languages, some of which may not even support interactive evaluation in a traditional sense? Racket mostly solves this problem by having a related but distinct set of protocols for managing runtime interactions that operates alongside #lang.
working debugger with pure JavaScript state machine transform
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
A delayed computation is a function that will do some computation
when called. Because of the delayed nature the computation may
be asynchronous so the function takes a callback.
Note: the term "delayed computation" is just a temporary name
so we can talk about this idea, I do not recommend using this
name as it's a) confusing and b) this concept is hard to name.
Correctness and runtime of mergesort, insertion sort and selection sort.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
On module systems in general, and AMD/CommonJS in particular: simplicity, community, etc.
On the performance implications of real-world applications with Promises/A+ for abstracting over asynchronous computations.
How command line interfaces usually suck beyond anything, and what we could do to get back the UNIX philosophy and more simplicity.
A short introduction to programming language theory and programming language design. Parsing, semantics, formal syntaxes, interpreters, optimizers and compilers.
Elegance. A pure, declarative language for writing documents (HTML/XML/etc.)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters