4 ms·
Argh. I've never done Scheme. In fact, it's been since the mid 80s when we dabbled in Common Lisp at school. Most of this stuff I had to be re-introduced to
by Roboprog 10y ago
Argh. I've never done Scheme. In fact, it's been since the mid 80s when we dabbled in Common Lisp at school. Most of this stuff I had to be re-introduced to again looking at Ruby and doing some reading about 10 years ago.
The first line looks odd to me, since there are just 3 expressions sitting there - no parens around map and the rest of the stuff. My ignorance is showing :-(
... but I don't want to write Java <= 7 style inner classes, either. I'll likely get a bad case of COBOL-fingers.
- qwertyuiop924 10y agoThat's because Scheme doesn't support partial applications (I mean, you can return lambdas, but your functions aren't curried by default). That's why we have to cut macro from the third line to fake it. Instead, the first line is Haskell, the best-known language to support that particular feature. I personally dislike it, but if you're demonstrating partial application, it's the language to do so. And in case you haven't realized it yet, Java is actually the new COBOL: Verbose, ugly, and very popular in industry.
- Roboprog 10y agoOh, I very much realize that about Java. I was so excited about Java, 20 years ago. (of course the industry alternative was C++, so I'd rather be shot in the foot than the head). I never saw any Simula 67 until VERY recently. Hmm. So its what Borland patterned Turbo Pascal 5.5 (and beyond) after, more or less. And Eiffel, as well. But the MIS industry keeps trying to rehabilitate a portable assembler for general application programming (C, C++, Java, ???)
- qwertyuiop924 10y ago...With the logic that it's performant, and it worked for Ken Thompson, not realizing that Unix is an order of magnitude less complex than the systems they're building, yes. Don't get me wrong, as a language I will defend C to the very end (C++ and Java, not so much), but it has a specific usecase: Low-level code, or code where you absolutely need the performance. If you're not in either area, stop. You shouldn't be using C. And, of course, Rust has been eating some of C's lunch of late...
- Roboprog 10y agoI did a lot of C in the 90s. Appropriately, in the first half to do "systems" type programming (we made development tools to emulate IBM mini computer facilities on PCs and unix , etc), less appropriately in the second half (bulk document formatting for one of the biggest print and mail houses) One good thing about Unix is, the creators intended for things to be stitched together as insulated building blocks, NOT to be built as monolithic C programs (at least as far as I can tell). OK, I'm really off on a tangent now. Have a nice day :-)
- qwertyuiop924 10y agoSave the kernel, which is pretty small, yes. Essentially, they realized C wasn't up to the task of writing monoliths, and so they didn't, to keep global complexity low. Richard Gabriel argued that this was part of C's success over Lisp in "Lisp: The Good News, The Bad News, And How To Win Big," informally known as the Worse is Better paper.
- Roboprog 10y agoSaid elsewhere, but I've not done Haskell or F#, either, but I understand they are both similar, at least in regard to currying.
- qwertyuiop924 10y agoYeah, I kinda assumed you had, as that's how most people get introduced to partial application.