~/talk

Growing a DSL for financial calculations

Talkat Typelevel Summit Oslo 2016 · on Wednesday, 2016-05-04· [scala, functional-programming]
slides:none on file

Rabobank mortgage calculations move from opaque Java BigDecimal code into a small internal Scala DSL with full compile‑time checks, custom Amount and Percentage types, a Quantity type class to make multiplication safe, and a Period/Per design that enforces amount per month vs amount per year. The team replaces confusing literals (that stray 1200) with typed constructs, reuses existing Java tests to validate correctness, and business analysts begin reading and even committing DSL rules; code is open sourced.

AI-written summary · about

  1. 0:00Intro
  2. 0:54Rabobank
  3. 3:49Java code
  4. 8:50Scala code
  5. 11:07Multiplication
  6. 11:33Type classes
  7. 14:08Implicit multiplication
  8. 14:35Monthly and yearly amounts
  9. 16:45Infix notation
  10. 18:53Summary
  11. 19:14The code
  12. 24:44New project
  13. 26:04Questions
~/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.