Skip to content
0:00 / 0:00

#cola#pepsi#coke

Building Your Own Dynamic Language

Stanford

2.2M subscribers • 18 videos on Hallway

YouTube
  • Recommended by 3 people: 3 on Hacker News.
  • A classic. People kept recommending it from 2009 to 2014.
  • Presented by Ian Piumarta, researcher at Viewpoints Research Institute

Advanced. Deep dive for people who know the field.

20K views18 years ago3 recommendations

Programming languagesSystems programmingLanguage design and type systemsCompilers and interpreters

Ian Piumarta explains the design and implementation of a dynamic programming environment and language built from the ground up.

February 14, 2007 lecture by Ian Piumarta for the Stanford University Computer Systems Colloquium (EE 380). Ian describes several significant aspects of the design and implementation of a programming environment that, along with a programming language, exhibits the properties desired of the system at large; he finishes by describing the remaining components of the programming system (from parsing to code generation) developed by Viewpoints Research Institute. EE 380 | Computer Systems Colloquium: stanford.edu/class/ee380/ Stanford Computer Systems Laboratory: csl.stanford.edu/ Stanford Center for Professional Development: scpd.stanford.edu/ Stanford University Channel on YouTube: youtube.com/stanforduniversity/

Why it's here

3 people recommend this, 1 disputes it

What people say. Recommended as a fascinating look at recursive language design and the COLA architecture from the Viewpoints Research Institute.

andreyfon Hacker News • Recommends

On “Ask HN: How do you see the future of computing ?”

Easy, COLA: link to this video Any syntax you want, running on the same JIT compiler, but designed from scratch without marketing breathing down your neck.

andreyfon Hacker News • Recommends

On “Steve Yegge: Lisp is not an acceptable Lisp. (2006)”

Thanks for the link, it's a good read. Ian gave a talk on the same material at Stanford ( link to this 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 Smalltal…

wedesofton Hacker News • Recommends

On “Don't use assembly unless you're an expert”

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 link to this video EDIT: There are other reasons to write machine code than performance.

theohon Hacker News • Recommends

On “A Conversation with Arthur Whitney (2009)”

…metrical. 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" link to this video Also, this: link…

toadpipeon Hacker News • Disputes

On “LYSP (a really tiny lisp)”

…hat is supposed to radically simplify the software stack still doesn't appear to have a working prototype of a complete two-kernel (pepsi+coke) system, almost five years after the albert paper ( link ) that sketched out the basics was written. Kay keeps talking about how cool it is, and Piumarta has given at least one talk about how cool it is ( link to this video ), but as far as I can tell it doesn't even exist yet. There are working pieces (which are each tens of thousands of lines of code), but from the outside there doesn't appear to be a working pepsi+coke system yet, let alone iterations on it. The VPRI progress reports don't even mention it. VPRI seems all over the place, and Kay is talking a…