AB21.3.6 edit / delete

Tony Hoare's 1965 proposal for adding records to Algol. It's quite nice.

to algol cmp409 data-structures language-design retrocomputing ... on 15 January

Abbreviated vs. Full-Word Identifier Names edit / delete

"We carried out a family of controlled experiments to investigate whether the use of abbreviated identifier names, with respect to full-word identifier names, affects fault fixing in C and Java source code. [...] Overall results suggested that there is no difference in terms of effort, effectiveness, and efficiency to fix faults, when source code contains either only abbreviated or only full-word identifier names."

to cmp409 errors experiment language-design ... on 24 October 2018

C&C - Archives edit / delete

Lots of interesting articles introducing aspects of programming language design. CMP409 students should have a flip through this.

to cmp409 language-design types ... on 24 October 2018

C&C - An Explanation of Type Inference for ML/Haskell edit / delete

A succinct description of how to implement type inference for your typical functional language. Will be clear enough if you understand a functional language already.

to cmp409 functional haskell ml type-inference ... on 24 October 2018

C&C - A Crash Course on ML Modules edit / delete

A really good description of Standard ML's module system (and OCaml, where it differs). I do like ML's modules, but wish the syntax and terminology was a bit friendlier...

to cmp409 functional language-design ml module ocaml ... on 24 October 2018

What can we learn from how compilers are designed? edit / delete

Discusses things like "Why so many IRs?". Probably of interest to CMP409 students.

to cmp409 compiler design ir ... on 24 October 2018

How LLVM Optimizes a Function – Embedded in Academia edit / delete

A nice walkthrough of how LLVM's optimisation passes rewrite a simple loop. This assumes you know how LLVM's SSA representation works, but it'll still make sense even if you don't.

to cmp409 compiler llvm loop optimisation ... on 11 September 2018

Modern garbage collection – Mike’s blog edit / delete

A critical look at the tradeoffs in Go's GC. (Like their concurrency facilities, it ignores a lot of the advances in design in the late 70s.)

to cmp409 gc go language-design ... on 05 May 2018

picol, a Tcl interpreter in 550 lines of C code edit / delete

As it says. Nothing fancy, but this is a nice example of a small language.

to cmp409 compiler interpreter parsing tcl ... on 06 January 2018

Browser bookmarks: tasty+ | tasty= Log in | Export | Atom