LLVM for Grad Students (2015)
LLVM is a godsend of a research tool. Here are some detailed notes on what LLVM is, why you would want to use it for research, and how to get started as a compiler hacker.
The latest blog posts to take off on Hacker News. 361 posts.
LLVM is a godsend of a research tool. Here are some detailed notes on what LLVM is, why you would want to use it for research, and how to get started as a compiler hacker.
‘Monadic Parsing in Haskell’ is a short paper that laid the groundwork for libraries like Parsec and Attoparsec. Although it was published in 1998 (almost 20 years ago!) it has aged gracefully and the code samples will run with almost no changes. However, the state of the art has advanced since then and I think the…
In this brief post I want to discuss a fairly unusual feature of Haskell - functions that can be parameterized by their return type.
Today we're proud to announce the release of TypeScript 2.7! If you're not familiar with TypeScript, it's a language that brings optional static types to
The paradigms of programming Floyd, CACM 1979 (Also available in ) A couple of weeks ago we looked at Dan Bernstein’s very topical “thoughts on security after ten years of qmail 1.0.” From the gene…
Here’s a bit of code from Kernighan’s and Ritchie’s seminal text, The C Programming Language . I’m not sure I’d actually recommend coding this way (as written in the book, the entire program has only one comment), but it’s so darn clever and concise, I can’t help but post it. This snippet is part of a larger program…
Last week I jokingly said that POPL papers must pass an ‘intellectual intimidation’ threshold in order to be accepted. That’s not true of course, but it is the case that programming languages paper…
Date: 2018-01-25 Git: https://gitlab.com/mort96/blog/blob/published/content/00000-home/00010-obscure-c-features.md
After noticing a worrying pattern in Gitaly's performance, we uncovered an issue with fork locking affecting virtual memory size. Here's how we figured out the problem and how to fix it.
This pattern is pretty common if you are interacting with Operating System APIs . Another example .
Andrew Shitov made my day with his It’s time for optimism blog post, in which he talks about some random things related to Perl 6 and its future. Well, not entirely random: the impetus for th…
Rust is considered difficult to learn by many people. Indeed, when I learned it, I considered it to be the hardest programming language up to that time I’ve met. And that says something, since I have a habit of learning whatever language I find interesting. Looking back, I’m not sure I was correct, C++ is probably…
Here's a Forth program debugged in KDevelop – a graphical debugger without Forth support:
Extend the switch statement so that it can be used as either a statement or an expression, and that both forms can use either a "traditional" or "simplified" scoping and control flow behavior. These changes will simplify everyday coding, and also prepare the way for the use of pattern matching (JEP 305) in switch …
Elixir v1.6 includes a code formatter, defguard, dynamic supervision and new module attributes that improves code quality and the developer experience.
wingolog: article: instruction explosion in guile
Rust in 2018: it's way easier to use!
Learning modern JavaScript is tough if you haven’t been there since the beginning. The ecosystem is growing and changing so rapidly that…
このドメイン名は所有者により ドメインマーケット で売りに出されています。 誰でも購入できる状態であり、このドメイン名を利用してサイト運営やメールアドレスの利用を行うことができます。
This is the fifth post in a series. Read part 1 here.
This is an article about compiler directives; or as they are commonly known, pragmas. It’s derived from a talk of a similar name that I gave last year at GopherChina in Shanghai.
It seems these days like programming with dependent types in Haskell (and its advantages) is moving slowly but steadily to the mainstream of Haskell programming. In the current state of Haskell education, dependent types are often considered topics for “advanced” Haskell users. However, I can foresee a day where the…
In this article, we explore the possibilities allowed by higher inductive types. They enable a much more intuitive formalization of integers and new mind-blowing definitions of the (homotopical) ci…
posted by Matthew Flatt with thanks to collaborators Kent Dybvig, Andy Keep, Gustavo Massaccesi, Sarah Spall, Sam Tobin-Hochstadt, and Jon Zeppieri It's been almost a year since we decided to try running Racket on Chez Scheme, and it has been almost six ...
A little over a year ago, I joined Cloud Foundry to work on Loggregator , Cloud Foundry's application logging component. Its core concern is best-effort log delivery without pushing back on upstream writers. Loggregator is written entirely in Go.
whooooops