Evidently I'm a big idiot, as I closed the <UL> tag too late. Here it is, reformatted:
Those who don't learn from history are doomed to repeat it. While you bash Lisp, the great Perl hackers are trying hard to imitate it.
- Lisp was the first language implemented in itself -- the first one to have an eval function at all!
- Lexical scope and closures (my() and anonymous subs, respectively) were invented in Scheme (25 years ago).
- Lispers were early adopters of OO. In the early 70's we already had excellent OO extensions such as LOOPS, and today's full-featured Common Lisp specification includes a Common Lisp Object System which is incredibly complete and flexible (not to mention complex!).
- Where'd you think map() came from? What about grep()? (Of course, it's called filter in scheme...)
- Hell, even the idea of lhs subroutine calls (new as of Perl 5.6) came up in Lisp - some good 30 years ago, even!
But why linger in the past? :) The features which are standard in R5RS-compliant Scheme implementations today (e.g. continuations, promises, hygienic macros, even the trivial but enormously useful
let variants for scoping with variables), as well as some of the nicer ones from particular extensions (e.g. logical programming and soft pattern-matching-based typing as in Schelog) just might find their way into Perl 7.0, ten years from now. (Only in an uglier, more C-ish way, of course. :))
There it is now... :)
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.