5 ms·
Well, for better or for worse, no lisper I know would ever try to fuse a database system in at the kernel level. That's one of the ugliest system designs I've e
by oconnore 16y ago
Well, for better or for worse, no lisper I know would ever try to fuse a database system in at the kernel level. That's one of the ugliest system designs I've ever heard of.
The whole point of lisp is that the language is extensible, so that once you solve one problem, you NEVER have to think about it again. In other languages, you might have to put some conditionals in, or free some dynamic memory somewhere every time you do a task. In Lisp, you think about that once, build a syntactic structure that does it for you, and then free yourself to actually consider how to solve your problem.
It's the opposite of rock-star-programming. It is assuming that you aren't a rock star, and therefore working to reduce the complexity that your puny mind has to deal with.
- kenjackson 16y agoHow is what you described (having to solve a problem once) different than most languages (especially those with garbage collection). It seems like you're describing libraries, ala growing a language (http://video.google.com/videoplay?docid=-8860158196198824415# http://video.google.com/videoplay?docid=-8860158196198824415...).
- sdevlin 16y agoLisp dialects afford you more powerful tools for abstraction. Whereas most languages provide abstraction at the function level, Lisp allows for syntactic abstraction via macros. Think of constructs like the if-statement that only evaluates one of its consequent and alternative, or short-circuiting and- and or-expressions. These things are impossible (or awkward/difficult) in most languages, but Lisp makes them relatively simple.
- kenjackson 16y agoIt's a nice tool for abstraction, but its simply another tool. Once you have the ability to make a function that returns an arbitrary value, including other functions, and can take an arbitrary value, I think you're largely done. I can build conditionals, lazy vs eager eval, and the whole nine with this simple contruct. And sure, it starts out looking uglier, but c'mon, we're comparing to Lisp. :-) The real question is how much of the language is built out for you already. And what type of "culture" does that build out presume or create...
- sdevlin 16y agoYeah, you can simulate that stuff with lambdas. For that matter, you can simulate function calls by following conventions in assembly language. That's what I meant by "awkward/difficult". Surely you'd concede that you're happy to have syntactic support for if-statements and lambdas? Given that, it's not a stretch to imagine that syntax could be useful in other scenarios.
- kragen 16y ago> Well, for better or for worse, no lisper I know would ever try to fuse a database system in at the kernel level. That's one of the ugliest system designs I've ever heard of. It's nevertheless fairly common, and it's usually called a "filesystem".
- david927 16y agono lisper I know would ever try to fuse a database system in at the kernel level. That's one of the ugliest system designs I've ever heard of I disagree. It's not only elegant but is the way it should be.