miniblog.

Elixir has a canonical tree-sitter parser! https://github.com/elixir-lang/tree-sitter-elixir This is the first 'official' tree-sitter parser for a PL I've seen.
The PHP 1.0 announcement has aged pretty well! Rasmus focuses on simplicity, how little you need to get started, and the things you can build. This convenience and pragmatism has been a major factor in PHP's success.
Photo
ASCII strings are so convenient. Byte length and character (grapheme) length are the same, and display length is simple too (tabs are the main fiddly bit). As soon as you have Unicode, you need to distinguish these and use non-trivial libraries!
An introduction to polyhedral compilation, with a worked example showing how you compute relevant linear transforms: https://www.youtube.com/watch?v=iAF-orse4hE
TIL that Prolog has a notion of a functor! https://www.cse.unsw.edu.au/~billw/dictionaries/prolog/functor.html In true PL style it has a different meaning from the Haskell, OCaml and C++ terminology.
Icon is a programming language with an interesting backtracking evaluation model I've not seen before: https://www2.cs.arizona.edu/icon/intro.htm
I'm not sure how I feel about languages with auto currying. Upside: Partial application is easy. Downside: It's common to miss a parameter when refactoring, and errors can be unclear. Upside: You can be generic on functions: a -> b. Downside: An a -> b isn't very useful.
TIL that Haskell does not complain about incomplete pattern matches by default! https://stackoverflow.com/questions/31866379/non-exhaustive-pattern-matching-in-haskell
It's great to see that rustc is getting faster over time! Source:
Photo
Exodus: a neat tool that can convert dynamically linked binaries to self-contained static binaries that work on pretty much any Linux machine! https://github.com/intoli/exodus
Using GitHub's Copilot to automatically generate descriptions of code in English! Some of the examples are really impressive, others less so. The regex example is particularly compelling. https://github.com/github/feedback/discussions/8308
I really like the idea of using deliberately ugly syntax when proposing a language feature. You avoid bikeshedding when you're figuring out the basic design. I don't know why this is so rare. Bikeshedding can be exhausting, especially when a design is young.
I've released difftastic 0.13! In this release: * Added support for Bash, Common Lisp and Ruby * Improved C, CSS, JS, JSON, TS and plain text in comments * A bunch of new explanatory screenshots in the README
Photo Photo
I've had bug reports from people compiling difftastic on both OpenIndiana and Windows! It's kinda neat, and so far the build fixes have been straightforward.
Optimising fizzbuzz with hand-written x86-64 assembly and AVX2: https://codegolf.stackexchange.com/a/236630 I guess it was only a matter of time, but it's an impressive achievement: 31GB/second!
Adding LLVM control flow integrity to make exploits harder is coming to Rust: https://rcvalle.com/docs/rust-cfi-design-doc.pdf The primary use case is mixing C/C++ with Rust: you have weaker memory safety guarantees and hardening is still necessary. You don't want a partial Rust port to reduce security!
Devious regexp trick I've not seen before: [^] Negating the empty set matches any character, which lets you emulate DOTALL (i.e. a . matches newlines too) on older regexp implementations. https://stackoverflow.com/a/47317639/509706
Explaining syntax-aware diffing is tricky, so I'm trying to add some compelling screenshots to the difftastic readme. They need to demonstrate weaknesses in text diffing, and be small enough to be mobile friendly. Here's the current examples.
Photo Photo Photo Photo
Excellent summary on the problems that tree-sitter solves, how it differs from LSP, and why it's such a great fit for editors: https://www.masteringemacs.org/article/tree-sitter-complications-of-parsing-languages I'm regularly impressed by how many parsers are available and how accurate they are.
The gopher logo for Go gets reused in so many project logos. It's a really fun community trend that I haven't seen for PLs with more abstract logos.
Showing 881-900 of 7,508 posts