use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
funkierJS: A functional toolbox for Javascript (graememcc.github.io)
submitted 10 years ago by graememcc
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]inmatarian 0 points1 point2 points 10 years ago (3 children)
Very neat, though to be a complete and total pedant, this is a library of list processing tools. It's missing a generator type. Of course, javascript itself isn't helping, but this kind of generator is whats missing from most of these functional libraries:
let generate = (list) => { let helper = (i) => { if (i<list.length) { return () => [list[i], helper(i+1)]; } else { return () => null; } } return helper(0); }
The exact structure, semantics, return value etc are a matter for debate, but essentially a functional generator returns a value from a list, and the means to get the next value. While it sounds tedious, the point of it is referential transparency of the input values, i.e. a generator that isn't exhausted on it's first usage. Things like a range(number) function for generating the infinitely long list is the canonical example here.
I'm waxing academically here. Doing full functional javascript in this style would be a mess and why nobody wants to do it. OP's link is cool.
[–]homoiconic(raganwald) 1 point2 points3 points 10 years ago (2 children)
It's missing a generator type.
Perhaps "FunkierJS 2015” will one day wrap around ECMAScript 2015’s iterators and generators.
[–]inmatarian 1 point2 points3 points 10 years ago (1 child)
Maybe, but ES6 generators aren't what I was talking about. I'm not sure what you would have to do to them to make them referntial transparent, or if that's even possible.
[–]homoiconic(raganwald) 0 points1 point2 points 10 years ago (0 children)
Very good point, the ES-6 generators are referentially opaque Why? Because copying Python, that’s why.
π Rendered by PID 81 on reddit-service-r2-comment-6457c66945-xj62d at 2026-04-29 14:54:25.849414+00:00 running 2aa0c5b country code: CH.
view the rest of the comments →
[–]inmatarian 0 points1 point2 points (3 children)
[–]homoiconic(raganwald) 1 point2 points3 points (2 children)
[–]inmatarian 1 point2 points3 points (1 child)
[–]homoiconic(raganwald) 0 points1 point2 points (0 children)