#+TITLE: Capability Security for Everyone, Finally! Spritely's Approach #+AUTHOR: Randy Farmer & Christine Lemmer-Webber #+DATE: 2023-10-30 Mon #+REVEAL_INIT_OPTIONS: width:1200, height:800, controlsLayout: 'edges' # #+OPTIONS: reveal_center:t reveal_progress:t reveal_history:nil reveal_control:t # #+OPTIONS: reveal_mathjax:t reveal_rolling_links:t reveal_keyboard:t reveal_overview:t num:nil # #+OPTIONS: reveal_width:1200 reveal_height:800 #+OPTIONS: toc:nil num:nil reveal_title_slide:nil #+REVEAL_MARGIN: 0.075 #+REVEAL_MIN_SCALE: 0.5 #+REVEAL_MAX_SCALE: 2.5 #+REVEAL_TRANS: cube #+REVEAL_THEME: night #+REVEAL_HLEVEL: 2 #+REVEAL_HEAD_PREAMBLE: #+REVEAL_ROOT: ../static/reveal.js * #+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
*
#+REVEAL_HTML:
*
#+REVEAL_HTML:
***
#+REVEAL_HTML:
* Spritely: back to the future
#+REVEAL_HTML:
***
#+REVEAL_HTML:
*** Time-traveling distributed debugger
#+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
***
#+BEGIN_SRC scheme
(define (evaluate expr env)
(match expr
;; Support builtin types
((or #t #f (? number?))
expr)
;; Quoting
(('quote quoted-expr)
quoted-expr)
;; Variable lookup
((? symbol? name)
(env-lookup env name))
;; Conditionals
(('if test consequent alternate)
(if (evaluate test env)
(evaluate consequent env)
(evaluate alternate env)))
;; Lambdas (Procedures)
(('lambda (args ...) body)
(lambda (. vals)
(evaluate body (extend-env env args vals))))
;; Procedure Invocation (Application)
((proc-expr arg-exprs ...)
(apply (evaluate proc-expr env)
(map (lambda (arg-expr)
(evaluate arg-expr env))
arg-exprs)))))
#+END_SRC
***
#+REVEAL_HTML:
***
#+REVEAL_HTML:
** We are a research institution & that means collaboration
#+REVEAL_HTML:
*** Now (pre-)announcing: OCapCon - BOF tonight!
*** Join us!
#+REVEAL_HTML: