Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Building Your Own Dynamic Language

    Stanford

    3 HN recommenders · recommended in 5 months, 2009–2014

    YouTube

    1:14:32 · 21K views · May 14, 2008

    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.

    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.

    Software Engineering & LanguagesCompilers, interpreters & program analysisProgramming language designUniversity lectures & courses
    1. 1:01:37
      Compiling and Optimizing Scripting LanguagesGoogle TechTalks21K views • 17 years ago
    2. 2:07:18
      Demo: Base language, compile-time executionJonathan Blow164K views • 12 years ago
    3. 1:03:31
      Brian Goetz - Stewardship: the Sobering PartsClojureTV39K views • 11 years ago
    4. 1:38:36
      Episode 1: A basic expression evaluatorImmo Landwerth (terrajobst)284K views • 8 years ago
    5. 1:14:52
      Effective Programs - 10 Years of Clojure - Rich HickeyClojureTV176K views • 9 years ago
    6. 2:03:12
      Co-dfns Live Stream: Compiler Design and ArchitectureAaron Hsu (arcfide)21K views • 9 years ago
    7. 17:26
      Lecture 1 | Programming Paradigms (Stanford)Stanford1.2M views • 18 years ago
    8. 1:55:24
      Ideas about a new programming language for games.Jonathan Blow530K views • 12 years ago
    9. 53:31
      Growing a Language, by Guy SteeleBill Pugh165K views • 14 years ago
    10. 47:51
      Brandt Bucher – A JIT Compiler for CPythonencukou14K views • 2 years ago
    11. 1:28:59
      Psp collections: views and more by Paul PhillipsAI Council11K views • 12 years ago
    12. 51:40
      Domain Modeling Made Functional - Scott WlaschinNDC Conferences71K views • 9 years ago
    13. 1:12:02
      Java on a 1000 Cores - Tales of Hardware / Software CoDesignGoogle TechTalks23K views • 17 years ago
    14. 1:58:46
      Dynamic Languages Wizards Series - Panel on Language DesignEduardo Cavazos16K views • 14 years ago
    15. 7:15
      7 minutes of Pharo Smalltalk for RubyistsAvdi Grimm37K views • 11 years ago
    16. 1:13:00
      Jonathan Blow - Jai Demo and Design Explanation (KEYNOTE) - UpdatedLambdaConf241K views • 1 year ago
    17. 47:41
      "Programming Should Eat Itself" by Nada AminStrange Loop Conference43K views • 12 years ago
    18. 1:02:44
      Chris Seaton @ VMSS16: JRuby+Truffle: Why it’s Important to Optimise the Tricky Partssoftdevteamuk5.1K views • 10 years ago
    19. 1:01:45
      A Talk Near the Future of Python (a.k.a., Dave live-codes a WebAssembly Interpreter)David Beazley26K views • 7 years ago
    20. 1:01:40
      Demo: Implicit ContextJonathan Blow28K views • 11 years ago

    5 comments from Hacker News

    1. @andreyfSep 2009· in “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 ( 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 Smalltalkers from early on started thinking about interpretation and VM's - using abstractions which require run-time data to make decisions.

      RecommendsView on HN
    2. @theohOct 2014· in “A Conversation with Arthur Whitney (2009)”

      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" this video Also, this: [LINK]

      RecommendsView on HN
    3. @wedesoftApr 2014· in “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] this video EDIT: There are other reasons to write machine code than performance.

      RecommendsView on HN
    4. @andreyfJul 2009· in “Ask HN: How do you see the future of computing ?”

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

      RecommendsView on HN
    5. @toadpipeOct 2009· in “LYSP (a really tiny lisp)”

      The gold box/pepsi/coke/cola/jolt/id/idst/soda languages are indeed interesting, but from the outside of VPRI it isn't easy to figure out what they do. Listening to Alan Kay try to summarize it in a few minutes ( [LINK] ) makes it sound like even he doesn't understand it very well. Piumarta seems to be a very sharp guy, but it's strange that a software project that 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 ( 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 about objects with AI-complete interfaces now. The mailing list is dead, and the wiki is pretty much dead. There's more information on Piumarta's personal website than anywhere else. I know it's supposed to be blue sky research, but it still seems weird. My impression of the whole thing is that "complete" reflection/self-description is not a good foundation for minimalistic systems.

      CriticalView on HN