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 Webstep logo 100x50 Verisure100 Playtechbgt100px Oneagency100px Neo4j 100px Edument100px Securelink100px Omegapoint100px Advenica horisontal 100x50 Tetrapak100x50 Knightec100


Handelsbanken100px Thirdbase100px U blox100px Yrkesorange100px Oddhill100px Tedkomp100px Stratiteq100pxbl Crosstech100px Purplescout100px Servicewell 100x50 24hr100px Lytics100px Softhouse100px Schneider100px Tieto100pxnew Hotnew100px Ifacts logo partner 100px Resursbank 100px Pinmeto100px Terranet100px Bimobject100px Essiq100px Falconio100px Aveva 100x50 Humanit100px Avensia100px Relax100px Cybercom 100x50 Hittahem small Additude100x50 Forefront 100x50 Raygun100px Livingit100 Lime color 100x50
Sign in