~/talk

Using C#'s Type System Effectively

Talkat NDC Oslo 2017 · 2017-06-14..06-16· [dotnet]
links:none on file
slides:none on file

Implements a minimal JQL compiler in C#: immutable AST types for Tag/And/Not, a continuation-style match method for pattern dispatch, and a parser-combinator library where a parser is a function from string to list of (result,leftover). Finds naive closure-based matching allocates heavily and runs ~10x slower, so generates a compiler plugin that rewrites match calls into switch/casts, and optimizes parsing by using an index pointer instead of substring copies (pigeon on GitHub).

AI-written summary · about

  1. 0:00Start
  2. 3:06The Swiss Cheese Model
  3. 4:57Advanced Search
  4. 6:35Abstract Syntax Tree
  5. 8:20Syntactic Constructs
  6. 9:38What Does an Abstract Syntax Tree
  7. 10:40Abstract Syntax Trees
  8. 30:41The Expression Problem
  9. 32:27Parser
  10. 50:13Combining Parsers
  11. 51:34Linq Query Syntax
  12. 54:34Pausing Expressions
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.