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

Premium Partners

Oa100px Softhouse100px Verisure 100x50 Odd hill 100x50 Tetrapak100x50 Advenica horisontal 100x50 Knightec100 Omegapoint100px Qlik100px Refined logo 100x50 Boozt 100x50 Mediaevolution100px Internetstiftelsen 100x50 Kan 100x50


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