26.8.22

 

Help, please! Do you know any applications of my work?


When writing an application, it sometimes help if I can point out that monads and type classes, which my research contributed to, are used to process every post on Facebook. (Via Haxl. Thanks, Simon Marlow!)

Do you know of other applications of my work? If so, please email me or list them in the comments. (You can find my email at the bottom of my home page.)

Possible example: I gather Twitter uses monads and implicits in Scala (where implicits were influenced by type classes), but it's hard to find confirmation online. Do you know whether they are used, and how heavily? (It's easier to find such confirmation for The Guardian.)

Possible example: Do you make heavy use of generics in Java? I contributed to their design.

Possible example: I gather protocols in Swift are in part inspired by type classes, but it is hard to find confirmation online. Can you point me to confirmation?

There are many other possibilities. I hope you know some I haven't dreamed of!

Many thanks for your help. Answers are welcome at any time, but would be most useful if they can be provided by 2 September 2022.


Labels: , , , , , , , , ,


Comments:
Rust’s “traits” are directly inspired by type classes and work mostly the same way. They even use the terminology “orphan instances” and discuss all the same problems that Haskellers do. Amazon, Microsoft, etc. all use and invest in Rust. Firefox’s CSS engine is written in it and is called Servo.

Artificial Labs, the company I work at, has a DSL for complex insurance policies that has type classes.
 
I’m also using type classes in a product I’m working on that is like a spreadsheet but with a typed, more functional programming language. They lend themselves rather nicely to the subtle process of writing out arithmetic across many cells before one has decided what level of decimal precision is correct, among other benefits like equality and ordering being handled sensibly. But that’s not something you can share as a brag, just something I’m sharing with you.
 
Dear Mr Wadler,

This is tiny, but every serious blog, piece of documentation or introductory article on Haskell ends up quoting "Adler et al." and/or "Peyton Jones et al."

While this may not be the strictest, direct, "application" of your work, as far as I can tell you've been an inspiration, an evangelist and a Mentor for many of the newcomers in Haskell.

Oh and BTW, 15 years of Java as an IT professional, of course we use generics all over the place. Things like Hibernate/ORMs with ad hoc type mapping and queries wouldn't be possible without it. And constructs like Repository wouldn't be possible in Spring.

Thanks
 
The C++ standard library has several monadic components. The Ranges library is monadic, and a few types, such as optional, have Functor and Monad apis in their interface. The Ranges library is essentially the same as the List monad, and optional an instance of Maybe.

https://en.cppreference.com/w/cpp/utility/optional
https://en.cppreference.com/w/cpp/ranges
 
Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?