GeistHaus
log in · sign up
53 pages link to this URL
The Excitement of Elixir ~ Devin Alexander Torres

Introduction I’ve been an Erlanger since 2008 and I’m the author of a few Erlang projects of varying usefulness and popularity, including Poolboy. Poolboy is used by Basho in Riak, 2600hz in Kazoo, IRCCloud, ChicagoBoss, and other high profile projects. Get on with it… What I’m trying to say is that I’m (hopefully) not an Erlang noob, so with that context in mind I’d like to get this off my chest: programming in Erlang sucks. I’ve built dozens of services in Erlang and written fair amount of Erlang code. Don’t get me wrong, it’s not all bad! My love of pattern matching and polymorphic functions is limitless. However, everything else about Erlang (the language) is clunky and cumbersome. Now for the pitch: Elixir is everything good about Erlang and none – almost none – of the bad. That’s a bold statement, right? Elixir is what would happen if Erlang, Clojure, and Ruby somehow had a baby and it wasn’t an accident.

0 inbound links article en Languages elixirerlang
shorne in japan

Stafford Horne's (shorne, stffrdhrn) Computer Engineering blog and home page.

0 inbound links en softwareembeddedopenrisc
Speculation in JavaScriptCore

This post is all about speculative compilation, or just speculation for short, in the context of the JavaScriptCore virtual machine.

8 inbound links article en JavaScript
Tour of Go Compilers

On a high level, compilers are viewed as a single, solid, single-step-worker entity. A Gopher, aka Go programmer, interacts with the Go compiler via the abstractions of go build or go install commands. However, compilers, in their ideal form, consist of three layers creatively named: frontend, middle-end, and backend. The single go {build,install} command embarks on a journey through the three layers to convert the raw Go source code into machine code.

0 inbound links article en post
ssa

Package ssa defines a representation of the elements of Go programs (packages, types, functions, variables and constants) using a static single-assignment (SSA) form intermediate representation (IR) for the bodies of functions.

Cheap interpreter, part 7: register machines

[EDIT 2021-08-15]: The original version of RegEmitBefore did not work for nested loops. Huge thanks to Reddit user JeffJeffJeffersonson for spotting and reporting the issue!Last week I presented a few ways to improve the performance of the very simple stack machine we had previously defined. In this post, we move further into the list of techniques presentetd in Neil's talk and take a look at another type of low-level machine called a register machine.

0 inbound links article en primesclojureaocbashawstyskainterviewfphaskellparadigmswindowsmonad-tutorialterraformgitaicheap interpreterpapers
Some Ways that PyPy uses Graphviz

Some way that PyPy uses Graphviz Somebody wrote this super cool thread on Twitter about using Graphviz to make software visualize its internal state: 🧵 Make yours and everybody else's lives slightly l

3 inbound links article en
MIR: A lightweight JIT compiler project

For the past three years, I’ve been participating in adding just-in-time compilation (JIT) to CRuby. Now, CRuby has the method-based just-in-time compiler (MJIT), which improves performance for non-input/output-bound programs.

0 inbound links article en
Looking at your program’s structure in Go 1.7

Go 1.7—out today!—features an new SSA-based compiler backend. SSA is a method of describing low-level operations like loads and stores that roughly map to machine instructions, with the special difference that SSA acts as though it has infinite number...

0 inbound links article en
Register Allocator Update

Hi everybody, I thought some yof you might be interested in an update regarding the JIT register allocator, which is after all the last miss...

0 inbound links BlogPosting en