Language experiments and ideas – Content – Content



Language experiments and ideas – Content – Content

0 0


talk-berlincompiler-sideproject

Presentation at Berlin Compiler Meetup 2012.01.22

On Github rasmuserik / talk-berlincompiler-sideproject

Language experiments and ideas

2013.01.22Berlin Compiler Meetup talk by Rasmus Erik

Content

  • IntroductionAbout the talk, a vision, and an idea: "Canonical syntax"
  • Language experiments
  • Conclusion and discussion

About

  • The talk
    • Informal, interactive - interrupt, ask questions
  • Rasmus Erik
    • Freelance Computer Scientist from Copenhagen. JavaScript-engines, Tempo, Yolan/LightScript, ...
  • The content
    • Share ideas. New stuff. Get feedback.

Vision

  • Next billion internet users are mobile-only
  • Enable software development on mobile
  • Source code as text only will not suffice

Idea: Canonical Syntax

  • Homoiconicity to the next level: source text as a serialisation format for the AST.
  • Language designed for program transformations
  • Practical experiments: Yolan and LightScript
  • New? Do you know something similar?

Content

  • Introduction
  • Language experiments LightScript/Yolan, Yolan 2, LightScript 2/3, Future: Yolan 3
  • Conclusion and discussion

LightScript / Yolan   2008-2009

  • JavaScript/Lisp-like languages for J2ME
  • Part of my master thesis at University of Copenhagen
  • Extremely small memory footprint, reasonably fast, dynamic execution
  • Lessons learned: debuggability matters, too low-end

Yolan 2   spring 2012

  • Canonical source
  • Visual code
  • Dogfood, self hosted
  • Hosted on JS-vm
  • Lessons learned: this dogfood was not good enough, lists-only not rich enough

LightScript 2/3   fall 2012

  • Canonical source
  • Mostly JS-subset, dogfood, self hosted
  • Combined TDOP-parser + prettyprinter
    • common syntax pattern in JS/C-like languages
  • Staged computation
  • Designed for AST-simplicity
  • Towards common scripting language denominator
  • Lessons learned: want optional static typing, more tooling

Yolan 3   future

  • Canonical source, dogfood
  • More Clojure-inspired
  • JS-to-Yolan
  • hosted on common scripting language denominator
    • portable core + platform specific extensions
  • (optional) static typing

Content

  • Introduction
  • Language experiments
  • Conclusion and discussion

Conclusion and discussion

  • Critical feedback?
  • Details of . . . . .
  • Code tour
  • Favorite language features, why?