Thursday 18 Oct 17:30

How I built a programming language

After Work Seminar


This is the story of how I implemented my own little language and my own little compiler.

Writing a compiler is generally thought of as Really Hard, basically rocket surgery. To my surprise I found it quite straightforward, almost pleasant. I sincerely believe most people should do it. Consider this evening a crash course in how to get started writing your own compiler. Compilers are simple "data pipes", and there are definitely deep aspects to making them, but the basic principles are straightforward.

The thing that's difficult, though, is deciding all the little things about your language. Curly braces or indentation? Will you have a new keyword? What about types, and operators, and methods? Frustratingly, all those little decisions end up forming a whole united experience, and a tiny choice in one end can have disastrous Butterfy-Effect consequences in another end. Being a language designer is its own special hell, and not something I wish on everyone.

Stop by for a hands-on introduction to things that we use every day and all benefit from understanding better: compilers, languages, and frustrating language features.

Oh, and the language is called "007". cue James Bond theme

BIO om Carl Mäsak:

Carl Mäsak has decades of experience building, reviewing, and teaching software. He has authored, reviewed, and improved the insides of systems used for content management, bioinformatics, retail, publishing, and embedded devices. His work is driven by the belief that no matter what domain a program is written for, it can benefit from clearly expressing the author’s intent. He spends his spare time in the Perl 6 community, working mostly on the compiler stack.


17.30-17.45 Meet & Greet

17.45-18.30 Presentation

18.30-19.00 Meet & Eat

19.00-20.00 Q&A

Brought to you by:

Platinum Partners

Capish100px Axis100px Connectitude100px

Premium Partners

Mediaevolution100px Qlik100px Verisure100 Softhouse100px Oa100px Securelink100px Omegapoint100px Advenica horisontal 100x50 Tetrapak100x50 Knightec100 Kan 100x50 Boozt 100x50 Internetstiftelsen 100x50


Handelsbanken100px Thirdbase100px U blox100px Yrkesorange100px Tedkomp100px Stratiteq100pxbl Crosstech100px Purplescout100px Playtechbgt100px 24hr100px Schneider100px Tieto100pxnew Hotnew100px Ifacts logo partner 100px Odd hill 100x50 Terranet100px Bimobject100px Essiq100px Falconio100px Aveva 100x50 Humanit100px Avensia100px Relax100px Cybercom 100x50 Hittahem small Raygun100px Edument100px Pinmeto100px Livingit100 Lime color 100x50 Storytel100x50 Additude100x50 Q100x50 Nilex100x50 Upptec 100x50 Infotiv 100x50
Sign in