Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
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
    S

    Software Development Team (King's College London)

    soft-dev.org · Publication · on HN since 2014

    The Software Development Team at King's College London researches virtual machines, parsing, language composition, and garbage collection, led by Laurence Tratt.

    Visit blogHN submissions
    Languages & CompilersSystems & Performance
    What HN says

    HN commenters link it for work on LR parser error recovery and VM warmup, and one points to its PyPy-related research.

    Stats for nerds
    20HN people shared it
    19linked in comments
    477story points
    Feb 2024last shared
    2014people per year2024

    Top posts on HN

    1. 1
      Garbage collection for Rust: The finalizer frontier
      1 person · 144 points · first shared 2025 · 180 comments on HN
    2. 2
      Don't Panic! Better, Fewer, Syntax Errors for LR Parsers
      4 people · 122 points · first shared 2020 · 39 comments on HN
    3. 3
      Eco: A Language Composition Editor
      2 people · 72 points · first shared 2014 · 15 comments on HN
    4. 4
      Making an Embedded DBMS JIT-Friendly
      1 person · 48 points · first shared 2016 · Discussion on HN
    5. 5
      Fine-Grained Language Composition: A Case Study
      1 person · 43 points · first shared 2016 · 13 comments on HN
    6. 6
      Virtual Machine Warmup Blows Hot and Cold
      5 people · 25 points · first shared 2017 · 3 comments on HN
    7. 7
      Virtual Machines Summer School (VMSS) Videos Now Online
      4 people · 12 points · first shared 2016 · Discussion on HN
    8. 8
      Why Aren't More Users More Happy with Our VMs? [pdf]
      2 people · 6 points · first shared 2016 · Discussion on HN
    9. 9
      Default Disambiguation for Online Parsers
      1 person · 3 points · first shared 2019 · Discussion on HN
    10. 10
      Garbage Collection for Rust: The Finalizer Frontier
      2 people · 2 points · first shared 2025 · Discussion on HN

    What HN people wrote when they linked it

    • kwitaszczykOct 2023

      CHERI is not specific to C/C++ but aims to provide primitives at the hardware level that can be used to make software safer (including programming languages) in terms of (spatial and temporal) memory safety and also to compartmentalize your software stack (e.g., separate third-party software libraries from the core of your application). It is true that the only currently stable CHERI-extended SDKs for programming languages are CHERI LLVM [1] (for CHERI-RISC-V) and LLVM for Morello [2] for CHERI C/C++ [3]. However, there have been more projects that extend other SDKs for CHERI: Rust [4] [5], JavaScriptCore and WebKit [6] [7], OpenJDK [8].

      [1] https://github.com/CTSRD-CHERI/llvm-project

      [2] https://git.morello-project.org/morello/llvm-project

      [3] https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-947.pdf

      [4] https://github.com/kent-weak-memory/rust

      [5] https://soft-dev.org/events/cheritech22/slides/Cooksey.pdf

      [6] https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/cheri-webkit.html

      [7] https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-975.pdf

      [8] https://www.dcs.gla.ac.uk/~jsinger/cheritech23_slides/anisbet_cheritech.pdf

    • mafribeOct 2015

      There is another use case for JIT compilers that has not been considered: speeding up programming language development.

      PyPy's meta-tracing JIT-compiler framework [1] allows you to generate reasonably fast tracing JIT compilers for languages essentially by writing an interpreter. Laurie Tratt has written a nice description of this, and the advantages this delivers [2]. This make the development of new programming languages much simpler, because you don't have to invest a lot of time and effort into producing a reasonably fast compiler (whether JIT or AOT) at the beginning of language development. Yes, in many cases you can build AOT compilers that beat JITs produced by meta-tracing an interpreter, but not easily so.

      Tratt's team has used this approach for building impressive multi-language tools [3] that allow you to write programs in heterogeneous languages like Python, Prolog and PHP at the same time.

      [1] http://stups.hhu.de/mediawiki/images/f/f5/Tracing_JITs11_tracing_the_meta_level.pdf

      [2] http://tratt.net/laurie/blog/entries/fast_enough_vms_in_fast_enough_time

      [3] http://soft-dev.org/

    • agumonkeyJan 2024

      The twisty maze of parens I never understand. (And the fact that TI won is probably, imho, only vaguely to syntax, kids barely use calcs anyway, and I'd argue that if you'd show them RPL immense programming surface, lists, vectors, lambdas, they'd use it more than the usual fix function graphing calc)

      I never had a chance to see proper CASE tools, my education started in 2000.. java/uml took the light and the few environments I saw were very very subpar (post IBM, eclipse based, rational suite).

      The grammar composition is still a big open problem, I think Lawrence Tratt tried to attack it (maybe this https://soft-dev.org/pubs/pdf/diekmann_tratt__parsing_composed_grammars_with_language_boxes.pdf ?) but concluded it was still fragile/difficult.

    • ltrattOct 2020

      Alas, most parser generators don't have very good error recovery (and some have such terrible error recovery that I think it's worse than not having any!).

      It turns out that this isn't inevitable: there's been a long strand of research on decent error recovery for LR parsers, at least, but it needed a bit of a refresh to be practical. If you'll forgive the blatant self promotion, we tackled this problem in https://soft-dev.org/pubs/html/diekmann_tratt__dont_panic/ which is implemented in our Rust parsing system https://github.com/softdevteam/grmtools/. It won't beat the very best hand-written error recovery routines, but it's often not far behind.

    • kristianpSep 2018

      Interesting stuff. To learn that it can take 190 iterations for warm-up to finish may be a revelation to VM developers.

      The idea about some runs having slowdowns might not be significant if it's just one run out of 30 that does it though. The result in the last Diagram of TruffleRuby on spectralnorm having 25 slowdowns and 5 no steady-state is interesting.

      Full paper at : http://soft-dev.org/pubs/html/barrett_bolz-tereick_killick_mount_tratt__virtual_machine_warmup_blows_hot_and_cold_v6/

    • YorkshireSeasonNov 2018

      You might find the following papers interesting.

      [1] O. Kiselyov, K. Kameyama, Rethinking Prolog. http://okmij.org/ftp/kakuritu/rethinking.pdf

      [2] E. Barrett, C. F. Bolz, L. Tratt, Unipycation: A Case Study in Cross-Language Tracing.
      https://soft-dev.org/pubs/pdf/barrett_bolz_tratt__unipycation_a_study_in_cross_language_tracing.pdf

    Related

    Laurence Tratttratt.net130 people

    Using a "proper" camera as a webcam

    Laurence Tratt
    Personal · last shared 2026
    Tom Tromeytromey.com31 people

    The Deletion of gcj

    Tom Tromey
    Personal · last shared 2022
    Aphyraphyr.com551 people

    Hexing the technical interview (2017)

    Aphyr
    Personal · last shared 2026
    Felix Klockblog.pnkfx.org16 people

    GC and Rust Part 1: Specifying the Problem

    Felix Klock
    Personal · last shared 2025
    Stefan Marrstefan-marr.de35 people

    How to slow down a program and why it can be useful

    Stefan Marr
    Personal · last shared 2026
    Will Crichtonwillcrichton.net50 people

    Portable EPUBs

    Will Crichton
    Personal · last shared 2025
    Wilfred Hugheswilfred.me.uk42 people

    Difftastic, the fantastic diff

    Wilfred Hughes
    Personal · last shared 2026
    rust-analyzer Blogrust-analyzer.github.io50 people

    Rust-analyzer – an IDE backend for Rust

    rust-analyzer Blog
    Company · last shared 2026