You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Wanting to try out Ramda for the first time I’m just confronted with a wall of functions, many of which I’m sure are little used or just deprecated.
What a newcomer like me needs is a list of functions to feed into the L1 Cache of my brain to make thinking in ramda less of a struggle. Having some experience with FP I know that map() and reduce() will probably be at the top, but beyond that there must be a subset that are frequently used.
I suggest something like a list of these functions on the homepage, or better yet, a MVP tag in the documentation, or even just a ⭐ next to the function. So when I know I need a “List” function, I can search on “List”, and I’ll see ⭐ next to a few functions, which are more likely what I’m looking for.
I could list the functions I use most... not easily, but with some work. @adispring could list the functions he uses most. Others could list their functions. But the Ramda community is very large, with over a million daily NPM downloads, and some number of users I don't even know how to estimate; I don't know how to get a representative sampling.
Or we could simply play a guessing game, make a pass at it, and look for feedback, iterate until it stabilizes.
I could also see a silly little application, authenticated with a GitHub profile to avoid spam that lets a user categorize Ramda functions into Use All The Time, Use Fairly Often, Use Occasionally, Use Quite Rarely, Have Never Used, and What's That?. After a few thousand users, we would probably get a reasonable answer.
Or maybe the core team simply curates a list of the 25 most common functions, or some such.
I don't think most used to least used list would help much. Most used functions like map, filter, propOr would get high visibility, but those concepts are well known.
I would suggest introducing another documentation tab, with tutorials and topics. - Perhaps using Try Ramda to link some interactive end to end examples?
@webduvet: There are dozens of tutorials out there teaching Ramda. Would you suggest that such a tab hosts such tutorials or simply offers links to them?
Perhaps we could extract the functions mentioned in Stack Overflow posts and create a sort of a map/graph? We could see what are the functions that tend to be used together and what are the ones that seem to be the most confusing or mentioned the most.
Interesting, but I think that would be quite difficult, especially when we have many common English words as function name, "all", "and", "any", "call", "both", "count", "drop", "either", "find", and many more.
There are possibilities, but I don't think it's a quick one.
Activity
adispring commentedon Sep 9, 2021
Good suggestion. There are almost 300 hundred functions in ramda, too many to learn/search.
CrossEye commentedon Sep 9, 2021
This is an interesting idea.
But I have no idea how to achieve it.
I could list the functions I use most... not easily, but with some work. @adispring could list the functions he uses most. Others could list their functions. But the Ramda community is very large, with over a million daily NPM downloads, and some number of users I don't even know how to estimate; I don't know how to get a representative sampling.
Or we could simply play a guessing game, make a pass at it, and look for feedback, iterate until it stabilizes.
I could also see a silly little application, authenticated with a GitHub profile to avoid spam that lets a user categorize Ramda functions into
Use All The Time
,Use Fairly Often
,Use Occasionally
,Use Quite Rarely
,Have Never Used
, andWhat's That?
. After a few thousand users, we would probably get a reasonable answer.Or maybe the core team simply curates a list of the 25 most common functions, or some such.
We probably should so something to make this more prominent: https://github.com/ramda/ramda/wiki/What-Function-Should-I-Use, but I don't even know when it was last updated.
So I'd love to hear suggestions both for how to gather the information about the most important functions and for how to present that information.
CrossEye commentedon Sep 13, 2021
I did a pass at separating the functions for my usage from
1
for most used to5
for least used. I wonder how they match up with anyone else's.adispring commentedon Sep 13, 2021
My usage status 4 years ago is here: https://github.com/adispring/statistic_ramda/blob/master/ramda-status.md
harisraharjo commentedon Sep 16, 2021
How about this: List all the functions with a vote icon, and then let the users vote.
CrossEye commentedon Sep 16, 2021
@harisraharjo:
Sure, but where and how? How do we prevent ballot stuffing?
webduvet commentedon Sep 27, 2021
I don't think most used to least used list would help much. Most used functions like
map
,filter
,propOr
would get high visibility, but those concepts are well known.I would suggest introducing another documentation tab, with tutorials and topics. - Perhaps using
Try Ramda
to link some interactive end to end examples?CrossEye commentedon Sep 29, 2021
@webduvet: There are dozens of tutorials out there teaching Ramda. Would you suggest that such a tab hosts such tutorials or simply offers links to them?
customcommander commentedon Dec 26, 2021
Related #270
CrossEye commentedon Jan 19, 2022
Ping.
Does anyone have further ideas on this topic? While I would love to see something, I don't have real suggestions.
customcommander commentedon Jan 19, 2022
Perhaps we could extract the functions mentioned in Stack Overflow posts and create a sort of a map/graph? We could see what are the functions that tend to be used together and what are the ones that seem to be the most confusing or mentioned the most.
Just an idea. Most likely a very silly one :)
CrossEye commentedon Jan 19, 2022
Interesting, but I think that would be quite difficult, especially when we have many common English words as function name, "all", "and", "any", "call", "both", "count", "drop", "either", "find", and many more.
There are possibilities, but I don't think it's a quick one.