addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupsimageimagesinstagramlinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1outlookpersonJoin Group on CardStartprice-ribbonShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruseryahoo

Sana: Languages à la carte - Amanj Sherwany

  • Needs a location

  • Amanj will present a framework for building languages à la carte. In this framework, developers implement programming languages by composing together small language components. Components define different compilation phase components for particular language features. For instance, in a Java compiler there are components for primitive expressions and statements, for class and interface declarations, and for supporting import statements. These components are composed into language modules which provide a compiler interface. Programmers can use existing components to implement languages or can define their own. Existing languages can be extended with new components to produce new languages. The framework design addresses the expression problem (a special form of dependency injection), allowing extension with both new syntax and new semantics. The framework is implemented in Scala and its utility is shown by implementing compilers for Java, for Oberon-0, and a DSL for distributed computing. The last two compilers are implemented by reusing the same components used to implement the Java compiler. The framework is open source and can be downloaded at:

Join or login to comment.

  • Jean-Rémi D.

    This sounds awesome! I'm annoyed I won't be in Montreal by then. Is there any chance it could be recorded?

    2 days ago

Want to go?

Join us!

20 going

4 not going

(See all)

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy