CUFP 2011 Keynote: Pragmatic Haskell (Lennart Augustsson Standard Chartered Bank)
anilmvsCited 4× on HN, 2015–2023
talk · advanced · evergreen · 2015–2023 on HN
Lennart Augustsson's CUFP 2011 keynote covers using Haskell commercially at Standard Chartered Bank. He discusses non-standard Haskell implementations, including a strict dialect, and weighs strict against lazy evaluation.
It is the reference for Mu, Standard Chartered's strict Haskell, and for the practical case that strictness makes debugging easier.
Up next
18 mo on HNRuby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich
Confreaks
Recommended 17× on HN · 2013–2026
14 mo on HNThe Soul of Erlang and Elixir • Sasa Juric • GOTO 2019
GOTO Conferences
Recommended 16× on HN · 2019–2024
14 mo on HN"Simple Made Easy" - Rich Hickey (2011)
Strange Loop Conference
Recommended 14× on HN · 2022–2026
13 mo on HN"Making Impossible States Impossible" by Richard Feldman
elm-conf
Recommended 9× on HN · 2017–2026
12 mo on HNWilliam Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]
PapersWeLove
Recommended 11× on HN · 2017–2026
11 mo on HNThe Value of Values with Rich Hickey
InfoQ
Recommended 10× on HN · 2014–2023
12 mo on HNWhy Isn't Functional Programming the Norm? – Richard Feldman
Metosin
Recommended 12× on HN · 2019–2025
11 mo on HNMaybe Not - Rich Hickey
ClojureTV
Recommended 14× on HN · 2018–2025
11 mo on HNSolving Problems the Clojure Way - Rafal Dittwald
Clojure/north
Recommended 10× on HN · 2019–2025
10 mo on HNLecture 1A: Overview and Introduction to Lisp
MIT OpenCourseWare
Recommended 10× on HN · 2019–2026
10 mo on HNConway's Game Of Life in APL
Dyalog
Recommended 11× on HN · 2010–2024
9 mo on HNLecture 1A | MIT 6.001 Structure and Interpretation, 1986
MIT OpenCourseWare
Recommended 11× on HN · 2012–2024
4 comments from Hacker News
> their own dialect of Haskell called Mu. [emphasis mine] >Mu has a strict runtime, which makes program performance easier to analyse and predict – but prevents us from just copy-pasting some Haskell libraries that rely crucially on lazy evaluation. [emphasis mine] If Mu were an entirely different language then you wouldn't be able to copy-paste any Haskell libraries. See also e.g. here: link , ▶ this video
I mean, if you want a direct quote from Lennart Augustsson, here's a quick transcription of the relevant parts of the relevant video. ▶ this video > So strictness is really fantastic, I must say. Stack traces work. When something goes wrong, you can say "so you call things from there to there to there". It's the single most time saving thing from Mu compared to Haskell, because things do go wrong from now and then, and it's so great to know exactly what went wrong... And strict languages have what I call resource composition. So if you understand the complexity of 2 parts you can stick them together and nothing weird happens. They add up. That's not true in lazy languages. And debugging, it's sensible in strict languages. And exceptions, they actually work! Strictness is great. It's terrible, also. So it has nice resource composition but it doesn't compose nicely semantically. So laziness has some good things as well. I think laziness is a much nicer way of programming except for these pesky resources. You definitely need some lazy functions, even C has lazy functions. And then he goes on to talk about the ways that they allow laziness in a strict language, and when they need laziness. Screenshots of relevant slides. Considering that the report was pretty much a summary of the talks given at CUFP, I don't know why you would cast doubt on its legitimacy. link link
IIRC, Standard Chartered achieved this by initially adding Haskell interop to Excel[0] and then moving to a custom GUI solution to replace Excel altogether. [0]- ▶ this video
While it's not publicly available, there is a strict dialect of Haskell called Mu, owned by Standard Chartered. See ▶ this video . It would be nice if the rest of us could play with it, but so it goes.