Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Attitude trumps intelligence

Name: Anonymous 2010-05-28 12:44

http://alarmingdevelopment.org/?p=422
What's your take on this, /prog/?

Name: Anonymous 2010-05-28 12:49

common lisp is a hodgepodge standard designed by commitee

Name: Anonymous 2010-05-28 13:24

>>2
It could be better, but I think CL is a pretty good collection of the wisdom that accumulated with older Lisps. Use it enough and you'll end up seeing how useful certain seemingly redundant features are. Most other Lisps are missing features CL had, altough a lot could be implemented in those languages, but guess what? They're not. If something is not in the standard library, it won't as easily become common practice. I've seen various kinds of code duplication in Scheme libraries, sometimes even somewhat excessive, which could easily be handled by a CL one-liner. The CL standard does contain many age-old Lisp coding practices which proved useful to many Lisp coders in their time. Discarding history only means you'll be doomed to repeat it again, for better or for worse.
>>1
He disses on PG, as if dissing on PG means dissing the language or the coders using it. Most people I've seen using Lisp don't have the exact same reasons for using it that PG does. Sure, Lisp does make certain kinds of programs much easier to write for me, and it will be an invaluable tool in my toolbox, but that's about it.
LISP
in spirit if not in syntax

Oh, so he shows that he hasn't written much, if any Lisp code, and he's one of those weenies that think of it as ``the best language ever'', but refuse to learn it or use it. Lisp has too many of those. They're not that welcome, and they're not Lispers themselves.

As for the comment:
btw. speaking of paul graham, silver bullets he promotes aren’t that well engineered or thought out themselves. common lisp is a hodgepodge standard designed by commitee
PG hates CL. Even though he wrote 2 ANSI CL books, he doesn't like CL that much. Most CLers are aware of PG's attitude towards CL.

I've scrolled through the rest of his post and didn't see anything I haven't seen stated elsewhere. I could write a couple longposts expressing my opinion on those issues, but I'll refrain.

Name: Anonymous 2010-05-28 13:33

>>1
Programmers holding back programming? surely not, it's not like we haven't known that for decades I like the way he decides to take on "LISP[sic] Triumphalists", when the same is found in every language and every programming community. But hey, it's OK, the "Smug Lisp Weenie" is enough of a retarded folk memory that Lispers are acceptable targets.
>>3
I've seen various kinds of code duplication in Scheme libraries, sometimes even somewhat excessive, which could easily be handled by a CL one-liner.
An example? It could probably be done just as easily in Scheme. There are some things CL provides that Scheme doesn't, that may make some kinds of code duplication less likely, e.g. CLOS, but I doubt that it's the rule rather than the exception.
PG hates CL
Oh and how. It's just a shame that far too many programmers think PG is the canonical lisper.

Name: Anonymous 2010-05-28 14:09

>>4
An example? It could probably be done just as easily in Scheme.
I have no doubts that it could be done just as easily in Scheme.

I've seen such an example the other day:
http://srfi.schemers.org/srfi-78/check.scm


(define (check:proc-ec w)
  (let ((correct? (car w))
        (expression (cadr w))
        (actual-result (caddr w))
        (expected-result (cadddr w))
    (cases (car (cddddr w))))
    (if correct?
        (begin (if (>= check:mode 100)
                   (begin (check:report-expression expression)
                          (check:report-actual-result actual-result)
                          (check:report-correct cases)))
               (check:add-correct!))
        (begin (if (>= check:mode 10)
                   (begin (check:report-expression expression)
                          (check:report-actual-result actual-result)
                          (check:report-failed expected-result)))
               (check:add-failed! expression
                  actual-result
                  expected-result)))))


That whole first let could have been written in CL, using the standard destructuring-bind macro:
(destructuring-bind (correct? expression actual-result expected-result cases) w
  (cond
    (correct? ...)
    (...))))


Implementing a destructuring-bind is rather easy in CL (it destructures a tree lambda-list), and I'm sure it's not very hard to do in Scheme either. I'm guessing the reason the author didn't use anything like that was something along the lines of such macros not being part of R5RS Scheme.

Name: >>5 2010-05-28 14:14

Oh, also, destructuring-bind can and will usually add error-checking code that make sure the list structure is as expected.

Name: Anonymous 2010-05-28 14:29

From the comments:
(e.g. IMO, the first thing that should be culled from Software is the notion of Call-Return, boy, did we ever take a wrong turn at Albuquerque with that one!).
I lol'd in my mouth a little.

Name: Anonymous 2010-05-28 14:33

>>5
We do have portable match macros (I use the one in the spells library) that would cover this. Although, you are right, it is not part of a standard or an SRFI, and I think its safe to say that that is the reason that SRFI 78 does it by hand.

Name: Anonymous 2010-05-28 17:27

the spells library
Does that come on cards?

Name: Anonymous 2010-05-28 19:22

>>9
No, no it does not.

Name: Anonymous 2010-05-28 23:52

http://alarmingdevelopment.org/?p=392
What's your take on this, /prog/?

It's linked from the original article.

Name: Anonymous 2010-05-28 23:57

>>11
I think the guy just hates non-mainstream languages, and is willing to trash their users rather than actually do a fair job of critiquing them. Move along guys, nothing to see here.

Name: Anonymous 2010-05-29 0:00

>>11
I don't think I'm going to waste any more time with this guy's blag.

Name: Anonymous 2011-02-03 2:44

<

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List