DEV Community

Anastasia Khomyakova ❤ for Konfy

Posted on

"I code as a hobby!" — Ryan Orendorff

Hello wonderful friends!

If you're ready to take your Haskell skills to the next level and you still haven't made plans, register now to join us on September 10th. Registration is FREE!

Our next speaker is Ryan Orendorff, he is the Research Scientist at Facebook Reality Labs Research, working on novel human computer interaction research.

For people who work in Haskell, what Library do you desperately want someone to write?

I don't professionally work in Haskell, but I would love to!

If you had to pick one thing to include in the next Haskell Report, what would it be?

That's a tough one. I'd like to see dependent Haskell take on a more prominent role without the special constructs currently required. I program more in Agda than in Haskell as a hobby than Haskell, and I found the clarity Agda has around dependent types really demystified some components of Haskell for me.

What would, in your opinion, be a Haskell “killer application”?

I think Haskell could find a killer application in the medical field, both in control systems for hardware devices such as MRIs and in backend data processing code. The code for medical devices and associated systems can be deployed for long periods of time without updates; in such a case, a language like Haskell could reduce the number of bugs and logic errors that may otherwise go uncorrected for a significant period of time. This code can also have a significant impact on patient outcomes, and so it is vitally important that we get the code right!

What would be your favourite piece of Haskell-branded clothing?

Currently my favorite piece of Haskell clothing is the "Enemy of the Mutable State" work by Mark Lentczer. If I had to make a new piece of clothing, I'd have to say some purple hiking shorts with the Haskell lambda would be great so that the wildlife knew how much I loved Haskell.

What I Wish I’d Known When Learning Haskell?

When I was learning Haskell, I was (and still sometimes am) confused by the array of tools at my disposal. There is so much to learn, and I felt like Haskell didn't "click" properly until a few pieces came together all at once. What I wish I known when I started Haskell was that you can be very productive with the basic tools and common packages that don't use too many advanced Haskell features. All the great resources and blogs on advanced Haskell were so tempting when I started learning, but I should have bookmarked those resources and came back to them when I was ready instead of diving into the deep end early.

State of Haskell Survey results in 2020 shows that the number of developers who use Hackage vs. Stackage is almost the same. Which one do you use, why?

I use Nix, so transitively I suppose I use Hackage. I recommend giving Nix a shot---it is a great way to make a reproducible environment that anyone can use for any language.

96% of respondents of the State of Haskell Survey said they code as a hobby, do you? Is that for an open source project?

Yes, I code as a hobby! I have an open source package called "Functional Linear Algebra" for Agda where I am playing around with what linear algebra I can prove in Agda. Otherwise I contribute to the Nix repository on occasion.

If you could change one thing about Haskell, what would it be?

I'd love an amazing plotting library with similar power to that of matplotlib in Python or the plotting tools in Matlab. Since plotting results is a large part of my past jobs, having a good plotting library can make a huge difference in how long it takes me to complete a project!

When\Where: 10th of September at 18.10 CEST, Happiness Track+ Q&A in SpatialChat

What: Functional Programming + Dependent Types ≡ Verified Linear Algebra

What about: Linear algebra is the backbone of many critical algorithms such as self driving cars and machine learning. Modern tooling makes it easy to program with linear algebra, but the resulting code is prone to bugs from index mismatches and improperly defined matrices.

In this talk, we will formalize basic linear algebra operations by representing a matrix as a function from one vector space to another. This "matrix-free" construction will enable us to prove basic properties about linear algebra; from this base, we will show a framework for formulating optimization problems that is correct by construction, meaning that it will be impossible to represent improperly formed matrices. We will compare the Agda framework to similar frameworks written in Python and in dependently typed Haskell, and demonstrate proving properties about neural networks using this framework.

Hop on!

FREE Register to attend
Check out our Website
Learn the whole Schedule
Join us on Twitter

Discussion (0)