Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
MD5 in LISP and abstraction inversions
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 26 - 50 of 206 - Collapse all  -  Translate all to Translated (View all originals) < Older  Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Marc Spitzer  
View profile  
 More options Nov 1 2001, 11:26 pm
Newsgroups: comp.lang.lisp
From: m...@oscar.eng.cv.net (Marc Spitzer)
Date: Fri, 02 Nov 2001 04:26:01 GMT
Local: Thurs, Nov 1 2001 11:26 pm
Subject: Re: MD5 in LISP and abstraction inversions

I think you have missed something here, Erik's position does not
encumber other people by not releasing his code and the gpl does place
oblagations on people(in theory, it has not been tested in court as
far as I know) of the type you must give me back/make avalable your
source code.  There are several expences involved in this, here is a
short list:

1: you need to keep it avalible on the internet, you need to rent some
space & bandwitdth

2: you need to keep backups and keep track of them, for all versions
of your software that is encumbered with gpl, to the best of my
knoledge

3: if you fail to do 1 and 2 you could get sued by some one else and
draged through the legal system, always fun.

A quick aside look at freebsd getting turned into OS X.  Apple did the
right thing (darwin) and kept parts closed source, which is there
right under the bsd licence.  

Also the GPL does not realy hurt big companys, they see an idea they
have the resources to copy it with out touching the source.  The
people the gpl hurts are small businesses that do not have the
resources to reimplement everything by denying them the ability to
recoup there investment and/or protect any trade secretes that are
used in their derived work.  This hurts people who could use the
product and the businesses that could make them.  I would even say it
hurts open source because it deprives them of a source of good
commericaly viable ideas to build projects around, producte with an
installed base give open source cloning projects a much better chance
at success.

One last thing, if I add enough value to get people to pay me money
even when there is a free version avalable, am I not entitled to the
fruits of my labor?

Good night

,arc


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marc Spitzer  
View profile  
 More options Nov 2 2001, 12:08 am
Newsgroups: comp.lang.lisp
From: m...@oscar.eng.cv.net (Marc Spitzer)
Date: Fri, 02 Nov 2001 05:08:25 GMT
Local: Fri, Nov 2 2001 12:08 am
Subject: Re: MD5 in LISP and abstraction inversions

In article <87ofmlygok....@Samaris.tunes.org>, Francois-Rene Rideau wrote:
> Erik Naggum <e...@naggum.net> writes:
>>  Part of the reason I do not publish my code anymore is that there
>>  are too many incompetents and assholes out there that I specifically do
>>  _not_ want to get access to my work if they do not compensate me for it.
> With such an attitude, I think it is useless for you to wonder why
> people do not ask you anything.

Well every time anyone posts a question or a request for help here
thea are asking Erik, among many others, for help.  And he does know
his lisp and programing.

I think you mis read this, Erik is complaining about leaches.  What I
read in his statment is that he has a big problem with people who not
only use his work with out being gracious about it but they demand
more work from him for free.  A few mails like "buddy where is my
fuckking feature!!!" would piss me off royally.  One thing that is
glossed over in open source is that the majority of people who can not
produce software are asking the small minority who can to do them a
BIG FAVOR but most of the end users act like it is a right, "where is
my applacation, I want it now".  Now if we have a contracr or I work
for you or you are a customer of mine then that attatude might be
reasonable, but as a person who I no business relation ship asking me
to do something that they could not do them selves for free and then
giving me shit, go fuck yourself.  

>>   if I can help one of them
>>   lose their job or fail an exam by not answering their stupid requests for
>>   somebody else's work, that is good!
> I think your are wasting your precious time with them? Just ignore them.
> You will thus do yourself (and them) a favor.
> You seem to me to react like you take perfection as a granted ideal
> such that ethical behaviour consists in destroying whatever is imperfect.
> I think that that on the contrary, perfection is an unreached ideal
> such that ethical behaviour consists in building more perfect things.

Being intolerant of bad work encourages good work, no?  So if a person
is intolerant of junk he is encouraging people to make the world a
better place.  So Erik apears to be helping you along the road to
perfection, acording to your statement he is behaving in an ethical
manner.

Good night

marc


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Raymond Toy  
View profile  
 More options Nov 2 2001, 9:33 am
Newsgroups: comp.lang.lisp
From: Raymond Toy <t...@rtp.ericsson.se>
Date: 02 Nov 2001 09:21:26 -0500
Local: Fri, Nov 2 2001 9:21 am
Subject: Re: MD5 in LISP and abstraction inversions

>>>>> "Erik" == Erik Naggum <e...@naggum.net> writes:

    Erik> * Raymond Toy
    Erik> | With the right speed and safety, this will probably be converted to a
    Erik> | single 32-bit add instruction, which is what you wanted.

    Erik>   But it might box the result when returning it, unless the function call
    Erik>   is inlined or declared in to return unboxed results.  E.g., Allegro CL

I was leaving that as an exercise for the reader. :-)

Ray


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Carl Shapiro  
View profile  
 More options Nov 2 2001, 10:49 am
Newsgroups: comp.lang.lisp
From: Carl Shapiro <cshap...@panix.com>
Date: 02 Nov 2001 10:49:56 -0500
Local: Fri, Nov 2 2001 10:49 am
Subject: Re: MD5 in LISP and abstraction inversions

j...@itasoftware.com writes:
> Probably not.  The commercial lisps generally use two or three low
> bits as a tag (and set them to zero), so although the compiler may
> emit a 32-bit add instruction, it is really performing a 29 bit add.

Doesn't Lucid Common Lisp have some way to pass unboxed 32 bit
integers between functions?  I once asked JonL about this, and he said
something about the red and pink registers (which hold untagged and
potentially untagged values, respectively), but I never remembered the
whole story.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
jrm  
View profile  
 More options Nov 2 2001, 11:00 am
Newsgroups: comp.lang.lisp
From: j...@itasoftware.com
Date: 02 Nov 2001 11:00:07 -0500
Local: Fri, Nov 2 2001 11:00 am
Subject: Re: MD5 in LISP and abstraction inversions

Carl Shapiro <cshap...@panix.com> writes:
> j...@itasoftware.com writes:

> > Probably not.  The commercial lisps generally use two or three low
> > bits as a tag (and set them to zero), so although the compiler may
> > emit a 32-bit add instruction, it is really performing a 29 bit add.

> Doesn't Lucid Common Lisp have some way to pass unboxed 32 bit
> integers between functions?  I once asked JonL about this, and he said
> something about the red and pink registers (which hold untagged and
> potentially untagged values, respectively), but I never remembered the
> whole story.

I dunno if you can use an unboxed register for passing return values.
Lucid Common Lisp doesn't poll for interrupts, so it has to be careful
managing the registers so that a GC can parse the processor state at
any time.  Partitioning the registers into boxed and unboxed sets
makes this easier.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Pierre R. Mai  
View profile  
 More options Nov 2 2001, 12:31 pm
Newsgroups: comp.lang.lisp
From: "Pierre R. Mai" <p...@acm.org>
Date: 02 Nov 2001 18:11:06 +0100
Local: Fri, Nov 2 2001 12:11 pm
Subject: Re: MD5 in LISP and abstraction inversions

Carl Shapiro <cshap...@panix.com> writes:
> j...@itasoftware.com writes:

> > Probably not.  The commercial lisps generally use two or three low
> > bits as a tag (and set them to zero), so although the compiler may
> > emit a 32-bit add instruction, it is really performing a 29 bit add.

> Doesn't Lucid Common Lisp have some way to pass unboxed 32 bit
> integers between functions?  I once asked JonL about this, and he said
> something about the red and pink registers (which hold untagged and
> potentially untagged values, respectively), but I never remembered the
> whole story.

I don't know about Lucid/Liquid, but the original non-x86 ports of CMU
CL use the (common) register partitioning strategy, in order not to
confuse the GC when it occurs while unboxed values are being worked
on, which is needed inside functions, too.   On x86 this strategy is
suboptimal, since the iA32 architecture is so starved for registers,
that partitioning would leed to constant loading and unloading of
registers.  So CMU CL on x86 doesn't partition its register set, and
uses a conservative GC.

The ability to pass unboxed values across function calls OTOH requires
something else:  The receiving site needs to know to expect an unboxed
value (either in an unboxed register, or inside the normal registers,
if there is no partitioning), and the function itself must know that
all possible receiving sites can handle that unboxed value.  Unless
you can pass the information "value is unboxed" dynamically to a
receiving site, and all receiving sites the implementation produces
are able to deal with this (which will introduce quite a bit of
overhead into function calls everywhere, for little gain), you need
some closed-world assumption, i.e. either all receiving sites must be
known at compile-time, or it must be ensured that all receiving sites,
including future receiving sites are capable of dealing with an
unboxed value return.

There are various ways of achieving that closed world.  Inlining is
one obvious candidate.  Another possibility is folding all cooperating
functions into one flet/labels form, from which no closures escape.

CMU CL allows a nice syntax for this via its block-compilation
declarations, which allows certain functions in the block to be
declared as external entry points, and all other functions as purely
internal functions.  I.e. in the following code, only the return value
of baz needs to be returned re-boxed, all other values can be passed
around in unboxed form:

(declaim (optimize (speed 3) (debug 0) (space 0) (safety 0)))

(declaim (start-block baz))

(declaim (type (function ((unsigned-byte 32)) (unsigned-byte 32)) foo bar))
(defun foo (x)
  (declare (type (unsigned-byte 32) x))
  (logxor x #xF1F1F1F1))

(defun bar (x)
  (declare (type (unsigned-byte 32) x))
  (logxor #x7E7E7E7E (foo x)))

(defun baz (x y)
  (declare (type fixnum x y))
  (bar (+ x y)))

(declaim (end-block))

Other implementations provide other ways of "closing the world", in
order to allow optimizations like unboxed argument/result passing to
happen.

Regs, Pierre.

--
Pierre R. Mai <p...@acm.org>                    http://www.pmsf.de/pmai/
 The most likely way for the world to be destroyed, most experts agree,
 is by accident. That's where we come in; we're computer professionals.
 We cause accidents.                           -- Nathaniel Borenstein


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Duane Rettig  
View profile  
 More options Nov 2 2001, 1:00 pm
Newsgroups: comp.lang.lisp
From: Duane Rettig <du...@franz.com>
Date: 02 Nov 2001 09:24:04 -0800
Local: Fri, Nov 2 2001 12:24 pm
Subject: Re: MD5 in LISP and abstraction inversions

Erik Naggum <e...@naggum.net> writes:
> * Raymond Toy
> | With the right speed and safety, this will probably be converted to a
> | single 32-bit add instruction, which is what you wanted.

>   But it might box the result when returning it, unless the function call
>   is inlined or declared in to return unboxed results.  E.g., Allegro CL
>   offers a means to do this which is pretty intricate, but which yields
>   significant speed-ups in some applications.  I have only seen it used,
>   not used it myself, but if this is an issue, do ask and investigate.

I agree; a user should ask and investigate.

However, there is a subtle snag here; Raymond's example uses
(unsigned-byte 32) values, and Allegro CL only does unboxed arithmetic
on (signed-byte 32).  This isn't a big problem for someone who knows
how to use signed values as if they are unsigned values (i.e. the most
negative 32-bit number, when converted, looks like #x80000000, and the
machine integer representation for -1 in unboxed (signed-byte 32)
representation becomes #xffffffff.

But why only one choice?  Why not allow both (signed-byte 32) _and_
(unsigned-byte 32)?  The problem is in the range overlap in deciding
the type upgrade.

Background:
The compiler always tries to do regular boxed arithmetic whenever
the types assigned to calculations are within fixnum range, because
that is still most efficient.  If the fixnum range is exceeded, but
the calculation remains within the "unboxed integer" range, then most
of the calculation can be done efficiently, but the final result must
be "boxed" by testing for fixnum and either shifting (for values in
fixnum range) or boxing into a bignum (for values too large for
a fixnum).  We use a runtime primitive called fixnum-or-bignum
to do this.  The final type upgrade is when the range of the calculation
exceeds even this unboxed integer range, and thus the compiler has to
generate generic code (in the generic sense, not in the CLOS sense).
In summary, there are three integer gradations: fixnum, then unboxed, and
then generic.

So consider the following function:

(deftype positive-fixnum () '(mod #.most-positive-fixnum))

(defun foo (x y)
  (declare (optimize speed) (positive-fixnum x y))
  (+ x y 10))

Each variable has a declaration of positive-fixnum, or in
normalized form: (integer 0 #.most-positive-fixnum).
There can actually be two additions implied here, but because
addition is associative I'll only describe the final calculation
result, which can be given a type of
(integer 10 #.(+ (* most-positive-fixnum 2) 10))

Now, the above type does not fall within the fixnum range, so it must
be upgraded.  Question: does it fall within (unsigned-byte 32) range,
or (signed-byte 32) range?  Answer: Yes!

This ambiguity would cause extra work for the compiler, to keep
track of what choice it has made, or to possibly keep two possible
compilation strategies, so as to know how to box the final result,
either using fixnum-or-bignum, or using unsigned-fixnum-or-bignum
instead.  It should be possible to do this, but we chose not to,
because that would have made such compilations much more complex, and
introduced many possible bugs.  Also, the decision to only track one
type allowed us to use the same unboxed-compilation mechanism
as we use for doing unboxed floating-point values.  It also allowed us
to encode some of the low-level bit patterns representing gc states
into two-bit patterns, with four states each (lisp-value, single-float,
double-float, and (signed) machine-integer).  This is useful for our
immediate-args concept, where unboxed arguments can be passed between
lisp funxtions.

Whether we made a correct decision to choose (signed-byte 32) over
(unsigned-byte 32) is debatable; I have little hard data, and only
a general sense, but I believe that the pros and cons are relatively
balanced; on the one hand, the obvious inadequacy of our choice is
that foreign interface communications are slightly harder to make
efficient (although since a 32-bit C compiler doesn't know the
difference between receiving an int or an unsigned int as an argument,
one could just lie to the foreign interface)
but on the other hand, most people don't create unsigned positive-fixnum
types, and instead tend to work with fixnum type declarations whenever
they want to say "this is a small number".  Since fixnum is a signed
type, we chose to stay with the signed version rather than the unsigned,
as a philosophical balance to match the fixnum type.

The conclusion is the same as the start: a user should ask and
investigate.

--
Duane Rettig          Franz Inc.            http://www.franz.com/ (www)
1995 University Ave Suite 275  Berkeley, CA 94704
Phone: (510) 548-3600; FAX: (510) 548-8253   du...@Franz.COM (internet)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tim Moore  
View profile  
 More options Nov 2 2001, 1:38 pm
Newsgroups: comp.lang.lisp
From: "Tim Moore" <mo...@bricoworks.com>
Date: 2 Nov 2001 18:38:18 GMT
Local: Fri, Nov 2 2001 1:38 pm
Subject: Re: MD5 in LISP and abstraction inversions
In article <slrn9u483l.nbi.m...@oscar.eng.cv.net>, "Marc Spitzer"

<m...@oscar.eng.cv.net> wrote:
> I think you have missed something here, Erik's position does not
> encumber other people by not releasing his code and the gpl does place
> oblagations on people(in theory, it has not been tested in court as far
> as I know) of the type you must give me back/make avalable your source

Lest you think that the fact that the GPL hasn't been tested in court
somehow makes it legally shaky, you might be interested in
http://www.gnu.org/philosophy/enforcing-gpl.html.  In that article the
FSF's legal counsel argues that the GPL hasn't been tested in court
precisely because it is solid, potential GPL violators understand that, and don't
want to lose in court.

> code.  There are several expences involved in this, here is a short
> list:
> 1: you need to keep it avalible on the internet, you need to rent some
> space & bandwitdth
> 2: you need to keep backups and keep track of them, for all versions of
> your software that is encumbered with gpl, to the best of my knoledge
> 3: if you fail to do 1 and 2 you could get sued by some one else and
> draged through the legal system, always fun.  A quick aside look at

This is just silly.  Maybe you're imagining a scenario in which you don't
provide the source along with binaries?  If you really want to do that, you're allowed to
charge for providing the source if requested.  I don't see anything in
the GPL that says you must provide the exact source that produced
whatever version an enduser has.

> One last thing, if I add enough value to get people to pay me money even
> when there is a free version avalable, am I not entitled to the fruits
> of my labor?

Sure, but not against the wishes of those who provided you the basis for
free.

Tim


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marc Spitzer  
View profile  
 More options Nov 2 2001, 6:34 pm
Newsgroups: comp.lang.lisp
From: m...@oscar.eng.cv.net (Marc Spitzer)
Date: Fri, 02 Nov 2001 23:33:13 GMT
Local: Fri, Nov 2 2001 6:33 pm
Subject: Re: MD5 in LISP and abstraction inversions

first just because I dont want to go to court over it(spemd lots of
money and time) does not mean I think it is valid.  Remember the FSF
has to defend ther GPL and its fellows because if they loose in court
it attacks there reason for existence.  They loose there one big club.

And what else it the lawyer going to say, "this has wholes you could
drive a truck through" perhaps?  He/she has a legal responability to
represent his clients best interests.

>> code.  There are several expences involved in this, here is a short
>> list:
>> 1: you need to keep it avalible on the internet, you need to rent some
>> space & bandwitdth
>> 2: you need to keep backups and keep track of them, for all versions of
>> your software that is encumbered with gpl, to the best of my knoledge
>> 3: if you fail to do 1 and 2 you could get sued by some one else and
>> draged through the legal system, always fun.  A quick aside look at

> This is just silly.  Maybe you're imagining a scenario in which you don't
> provide the source along with binaries?  If you really want to do
> that, you're allowed to
> charge for providing the source if requested.  I don't see anything in
> the GPL    that says you must provide the exact source that produced
> whatever version an enduser has.

I have to get in the source archiving busness for at least 3 years
from the date I stop developing to comply with the gpls licence if I
supply a binary package(rpm).

>> One last thing, if I add enough value to get people to pay me money even
>> when there is a free version avalable, am I not entitled to the fruits
>> of my labor?

> Sure, but not against the wishes of those who provided you the basis for
> free.

If they provided it to me for free then they would not have packaged
it with obligations that effect all my other work that comes in
contact with it.  Since they did add this to there work by there
choice how can you call this free?  There is definatly a charge
against me being made and the cost is linked to how much work I do
using gpled products.  

> Tim

marc

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Nov 2 2001, 9:20 pm
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Sat, 03 Nov 2001 02:20:10 GMT
Local: Fri, Nov 2 2001 9:20 pm
Subject: Re: MD5 in LISP and abstraction inversions
* Francois-Rene Rideau
| With such an attitude, I think it is useless for you to wonder why
| people do not ask you anything.

  I see.  You think this all a game of insulting eachother the most.

| > | [Skipped ad-hominem attacks]
| >   Well, gee, your own are apparently OK, while you have a problem with
| >   mine. That kind of double standard _really_ annoys me.

| I have tried hard not to make any such attack in the current thread.
| I apologize if there is anything that could be construed as such in
| my messages.

  Oh, for crying out loud, please quit the pathetic lying, you numbnut.

| If you are only ready to help people better than yourself,

  Geez.  Where did _this_ crap come from, numbnut?

| you'll find that the only people whom you accept to help are those who
| don't need your help.

  Precisely.  People who _need_ help should not get it for free.  They
  should pay for it.  In an exchange of helpfulness where each party gives
  help for free, the only "payment" one may get is that of having saved
  someone else a little time who might save oneself a little time later on
  in return.  If you help people who _need_ to be helped, you do them a
  major disservice -- you rob them of their only opportunity to learn by
  working through some problem, you make them jump further than they should
  and then they fill in the gaps with guesswork and assumptions that take a
  lot of time to untangle, and they will keep asking for the same kind of
  help over and over.  Like that "ab talebi" numbnut.

| You seem to me to react like you take perfection as a granted ideal
| such that ethical behaviour consists in destroying whatever is imperfect.

  Wrong.  Striving for perfection I do take for granted.  There are people
  who do not want this and who strive for imperfection, instead.

| I think that that on the contrary, perfection is an unreached ideal
| such that ethical behaviour consists in building more perfect things.

  You are too unware of your thinking processes to realize how it is _you_
  who fail to live up to this.

| I do not feel "betrayed" - nobody owes me anything.

  _Really_?  Who do you think you are kidding?  If the language is flawed
  and other people should implement the things you "want", you spell it out
  as betrayal and being owed something.  It is pretty damn obvious.

| I feel like there is a room for improvement,

  Yeah, right.  "Flawed" means it is unusable as is, which you are also
  quite explicit saying.  "Improvement" means it is usable now and could be
  more usable.  The latter is _not_ your position.

| Whereas you are only very rude and quick to ignore or dismiss arguments
| (rather than actually attack them) once you decided that someone was a
| bad person.

  Wrong, but you are both a bad person and incredibly unaware of your
  thinking processes, so your arguments are also utter bunk.

| Indeed, if I manage to avoid characters altogether (and thus not use any
| character-based library), or else use non-portable extensions (and lose
| some interoperability) I can avoid double-buffering. This is a worthwhile
| engineering tradeoff to consider. But I argue that this is a current flaw
| in the language.

  You keep saying that, and refuse to back it up with anything that has
  been requested of you.  I find this interesting.  You also managed to
  answer almost every paragraph in what I wrote, _except_ this one:

  So if I understand you right, you think it is perfectly OK for a vendor
  to use internal, implementation-specific features to implement a common
  or standard specification (or, in case you are not quite up that level of
  quality, just fix things your way), that is perfectly OK, but if you do
  it yourself, it is _not_ OK?  Just _why_ is it that you cannot do this
  yourself?  What makes it so important to you that somebody else do the
  dirty work that you do not want to do yourself?

  Why did you not respond this?  Would it be too revealing if you did?

| I didn't say you did. I tried to clarify and argue my opinion, which from
| your post I construed to be opposite to yours.

  Oh, cut the crap!  What is an "opposite opinion"?  Are you really such a
  numbnut that you cannot even see that there are many axes along which to
  construe opposite positions here?  All I say is that your stupid line
  about the language being flawed is a load of crap and that your use of
  characters in the MD5 algorithm is fantastically misguided, so you just
  _have_ to run into problems, which you blame on the language instead of
  your sorry excuse for a brain and your own incompetence at your task.

| I do not want to access implementation-dependent aspects of the
| character.  I want to access protocol-dependent aspects of the character,
| in an implementation-independent way.

  Numbnut.

| Sometimes, the protocol and the implementation agree, and then I like to
| be able to take advantage of it; sometimes they do not, and I find it a
| pity that it makes reuse of code designed to manipulate characters a
| nuisance.

  So use the _bytes_, you insufferable numbnut.

| I know many flaws in my code (it notably does much more consing ...

  Oh, christ!  Are you really so stupid?  Do you not even understand that
  the issue here is the character type you complain about?  Do you again
  think that there is only one axis along which to move from worse to
  better?  How annoyingly stupid is it possible for somebody to be?  Geez,
  some people!  Look, numbnut, it is your attitude that your use of the
  character type for something it is clearly not suited for is perfect and
  that the language is flawed because your code certainly cannot take any
  improvement that is the problem, here.  Your code is bogus, crappy, a
  load of shit, a misconceptualization, an abstraction inversion, what have
  you, and you are too incredibly incompetent to realize it.  That is all.

| Well, the fact that something implementation-dependent has to be done for
| efficiency is precisely what an "abstraction inversion" is about when you
| try to do it portably.

  Efficiency _is_ implementation-dependent, you insufferable numbnut.

| I argue it's a flaw in a language;

  Yeah, you and that other doofus, whatshisname tail-call "elimination",
  think the language is flawed because you numbnuts cannot figure out how
  to write better code and have deeply rooted psychological problems with
  doing what it takes to get what you want.

| A lot of useful code is written in LISP, C, C++, Java, OCAML, SML,
| Python, Perl, etc., that is written in a portable way and provide
| portable interfaces efficiently.

  This is really, _really_ wrong, numbnut.  These languages are only
  portable across a very specific platform type: 32-bit machines.  Give
  them something else and they are no longer "portable" at all.  Of course,
  _you_ live in a world of only 32-bit hardware, but Common Lisp does not.

| Indeed. *Having to do it* is the wrong, and *doing it* is the right that
| hopefully fixes that wrong.

  You do not _have_to_ do it, you numbnut.  You choose to do it because you
  want better efficiency, and you choose to do it your way because you are
  incompetent and much too arrogant.

| >   Have you ever wondered how all these implementations sprung into
| >   being from nowhere when people like you do not want to implement
| >   things they say they want?

| Uh? My post was precisely about code I was publishing.

  Grow a brain, numbnut.  Lots of people have done lots of implemenation-
  specific work to make the world of supremely usable _portable_ Common
  Lisp possible for you to complain about.

| I admit I should be back to coding -- wasted more than enough time
| posting on USENET.

  Another stupid choice of yours.

| >   It is not a question of picking one implementation and sticking with it,
| >   but of actually using an implementation to get what you want.

| Maybe you should explain the difference.

  Oh, please do not play worse of an idiot than you are!  You can use
  multiple implementations to their fullest without choosing one and
  stikcing with it.  How hard can this be to grasp, numbnut?

| >   interface that does not expose the implementation-dependent features
| In the case of modular integers that's easy.
| In the case of doing the Right Thing(tm) with characters, that's difficult.

  You are only seriously confused about what the Right Thing is, numbnut.

| For other flaws in CL (modularity, concurrency, etc.),
| I doubt it is possible.

  Of course you do.  You cannot even get simple type choices right.

| >   You seem to believe that as soon as it is necessary to do something
| >   like this, you have found a flaw in the language.
| Yes. It might not be a big flaw (depending on what it is),
| but it is a flaw nonetheless.

  The flaw is located in your pathetic excuse for a brain, numbnut.  It is
  not in the language.

| In as much as I might not always be precise enough in what I say,
| you read everything with negative prejudice and then become rude.

  A numbnut who resorts to "always", "never", "nothing" and "everything"
  has lost his touch with reality and prefers a vastly simplified, hugely
  exaggerated world which is much simpler for this limited brain capacity
  to deal with.  You are _obviously_ wrong.  Stupid exaggerations always
  are.  I am rude to idiots, numbnuts, and arrogant ignorants like you.

| It's still a flaw.

  Are you going to put that on yout tombstone when you leave us alone?  It
  seems that numbnuts like you who have to defend themselves when they are
  wrong about something will go into a mental state where they will never
  admit to being wrong and will continue to spout some idiotic nonsense
  just to keep from admitting it.  This seems to be a pretty common trait
  in the entire "tunes" project, by the way.

  Some people want so badly to be "right" that they never change their mind
  once they have found something to believe and it is
...

read more »


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
John Foderaro  
View profile  
 More options Nov 2 2001, 10:17 pm
Newsgroups: comp.lang.lisp
From: John Foderaro <j...@unspamx.franz.com>
Date: Fri, 2 Nov 2001 19:12:25 -0800
Local: Fri, Nov 2 2001 10:12 pm
Subject: Re: MD5 in LISP and abstraction inversions
In article <3213742805450...@naggum.net>, e...@naggum.net says...
[multiple insults]

While I may not agree with Francois-Rene Rideau's statements,
he definitely know how to argue his points like an adult.

Your response is childish however and is an embarrassment
to this forum.  

Why do I even bring this up?  Well I asked readers a
month or so ago that if they wanted to raise the
intellectual level of this forum that they should
speak up when something clearly anti-intellectual was
posted.  Since this is not a moderated forum this is
the only way for posters to get feedback.  Feedback
is important.

 So I simply state that in my opinion that post
went overboard.  Yes, this isn't the first such
post in the last month but I've been too busy lately
to stay current enough with this newsgroup to
give timely feedback on some of the other posts.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marc Spitzer  
View profile  
 More options Nov 2 2001, 11:08 pm
Newsgroups: comp.lang.lisp
From: m...@oscar.eng.cv.net (Marc Spitzer)
Date: Sat, 03 Nov 2001 04:07:22 GMT
Local: Fri, Nov 2 2001 11:07 pm
Subject: Re: MD5 in LISP and abstraction inversions

I have one question, when were you elected the group censor?  I did
not vote for you or even see a ballot with your name on it.  

If you have been reading this news group for a while one thing you
should relize by now is that Erik follows through.  I do not know if
Erik will respond to this, but if he does he will finish it.  I do not
think you will get your desired end you will not muzzle anybody who is
worth a dam with this junk.  In fact this is an invatation to a
responce from Erik that you are preaching against.  Then you will
respond and he will respond ... and you have a lot more of the
behavior that you preach against because of your direct action.  This
is not what I consider smart.  It almost looks like you are setting
your self up to set your self up as the innocent victim in this so you
can claim some false moral high ground in this.

In the worse case when you have a choice between assholes and censors
you should always choose assholes, they make better neighbors.  I am
not saying Erik is an asshole, just to be clear.

marc


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
John Foderaro  
View profile  
 More options Nov 2 2001, 11:21 pm
Newsgroups: comp.lang.lisp
From: John Foderaro <j...@unspamx.franz.com>
Date: Fri, 2 Nov 2001 20:16:49 -0800
Local: Fri, Nov 2 2001 11:16 pm
Subject: Re: MD5 in LISP and abstraction inversions
In article <slrn9u6rci.q89.m...@oscar.eng.cv.net>, m...@oscar.eng.cv.net says...

> I have one question, when were you elected the group censor?  I did
> not vote for you or even see a ballot with your name on it.  

If you study how usenet works you'll learn that there are no
censors for an unmoderated newsgroup so your statement makes
no sense.

I'm sure that there exist postings that you would consider
unacceptable.  For example someone might start posting
multi-megabyte CMU CL distributions.  You might speak up
and say "hey, this is not the place for that kind of
posting".  You would not be a censor.  Nothing you could do
could stop the postings.  You would merely be stating your opinion.

 *Your* opinion is that I should not state my opinion about
posts I find juvenile.  Fine. I accept that is your opinion.
Just don't bring up censorship.  That makes no sense.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Kaz Kylheku  
View profile  
 More options Nov 2 2001, 11:30 pm
Newsgroups: comp.lang.lisp
From: k...@ashi.footprints.net (Kaz Kylheku)
Date: Sat, 03 Nov 2001 04:30:11 GMT
Local: Fri, Nov 2 2001 11:30 pm
Subject: Re: MD5 in LISP and abstraction inversions

In article <MPG.164d00629a838781989...@news.dnai.com>, John Foderaro wrote:
> So I simply state that in my opinion that post
>went overboard.

No kidding, look who it's from.  Basically, you are having a pointless
disagreement with someone on Usenet over his literary style---his highly
consistent and predictable style, I might add, which was probably honed
by years of practice, and as such would require considerable undoing.

For all you know, he could be playing a character in order to deliberately
tick you off, and possibly be deriving pleasure from grating on your
nerves.

Also understand that some people find overboard postings extremely
entertaining, and would miss them dearly if some people's censorship
fantasies were realized.

This is (Ab)Usenet!  If you want to read some non-offensive,
censored-to-hell, insipid forum, try AOL.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marc Spitzer  
View profile  
 More options Nov 3 2001, 1:11 am
Newsgroups: comp.lang.lisp
From: m...@oscar.eng.cv.net (Marc Spitzer)
Date: Sat, 03 Nov 2001 06:10:05 GMT
Local: Sat, Nov 3 2001 1:10 am
Subject: Re: MD5 in LISP and abstraction inversions

In article <MPG.164d0f8c7fc75944989...@news.dnai.com>, John Foderaro wrote:
> In article <slrn9u6rci.q89.m...@oscar.eng.cv.net>, m...@oscar.eng.cv.net says...
>> I have one question, when were you elected the group censor?  I did
>> not vote for you or even see a ballot with your name on it.  

> If you study how usenet works you'll learn that there are no
> censors for an unmoderated newsgroup so your statement makes
> no sense.

then why did you attempt to set your self up as a tin pot censor with
your moralistic garbage post?  And you were trying to censor through
the applacation of social pressure.  By posting your message you were
fisshing for support and trying to polarize comp.lang.lisp into the
"good guys" and the "bad guys", and you get to "lead" the "good guys"
against the "bad guys" in a moral crusade to cleans CLL, for the
greater good of course.  And trying this tactic against Erik is just
moronic, yes this goes beyond stupid, unless you are just picking a
fight so you can form your group and chastise us offensive heathens
into line.  That is still pretty stupid.  

> I'm sure that there exist postings that you would consider
> unacceptable.  For example someone might start posting
> multi-megabyte CMU CL distributions.  You might speak up
> and say "hey, this is not the place for that kind of
> posting".  You would not be a censor.  Nothing you could do
> could stop the postings.  You would merely be stating your opinion.

binaries go against the charter of this grouo, as far as I know
anyway and responces to posted messages do not.  Again you amaze me
with your wonderful ability to compair apples to dog dropping.  I am
sure *you* see the link, wether it is there or not.

>  *Your* opinion is that I should not state my opinion about
> posts I find juvenile.  Fine. I accept that is your opinion.
> Just don't bring up censorship.  That makes no sense.

no my opinion is that I do not like assocating with liars and cheats
so will you please go away. If anybody is curious here is the archive
from google( sorry about the line break):  

http://groups.google.com/groups?q=g:thl1251669294d&hl=en&selm=
87itf1a2fh.fsf_-_%40piracy.red-bean.com

marc


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Nov 3 2001, 8:18 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Sat, 03 Nov 2001 12:56:44 GMT
Local: Sat, Nov 3 2001 7:56 am
Subject: Re: MD5 in LISP and abstraction inversions
* John Foderaro
| Your response is childish however and is an embarrassment
| to this forum.  

  John Foderaro, can you _please_ shut up?  Your contributions to this
  forum are fantastically predictable, exceptionally boring, utterly
  useless, nothing more than childish whining, all of them sorry, pathetic
  attempts to take revenge over once having lost a debate over your very
  silly IF* macro.  If you really want to raise the intellectual level in
  this newsgroup, _quit_ the idiotic holier-than-thou act and just _do_
  what you profess that only _other_ people should do: Post intelligent
  articles.  I do not think you actually _can_ do that, anymore, which is
  why you keep _whining_ instead of _doing_, and which is why _you_ chose
  to become an uintelligent moralistic asshole when you were criticized for
  being unable to argue your case properly.  Attacking your critics does
  not make _you_ more intelligent, any more than any of the other morons on
  this newsgroup have come out of such attacks with the face actually
  saved.  And just like every other pathetic moralistic loser on USENET,
  you crawl out of the woodwork when a discussion is basically over.

  Grow up, John Foderaro.  _You_ are still unable to deal with conflict in
  a mature way and there is _nothing_ you can teach anyone in this area,
  and your extremely annoying and pathetic attacks on me are getting old.

///
--
  Norway is now run by a priest from the fundamentalist Christian People's
  Party, the fifth largest party representing one eighth of the electorate.
--
  Carrying a Swiss Army pocket knife in Oslo, Norway, is a criminal offense.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "simple-streams for CMUCL [Re: MD5 in LISP and abstraction inversions]" by Paul Foley
Paul Foley  
View profile  
 More options Nov 4 2001, 1:35 am
Newsgroups: comp.lang.lisp
From: Paul Foley <mycr...@actrix.gen.nz>
Date: 04 Nov 2001 19:35:09 +1300
Local: Sun, Nov 4 2001 1:35 am
Subject: Re: simple-streams for CMUCL [Re: MD5 in LISP and abstraction inversions]
On 02 Nov 2001 13:34:25 +1300, I wrote:

> Oh well, I guess it's a good time to announce that I'm implementing
> simple-streams for CMUCL.  It's far from usable as yet, but I'll put
> something on http://www.actrix.gen.nz/users/mycroft/cl.html over the
> weekend.  If anyone wants to help out, please let me know.

As promised, this is now available.

--
C/C++/Java/Perl/etc are for people who want to make things that work.
Common Lisp is for people who want to make things that don't break.
                                                           -- Erik Naggum
(setq reply-to
  (concatenate 'string "Paul Foley " "<mycroft" '(#\@) "actrix.gen.nz>"))


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "MD5 in LISP and abstraction inversions" by Juliusz Chroboczek
Juliusz Chroboczek  
View profile  
 More options Nov 8 2001, 10:17 am
Newsgroups: comp.lang.lisp
From: Juliusz Chroboczek <j...@pps.jussieu.fr>
Date: 07 Nov 2001 23:57:31 +0100
Local: Wed, Nov 7 2001 5:57 pm
Subject: Re: MD5 in LISP and abstraction inversions
Francois-Rene Rideau:

FR> I purported to support the (maybe illusive) idea that there is a usable
FR> portable Common LISP language.

It is most definitely possible to write portable Common Lisp code that
is efficient in one implementation.  It is very difficult, and possibly
impossible, to write Common Lisp code that is portably efficient.

X3J13 have made a few half-hearted attempts to make it more likely
that common idioms will generate efficient code, most notably by
giving some guarantees on the fixnum range and by making it possible
to write array-frobbing code using fixnums.

I don't think there is any portable language that enables the writing
of portably efficient code.

                                        Juliusz


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Juliusz Chroboczek  
View profile  
 More options Nov 8 2001, 10:17 am
Newsgroups: comp.lang.lisp
From: Juliusz Chroboczek <j...@pps.jussieu.fr>
Date: 08 Nov 2001 00:00:00 +0100
Subject: Re: MD5 in LISP and abstraction inversions
Marc Spitzer:

MS> A few mails like "buddy where is my fuckking feature!!!" would
MS> piss me off royally.

An Emacs Lisp function that replies ``I am not currently interested in
commercial consulting'' does wonders.  You'll never hear from them
again.

The problem (I find) is with nice people who submit code for inclusion
in a future version, and get offended when you refuse on stylistic grounds.

                                        Juliusz


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Nov 8 2001, 11:02 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Thu, 08 Nov 2001 16:02:03 GMT
Local: Thurs, Nov 8 2001 11:02 am
Subject: Re: MD5 in LISP and abstraction inversions
* Juliusz Chroboczek
| The problem (I find) is with nice people who submit code for inclusion
| in a future version, and get offended when you refuse on stylistic grounds.

  Well, try submitting something that uses standard if, when, unless, or
  loop, to people who believe in a certain "Lisp Coding Standard" document
  and get chided for using standard Common Lisp.  It is certainly rejection
  on stylistic grounds, but so irrational that future attempts to deal with
  such people is tainted with an unanswered "why bother?".  In many cases,
  stylistic grounds are indeed irrational as seen from the receiver, and
  the most rational thing in the world by the person arguing them, but it
  is probably fair to assume that the submitter of a thus rejected patch is
  in his right to consider the argument irrational, and probably the person
  who argues with them.  On the other hand, the inability to continue to
  use a style that the code alrady uses may just be irrationally stubborn
  or ignorant, but it depends a little on how the style evolved.  If it is
  the kind of style that deprecates standard features in favor of a bogus
  "invention" of the writer, that writer is trying to build a community all
  of his own, explicitly rejecting the community that the suggester would
  like to belong to.  I find such behavior offensive and good grounds never
  again to submit code to such people.  Fortunately, there are usually only
  single individuals who are so beyond reach.

///
--
  Norway is now run by a priest from the fundamentalist Christian People's
  Party, the fifth largest party representing one eighth of the electorate.
--
  Carrying a Swiss Army pocket knife in Oslo, Norway, is a criminal offense.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Nov 8 2001, 11:06 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Thu, 08 Nov 2001 16:05:52 GMT
Local: Thurs, Nov 8 2001 11:05 am
Subject: Re: MD5 in LISP and abstraction inversions
* Juliusz Chroboczek
| It is most definitely possible to write portable Common Lisp code that
| is efficient in one implementation.  It is very difficult, and possibly
| impossible, to write Common Lisp code that is portably efficient.

  Do you think this is because of the implementations or the language?  I
  think it is because of the implementations and the lack of pressure from
  their users to be (more) efficient.

  If you write code that is explicit in all its assumptions, a compiler
  _should_ be able to produce optimal machine code.

///
--
  Norway is now run by a priest from the fundamentalist Christian People's
  Party, the fifth largest party representing one eighth of the electorate.
--
  Carrying a Swiss Army pocket knife in Oslo, Norway, is a criminal offense.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Kent M Pitman  
View profile  
 More options Nov 8 2001, 11:27 am
Newsgroups: comp.lang.lisp
From: Kent M Pitman <pit...@world.std.com>
Date: Thu, 8 Nov 2001 16:26:31 GMT
Local: Thurs, Nov 8 2001 11:26 am
Subject: Re: MD5 in LISP and abstraction inversions

Erik Naggum <e...@naggum.net> writes:
> * Juliusz Chroboczek
> | It is most definitely possible to write portable Common Lisp code that
> | is efficient in one implementation.  It is very difficult, and possibly
> | impossible, to write Common Lisp code that is portably efficient.

>   Do you think this is because of the implementations or the language?  I
>   think it is because of the implementations and the lack of pressure from
>   their users to be (more) efficient.

I don't think this is always the case.

I'm consulting for a company right now that is using clisp a lot.  It
seems to be quite efficient in many ways, but since it's byte
compiled, it's hard for it to be compared apples to apples with
non-byte-compiled implementations.  Using a system-defined operator
means jumping to C code, which gets really optimized stuff that a user
just can't write (because whole point of the byte code interpreter is
that you can't get to the C level).  So, for example, as nearly as I
can tell, a call to a standard CL string-manipulation operator ends up
enormously faster compared to an open-coded inline loop doing calls to
CHAR on carefully type-declared strings, not because it does anything
gross and awful with those calls but because unless the system
literally recognizes that what you are doing is an idiom for a
system-defined function, it can't go out-of-frame and write C code
(where the optimizations you expect could happen).

I think similar issues come up with cache and prefetch issues that may
make things below the abstraction level not visible.  And with
vendor-specific OS-level facilities like threads that may (depending
on shallow/deep binding tradeoffs, just for example) optimize some things
at the expense of others.  ("No free lunch.")

I ran into this problem in doing Fortran->Lisp translation
  http://world.std.com/~pitman/Papers/Fortran-to-Lisp.html
and it effectively came down to the same: if the compiler is restricted
to working from a certain abstraction level up, anything that tickles
the layer below that is going to sometimes work unoptimally.

I think this is, at its core, the reason for Gabriel's "worse is better"
paper series.

>   If you write code that is explicit in all its assumptions, a compiler
>   _should_ be able to produce optimal machine code.

Some code is kept from being explicit.

Some virtual machines are kept from exploiting this.

Some facilities use "magic" (by which I mean things like the MP package
for multitasking, which can accomplish multiprocessing in CL but can't be
implemented in CL for lack of core functionality).


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Juliusz Chroboczek  
View profile  
 More options Nov 8 2001, 11:51 am
Newsgroups: comp.lang.lisp
From: Juliusz Chroboczek <j...@pps.jussieu.fr>
Date: 08 Nov 2001 17:50:30 +0100
Local: Thurs, Nov 8 2001 11:50 am
Subject: Re: MD5 in LISP and abstraction inversions
| The problem (I find) is with nice people who submit code for inclusion
| in a future version, and get offended when you refuse on stylistic grounds.

Erik Naggum:

EN>   Well, try submitting something that uses standard if, when, unless, or
EN>   loop, to people who believe in a certain "Lisp Coding Standard" document
EN>   and get chided for using standard Common Lisp.

I was thinking of a person who rewrote a quick hack of mine in what he
described as ``clean and elegant object-oriented Perl.''  He got badly
offended when I refused to maintain his code, and suggested that he
may want to distribute it himself.

EN>   that writer is trying to build a community all of his own,
EN>   explicitly rejecting the community that the suggester would like
EN>   to belong to.

Yes, I think that's a fair description.  I explicitly reject the
community that believes in such a thing as ``clean and elegant
object-oriented Perl.''

                                        Juliusz


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Juliusz Chroboczek  
View profile  
 More options Nov 8 2001, 12:23 pm
Newsgroups: comp.lang.lisp
From: Juliusz Chroboczek <j...@pps.jussieu.fr>
Date: 08 Nov 2001 18:23:00 +0100
Subject: Re: MD5 in LISP and abstraction inversions
EN> | It is most definitely possible to write portable Common Lisp code that
EN> | is efficient in one implementation.  It is very difficult, and possibly
EN> | impossible, to write Common Lisp code that is portably efficient.

Erik Naggum:

EN>   Do you think this is because of the implementations or the language?

To a great extent, it is unavoidable in any portable language.

The difference, however, is that most modern implementations of, say,
C, are pretty much identical from the programmer's point of view.  In
most cases, C code that is efficient under both gcc/x86 and
SunPro/Sparc will be efficient on all (modern) platforms.

On the other hand, there is much more variety in implementation
strategies for Common Lisp, which makes it much more difficult to
write code that is efficient ``often enough.''  Let alone the issue of
byte-compiled vs. native implementations (already mentioned by Kent),
there are the issues of (off the top of my head) shallow vs. deep
binding, buffered vs. unbuffered streams, size of fixnums, ability to
work on full-word integers, ability to use a ``known call convention''
for functions with a proclaimed type, implementation of catch/throw,
etc.

I hope we all agree that this liberty of implementation is a good
thing; but it means that, in practice, writing portably efficient CL
code is next to impossible.  (I am emphatically not speaking of
portable CL code that is efficient in a single implementation.)

                                        Juliusz


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
John Foderaro  
View profile  
 More options Nov 8 2001, 1:59 pm
Newsgroups: comp.lang.lisp
From: John Foderaro <j...@xspammerx.franz.com>
Date: Thu, 8 Nov 2001 11:01:04 -0800
Local: Thurs, Nov 8 2001 2:01 pm
Subject: Re: MD5 in LISP and abstraction inversions
 You make a good point that programs within a language
that use only built-in features of that language
cannot be classified as having the same style.  
Any sufficiently rich language can support many different styles.
 Common Lisp is certainly a language that supports
many many styles.  I've seen code written in a
Fortran style (lots of prog's, tagbody's and go's)
and in a scheme style (passing "continuations" in
as arguments to functions).  And there are many other
styles as well.
 Common Lisp also supports macros and it shows a
*profound* lack of understanding of Common Lisp if someone
were to suggest that making use of this very important
and powerful feature of Common Lisp was rejection of the
Common Lisp community.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 26 - 50 of 206 < Older  Newer >
« Back to Discussions « Newer topic     Older topic »