A modern supercompiler for call-by-value functional languages
https://github.com/mazeppa-dev/mazeppa
https://github.com/mazeppa-dev/mazeppa
GitHub
GitHub - mazeppa-dev/mazeppa: A modern supercompiler for call-by-value functional languages
A modern supercompiler for call-by-value functional languages - mazeppa-dev/mazeppa
👍7🔥2
EGRAPHS Community
E-graphs are data structures for working with large equivalence classes of programs; they have recently been employed to build new kinds of program optimizers and synthesizers.
https://egraphs.org/
E-graphs are data structures for working with large equivalence classes of programs; they have recently been employed to build new kinds of program optimizers and synthesizers.
https://egraphs.org/
egraphs.org
EGRAPHS
The EGRAPHS community discusses e-graphs and related technologies for program optimization, verification, and synthesis.
🔥1
Compiling to categories
http://conal.net/papers/compiling-to-categories/
http://conal.net/papers/compiling-to-categories/
conal.net
Compiling to categories
👍1
Abstract Interpretation: From 0, 1, To ∞
https://cs.nyu.edu/~pcousot/publications.www/CSV-2023-cousot.pdf
https://cs.nyu.edu/~pcousot/publications.www/CSV-2023-cousot.pdf
Can we build an optimal processor?
https://twitter.com/VictorTaelin/status/1806690584670679387
https://twitter.com/VictorTaelin/status/1806690584670679387
X (formerly Twitter)
Taelin (@VictorTaelin) on X
Can we build an optimal processor?
In 1990, Lamping proved optimal λ-calculus evaluation can only be done via graphical interaction systems, because, for any order of evaluation (in a syntax tree), there is a sub-optimal counter-example.
In 1997, Lafont…
In 1990, Lamping proved optimal λ-calculus evaluation can only be done via graphical interaction systems, because, for any order of evaluation (in a syntax tree), there is a sub-optimal counter-example.
In 1997, Lafont…
C++ Design Patterns for Low-Latency Applications
https://hackaday.com/2024/07/13/c-design-patterns-for-low-latency-applications/
https://hackaday.com/2024/07/13/c-design-patterns-for-low-latency-applications/
Hackaday
C++ Design Patterns For Low-Latency Applications
With performance optimizations seemingly having lost their relevance in an era of ever-increasing hardware performance, there are still many good reasons to spend some time optimizing code. In a re…
🔥4
Metamorphosis grammars
https://link.springer.com/chapter/10.1007/BFb0031371
https://link.springer.com/chapter/10.1007/BFb0031371
SpringerLink
Metamorphosis grammars
We present some very general grammars in which each re-writing rule is of the type: “replace such and such sequence of trees by such and such another sequence of trees”. Within the framework of programming in first-order logic, we propose axioms for these...
Delimited continuations in byte-code and native OCaml
https://github.com/zinid/delimcc
https://github.com/zinid/delimcc
GitHub
GitHub - zinid/delimcc: Delimited continuations in byte-code and native OCaml
Delimited continuations in byte-code and native OCaml - zinid/delimcc
A Linux kernel syscall implementation tracker
https://syscalls.mebeim.net/?table=x86/64/x64/latest
https://syscalls.mebeim.net/?table=x86/64/x64/latest
syscalls.mebeim.net
Linux syscall tables
High-quality browsable Linux kernel syscall tables for multiple architectures
🔥7
Abstract interpretation in the Toy Optimizer
https://bernsteinbear.com/blog/toy-abstract-interpretation/
https://bernsteinbear.com/blog/toy-abstract-interpretation/
Max Bernstein
Abstract interpretation in the Toy Optimizer
CF Bolz-Tereick wrote some excellent posts in which they introduce a small IR and optimizer and extend it with allocation removal. We also did a live stream together in which we did some more heap optimizations.
👍1
Reduction of Language Hierarchies
https://www.researchgate.net/publication/2819049_Reduction_of_Language_Hierarchies
https://www.researchgate.net/publication/2819049_Reduction_of_Language_Hierarchies
ResearchGate
(PDF) Reduction of Language Hierarchies
PDF | We study the structure of language hierarchies and their reduction by two forms of metacomputation in order to overcome the time and space... | Find, read and cite all the research you need on ResearchGate
👍1
jot2022-mvs.pdf
600.7 KB
Implementation Strategies for Mutable Value Semantics
The Functional Machine Calculus
https://arxiv.org/abs/2212.08177
https://arxiv.org/abs/2212.08177
arXiv.org
The Functional Machine Calculus
This paper presents the Functional Machine Calculus (FMC) as a simple model of higher-order computation with "reader/writer" effects: higher-order mutable store, input/output, and probabilistic...
🤯3
Crafting Interpreters
https://craftinginterpreters.com/contents.html
https://craftinginterpreters.com/contents.html
👍5
Guix Tips and Common Mistakes
https://lambdanil.github.io/Guix_Mistakes/
https://lambdanil.github.io/Guix_Mistakes/
λ blog
Guix Tips and Common Mistakes
I have spent some time in online spaces dedicated to the discussion of Guix. As such, I am familiar with a lot of the mistakes new Guix users make, and I would like to go over some of the most common ones now. Please note that this list isn't final...
👍1
The Linux Kernel Module Programming Guide
https://sysprog21.github.io/lkmpg/
https://sysprog21.github.io/lkmpg/
🔥2🤔1
The Best Refactoring You've Never Heard Of
https://www.youtube.com/watch?v=vNwukfhsOME
https://www.youtube.com/watch?v=vNwukfhsOME
YouTube
The Best Refactoring You’ve Never Heard Of
Compose NYC 2019
Speaker: James Koppel
Every problem can be solved by many designs. Often the relation between two designs is that one is a transformation of another. When we understand how to mechanically transform designs, we can more easily explore the…
Speaker: James Koppel
Every problem can be solved by many designs. Often the relation between two designs is that one is a transformation of another. When we understand how to mechanically transform designs, we can more easily explore the…