slides: add a title to the slides windows, looks a little more polished that way
parent
8a2cf5d67b
commit
ea5ceabca7
|
@ -5,61 +5,49 @@ IN: chicago-talk
|
||||||
|
|
||||||
CONSTANT: chicago-slides
|
CONSTANT: chicago-slides
|
||||||
{
|
{
|
||||||
{ $slide "factor"
|
{ $slide "factor"
|
||||||
|
{ $url "http://factorcode.org" }
|
||||||
|
}
|
||||||
|
{ $slide "goals"
|
||||||
|
"high level language"
|
||||||
|
"expressive and extensible"
|
||||||
|
"reasonable performance"
|
||||||
|
"interactive development with arbitrary redefinition"
|
||||||
|
"standalone app deployment (strip out compiler and REPL)"
|
||||||
|
}
|
||||||
|
{ $slide "challenges"
|
||||||
|
|
||||||
{ $url "http://factorcode.org" }
|
"higher-order functions"
|
||||||
|
"dynamic typing"
|
||||||
}
|
"memory allocation"
|
||||||
{ $slide "goals"
|
"float boxing/unboxing"
|
||||||
|
"integer overflow checks"
|
||||||
"high level language"
|
"user-defined abstractions"
|
||||||
"expressive and extensible"
|
}
|
||||||
"reasonable performance"
|
{ $slide "implementation"
|
||||||
"interactive development with arbitrary redefinition"
|
"VM: 12 kloc of C, library: >100 kloc of Factor"
|
||||||
"standalone app deployment (strip out compiler and REPL)"
|
"generational copying garbage collection, card marking write barrier"
|
||||||
|
"full continuations, tail calls"
|
||||||
}
|
"simple non-optimizing “bootstrap” compiler"
|
||||||
{ $slide "challenges"
|
"optimizing compiler"
|
||||||
|
}
|
||||||
"higher-order functions"
|
{ $slide "optimizing compiler"
|
||||||
"dynamic typing"
|
"about 12,000 lines of Factor code"
|
||||||
"memory allocation"
|
"targets x86-32, x86-64, PowerPC"
|
||||||
"float boxing/unboxing"
|
"factor code ⇒ high-level SSA ⇒ low-level SSA ⇒ machine code"
|
||||||
"integer overflow checks"
|
}
|
||||||
"user-defined abstractions"
|
{ $slide "high-level optimizer"
|
||||||
|
"macro expansion, defunctionalization"
|
||||||
}
|
"type and interval inference, sparse conditional constant propagation, method inlining"
|
||||||
{ $slide "implementation"
|
"escape analysis and tuple unboxing"
|
||||||
|
}
|
||||||
"VM: 12 kloc of C, library: >100 kloc of Factor"
|
{ $slide "low-level optimizer"
|
||||||
"generational copying garbage collection, card marking write barrier"
|
"alias analysis, value numbering, write barrier elimination"
|
||||||
"full continuations, tail calls"
|
"linear scan register allocation"
|
||||||
"simple non-optimizing “bootstrap” compiler"
|
}
|
||||||
"optimizing compiler"
|
|
||||||
|
|
||||||
}
|
|
||||||
{ $slide "optimizing compiler"
|
|
||||||
|
|
||||||
"about 12,000 lines of Factor code"
|
|
||||||
"targets x86-32, x86-64, PowerPC"
|
|
||||||
"factor code ⇒ high-level SSA ⇒ low-level SSA ⇒ machine code"
|
|
||||||
|
|
||||||
}
|
|
||||||
{ $slide "high-level optimizer"
|
|
||||||
|
|
||||||
"macro expansion, defunctionalization"
|
|
||||||
"type and interval inference, sparse conditional constant propagation, method inlining"
|
|
||||||
"escape analysis and tuple unboxing"
|
|
||||||
|
|
||||||
}
|
|
||||||
{ $slide "low-level optimizer"
|
|
||||||
|
|
||||||
"alias analysis, value numbering, write barrier elimination"
|
|
||||||
"linear scan register allocation"
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
: chicago-talk ( -- ) chicago-slides slides-window ;
|
: chicago-talk ( -- )
|
||||||
|
chicago-slides "Chicago talk" slides-window ;
|
||||||
|
|
||||||
MAIN: chicago-talk
|
MAIN: chicago-talk
|
||||||
|
|
|
@ -307,6 +307,6 @@ CONSTANT: galois-slides
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
: galois-talk ( -- ) galois-slides slides-window ;
|
: galois-talk ( -- ) galois-slides "Galois talk" slides-window ;
|
||||||
|
|
||||||
MAIN: galois-talk
|
MAIN: galois-talk
|
||||||
|
|
|
@ -564,6 +564,7 @@ CONSTANT: google-slides
|
||||||
{ $slide "Questions?" }
|
{ $slide "Questions?" }
|
||||||
}
|
}
|
||||||
|
|
||||||
: google-talk ( -- ) google-slides slides-window ;
|
: google-talk ( -- )
|
||||||
|
google-slides "Google Tech talk" slides-window ;
|
||||||
|
|
||||||
MAIN: google-talk
|
MAIN: google-talk
|
||||||
|
|
|
@ -353,6 +353,6 @@ CONSTANT: jvm-summit-slides
|
||||||
}
|
}
|
||||||
|
|
||||||
: jvm-summit-talk ( -- )
|
: jvm-summit-talk ( -- )
|
||||||
jvm-summit-slides slides-window ;
|
jvm-summit-slides "JVM Summit talk" slides-window ;
|
||||||
|
|
||||||
MAIN: jvm-summit-talk
|
MAIN: jvm-summit-talk
|
||||||
|
|
|
@ -177,6 +177,7 @@ CONSTANT: minneapolis-slides
|
||||||
{ $slide "Questions?" }
|
{ $slide "Questions?" }
|
||||||
}
|
}
|
||||||
|
|
||||||
: minneapolis-talk ( -- ) minneapolis-slides slides-window ;
|
: minneapolis-talk ( -- )
|
||||||
|
minneapolis-slides "Minneapolis talk" slides-window ;
|
||||||
|
|
||||||
MAIN: minneapolis-talk
|
MAIN: minneapolis-talk
|
||||||
|
|
|
@ -336,6 +336,7 @@ var price = (order == null ? null : order.price);" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
: otug-talk ( -- ) otug-slides slides-window ;
|
: otug-talk ( -- )
|
||||||
|
otug-slides "OTUG talk" slides-window ;
|
||||||
|
|
||||||
MAIN: otug-talk
|
MAIN: otug-talk
|
||||||
|
|
|
@ -123,5 +123,5 @@ SYNTAX: STRIP-TEASE:
|
||||||
{ T{ key-down f f "f" } [ toggle-fullscreen ] }
|
{ T{ key-down f f "f" } [ toggle-fullscreen ] }
|
||||||
} set-gestures
|
} set-gestures
|
||||||
|
|
||||||
: slides-window ( slides -- )
|
: slides-window ( slides title -- )
|
||||||
'[ _ <slides> "Slides" open-window ] with-ui ;
|
'[ _ <slides> _ open-window ] with-ui ;
|
||||||
|
|
|
@ -529,6 +529,7 @@ xyz
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
: tc-lisp-talk ( -- ) tc-lisp-slides slides-window ;
|
: tc-lisp-talk ( -- )
|
||||||
|
tc-lisp-slides "TC Lisp talk" slides-window ;
|
||||||
|
|
||||||
MAIN: tc-lisp-talk
|
MAIN: tc-lisp-talk
|
||||||
|
|
|
@ -487,6 +487,6 @@ CONSTANT: vpri-slides
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
: vpri-talk ( -- ) vpri-slides slides-window ;
|
: vpri-talk ( -- ) vpri-slides "VPRI talk" slides-window ;
|
||||||
|
|
||||||
MAIN: vpri-talk
|
MAIN: vpri-talk
|
||||||
|
|
Loading…
Reference in New Issue