gcanti / fp-ts

Functional programming in TypeScript
https://gcanti.github.io/fp-ts/
MIT License
10.75k stars 503 forks source link

Meaning of the S, R, E, and A type parameters #1187

Open JohnTasto opened 4 years ago

JohnTasto commented 4 years ago

📖 Documentation

Where do the letters S, R, E, and A that are used as type parameters throughout fp-ts come from? I understand what they're for and how higher kinded types work in fp-ts, but why those specific letters? I can make a guess for A, but the rest seem kind of random, at least to a native English speaker with no prior functional programming experience.

Also, what does URI stand for? I keep thinking Uniform Resource Identifier, but it doesn't follow the spec so I'm not really sure.

Apologies if this isn't the right place to ask. I can't find an answer anywhere, and individual letters are impossible to search for. Feel free to close whenever.

gcanti commented 4 years ago

If I recall correctly

waynevanson commented 4 years ago

This is a great question and response. Can we have this added to the docs under guides?

https://gcanti.github.io/fp-ts/guides/

waynevanson commented 3 years ago

todo: label as docs, implement

We should have a list of letters to come next. Currently I've seen for 3.0 we have E1 and E2 when there are duplicates, which should also be documented.