~/devreads

#compiler

9 posts

13 May

Viliam Sedliak 6 min read

TL;DR New “val inside parentheses” syntax is being introduced to allow for name-based destructuring. Additionally, new syntax with square brackets is being introduced for positional destructuring. Both are currently Experimental (enabled using the -Xname-based-destructuring=only-syntax compiler argument) and will become Stable in a future release. In the distant future, the behavior of the “val outside parentheses” […]

newstutorialscompilerkotlintutorial

29 Jan 2024

19 Jun 2020

Dave Cheney 1 min read

The Go compiler’s SSA backend contains a facility to produce HTML debugging output of the compilation phases. This post covers how to print the SSA output for function and methods. Let’s start with a sample program which contains a function, a value method, and a pointer method: Control of the SSA debugging output is via […]

goprogrammingcompilergossafuncssa

24 May 2020

Dave Cheney 2 min read

Per the overlapping interfaces proposal, Go 1.14 now permits embedding of interfaces with overlapping method sets. This is a brief post explain what this change means: Let’s start with the definition of the three key interfaces from the io package; io.Reader, io.Writer, and io.Closer: Just as embedding a type inside a struct allows the embedded type’s […]

goprogrammingcompilerinterfaces

2 Apr 2016

Dave Cheney 3 min read

This is a progress report on the Go toolchain improvements during the 1.7 development cycle. All measurements were taken using a Thinkpad x220, Core i5-2520M, running Ubuntu 14.04 linux. Faster compilation Since Go 1.5, when the compiler itself was translated from C to Go, compile times are slower than they used to be. Everyone knows it, nobody […]

goprogrammingcompilerperformance

30 Apr 2015

lukaseder 1 min read

I admit, we’ve been lured into using this technique as well. It’s just so convenient, as it allows for avoiding a seemingly unnecessary cast. It’s the following technique here: Now you can type safely assign anything from the wrapper to any type: This is actually the API you can use when you’re using jOOR, our … Continue reading This Common…

javaantipatterncompilergenericstype safety

16 May 2014

lukaseder 1 min read

At Data Geekery, we love Java. And as we’re really into jOOQ’s fluent API and query DSL, we’re absolutely thrilled about what Java 8 will bring to our ecosystem. Java 8 Friday Every Friday, we’re showing you a couple of nice new tutorial-style Java 8 features, which take advantage of lambda expressions, extension methods, and … Continue reading Java 8…

javajava 8compilerfunctional interfacejava language specification

9 Apr 2014

lukaseder 1 min read

On the TIOBE index, Java and C have been sharing the #1 and #2 rank for a long time now, and with the recent GA release of the JDK 8, things are not going to get any worse for our community. Java simply rocks! And it’s the best platform to build almost any of your … Continue reading Java Rocks…

javabackwards compatibilitybytecodecompilercore api

15 Oct 2013

Dave Cheney 5 min read

This post explains how the Go build process works using examples from Go’s standard library. The gc toolchain This article focuses on the gc toolchain. The gc toolchain takes its name for the Go compiler frontend, cmd/gc, and is mainly used to distinguish it from the gccgo toolchain. When people talk about the Go compilers, they […]

goprogrammingcompilertoolchain