HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

JVMLS 2015 - Compilers are Databases

JavaCited 4× on HN, 2016-2022
YouTube
16K views · 11 years ago · talk · evergreen

Martin Odersky's JVM Language Summit 2015 talk argues that compilers can be thought of as databases. It describes design ideas for the Scala compiler and for developer tools.

Cited as the origin of the compilers-as-databases idea in discussions of IDEs and incremental tooling.

Compilers, interpreters & program analysisDatabases & storageFunctional programming#scala#odersky#compilers#incrementalcompilation#languagetooling

4 comments from Hacker News

@it4rb2022 · in “Codebase as Database: Turning the IDE Inside Out with Datalog (2020)”

Martin Odersky (lead designer of Scala) also pursued this approach some years ago, not sure if any of this actually went into Scala3. He mentioned this in many talks before, such as ▶ this video (JVMLS 2015 - Compilers are Databases)

CitesView on HN
@brzozowski2021 · in “Reflections on IDEA vs VS Code”

The author frames this as a contest between two architectures: either spend a lot of effort building custom developer tools, or repurpose the compiler as a server for multiple clients. Both approaches have their tradeoffs: the first, as the author mentions, violates DRY [1]. The second violates the Unix philosophy [2]. However, there is a third way . Both developer tools and compilers can be seen as special cases of a much simpler and more general pattern known as a graph database [3, 4, 5]. [1]: link [2]: link [3]: ▶ this video [4]: link [5]: link

CitesView on HN
@jasim2017 · in “Ask HN: What habits make a programmer great?”

Depth. Every programmer I admire has worked on their chosen field for years. You can keep flitting between languages and frameworks, but mastery ultimately comes from hankering down on one thing and advancing our collective knowledge a bit further. You can achieve mastery in any field - it can be a business domain - as mundane as a Time Tracking or a Todo list app, or it can be a technical domain - like compilers or databases or browsers. You however can't achieve mastery by consuming what others produce. Becoming an expert in CSS and its quirks is a good vocational investment, but you're no closer to a fundamental understanding of the field by just consuming an API. You should spend years working on a problem domain that interests you. Look at prettydiff ( link ). It is a diff tool, a parser, a pretty printer, a minifier, all rolled into one. It is the most comprehensive publicly available tool in terms of language and dialect support in the world right now. Its code is not the most modular and new contributors might have trouble getting in, but its author has been at this problem for years, and if you called a conference for pretty-printing, he would be one among the few thousand people in the world to meaningfully participate. Consider blueimp's jQuery File Upload plugin ( link ). While this isn't as foundational a work as prettydiff, the project spans seven years and a thousand commits. It solves a mundane problem, but the sheer effort that has went into it makes it a

CitesView on HN
@merb2016 · in “Compile Go programs 7x faster”

This number is not true I guess. scalac with idomatic Scala code (no Macro's) is at 500-700 loc/sec. (And scalac is considered slow by many people) Source: ▶ this video That would be a slowdown of like 4x to current javac, I guess his computer is just not good enough?

CriticalView on HN
JVMLS 2015 - Java Goes AOT40:50

JVMLS 2015 - Java Goes AOT

Java
8K views • 11 years ago
Psp collections: views and more by Paul Phillips1:28:59

Psp collections: views and more by Paul Phillips

AI Council
11K views • 12 years ago
A JVM Does That?52:38

A JVM Does That?

Google TechTalks
80K views • 15 years ago
The Mill CPU Architecture – The Compiler (10 of 13)2:02:18

The Mill CPU Architecture – The Compiler (10 of 13)

Mill Computing, Inc.
12K views • 11 years ago
Rich Hickey: Deconstructing the Database1:06:24

Rich Hickey: Deconstructing the Database

InfoQ
106K views • 14 years ago
Escape from the Heap: Low-Level Programming in Common Lisp56:49

Escape from the Heap: Low-Level Programming in Common Lisp

Arthur Gleckler
17K views • 10 years ago
JSON Parser 100% From Scratch in Haskell (only 111 lines)1:50:07

JSON Parser 100% From Scratch in Haskell (only 111 lines)

Tsoding
205K views • 6 years ago
Building Your Own Dynamic Language1:14:32

Building Your Own Dynamic Language

Stanford
21K views • 18 years ago
Let's prototype a JavaScript JIT compiler!1:21:25

Let's prototype a JavaScript JIT compiler!

Andreas Kling
49K views • 3 years ago
Anders Hejlsberg on Modern Compiler Construction34:10

Anders Hejlsberg on Modern Compiler Construction

Kasper
25K views • 9 years ago
Demo: Base language, compile-time execution2:07:18

Demo: Base language, compile-time execution

Jonathan Blow
164K views • 12 years ago
Saša Jurić - Parsing from first principles - WebCamp Zagreb 20191:10:16

Saša Jurić - Parsing from first principles - WebCamp Zagreb 2019

WebCamp Zagreb
6K views • 7 years ago
Lecture 1B | MIT 6.001 Structure and Interpretation, 198658:22

Lecture 1B | MIT 6.001 Structure and Interpretation, 1986

MIT OpenCourseWare
116K views • 17 years ago
2017 LLVM Developers’ Meeting: “Implementing Swift Generics ”44:38

2017 LLVM Developers’ Meeting: “Implementing Swift Generics ”

LLVM
21K views • 9 years ago
Parsing with Derivatives1:13:10

Parsing with Derivatives

Stanford
13K views • 15 years ago
Episode 1: A basic expression evaluator1:38:36

Episode 1: A basic expression evaluator

Immo Landwerth (terrajobst)
284K views • 8 years ago
"Datafun: a functional query language" by Michael Arntzenius42:31

"Datafun: a functional query language" by Michael Arntzenius

Strange Loop Conference
9K views • 9 years ago
Scala Collections: Why Not?45:42

Scala Collections: Why Not?

InfoQ
43K views • 12 years ago
Java on a 1000 Cores - Tales of Hardware / Software CoDesign1:12:02

Java on a 1000 Cores - Tales of Hardware / Software CoDesign

Google TechTalks
23K views • 17 years ago
Twitter’s Quest for a Wholly Graal Runtime by Chris Thalinger50:11

Twitter’s Quest for a Wholly Graal Runtime by Chris Thalinger

Scala Days Conferences
3K views • 8 years ago