Show HN: ClarifyJs – Overcoming Limits of JavaScript Method Chaining
1–10 of 18 posts
Re: Show HN: ClarifyJs – Overcoming Limits of JavaScript Method Chaining
#2Re: Show HN: ClarifyJs – Overcoming Limits of JavaScript Method Chaining
#3Re: Show HN: ClarifyJs – Overcoming Limits of JavaScript Method Chaining
#4Re: Show HN: ClarifyJs – Overcoming Limits of JavaScript Method Chaining
#5If it meets the guidelines, this might make a good 'Show HN'. Show HN guidelines: https://news.ycombinator.com/showhn.html
Re: Show HN: ClarifyJs – Overcoming Limits of JavaScript Method Chaining
#6Streams, events, etc have all solved this problem without repurposing existing syntax to “fix” a round peg by making it square.
Clever though.
Re: Show HN: ClarifyJs – Overcoming Limits of JavaScript Method Chaining
#7Maybe it is just a too simple example to get a point across, but I would want to see an example where this would not work.
Re: Show HN: ClarifyJs – Overcoming Limits of JavaScript Method Chaining
#8Yet another layer to go through when debugging. Wonderful! /s
The places where this comes in handy are already prime candidates for bug hiding locations. Adding this in might remove some of those, but if the cost is that debugging what remains is significantly more difficult, then is it really worth it?
Re: Show HN: ClarifyJs – Overcoming Limits of JavaScript Method Chaining
#9The example with the message could just be msg('hello everyone').to( list).except('John').send().then... where send() returns a promise. That is, the message creates an object that is getting modified until it hits the send method and then it is done. Maybe it is just a too simple example to get a point across, but I would want to see an example where this would not work.
Re: Show HN: ClarifyJs – Overcoming Limits of JavaScript Method Chaining
#10The example with the message could just be msg('hello everyone').to( list).except('John').send().then... where send() returns a promise. That is, the message creates an object that is getting modified until it hits the send method and then it is done. Maybe it is just a too simple example to get a point across, but I would want to see an example where this would not work.
That said, I get uneasy when reading code like the example
send('hello everyone!').to('friends').except('john');
since it doesn't follow my mental model of how programs execute. It's shorter than the builder pattern, but, at least to me, less understandable because there's more magic going on.