~/talk

Extending JavaScript Libraries from ClojureScript

slides:none on file

Claims that ClojureScript simplifies JavaScript interop and that building facade shims lets the same visualization code run in browser and JVM. Uses D3 and ClojureScript macros, threading macros, and clj->js / js->clj coercions to extend jQuery-style chains; team ports parts of D3 to Clojure on the JVM and the dashboard works in both places. Notes a practical pitfall: extracting JS methods and calling them with apply breaks their this binding bug, causing breakage after a D3 upgrade.

AI-written summary · about

  1. 0:00Intro
  2. 1:23Overview
  3. 1:59Why ClojureScript
  4. 2:29Cousin Henry
  5. 3:34Imperial and Metric
  6. 4:50JavaScript
  7. 6:00Brendan Eich
  8. 6:49Variable Scope
  9. 8:00Variable Scope vs Closure
  10. 8:23No namespace system
  11. 9:07jQuery example
  12. 9:54This is crazy
  13. 10:11CoffeeScript
  14. 11:30namespace
  15. 11:57Hacker News
  16. 12:36Why Clojure is simpler
  17. 12:52Only geniuses use functional languages
  18. 14:22ClojureScript from the start
  19. 14:34Interop with host system
  20. 15:14Handling method calls with no arguments
  21. 15:54Scalar types
  22. 16:28Rea function
  23. 16:39Objects
  24. 16:54Reader literal support
  25. 17:22Chain call style libraries
  26. 18:53Breaking the chain
  27. 19:45Building facades
  28. 20:25Decoupled code
  29. 21:56Recap
  30. 22:20One Story
  31. 22:43Conceptual Thinking Issues
  32. 23:52Dynamic Variable
  33. 24:25Object Properties
  34. 25:00Library Internals
  35. 25:10Apply
  36. 25:52Closure in Java
  37. 26:36Summary
  38. 27:22Free unsolicited advice
  39. 27:34Tools dont make the artists
  40. 28:07Slide rules
~/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.