Andrew Kaiser (2018-11-28T19:23:44.000Z)
kaisea.rpi at gmail.com (2018-11-28T19:31:03.068Z)
Do you see a way these proposals can work together? I believe they are solving different needs. Both proposals produce a new anonymous function, but partial application deals with currying, while the placeholder proposal tries to prevent writing a function at all. I can actually see the two working together: ```js const filenames = ['file1.txt', 'file2.txt' 'output.log' ] const fileContainsContent = (filename, content) => fs.readFileSync(filename).toString().includes(content) const fileSearchers = filenames.map(fileContainsContent(*, ?)) const filesContainingSearch = fileSearchers.filter(searcher => searcher('foobar')) ``` This isn't a very useful example, but you can see how the proposals accomplish different things
kaisea.rpi at gmail.com (2018-11-28T19:30:01.704Z)
Do you see a way these proposals can work together? I believe they are solving different needs. Both proposals produce a new anonymous function, but partial application deals with currying, while the placeholder proposal tries to prevent writing a function at all. I can actually see the two working together: ```js const filenames = ['file1.txt', 'file2.txt' 'output.log' ] const fileContainsContent = (filename, content) => fs.readFileSync(filename).toString().includes(content) const fileSearchers = filenames.map(fileContainsContent(*, ?)) const filesContainingSearch = fileSearchers.filter(searcher => searcher('foobar')) ``` This isn't a very useful example, but you can see how the proposals accomplish different things
kaisea.rpi at gmail.com (2018-11-28T19:27:15.748Z)
Do you see a way these proposals can work together? I believe they are solving different needs. Both proposals produce a new anonymous function, but partial application deals with currying, while the placeholder proposal tries to prevent writing a function at all. I can actually see the two working together: ```js const filenames = ['file1.txt', 'file2.txt' 'output.log' ] const fileContainsContent = (filename, content) => fs.readFileSync(filename).toString().includes(content) const fileSearchers = filenames.map(fileContainsContent(*, ?)) const filesContainingSearch = fileSearchers.filter(searcher => searcher('foobar')) ``` This isn't a very useful example, but you can see how the proposals accomplish different things