u/raiphin r/ProgrammingLanguages • Recommends
On “Can an interpreted language be faster than a compiled language?”
#partialevaluation#futamuraprojections#ruby
42K subscribers • 74 videos on Hallway • Conference channel
Intermediate. Assumes working knowledge.
6.5K views12 years ago2 recommendations
Programming languagesSystems programmingCompilers and interpretersFunctional programming
Tom Stuart explains partial evaluation and the Futamura projections, showing how to automatically generate a compiler from an interpreter.
Partial evaluation is a powerful tool for timeshifting some aspects of a program's execution from the future into the present. Among other things, it gives us an automatic way to turn a general, abstract program into a faster, more specialized one. This math-free talk uses Ruby to explain how partial evaluation works, how it can be used to make programs go faster, and how it compares to ideas like currying and partial application from the world of functional programming. It then investigates what happens when you run a partial evaluator on itself, and reveals some surprising results about how these techniques can be used to automatically generate compilers instead of writing them from scratch. Help us caption & translate this video! amara.org/v/FG55/What people say. Highly recommended for its clear explanation of the Futamura projections and how interpreters can be turned into compilers.
u/raiphin r/ProgrammingLanguages • Recommends
On “Can an interpreted language be faster than a compiled language?”
u/daverin r/ProgrammingLanguages • Recommends
On “Theory about interpreters”
u/raiphin r/ProgrammingLanguages • Recommends
On “Distinguishing an Interpreter from a Compiler”
u/raiphin r/ProgrammingLanguages • Recommends
On “Distinguishing an Interpreter from a Compiler”
u/raiphin r/ProgrammingLanguages • Recommends
On “{compiler, interpreter} = ?”
u/raiphin r/ProgrammingLanguages • Mentions
On “Can an interpreted language be faster than a compiled language?”
u/abstractcontrolin r/compsci • Mentions
On “What are potential disadvantages of functional programming? For which areas does functional programming work best and for which ones not?”