Access Keys:
Skip to content (Access Key - 0)



Functional Compilers: From CFG to EXE

Martin Fowler once said that there are two types of people in this world: those who didn't take compilers at the university and are afraid of them, and those who took compilers at the university and are afraid of them. Compilers are some of the most complex and theoretically-rich pieces of software in existence. Each one requires careful and well considered design to avoid becoming a tangled morass of meta-generators and bailing wire.

This talk will look at the construction of a simple compiler in Scala. We will examine some of the tools Scala gives us that can dramatically simplify the task of writing and testing a compiler, and in the process, gain an appreciation for what compilers look like and how to build your own.

Speaker

Related Presentations

Blast your webapp with Gatling
Effective Scala
First steps with Scala
Functional Compilers From CFG to EXE
Practical - Scala Koans
Scala advanced concepts and best practices
Scala Enthusiasts Gathering
Scala Puzzlers
Simplicity in Scala Design
The Future of Software Development Process Methodology Effectiveness (Part 1 2)
Showing first 10 of 13 results

Search by Tag

Below are the 177 labels used in Devoxx 2012 listed alphabetically. Click on a label to see its associated content.
actors, agile, ajax, akka, alm, analysis, android, animations, annotations, apache, appcache, apple, arduino, arquillian, asynchronous, atdd, atlassian bejug, big, bof cache, caching, cdi, ceylon, children, chrome, clojure, closures, cloud, cloudfoundry, clusters, collaboration, collections, conference, css3
dart, data, datadirect, design, devops, devoxx, domotics, duchess, eclipse, eclipselink, ejb3, excel, facebook, functionalprogramming glassfish, google, grails, graphics, greenfoot, groovy, gtiazdbpwgco, guice, gwt hadoop, hands-onlabs, hateoas, hbpomnhkf, hibernate, html, html5, http, hudson, hypermedia, hzihuduljqejelq
ibm, indexeddb, infinispan, ios, iphone, irxqvjdgvntzpkeef j2me, java7, java8, javaee, javaee6, javaee7, javafx, javame, javaposse, javascript, javase, jax-rs, jboss, jcp, jdk, jdk8, jersey, jigsaw, jms, jmx, jpa, jpa2, jruby, json, jsr, jug, junit, jvm lambda, lombok, mapreduce, maven, methodology, mobile, modules, mongodb, multicore, mylyn, mysql
nao, news, nfc, no-sidebar, nodejs, nosql, oauth, openjdk, openshift, orm, osgi, otgftluul paas, parleys, patterns, performance, phonegap, play, playframework, podcast, polyglot, puzzlers, quickie raspberrypi, redis, rest, ria, robotics, rzxsgheseucnp
salesforce, scala, scalable, scrum, sdk, search, security, servlet, sgxaniowwxebaxn, soa, social, speakers, spock, spring, sql tdd, technology, testing, tfgglcmqjabadme, tools, toolsinaction, torquebox, twitter, university, vaadin, visualvm web, web20, webgl, websockets, websphere, websql, weld, women
Adaptavist Theme Builder Powered by Atlassian Confluence