Media Summary: We like to think of Haskell as being order-independent: no matter what order you put your declarations in, your program means ... I explain the infrequently-written but often-implied -XMonoLocalBinds extension and how it prevents let-generalization. I explain why I view the lack of kind polymorphism (in Haskell since the beginning) as a bug and what

Rae Monomorphism Restriction Can Improve Performance - Detailed Analysis & Overview

We like to think of Haskell as being order-independent: no matter what order you put your declarations in, your program means ... I explain the infrequently-written but often-implied -XMonoLocalBinds extension and how it prevents let-generalization. I explain why I view the lack of kind polymorphism (in Haskell since the beginning) as a bug and what I describe the MonoLocalBinds extension to GHC, and describe how it makes type inference more predictable by disabling local ... An exploration of the requirements on instances with functional dependencies. Description of the status quo: ... For the complete article, including links to the source material, see

I go through a few common type error messages from GHC and explain what the terms in the messages mean. This video is ... This video shows a way to use linear types to encode an invariant about money: it is never duplicated and must be spent. But the ... Support What's a Creel? on Patreon: Office merch store: ... I walk through the four different strategies GHC uses to implement `deriving` when declaring a new datatype. Previous video ... In some GHC work I've been up to (in collaboration with Sam Derbyshire aka and Simon Peyton Jones), I discovered that ... I explain Haskell's `Coercible` feature, and why we sometimes need role annotations to keep our code working correctly.

Recent work within GHC has opened up questions about which constraints should be generalized (that is, included in an inferred ... Wei Wei presents Interval LLM, addressing the lack of temporal modeling in sequential recommendation. Items and time intervals ... I explore the real definition of IO, and how it's just a fairly ordinary state monad. The only unusual aspect is that the state it passes ... Richard Eisenberg Richard is a Principal Researcher at Tweag I/O. His research centers around how we

Photo Gallery

@rae: Monomorphism restriction can improve performance
@rae: Why we sometimes need the monomorphism restriction
@rae: The monomorphism restriction in Haskell causes order dependency. Ack!
@rae: Let-generalization is confusing
@rae: Why -XNoPolyKinds should be removed from Haskell
@rae: Let should not be generalized: the MonoLocalBinds extension to GHC
@rae: Functional dependency consistency is inconsistent
Performance Excuses Debunked
@rae: How to read some common GHC errors
@rae: Avoid losing money via -XLinearTypes
Branchless Programming: Why "If" is Sloowww... and what we can do about it!
@rae: All about `deriving` in GHC
View Detailed Profile
@rae: Monomorphism restriction can improve performance

@rae: Monomorphism restriction can improve performance

I explain Haskell's

@rae: Why we sometimes need the monomorphism restriction

@rae: Why we sometimes need the monomorphism restriction

... the

@rae: The monomorphism restriction in Haskell causes order dependency. Ack!

@rae: The monomorphism restriction in Haskell causes order dependency. Ack!

We like to think of Haskell as being order-independent: no matter what order you put your declarations in, your program means ...

@rae: Let-generalization is confusing

@rae: Let-generalization is confusing

I explain the infrequently-written but often-implied -XMonoLocalBinds extension and how it prevents let-generalization.

@rae: Why -XNoPolyKinds should be removed from Haskell

@rae: Why -XNoPolyKinds should be removed from Haskell

I explain why I view the lack of kind polymorphism (in Haskell since the beginning) as a bug and what

@rae: Let should not be generalized: the MonoLocalBinds extension to GHC

@rae: Let should not be generalized: the MonoLocalBinds extension to GHC

I describe the MonoLocalBinds extension to GHC, and describe how it makes type inference more predictable by disabling local ...

@rae: Functional dependency consistency is inconsistent

@rae: Functional dependency consistency is inconsistent

An exploration of the requirements on instances with functional dependencies. Description of the status quo: ...

Performance Excuses Debunked

Performance Excuses Debunked

For the complete article, including links to the source material, see https://computerenhance.com/

@rae: How to read some common GHC errors

@rae: How to read some common GHC errors

I go through a few common type error messages from GHC and explain what the terms in the messages mean. This video is ...

@rae: Avoid losing money via -XLinearTypes

@rae: Avoid losing money via -XLinearTypes

This video shows a way to use linear types to encode an invariant about money: it is never duplicated and must be spent. But the ...

Branchless Programming: Why "If" is Sloowww... and what we can do about it!

Branchless Programming: Why "If" is Sloowww... and what we can do about it!

Support What's a Creel? on Patreon: https://www.patreon.com/whatsacreel Office merch store: ...

@rae: All about `deriving` in GHC

@rae: All about `deriving` in GHC

I walk through the four different strategies GHC uses to implement `deriving` when declaring a new datatype. Previous video ...

@rae: GHC sometimes infers the wrong type

@rae: GHC sometimes infers the wrong type

In some GHC work I've been up to (in collaboration with Sam Derbyshire aka @sheaf and Simon Peyton Jones), I discovered that ...

@rae: Use Coercible for zero-cost abstractions

@rae: Use Coercible for zero-cost abstractions

I explain Haskell's `Coercible` feature, and why we sometimes need role annotations to keep our code working correctly.

@rae: Figuring out what constraints to generalize is hard

@rae: Figuring out what constraints to generalize is hard

Recent work within GHC has opened up questions about which constraints should be generalized (that is, included in an inferred ...

Not Just What, But When: Integrating Irregular Intervals to LLM for Sequential Recommendation

Not Just What, But When: Integrating Irregular Intervals to LLM for Sequential Recommendation

Wei Wei presents Interval LLM, addressing the lack of temporal modeling in sequential recommendation. Items and time intervals ...

@rae: IO is just the state monad passing the real world

@rae: IO is just the state monad passing the real world

I explore the real definition of IO, and how it's just a fairly ordinary state monad. The only unusual aspect is that the state it passes ...

Richard Eisenberg – Parameters of Many Flavors

Richard Eisenberg – Parameters of Many Flavors

Richard Eisenberg Richard is a Principal Researcher at Tweag I/O. His research centers around how we