~/talk

Frege: Purely Functional Programming for the JVM

Talkat GOTO Berlin 2015 · 2015-12-03..12-04· [java]
slides:none on file

Frege is a purely functional JVM language (Haskell-like) that compiles to Java source and javac bytecode, uses a REPL, global type inference and lazy infinite lazy streams to implement FizzBuzz as zip/cycle/map/take without loops — the functional solution has zero conditionals versus four in the imperative version and is incrementally built in the REPL and works. Java interop requires explicit purity annotations: impure Java calls become IO-typed and taint callers, so purity is enforced and parallel-safe.

AI-written summary · about

  1. 0:00Introduction
  2. 1:47Mental model challenge
  3. 3:42The cost of assignments
  4. 6:01Debugging imperative code
  5. 8:13Functional programming concepts
  6. 10:51Eliminating state
  7. 13:01Function application
  8. 16:41Type inference
  9. 20:30Currying and algebra
  10. 23:27Function composition
  11. 26:42Benefits of purity
  12. 30:17Safe refactoring
  13. 33:37Java interoperability
  14. 37:02Tainted IO types
  15. 38:51Structure and safety
  16. 40:38FizzBuzz demonstration
  17. 43:07Lazy evaluation demo
  18. 47:18Logical vs imperative code
  19. 50:33Incremental development
  20. 55:07Summary of benefits
  21. 57:00Learning resources
  22. 59:29Questions
~/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.