Regrettably, I can't find a good citation on that, although it's widely cited as the origin for the superstition that breaking a mirror causes seven years of bad luck.
1,701 karma · joined December 9, 2008
Regrettably, I can't find a good citation on that, although it's widely cited as the origin for the superstition that breaking a mirror causes seven years of bad luck.
Recursive irony?
If attempting coitus would pose a health risk at 68, then he certainly shouldn't make an attempt at 69.
That makes for good movie trailer voiceover, but Neanderthals were "our" contemporaries.
Your point may be correct, but that's more of a taunt than an argument.
Conversely, a very vague non-answer, like "I couldn't really say" may hint at a non-disparagement clause in exchange for a severance package (with an NDA covering the existence of the agreement itself).
But if you're doing something that you find satisfying, challenging, fascinating, or worthwhile, then I would never dare to look down on you.
For me, the real point of entrepreneurship is to take control of your own destiny. If you're doing what you really want to be doing, then you're already there! Just remember to live beneath your means and build a nice cash cushion, so you can keep control of your destiny as well.
http://images.google.com/images?q=champagne+popping
Whenever someone would try to designate a time and place, my response was invariably, "No. Right now."
I thereby avoided the scenario where I won the fight in private but the challenger publicly claimed victory anyway.
It also cut down the number of challengers very quickly. I didn't have to fight at all in high school. :)
Having a+a explode by default means that the whole time you have to be juggling what is intended to be used symbolically or not. This seems to not be a 100% perfect realization of the code == data paradigm.
I don't think you've thought this through.
If (+ a a) evaluated to (+ a a), then code would not be data, because there would be no code, only data.
There is a compiler for this ideal, pure-declarative language: it's called cat.
Alternatively, you could have a separate bracket type for evaluation, but that doesn't solve your complaint.
Unfortunately, in Lisp, you need to "evaluation manage" those structures. And its not just quote, its the whole macro language with its own idiosyncrasies.
The macro language is called Lisp.
Its just a lot easier to have a single elegant system with the right defaults.
If you don't grasp macros, then Lisp will seem useless to you. This is actually the origin of the term Blub.
I'm the kind of person who implements models of computation as a recreational activity. I've probably wished for more granular evaluation control 1% of the time, but having civilized pattern matching (and representation) has vastly increased productivity and code density.
I'm the kind of person who implements working Lisps as a recreational activity. I guarantee you that adding a (def/pat ) pattern matching function definition form is just a macro away (and already exists in some Lisps).
At that point, you don't need to manually quote your patterns, which I believe addresses the remainder of your objections.
Yep.
My comment was about implementing one's own Lisp reader.
(define *reader-macros* `(
(#\' ,(lambda () (list 'quote (read))))))
instead of (case dispatch-char
((#\') (list 'quote (read)))
...)If your favorite Lisp lacks a certain feature you want, it's easy to add, making Lisp the anti-Blub.
(And if your favorite Lisp makes it hard to add it, you've picked the wrong favorite!)
I usually implement it as a reader macro. :)
If it's any consolation, prescriptive grammarians have always been wrong. :)
Don't ask me; ask the guy who came up with the "FPLL" dual-licensing.
LGPL single-licensing would probably be better.
Well, the very first thing that I wanted to implement was something like this:
http://code.google.com/p/android-scripting/
1. Interpreter/VM with arbitrary code.
2. Open Source
Until recently, VOIP was banned, as well.
Aside from decent notifications and real background tasks (and the aforementioned Locale, which was also on the list), the biggest blockers are the App Store and its restrictive policies.
I already live in that Kingdom, so when I say "members", I mean member variables or member functions.
All the shiny toys in Cupertino won't help you, Mr. Blogger. You need a girlfriend.
When I release a new major version of Foo Lib, and your program refers to private members, your program will break when I remove or rename them.
Immutability won't protect you from that.