HackerTube.dev

Building Your Own Dynamic Language

Stanford · 20.6K views · 2008-05-14 · 1:14:32

Open on YouTube ↗

If playback is restricted in your region, try opening the original video. Use Mark watched to add it to your marked videos.

Overview

Ian Piumarta's 2007 Stanford EE380 lecture on building a dynamic programming environment from the ground up, from the Viewpoints Research Institute's work. It covers the design of a language and system with a recursive design, parsing through code generation, and the COLA architecture.

On Hacker News

HN commenters recommend it as a way to understand what the VPRI group considers core, such as supporting any syntax on one JIT compiler and removing boundaries between application and interpreter.

Recommended by 3 HN people across 4 months · HN mentions 2009–2014

Topics

Search by tags

What people said

theoh · 2014-10 · Recommendation

Well, in terms of whether the example is a well-posed question, a networked window system isn't too different from the WWW, which as we know by now works pretty flawlessly. Perhaps the key contrast here is between the tendency toward static mathematical perfection of the APL family and the notion of dynamic languages for building systems that Alan Kay et al would propose. "APL is like a beautiful diamond - flawless, beautifully symmetrical. But you can’t add anything to it. If you try to glue on another diamond, you don’t get a bigger diamond." --Joel Moses There's a talk by Ian Piumarta that tries to get to the core of what the VPRI guys feel is important. I'm not sure about it but it seems worth mentioning in this context: Ian Piumarta "Building Your Own Dynamic Language" [VIDEO] Also, this: [LINK]

Read the original HN comment ↗
wedesoft · 2014-04 · Recommendation

No big deal. Just become an expert then. It is not that hard. Just have a look at Ian Piumarta's work [1,2]. Future systems will probably facilitate programming on every level from the bare metal to the highest abstraction. I.e. no strict boundaries between the implementation of the application and the implementation of the compiler/interpreter. [1] [LINK] [2] [VIDEO] EDIT: There are other reasons to write machine code than performance.

Read the original HN comment ↗
andreyf · 2009-09 · Recommendation

Thanks for the link, it's a good read. Ian gave a talk on the same material at Stanford ( [VIDEO] ). The paper about the object model ( [LINK] ) is also very useful. The hallmark of COLA is recursive design, which sort of makes it more like Smalltalk than Lisp Late binding is certainly a big part of the smalltalk philosophy as well, and recursive design is a great way of implementing late binding. A system uses the same "user interface" internally, it certainly makes it easier to let people modify the internals. The big difference I see between Smalltalk and Lisp (correct me if I'm wrong) is that Lisp systems tend to use compile-time abstractions Lisp->machine code->execution, while Smalltalkers from early on started thinking about interpretation and VM's - using abstractions which require run-time data to make decisions.

Read the original HN comment ↗

Sources

Video by Stanford, played through YouTube.

Data and selection notes

HN summaries and labels may contain AI errors. HN dates refer to discussions, not video publication.

HN Library: HackerTube export (2026-10-31) and open-index/hacker-news. Upstream summaries and classifications may contain AI errors.

Views, duration and playback status refresh separately from the published catalog. When an update fails, existing data remains visible.

Selection checks
  • SaaS & AI candidates: Topic keywords do not match
  • Editor-approved picks: Editorial review is required

Rule matches identify candidates. They do not guarantee video quality or financial results.

About the library and its sources