Friday Hacks #112, April 8
Posted on by Varun
For our second last Friday Hacks of the semester, we’re inviting Omer and Jason to tell us more about implementing compilers and programming languages. Join us for this programming languages themed talk.
Facebook event: https://www.facebook.com/events/213455062355930/
Date/Time: Friday, April 8 at 6:30pm
Venue: Seminar Room 3, Town Plaza, University Town
Free pizza is served before the talks.
Implementing a toy compiler with LLVM
LLVM is a compiler infrastructure project, designed as a set of reusable libraries. From humble beginnings as a research project, it has recently gained much traction, thanks to Apple adopting it as their default compiler toolchain for iOS and Mac OS platforms.
At it’s core, LLVM features an architecture independent, type safe, instruction set called “LLVM IR”, which LLVM compiles to several instruction sets including x86/x86-64, ARM, Power PC etc. So in essence, if you’re lazy and want to implement a multi platform programming language that runs “natively”, LLVM saves you tons of time and effort.
This talk will go through implementing a very very simple compiler for a very very simple, toy programming language, using LLVM.
Omer is an NUS Hackers alumnus, currently working as an iOS Software Engineer at Garena. He also moonlights as a Functional Programming Evangelical, and is a little obsessed with writing useless, toy compilers.
Slaying the Dragon: Implementing a language in Ruby
Learning to write a programming language is considered a rite of passage for some programmers. And, it is also the most rewarding exercise as you will learn a whole lot about programming languages in general. Many might think it’s a daunting task but Jason will show you otherwise by showing how to implement a simple language in Ruby and compile it to Rubinius bytecode. Be warned, only the brave and true will survive. Don’t you worry though, no prior knowledge of parsing, lexing and programming language theory required. And lastly, don’t forget to have fun.
Jason Yeo flips bits and blows stacks at SourceClear. Some of his interests include participating in pointless discussions about type systems, writing interpreters for languages that has no real world application, bashing languages that has real world applications and embedding easter eggs in talk descriptions.
The HANGAR by NUS Enterprise — the campus hub for entrepreneurs.