-
-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ramda #79
Comments
Thanks! We'll have a think and get back to you :) |
Great! Thank you. |
Hey @iHiD! Just checking back. Have you have had a chance to consider having a Ramda track? |
Hello. I have! Sorry for not replying earlier and thanks for the nudge 👍 So I talked with a couple of people and the consensus is that Ramda is more of a JS framework than a language in its own right. One person added the following:
Does that ring true to you? Rather than creating a whole Ramda track, could we maybe work on creating a series of example solutions and docs that someone could refer to to solve the JS exercises in the Ramda way? Interested to hear what you think :) |
Thanks for getting back @iHiD! Yes. Agree 100%. Ramda is not a language and doesn't make sense as a language track. It's a utility library similar to Lodash, but is specifically for functional programming e.g. using functional composition patterns like currying and pipelines, and working with immutable data. A small example with gigasecond: // Core JavaScript
const gigasecond = utcDate => new Date(Number(utcDate) + 10E11)
// Ramda
const gigasecond = utcDate => pipe(
Number,
add(10E11),
constructN(1, Date)
)(utcDate) I love the Exercism platform and mentoring and I think being able to use a library like this would be a great way for people who are interested to learn and practice the functional side of JavaScript.
A clarification here, it is not necessarily that the exercises do not lend themselves to practicing functional JavaScript. I am just not sure how/if it could fit into the JavaScript track. I imagine it would not be the norm to use a library to solve problems or that all mentors would all be able to give feedback on functional solutions to the problems.
This sounds like a good idea. I'd be interested in understanding how this might work and whether there is a precedent for it.
Yes! This sounds great. How would it work with the JavaScript track? For example, it would need different dependencies installed and mentors to be familiar with functional programming and JavaScript. |
Hey @iHiD! Just checking in on this again 😊 Any thoughts on how this could work? |
Hello. Sorry for the slow replies. I'm focussed on getting Exercism v3 over the line right now so don't have much brainspace for anything else. I think I'll be best coming back to this once that's launched and I can think about new things! |
No problem @iHiD. I'll reach out after the Exercism v3 release. Good luck with it! |
Thank you 💙 |
What programming language should we add?
Ramda.js. This is a popular library for practical functional programming in JavaScript. It is actually not a new language, but I think it can be treated as such since it uses a significantly different style of JavaScript that requires knowledge and experience with functional programming concepts that would not fit into the main JavaScript track. I think that there is enough interest in Ramda based on its weekly npm downloads that it would be valuable for people who use it or want to learn it to be able to practice it on Exercism.
What is the official website for the language?
https://ramdajs.com/
Is this a language that comes in many variants? If so, which variant should we support?
NA
Does the language have an official logo? If so
Ramda logo
Attribution rights for logo
Does the language have an unofficial logo? If so
NA
Is there a testing framework available for the language?
JavaScript testing frameworks
Is this language listed as 'supported' by Prism.js? If so
javascript
.js
If it is not supported by Prism.js, what is the closest supported language it maps to?
Who will be leading the effort to launch the track?
This is undetermined. I would like to first see whether this kind of track would be possible.
The text was updated successfully, but these errors were encountered: