Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Powerlang: a Vehicle for Lively Implementing Programming Languages

87 vues

Publié le

by Javier Pimás

  • Identifiez-vous pour voir les commentaires

  • Soyez le premier à aimer ceci

Powerlang: a Vehicle for Lively Implementing Programming Languages

  1. 1. Powerlang: a Vehicle for Lively Implementing Programming Languages Javier Pimás
  2. 2. What does it take to create a PL? ● Compiler − Parser − Scanner − Execution Semantics − Assembler ● Virtual Machine − Primitives − Garbage Collection
  3. 3. What does it take to create a PL? ● Bootstrapping − Executable image ● Debugging − Remote execution − Simulation
  4. 4. Current approaches ● Other existing VM ● Metacompilation frameworks ● Micro VMs ● Write your own ● Powerlang
  5. 5. Bootstrapping ● Minimal initial effort ● Bit-by-bit reproducibility ● Minimal deploy size
  6. 6. Simulation and Debugging ● Incomplete systems should be debuggable ● Both high- and low-level debugging
  7. 7. Compiling and Optimizing ● Provide compilation tooling ● How to model of language behavior? ● m ● ^self foo ● #(1 #(9 #(5 1 #(3 6))))
  8. 8. Current and Future work ● github.com/melkyades/powerlang ● MIT license ● Initial proof-of-concept Smalltalk code ● Two VM implementations − DMR fully dynamic VM − eclipse OMR
  9. 9. Powerlang on top of the eclipse OMR Jan Vraný
  10. 10. Demo
  11. 11. Questions?

×