> (defun insert-n-sort (p elm lis) > (mapcar #'(lambda (x) > (setf gimp (list elm x)) > (if (apply p gimp) > (setf timp (append (append > (subseq lis 0 (position x lis)) > (list elm)) > (subseq lis (position x lis) > (length lis)) > )))
> ) > lis) > timp)
> The above function is supposed to take a predicate, a number, and a > sorted list of numbers and insert elm into lis at the proper spot > based on the boolean predicate p. For example, if you call:
> (insert-n-sort #'< 3 '(2 4 6 8))
> You should get
> (2 3 4 6 8) back.
If recursion is acceptable you might try something like,
(defun insert-n-sort (predicate element list) (cond ((null list) (cons element list)) ((and (funcall predicate element (car list)) (not (funcall predicate (car list) element))) (cons element list)) (t (cons (car list) (insert-n-sort predicate element (cdr list))))))
However this solution is not complete. I am not sure line 18 is something you want the function to be capable of doing unless the numbers are sorted in descending order..
* Bruce Hoult <br...@hoult.org> | So, by logical extension, I take it that you feel users of Franz Lisp | and Macintosh Common Lisp do not belong here and should not discuss | things with real Lispers?
Well, Franz Lisp is extinct, and the newsgroup is basically dead. Stuff that is clearly about Macintosh Common Lisp should definitely go in their own newsgroup.
Incidentally, have you seen Sam Steingold answer _every_ question about CLISP with a suggestion to use the CLISP mailing list? This is OK with you, but keeping your D*lan propaganda to comp.lang.dylan is not. Why?
| Or, conversely, that if the groups comp.lang.lisp.scheme and | comp.lang.lisp.dylan had been proposed and passed, that discussion of | those would then be welcome here?
I think you are nuts.
/// -- In a fight against something, the fight has value, victory has none. In a fight for something, the fight is a loss, victory merely relief.
> In all actuality, I don't think the point of this problem was the > master cons cells.
Hmmm, then maybe your position/subseq stuff was what the prof will be expecting. re-splicing conses will raise some eyebrows. but hey, sometimes a student gets into their subject and wants to dig a little deeper, and fer sher a Lisper often needs to think closely about conses.
BTW, it occurred to me that the maplist/return-from thing was in effect doing this:
1) find the cons insertion point 2) splice in the new value
and that the MEMBER family returns conses, so... I also ducked a progn in the splice by using a multiple-pair SETF, and punched up the data names a little:
did you ever work out why your algorithm did not work? i forgot all about that myself. hint: i have not confirmed this, but it looks as if one of the enhancements i made last time just happened to fix the bug. You might want to just fix your algorithm and turn that in, nothing wrong with it, just classic coming-up-to-speed code.
--
kenny tilton clinisys, inc --------------------------------------------------------------- "Be the ball...be the ball...you're not being the ball, Danny." - Ty, Caddy Shack
In article <3224852341178...@naggum.net>, Erik Naggum <e...@naggum.net> wrote:
> * Bruce Hoult <br...@hoult.org> > | So, by logical extension, I take it that you feel users of Franz Lisp > | and Macintosh Common Lisp do not belong here and should not discuss > | things with real Lispers?
> Well, Franz Lisp is extinct, and the newsgroup is basically dead. Stuff > that is clearly about Macintosh Common Lisp should definitely go in their > own newsgroup.
> Incidentally, have you seen Sam Steingold answer _every_ question about > CLISP with a suggestion to use the CLISP mailing list? This is OK with > you, but keeping your D*lan propaganda to comp.lang.dylan is not. Why?
Why? Because I happen to think that there are topics of interest to all people using Lisp-family languages, including Common Lisp, Emacs Lisp, Dylan, Scheme, and Arc. So there should be somewhere where these topics can be discussed. comp.lang.lisp is the obvious place for that. If you disagree with this place, I invite you to name another.
Perhaps you'd like a place for the discussion of Common Lisp only. Then create one. Call it comp.lang.common-lisp or whatever.
I'll note that comp.lang.clos already exists. That's clearly a Common Lisp only place, though perhaps the name suggests a more restrictive range of topics are welcome than the *whole* of Common Lisp. On the other hand, it gets far less traffic than any of the other groups discussed -- I see 36 posts in the last four months, of which five were not spam or cross posted -- so I doubt that anyone would be too upset with more general CL discussion there.
> | Or, conversely, that if the groups comp.lang.lisp.scheme and > | comp.lang.lisp.dylan had been proposed and passed, that discussion of > | those would then be welcome here?
> TejimaNoHimitsu wrote: > > 1) Is there any way to test for option arguments in a function? For > > example, if I do:
> > (defun test (list1 list2 &key k)
> > is there a way to test in the body of that function whether or not k > > exists? If k doesn't exist, the value is NIL, but I don't know how to > > compare if something's value is NIL. I know I should know, but I > > don't. I would use an if statement, but k is either NIL or the key > > value....
Hmm, I seem to be missing some articles in this thread from my newsreader, but I didn't see this particular one answered.
The answer is that one may specify more complicated patterns for keyword (and optional) parameters. In particular, the pattern (<name> <default-value> <value-supplied-p>) solves exactly your problem:
(defun test (list1 list2 &key (k nil k-supplied-p)) ...)
will have k-supplied-p bound to T if a value was supplied in the call and it will be bound to NIL if no value was supplied (and the default value was used instead).
-- Thomas A. Russ, USC/Information Sciences Institute t...@isi.edu
> > TejimaNoHimitsu wrote: > > > 1) Is there any way to test for option arguments in a function? For > > > example, if I do:
> > > (defun test (list1 list2 &key k)
> > > is there a way to test in the body of that function whether or not k > > > exists? If k doesn't exist, the value is NIL, but I don't know how to > > > compare if something's value is NIL. I know I should know, but I > > > don't. I would use an if statement, but k is either NIL or the key > > > value....
> Hmm, I seem to be missing some articles in this thread from my > newsreader, but I didn't see this particular one answered.
> The answer is that one may specify more complicated patterns for keyword > (and optional) parameters. In particular, the pattern > (<name> <default-value> <value-supplied-p>) > solves exactly your problem:
> will have k-supplied-p bound to T if a value was supplied in the call > and it will be bound to NIL if no value was supplied (and the default > value was used instead).
I think every answer to this used the same k-supplied-p variable name. Just in case the OP reads too much into that coincidence I will point out you can call it whatever you wish.
* Bruce Hoult <br...@hoult.org> | Why? Because I happen to think that there are topics of interest to all | people using Lisp-family languages, including Common Lisp, Emacs Lisp, | Dylan, Scheme, and Arc. So there should be somewhere where these topics | can be discussed. comp.lang.lisp is the obvious place for that. If you | disagree with this place, I invite you to name another.
I disagree with this, but not on your premises. People who come here to preach about "how things are done in D*lan" or "Scheme is elegant and does it right" are expressly _not_ trying to aim for that "common ground" between all Lisp members, but are idiotic trolls you abuse the ability to post anything to any newsgroup even though they have their own playpens where such opinionated huffing and puffing is accepted. comp.lang.lisp is not a union of comp.lang.dylan.advocacy or comp.lang.scheme.advocacy.
| Perhaps you'd like a place for the discussion of Common Lisp only. Then | create one. Call it comp.lang.common-lisp or whatever.
I am sure such a proposal would get your vote. Would you promise to keep your D*lan propaganda out of comp.lang.common-lisp? And could we kick every single Scheme freak in the groin if they invaded the newsgroup with their stupid Lisp-1 and "functional" and "elegance" rhetoric? Then comp.lang.lisp could be that "common ground" between D*lan and Scheme. However, the last time I tried to figure out if such a commonality even could exist, it looked so much like a black hole I expected a baby universe to pop out.
The notion that the "Lisp family" would enjoy a family reunion is sick. Much like people who have gone their separate ways and denouncing their heritage when making things "better" in their own particular view, D*lan and Scheme have _departed_ from the Lisp family and have made their own small families, instead. This is healthy. You don't see Java and C++ and C# folks fill up comp.lang.c because of their "heritage", do you?
What _is_ it about "Lisp" that makes D*lan and Scheme freaks still want to be a member of the family? All you guys do is denounce Common Lisp. You certainly do _not_ discuss issues that are common to the Lisp family.
/// -- In a fight against something, the fight has value, victory has none. In a fight for something, the fight is a loss, victory merely relief.
> Um, sometimes an assignment is equivalent to side-effect free form, > tis true--such is the case with your examples.
> But in general, assignments introduce side-effects. In general, the > following two are *not* equivalent:
> (begin > (set! x 3) > ...)
> (let ((x 3)) > ...)
> The latter is side-effect free; the former is not. Functions which > only include side-effect free forms have values which depend purely on > their arguments; this is not (in general) true if you use set!.
> I belabor this only because in the Scheme world, at least, this is > exactly the normal definition of a side-effect.
> Right--some uses of set! are side-effect free. But all uses of let > are always side-effect free.
What about (let ((x (set! y 3))) ...) ? That's not side-effect free :)
>> > when a setf could be done in let, I always prefer let.
>> Sometimes (e.g., in iterations) it is very hard to construct the >> former style syntactically without introducing an apparent recursion.
> Um, in the Scheme world, we always call these "apparent recursions" by > the name "iteration". The avoidance of syntactic recursion in Lisp > dates back to the days before proper tail recursion was de rigeur.
>> Personally, I think recursions make things harder to read and would >> prefer a SETQ. But others disagree.
> I think this is just a matter of what you are most used to reading. > Erik Naggum is certainly right that use of setf (and friends) is very > prevalent in the Lisp world, but in the Scheme world, it's regarded as > bad form--and once, the same was in fact true in the Lisp world.
>> It is again just a personal >> choice issue how much you're going to want to perturb the written >> structure of the program in order to accomodate a style choice. SETQ >> facilitates incremental change by not forcing a whole program to be >> restructured just to accomodate a small conceptual change.
> Oh, quite the contrary, actually. Side-effects, as a rule, > incorporate lots of non-local dependencies, which must be very > carefully managed. (Not that this is hard to do; it's just one extra > thing to think about, and one extra source of bugs.) Side effect free > programming, on the other hand, saves an awful lot of that work.
> Surely side effects are often necessary to express a computation > cleanly, but as SICP points out, such cases really occur when you have > things like state-maintaining objects of some sort.
> I fully agree that this is an issue of taste, culture, and style. I > only entered the discussion to point out that people who's style > includes the maxim "avoid unnecessary set! and friends" have a > legitimate and useful style, and that the original poster was probably > coming from that background.
> Incidentally, this is not really a Scheme v. Lisp issue. Side effects > are looked down on by a huge number of older Lisp texts and > implementations and programmers. Modern Common Lisp looks more like > PL/I to me, so I guess all kinds of weird things are now normal > there. :)
> Thomas
-- BPT <b...@tunes.org> /"\ ASCII Ribbon Campaign backronym for Linux: \ / No HTML or RTF in mail Linux Is Not Unix X No MS-Word in mail Meme plague ;) ---------> / \ Respect Open Standards
Erik Naggum <e...@naggum.net> writes: > I disagree with this, but not on your premises. People who come here to > preach about "how things are done in D*lan" or "Scheme is elegant and > does it right" are expressly _not_ trying to aim for that "common ground" > between all Lisp members, but are idiotic trolls you abuse the ability to > post anything to any newsgroup even though they have their own playpens > where such opinionated huffing and puffing is accepted. comp.lang.lisp > is not a union of comp.lang.dylan.advocacy or comp.lang.scheme.advocacy.
Agreed. comp.lang.lisp is not the place to troll for the superiority of one Lisp dialect over another. But that's true whichever dialect you choose.
I'm sorry some past people have posted nasty things "in the name of Scheme". Such things are bad.
But it's just as bad to post trolls about "why Common Lisp is the best thing ever".
> What _is_ it about "Lisp" that makes D*lan and Scheme freaks still want > to be a member of the family? All you guys do is denounce Common Lisp. > You certainly do _not_ discuss issues that are common to the Lisp family.
Huh?
Let's see. Common Lisp people on comp.lang.lisp spend lots of energy denegrating Scheme.
I've never seen *any* posts on comp.lang.scheme that are concerned to denegrate Common Lisp.
In article <3224885382493...@naggum.net>, Erik Naggum <e...@naggum.net> wrote:
> * Bruce Hoult <br...@hoult.org> > | Why? Because I happen to think that there are topics of interest to all > | people using Lisp-family languages, including Common Lisp, Emacs Lisp, > | Dylan, Scheme, and Arc. So there should be somewhere where these topics > | can be discussed. comp.lang.lisp is the obvious place for that. If you > | disagree with this place, I invite you to name another.
> I disagree with this, but not on your premises. People who come here to > preach about "how things are done in D*lan" or "Scheme is elegant and > does it right" are expressly _not_ trying to aim for that "common ground" > between all Lisp members, but are idiotic trolls you abuse the ability to
^^^ How very Freudian.
> post anything to any newsgroup even though they have their own playpens > where such opinionated huffing and puffing is accepted. comp.lang.lisp > is not a union of comp.lang.dylan.advocacy or comp.lang.scheme.advocacy.
You confuse information and comparison with unthinking advocacy.
Do I think there are things done better in Dylan than in CL? Sure. Being designed later and with hindsight it would be astouding if there weren't. Do I think there are things done better in CL than in Dylan? That's one reason I'm here: to find out. I've already taken one thing that I think CL does better and implemented it in Gwydion Dylan -- that is the ability to have a loop control clause that abbreviates "foo = bar then baz" to just "foo = bar" where bar and baz happen to be the same expression.
I have no doubt there will be more in future.
> | Perhaps you'd like a place for the discussion of Common Lisp only. Then > | create one. Call it comp.lang.common-lisp or whatever.
> I am sure such a proposal would get your vote.
Yes, it would.
> Would you promise to keep > your D*lan propaganda out of comp.lang.common-lisp? And could we kick > every single Scheme freak in the groin if they invaded the newsgroup with > their stupid Lisp-1 and "functional" and "elegance" rhetoric? Then > comp.lang.lisp could be that "common ground" between D*lan and Scheme. > However, the last time I tried to figure out if such a commonality even > could exist, it looked so much like a black hole I expected a baby > universe to pop out.
> The notion that the "Lisp family" would enjoy a family reunion is sick. > Much like people who have gone their separate ways and denouncing their > heritage when making things "better" in their own particular view, D*lan > and Scheme have _departed_ from the Lisp family and have made their own > small families, instead.
Erik, you very often talk about this great gulf between CL people on the one side and Scheme and Dylan people on the other, and how Scheme and Dylan people hate CL (and, presumably, each other). I've looked for it but in fact you are the *only* person I've ever seen who has expressed such hostility.
Quite the contrary, there are a number of obvious examples of people who are or have been active in multiple languages. The creator of Scheme had a hand in the definition of Common Lisp. Kent Pitman has done work with both. Many Dylan people have been prominent in Common Lisp and I can think of several who post here fairly regularly.
If there are in fact people involved around the time of the creation of Dylan who denounced Common Lisp then they are either keeping very quiet about it, or else are no longer active in the Dylan community.
Perhaps you have better information, but the oldest information I have is the 1992 Dylan book which Apple sent for free to anyone who asked for it. Allow me to quote from the preface:
Apple already has one OODL product: Macintosh Common Lisp. Dylan is intended to complement Common Lisp, not to replace it. Common Lisp is a rich environment defined by a standard and available in compatible implementations on a broad range of platforms. Dylan is lean and stripped down to a minimum feature set. At present Dylan is not available on any platform (outside Apple), but is intended to run on a wide variety of machines, including very small machines that don't have the horsepower to support a modern Common Lisp. Common Lisp is aimed primarily at the Lisp community, while Dylan is accessible to application developers unfamiliar with Lisp. Common Lisp is oriented more towards exploratory programming with delivery capability, while Dylan is oriented more towards delivery with exploratory capability.
Some things in the world have changed since then -- primarily that all machines have gotten bigger and faster, and that CL compilers such as CMUCL have gotten much better -- but I think the last sentence still applies even today.
I don't see any hostility towards Common Lisp. There was a decision -- not taken lightly -- that differeing goals were best met by creating a new language with much in common with CL.
There does, on the other hand, seem to be a lot of lingering hostility from those in the CL community who think that the effort would have been better spent on developing CL itself, rather than dividing efforts. This is very visible even today, with the recent denouncement from several quarters of a Common Lisp stalwart such as Paul Graham.
> What _is_ it about "Lisp" that makes D*lan and Scheme freaks still want > to be a member of the family?
It's not a question of *want*. These languages *are* closely related members of the same family -- far more closely related to each other than any of them is to any other language.
What is it that makes you *want* to deny that?
> All you guys do is denounce Common Lisp. > You certainly do _not_ discuss issues that are common to the Lisp family.
You're welcome to your opinion, but I believe it to be false.
* tb+use...@becket.net (Thomas Bushnell, BSG) | But it's just as bad to post trolls about "why Common Lisp is the best | thing ever".
I disagree. Among the remaining Lisps, it is the best thing ever. Those who have thought otherwise, have left for other pastures, like D*lan and Scheme and Arc. There are not "better" than Common Lisp by a long shot.
| Let's see. Common Lisp people on comp.lang.lisp spend lots of energy | denegrating Scheme.
No, they don't. They spend some time rejecting the Scheme propaganda. I think you need to pay attention to who is arguing for and against things.
| I've never seen *any* posts on comp.lang.scheme that are concerned to | denegrate Common Lisp.
That is because they post it here! Christ, are you trolling or what?
/// -- In a fight against something, the fight has value, victory has none. In a fight for something, the fight is a loss, victory merely relief.
Erik Naggum <e...@naggum.net> writes: > * tb+use...@becket.net (Thomas Bushnell, BSG) > | But it's just as bad to post trolls about "why Common Lisp is the best > | thing ever".
> I disagree. Among the remaining Lisps, it is the best thing ever. Those > who have thought otherwise, have left for other pastures, like D*lan and > Scheme and Arc. There are not "better" than Common Lisp by a long shot.
You know, I haven't seen anybody but you arguing why one must be better than the others. *ONLY* *YOU*. Nobody else is saying any such thing.
You seem concerned that there are lots of Scheme people saying "Scheme is the only thing worth considering", but I can't see any of them. Nary a one. But what I *do* is you arguing, every chance you get, that Common Lisp is the One True Lisp Dialect.
> | Let's see. Common Lisp people on comp.lang.lisp spend lots of energy > | denegrating Scheme.
> No, they don't. They spend some time rejecting the Scheme propaganda. I > think you need to pay attention to who is arguing for and against things.
I haven't seen any Scheme propaganda.
> That is because they post it here! Christ, are you trolling or what?
Who is this "they"? Can we see names or Message-ID's or something?
* Bruce Hoult <br...@hoult.org> | You confuse information and comparison with unthinking advocacy.
I wish I did. If I want to learn about D*lan, I read comp.lang.dylan. If I wish to learn about Scheme, I read comp.lang.scheme. If I do not wish to learn about either, I do not read these newsgroup, but thanks to people who have no concept of what other people would like to discuss where, I have to wade through one "comparison" after another and much more "information" about Scheme freaks and their preferences than I would like to suffer.
| I've looked for it but in fact you are the *only* person I've ever seen | who has expressed such hostility.
This is sheer nonsense.
| Quite the contrary, there are a number of obvious examples of people who | are or have been active in multiple languages.
You cannot portray a city as "safe" by pointing to how many nice people live in it, and it is quite amazing that you have to go on such a stupid propaganda trip.
| The creator of Scheme had a hand in the definition of Common Lisp. Kent | Pitman has done work with both. Many D*lan people have been prominent in | Common Lisp and I can think of several who post here fairly regularly.
This proves exactly nothing.
| There does, on the other hand, seem to be a lot of lingering hostility | from those in the CL community who think that the effort would have been | better spent on developing CL itself, rather than dividing efforts.
Perhaps you would arrive at a less self-serving conclusion if you could try to remember how D*lan dropped its sensible syntax?
| This is very visible even today, with the recent denouncement from | several quarters of a Common Lisp stalwart such as Paul Graham.
Paul Graham is a Common Lisp _stalwart_? He has spent lots of time and effort telling the world he does _not_ like Common Lisp, why loop is bad and wrong, and done a remarkable job of re-creating Scheme in Common Lisp.
| It's not a question of *want*. These languages *are* closely related | members of the same family -- far more closely related to each other | than any of them is to any other language. | | What is it that makes you *want* to deny that?
Their remarkably important differences.
| You're welcome to your opinion, but I believe it to be false.
Of course you do.
/// -- In a fight against something, the fight has value, victory has none. In a fight for something, the fight is a loss, victory merely relief.
* Thomas Bushnell, BSG | You know, I haven't seen anybody but you arguing why one must be better | than the others. *ONLY* *YOU*. Nobody else is saying any such thing.
Nonsense. You keep arguing for why Scheme is better than Common Lisp.
| You seem concerned that there are lots of Scheme people saying "Scheme is | the only thing worth considering", but I can't see any of them. Nary a | one. But what I *do* is you arguing, every chance you get, that Common | Lisp is the One True Lisp Dialect.
Really? Where? Perhaps you can quote me on this?
If you cannot find me actually saying that, perhaps you need to think a little about how you arrived at this ludicrous conclusion? Perhaps you can think a litle about how the annoying Scheme propagandists keep arguing that Scheme is, precisely, better than Common Lisp by virtue of some individual feature, like, _your_ preference for call/cc, for instance.
I thought you said you had some training in philosophy, yet you keep making trivial mistakes, like not being able to distinguish arguments against what you are for from arguments for what you are against, and now this amazing lack of intellectual honesty in differentiating between what you see and what you conclude must have been. People who impute intent to other people and think they have _seen_ this intent are hopelessly lost in their own view of the world -- because they first have to realize that they do _not_ observe anybody's intent, they have concluded it from what they have seen and what _they_ have brought to the conclusions.
I want a place where we can discuss Common Lisp issues without having to wade through tons of negative commentary about Common Lisp. You obviously fail to understand how your _own_ comments are negative and could use and sometimes _require_ a rejection of your arguments. What is this obnoxious nonsense about comparing Common Lisp to PL/1, for instance? You, of all people, who get incensed when I ridicule Scheme a little, do in fact spend a lot of your time denigrating Common Lisp in this forum.
| Who is this "they"? Can we see names or Message-ID's or something?
You, Thomas Bushnell.
/// -- In a fight against something, the fight has value, victory has none. In a fight for something, the fight is a loss, victory merely relief.
Erik Naggum <e...@naggum.net> writes: > * Thomas Bushnell, BSG > | You know, I haven't seen anybody but you arguing why one must be better > | than the others. *ONLY* *YOU*. Nobody else is saying any such thing.
> Nonsense. You keep arguing for why Scheme is better than Common Lisp.
Um, no, I think I once mentioned that I "require" call/cc to count as a non-toy language as a jibe in response to your frequent claim that Scheme is a toy.
I think both Scheme and Common Lisp are good things; I have no clue what would ever be gained if one were "proven" better than the other.
> | You seem concerned that there are lots of Scheme people saying "Scheme is > | the only thing worth considering", but I can't see any of them. Nary a > | one. But what I *do* is you arguing, every chance you get, that Common > | Lisp is the One True Lisp Dialect.
> Really? Where? Perhaps you can quote me on this?
Um, perhaps because of your insistence that the only proper topic for comp.lang.lisp is Common Lisp?
> If you cannot find me actually saying that, perhaps you need to think a > little about how you arrived at this ludicrous conclusion? Perhaps you > can think a litle about how the annoying Scheme propagandists keep > arguing that Scheme is, precisely, better than Common Lisp by virtue of > some individual feature, like, _your_ preference for call/cc, for > instance.
Um, no, I didn't say Scheme was "better" in the abstract. Scheme has a nifty feature that Common Lisp lacks. Whether that makes Scheme "better" or not is a foolish question, since both Scheme and Common Lisp have strengths and weaknesses, and I don't have any particular interest in which is "better".
> You > obviously fail to understand how your _own_ comments are negative and > could use and sometimes _require_ a rejection of your arguments. What is > this obnoxious nonsense about comparing Common Lisp to PL/1, for instance?
Ah, no, I only compare Common Lisp to PL/I when Scheme is called a toy. Part of that is because calling languages "toys" way predates you; indeed, IIRC, the first people to adopt that charming little term were PL/I users who thought Algol-like languages were mere toys, not useful for any serious programming.
I'm entirely happy to institute a new rule: nobody insults any other language at all; I'll drop the PL/I reference, and you can drop the toy reference. That would please me no end.
> | Who is this "they"? Can we see names or Message-ID's or something?
> Ah, no, I only compare Common Lisp to PL/I when Scheme is called a toy.
Am I the only one who remembers PL/1 fondly?
Maybe it's again an issue like Lisp : Common Lisp :: PL/1 : Multics PL/1 since I happen to have used Multics PL/1 and have found it quite powerful. I liked Lisp better, of course, but I didn't see anything particularly wrong with PL/1. Somewhere along the way, it has come to be a metaphor for things bad. Seems a pity. My memory of it is a lot more favorable than my more recent memories of C.
* Thomas Bushnell, BSG | Um, no, I think I once mentioned that I "require" call/cc to count as | a non-toy language as a jibe in response to your frequent claim that | Scheme is a toy.
Yet you were insulted by and found my "jibe" strongly provocative. Something is clearly amiss here.
| I think both Scheme and Common Lisp are good things; I have no clue | what would ever be gained if one were "proven" better than the other.
The point is not which is better, which where people are allowed to believe so. Scheme freaks have comp.lnag.scheme as their haven of belief in Scheme's superiority, Common Lisp programmers have comp.lang.lisp, and D*lan users have comp.lnag.dylan. In _this_ newsgroup and _this_ community, we have a _right_ to think that what we use is the best of all possible things around, It is that right that is continually challenged by naysayers and fault-finders who come from D*lan and Scheme camps in particular.
| > | You seem concerned that there are lots of Scheme people saying | > | "Scheme is the only thing worth considering", but I can't see any of | > | them. Nary a one. But what I *do* is you arguing, every chance you | > | get, that Common Lisp is the One True Lisp Dialect. | > | > Really? Where? Perhaps you can quote me on this? | | Um, perhaps because of your insistence that the only proper topic for | comp.lang.lisp is Common Lisp?
So you admit that I have never actually said anything _like_ what you _lie_ about that I have done. You are intellectually dishonest, Thomas Bushnell.
Your ability to draw conclusions does not give you any right to make claims about what _others_ have argued or said or meant or intended. Keep these apart, will you? Where is your philosophical training if you cannot even manage to distinguish your observations from your conclusions?
| Um, no, I didn't say Scheme was "better" in the abstract. Scheme has | a nifty feature that Common Lisp lacks. Whether that makes Scheme | "better" or not is a foolish question, since both Scheme and Common | Lisp have strengths and weaknesses, and I don't have any particular | interest in which is "better".
Why, then, do you keep posting about stuff that you know that people in this community have expressly rejected as less valuable or even as abject misfeatures? You are _trolling_, Thomas Bushnell.
| Ah, no, I only compare Common Lisp to PL/I when Scheme is called a toy.
Liar.
| Part of that is because calling languages "toys" way predates you; | indeed, IIRC, the first people to adopt that charming little term were | PL/I users who thought Algol-like languages were mere toys, not useful | for any serious programming.
Memory of past ills is _such_ a boon for responding to what is at hand.
| I'm entirely happy to institute a new rule: nobody insults any other | language at all; I'll drop the PL/I reference, and you can drop the toy | reference. That would please me no end.
Once again, we see how one person needs to try to control another person in order to behave wisely in his own terms. This is such a pattern with you losers who do something bad and refuse to accept responsiblity for it.
I have no gripes with Scheme at all until and unless some Scheme freaks fires up his propaganda engine. I do not read comp.lang.scheme because I think Scheme really sucks as a language. I do not read comp.lang.perl because I thin perl is the suckiest language on the planet. I do not read comp.text.xml because those who work with XML are such uninspiring dorks. There is sufficient room here to vent frustration with loser languages like Perl and XML that nobody keeps telling anyone that both are "really" Lisps -- Perl has a lot of Lisp nature, and XML is basically only a highly elaborate s-expression syntax --
| > | Who is this "they"? Can we see names or Message-ID's or something? | > | > You, Thomas Bushnell. | | Let's see the Message-IDs now. Put up or shut up.
This, after you have lied and misrepsented me to no end, and you could not even cough up a reference to your own claims about what I have said? Such gall! Such chutzpah! Get lost, troll.
/// -- In a fight against something, the fight has value, victory has none. In a fight for something, the fight is a loss, victory merely relief.
In article <3224890941376...@naggum.net>, Erik Naggum <e...@naggum.net> wrote:
> * Bruce Hoult <br...@hoult.org> > | You confuse information and comparison with unthinking advocacy.
> I wish I did. If I want to learn about D*lan, I read comp.lang.dylan. > If I wish to learn about Scheme, I read comp.lang.scheme. If I do not > wish to learn about either, I do not read these newsgroup, but thanks to > people who have no concept of what other people would like to discuss > where
You don't have to guess what people would like to discuss where. Newsgroups have charters and FAQs which give this information.
> | I've looked for it but in fact you are the *only* person I've ever seen > | who has expressed such hostility.
> This is sheer nonsense.
Denial is not refutation. And I'm not the only person who has noticed this.
> | Quite the contrary, there are a number of obvious examples of people who > | are or have been active in multiple languages.
> You cannot portray a city as "safe" by pointing to how many nice people > live in it, and it is quite amazing that you have to go on such a stupid > propaganda trip.
In fact nice people are precisely what makes a city safe. All cities have some bad people. The difference between safe and unsafe cities lies in how nice or otherwise the rest of the people are.
> | There does, on the other hand, seem to be a lot of lingering hostility > | from those in the CL community who think that the effort would have been > | better spent on developing CL itself, rather than dividing efforts.
> Perhaps you would arrive at a less self-serving conclusion if you could > try to remember how D*lan dropped its sensible syntax?
That's a matter on which reasonable people can disagree. And if you're not interested in Dylan then why do you care, anyway?
What is your objection to Dylan's syntax?
> | This is very visible even today, with the recent denouncement from > | several quarters of a Common Lisp stalwart such as Paul Graham.
> Paul Graham is a Common Lisp _stalwart_? He has spent lots of time and > effort telling the world he does _not_ like Common Lisp, why loop is bad > and wrong, and done a remarkable job of re-creating Scheme in Common Lisp.
I guess I'm imagining books such as "ANSI Common Lisp" and "On Lisp", and the fact that he made a fortune using Lisp.
Until the last year or so I never saw a bad word said about him.
> | It's not a question of *want*. These languages *are* closely related > | members of the same family -- far more closely related to each other > | than any of them is to any other language. > | > | What is it that makes you *want* to deny that?
Bruce Hoult <br...@hoult.org> writes: > In article <3224890941376...@naggum.net>, Erik Naggum <e...@naggum.net> > wrote: > > Paul Graham is a Common Lisp _stalwart_? He has spent lots of time and > > effort telling the world he does _not_ like Common Lisp, why loop is bad > > and wrong, and done a remarkable job of re-creating Scheme in Common Lisp.
> I guess I'm imagining books such as "ANSI Common Lisp" and "On Lisp", > and the fact that he made a fortune using Lisp.
Well, it seems that you haven't been paying attention.
"The good news is, it's not Lisp that sucks, but Common Lisp."
>> Ah, no, I only compare Common Lisp to PL/I when Scheme is called a toy.
>Am I the only one who remembers PL/1 fondly?
>Maybe it's again an issue like Lisp : Common Lisp :: PL/1 : Multics >PL/1 since I happen to have used Multics PL/1 and have found it quite >powerful. I liked Lisp better, of course, but I didn't see anything >particularly wrong with PL/1. Somewhere along the way, it has come to >be a metaphor for things bad. Seems a pity. My memory of it is a lot >more favorable than my more recent memories of C.
These endless battles ... seeing the comments regarding net.lang.lisp, I just dug up this little piece from that ng - Stanley Shebs responding to a remark by Olin Shivers, 1986-07-03:
" Hmmm, he sounds like a Schemer! Actually, the most ultimate and purest Lisp dialect I know of is 3-Lisp, which is so clean and regular that it makes any Scheme look like a kludge. Brian Smith pointed out that (for instance) conses are used in a multitude of ways in most Lisps, while in 3-Lisp conses are only used for function applications; the "rail" data structure is used for lists/sequences. Quotes don't "fall off" as a result of evaluation; as a result, one doesn't get the Lisp oddity (+ 2 '3) => 5. Closures are ordinary data structures with 4 slots. Reflection gives one great power, in fact it hasn't really been exploited yet. 3-Lisp is the way to go for true language purists.
stan"
Anyone for 3-Lisp?
Lars
-----= Posted via Newsgroups.Com, Uncensored Usenet News =----- http://www.newsgroups.com - The #1 Newsgroup Service in the World! -----== 90,000 Groups! - 19 Servers! - Unlimited Download! =-----
* Bruce Hoult <br...@hoult.org> | You don't have to guess what people would like to discuss where. | Newsgroups have charters and FAQs which give this information.
What is keeping you from understanding that D*lan has its own newsgroup, chartered and FAQ'ed to be the "home forum" for D*lan users? Why do you have to keep posting here about how D*lan does its things? Do you not trust those who would be interested in D*lan to find it on their own accord so you have to constantly remind them of it, like some spamming advertiser? What is it that you cannot understand about newsgroup dynamics that makes you _fight_ for a right to annoy people who expressly direct you to go back to your D*lan newsgroup? Why is this something you feel you have a _right_ to do? How would someone be received over in comp.lang.dylan if they answered every question with a Common Lisp solution to a D*lan problem? The same goes for Scheme, for exactly the same reason.
> This is sheer nonsense.
| Denial is not refutation.
This is rich. Nonsense cannot be refuted, you illiterate gnome.
| That's a matter on which reasonable people can disagree.
Yes, and those who think Nicklaus Wirth did it right are generally in comp.lang.dylan and those who think John McCarth was right are generally in comp.lang.lisp.
| What is your objection to Dylan's syntax?
Duh. That you dropped the fully parenthesized prefix syntax.
| I guess I'm imagining books such as "ANSI Common Lisp" and "On Lisp", | and the fact that he made a fortune using Lisp.
Quit the moron act and THINK, goddamnit!
| Until the last year or so I never saw a bad word said about him.
Could be that he tilted only last year, or you that power of observation leave a lot to be desired. The latter seem fairly obviously a problem.
| Which are far fewer than their similarities.
That is a matter upon which reasonable men can and do disagree.
In particular, why is it so important to you to _dismiss_ what I think, and to try to _force_ me to accept your gospel as truth? I _reject_ what you tell me about D*lan's "lispness". _Why_ do you have the facts and I am wrong about this? I am not alone in this regard at all, either, as if that mattered to anyone who can think, but numbers appear to matter to you. D*lan is not a big winner in _any_ sense. So get used to the rejection and find consolation among those who agree with you and accept your choices. Over here in comp.lang.lisp we are in fact so tolerant of you negative, disrespectful, rejecting miscreants that we even have to fight you off because you seem to use each other as rationale for the acceptance of your trolling and abuse of this forum for your ill- conceived propaganda, completely disregarding the will of residents, and the more they object to your behavior, the more you seek vindication for your bad behavior and your counter-productive ways, and the more you seek to blame those who do not want you to engage in inflammatory nonsense.
Of all the language newsgroups I read, comp.lang.lisp is the _only_ one to suffer obnoxious bastards from other language camps who claim to have a "right" to post their trolling and language wars (a.k.a. "information and comparison") in another language's newsgroup. Most people know that this is bad, but not D*lan and Scheme freaks. They must fight for their right to troll and incense comp.lang.lisp. One has to wonder what kind of inferiority complex has resulted in this desire to annoy people in a hope to be recognized even after they have expressly distanced themselves from those from whom they seek acceptance and recognition.
/// -- In a fight against something, the fight has value, victory has none. In a fight for something, the fight is a loss, victory merely relief.