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
Design patterns for Lisp
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 51 - 75 of 80 - 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
 
Software Scavenger  
View profile  
 More options Nov 30 2001, 10:33 pm
Newsgroups: comp.lang.lisp
From: cubicle...@mailandnews.com (Software Scavenger)
Date: 30 Nov 2001 19:33:27 -0800
Local: Fri, Nov 30 2001 10:33 pm
Subject: Re: Design patterns for Lisp

Daniel Barlow <d...@telent.net> wrote in message <news:878zct1o7g.fsf@noetbook.telent.net>...
> So I think Lisp programmers have to decide whether their goal is to
> get rich, or to popularize Lisp.  Even if you correctly identify the

If Lisp gains a reputation for making people rich, it will quickly
become popular.  Paul Graham is just one person, not enough to give
Lisp such a reputation.  We need hordes of Lisp millionaires.

Why don't we already have hordes of Lisp millionaires?  What is the
invisible obstacle standing in the way of this logically-expectable
result?


 
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.
Kenny Tilton  
View profile  
 More options Dec 1 2001, 12:22 am
Newsgroups: comp.lang.lisp
From: Kenny Tilton <ktil...@nyc.rr.com>
Date: Sat, 01 Dec 2001 03:55:44 GMT
Local: Fri, Nov 30 2001 10:55 pm
Subject: Re: Design patterns for Lisp

Software Scavenger wrote:

> Why don't we already have hordes of Lisp millionaires?  What is the
> invisible obstacle standing in the way of this logically-expectable
> result?

You can't use Lisp and work for Bill. You have to work for Bill to get
rich, he has all the money now.

kenny
clinisys


 
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 Dec 1 2001, 1:10 am
Newsgroups: comp.lang.lisp
From: k...@ashi.footprints.net (Kaz Kylheku)
Date: Sat, 01 Dec 2001 06:10:08 GMT
Local: Sat, Dec 1 2001 1:10 am
Subject: Re: Design patterns for Lisp

In article <3C085561.A44FB...@nyc.rr.com>, Kenny Tilton wrote:
>Software Scavenger wrote:

>> Why don't we already have hordes of Lisp millionaires?  What is the
>> invisible obstacle standing in the way of this logically-expectable
>> result?

>You can't use Lisp and work for Bill. You have to work for Bill to get
>rich, he has all the money now.

Not so sure about that; you can target Bill's platform with Lisp.

 
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 Dec 1 2001, 8:18 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Sat, 01 Dec 2001 13:18:50 GMT
Local: Sat, Dec 1 2001 8:18 am
Subject: Re: Design patterns for Lisp
* Software Scavenger
| If Lisp gains a reputation for making people rich, it will quickly become
| popular.  Paul Graham is just one person, not enough to give Lisp such a
| reputation.  We need hordes of Lisp millionaires.

  Provided at least a majority of them are satisfied with the language that
  made them rich and do not feel the urge to create their own pet languages.

| Why don't we already have hordes of Lisp millionaires?

  Perhaps because they do not want to credit Lisp with it?

///
--
  The past is not more important than the future, despite what your culture
  has taught you.  Your future observations, conclusions, and beliefs are
  more important to you than those in your past ever will be.  The world is
  changing so fast the balance between the past and the future has shifted.


 
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 Battyani  
View profile  
 More options Dec 1 2001, 8:48 am
Newsgroups: comp.lang.lisp
From: "Marc Battyani" <Marc.Batty...@fractalconcept.com>
Date: Sat, 1 Dec 2001 14:47:31 +0100
Local: Sat, Dec 1 2001 8:47 am
Subject: Re: Design patterns for Lisp
"Software Scavenger" <cubicle...@mailandnews.com> wrote

> If Lisp gains a reputation for making people rich, it will quickly
> become popular.  Paul Graham is just one person, not enough to give
> Lisp such a reputation.  We need hordes of Lisp millionaires.

> Why don't we already have hordes of Lisp millionaires?  What is the
> invisible obstacle standing in the way of this logically-expectable
> result?

The really interesting metrics is the ratio (/ millionaires programmers) and
to compute it for Java, C++, Lisp, Python, etc.

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.
Florian Weimer  
View profile  
 More options Dec 1 2001, 11:21 am
Newsgroups: comp.lang.lisp
From: Florian Weimer <f...@deneb.enyo.de>
Date: Sat, 01 Dec 2001 17:01:30 +0100
Local: Sat, Dec 1 2001 11:01 am
Subject: Re: Design patterns for Lisp

Kenny Tilton <ktil...@nyc.rr.com> writes:
> You can't use Lisp and work for Bill.

Are you sure?  Surely you can use Haskell and work for Bill.

> You have to work for Bill to get rich, he has all the money now.

If he had all the money, it would be worthless.

 
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.
Thomas F. Burdick  
View profile  
 More options Dec 1 2001, 5:22 pm
Newsgroups: comp.lang.lisp
From: t...@famine.OCF.Berkeley.EDU (Thomas F. Burdick)
Date: 01 Dec 2001 14:22:30 -0800
Local: Sat, Dec 1 2001 5:22 pm
Subject: Re: Design patterns for Lisp

Kenny Tilton <ktil...@nyc.rr.com> writes:
> Software Scavenger wrote:

> > Why don't we already have hordes of Lisp millionaires?  What is the
> > invisible obstacle standing in the way of this logically-expectable
> > result?

> You can't use Lisp and work for Bill. You have to work for Bill to get
> rich, he has all the money now.

Ah, but you forget that not all the people who got their money from
Bill applied for jobs with him.  For a while in the 90's in Seattle,
one commonly-seen business plan was "make a company that does well
enough to make Bill want to buy it to either make it his or crush it".
If you did this with Lisp, you could get some of Bill's money as well
as with any other language.  If he bought you to keep whatever you
made, he'd probably have his minions rewrite it in C++, but presumably
you already figured out the design, so this would even be a reasonable
thing.

--
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                              
   |     ) |                              
  (`-.  '--.)                              
   `. )----'                              


 
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.
Kenny Tilton  
View profile  
 More options Dec 1 2001, 5:57 pm
Newsgroups: comp.lang.lisp
From: Kenny Tilton <ktil...@nyc.rr.com>
Date: Sat, 01 Dec 2001 22:56:17 GMT
Local: Sat, Dec 1 2001 5:56 pm
Subject: Re: Design patterns for Lisp

"Thomas F. Burdick" wrote:

> Ah, but you forget that not all the people who got their money from
> Bill applied for jobs with him.  For a while in the 90's in Seattle,
> one commonly-seen business plan was "make a company that does well
> enough to make Bill want to buy it to either make it his or crush it".
> If you did this with Lisp, you could get some of Bill's money as well
> as with any other language.  

Quibble Alert: Hang on, what if Bill goes for the crush option on me?

Can you imagine if Bill decided to do a Visual Lisp? There'd go the
neighborhood.

kenny
clinisys


 
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.
Michael Travers  
View profile  
 More options Dec 1 2001, 10:11 pm
Newsgroups: comp.lang.lisp
From: m...@alum.mit.edu (Michael Travers)
Date: 1 Dec 2001 19:11:38 -0800
Local: Sat, Dec 1 2001 10:11 pm
Subject: Re: Design patterns for Lisp

cubicle...@mailandnews.com (Software Scavenger) wrote in message <news:a6789134.0111301933.60d49733@posting.google.com>...
> Why don't we already have hordes of Lisp millionaires?  What is the
> invisible obstacle standing in the way of this logically-expectable
> result?

I know a couple of people who have started successful companies using
Lisp as a technology, and are (I'm pretty sure) millionaires quite a
few times over.  

In both cases, the main ingredients for success were:
- being pretty damn smart
- finding a complex domain that doesn't have good tools yet
- understanding that domain thoroughly
- building a solution in Lisp
- selling the solution into the market

Knowing Lisp is the least of it really, but Lisp does enable a smart
person to quickly build a solution to a complex problem, with one or
a few developers and maybe without external funding.  That's a good way
to get rich.


 
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.
Brian P Templeton  
View profile  
 More options Dec 2 2001, 12:42 pm
Newsgroups: comp.lang.lisp
From: Brian P Templeton <b...@tunes.org>
Date: Sun, 02 Dec 2001 17:42:39 GMT
Local: Sun, Dec 2 2001 12:42 pm
Subject: Re: Design patterns for Lisp

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

[...]
> 5 Use iteration rather than recursion to scan a sequence one element at a
>   time.  (Reserve recursion for situations where you _require_ a stack.)

>   I.e., Common Lisp is not a dialect of Scheme.

I think that higher-order functions are also useful, and for some
purposes recursion is more easily understood than iteration.

[...]

--
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


 
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.
Xah Lee  
View profile  
 More options Dec 2 2001, 5:17 pm
Newsgroups: comp.lang.lisp
From: x...@xahlee.org (Xah Lee)
Date: 2 Dec 2001 14:17:38 -0800
Local: Sun, Dec 2 2001 5:17 pm
Subject: Re: Design patterns for Lisp
Dear lisp programers,

i started to give my views on patterns and XP in this thread, then it
got ramified by someone into a hogwash discussion that revolves around
attacking the word "mathematics".

I like to make a coherent summary of my views on the Design Patterns
and eXtreme Programing stuff.

In my previous articles

> Message-ID: <B826DEE2.489D%...@best.com>
> Date: Mon, 26 Nov 2001 01:46:13 GMT
> Subject: Re: Design patterns for Lisp

http://groups.google.com/groups?selm=B826DEE2.489D%25xah%40best.com&o...

and other posts posted here recently, their contents are summarized
and expanded as follows:

(1) Patterns and XP are wishy-washy, unscientific, unproven, and
without any mathematical basis.

(2) there are enough applied mathematics in computer science for a
life-time of study.

(3) The programers in computing industry lacks sufficient training.
They lack sufficient computer science background, lack mastery of
their tools (languages, protocols etc.), and their knowledge of their
domain/field are often poor.

(4) It is extremely easy and common for non-qualified people to become
a software professional, who will gradually churn out significant
quantity of codes. (this is in contrast with other engineering
disciplines. A desk-top computer is sufficient to send a interested
laymen into software industry.)

(5) Software engineering is ten thousand times easier than physical
engineering such as bridge, airplane, tunnel, train, ship... building.

(6) computer do not make mistakes, people do, and sloppiness is a
common attitude in software industry.

(7) software licenses are irresponsible. The vast majority of software
license agreements contains clauses that don't guarantee it works.

--

The quality of software depends on primarily of two aspects:

* Programer's mastery of the tools. (programing language, protocols,
operating system ...)

* Programer's expertise/knowledge of his field/domain.

Programers should master their tools. Know every detail of their
language well. Then, programer should strive to accumulate knowledge
of their respective domain.

When a programer masters his tools and domain expertise, he obtains
the expertise any Design Pattern tries to describe. Design Patterns is
a snake oil. Icing on the cake. Fluff. Wishful thinking. Slouch's
drug. Idiot's placebo. And that's not all.

Design Patterns is the opium of computing industry. From an addicted
individual or company, it may have improved a code or helped a team.
But on the whole, it hinders the propagation of quality languages. It
stops advancements of language design. It reduces the awareness of
real education needs like mastering languages and domain expertise. It
is a fucking spoon-feeding formula designed to retard the mundane and
drug the smart. It curbs creation ability. It is a plague, a bad-ass
fashion phenomenon; a jargon-riding dimwit-pleasing epidemic.

For the record, the "Gang of Four" mentioned in this thread who wrote
the _Design Patterns_ book are:

 Erich Gamma     <-- fucking ass one
 Richard Helm    <-- fucking ass two
 Ralph Johnson   <-- fucking ass too
 John Vlissides  <-- fucking ass also

These people will be remembered as criminals in the computing history,
along with Larry Wall and those fucking jackasses who distributed
their home work now known as Unix. [criminals here is defined as those
who bring damages to society, including hampering progress in a
massive scale.]

--

I have mentioned above that software engineering is significantly
easier then bridge engineering. Let's drill on this a bit.

When we say A is easier then B, we have to define what we mean by
"easier". Before we can say what we mean by "easier", we need to
understand the nature A and B comparably. We can consider Software
Writing vs Bridge Building. This would be on easy one. We can also
consider Software Engineering vs Bridge Engineering. This will be a
bit difficult. We'll need to further discuss what does "engineering"
really encompasses here. Coming up with a good definition can be quite
involved. Instead of drilling on a sensible definition, I'll simply
mention a few comparisons of things in software engineering and bride
engineering below. The following items will be somewhat hodgepodge.

* Material cost.

* Size of team.

* Cost of raising (educating/training) engineers.

* The nature involved.

In building bridges, there are lots of unknown factors. There's wind,
storm, flood, earthquake all of which we cannot fully control, and can
only predict in a limited way. It will involve many science
disciplines. geo-science, physics, aerodynamics. Software building
requires much lesser disciplines, and significantly much less people.

Build bridges is costly. It can only be done once, and the one time
must be right. It cannot go by trial-and-error. Software building on
the other hand, can trial-and-error all the way. It's essentially
costless.

The essence of computers can be likened to an abacus. You push the
beads and you readout the values. There are no chance events. No storm
or flood to worry about. The information are one hundred percent known
to you, and you control it one hundred percent one hundred percent of
the time.

Which one is ten thousand times easier do you think? Is it bridge
engineering, or software engineering?

--

In the above, i have touched on the problem of software licenses.
Namely, they outright disclaims the functionality of the software.

I propose that we raise an awareness of this situation, so that the
public (consumer) will start to demand more responsible software
(licenses).

... my time's up. Next time when i have some time, reminds me to write
on WHY software industry is the way it is, and why the solution is to
first raise the awareness of irresponsible licenses. This should be
the last message in this episode.

Goodbye my love, cum all over your face.

 Xah
 x...@xahlee.org
 http://xahlee.org/PageTwo_dir/more.html

Feast your eyes. Note the ominous all-caps.

-----------------------------------
Excerpt of License agreement from Mac OS 9:

4. Disclaimer of Warranty on Apple Software.  You expressly
acknowledge and agree that use of the Apple Software is at your sole
risk.  The Apple Software is provided "AS IS" and without warranty of
any kind and Apple and Apple's licensor(s) (for the purposes of
provisions 4 and 5, Apple and Apple's licensor(s) shall be
collectively referred to as "Apple") EXPRESSLY DISCLAIM ALL WARRANTIES
AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY OR
SATISFACTORY QUALITY AND FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT OF THIRD PARTY RIGHTS.  APPLE DOES NOT WARRANT THAT
THE FUNCTIONS CONTAINED IN THE APPLE SOFTWARE WILL MEET YOUR
REQUIREMENTS, OR THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE
UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS IN THE APPLE SOFTWARE
WILL BE CORRECTED.  FURTHERMORE, APPLE DOES NOT WARRANT OR MAKE ANY
REPRESENTATIONS REGARDING THE USE OR THE RESULTS OF THE USE OF THE
APPLE SOFTWARE OR RELATED DOCUMENTATION IN TERMS OF THEIR CORRECTNESS,
ACCURACY, RELIABILITY, OR OTHERWISE.  NO ORAL OR WRITTEN INFORMATION
OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE SHALL
CREATE A WARRANTY OR IN ANY WAY INCREASE THE SCOPE OF THIS WARRANTY.
SHOULD THE APPLE SOFTWARE PROVE DEFECTIVE, YOU (AND NOT APPLE OR AN
APPLE AUTHORIZED REPRESENTATIVE) ASSUME THE ENTIRE COST OF ALL
NECESSARY SERVICING, REPAIR OR CORRECTION.  SOME JURISDICTIONS DO NOT
ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION MAY
NOT APPLY TO YOU.  THE TERMS OF THIS DISCLAIMER DO NOT AFFECT OR
PREJUDICE THE STATUTORY RIGHTS OF A CONSUMER ACQUIRING APPLE PRODUCTS
OTHERWISE THAN IN THE COURSE OF A BUSINESS, NEITHER DO THEY LIMIT OR
EXCLUDE ANY LIABILITY FOR DEATH OR PERSONAL INJURY CAUSED BY APPLE'S
NEGLIGENCE.

5. Limitation of Liability.  UNDER NO CIRCUMSTANCES, INCLUDING
NEGLIGENCE, SHALL APPLE BE LIABLE FOR ANY INCIDENTAL, SPECIAL,
INDIRECT OR CONSEQUENTIAL DAMAGES  ARISING OUT OF OR RELATING TO THIS
LICENSE.  SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF INCIDENTAL
OR CONSEQUENTIAL DAMAGES SO THIS LIMITATION MAY NOT APPLY TO YOU.  In
no event shall Apple's total liability to you for all damages exceed
the amount of fifty dollars ($50.00).

-----------------------------------
GNU General License, excerpt:

NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.

-----------------------------------
END-USER LICENSE AGREEMENT FOR MICROSOFT WINDOWS 98, excerpt:

LIMITED WARRANTY

LIMITED WARRANTY.
Microsoft warrants that (a) the SOFTWARE PRODUCT will perform
substantially in accordance with the accompanying written materials
for a period of ninety (90) days from the date of receipt, and (b) any
Support Services provided by
...

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.
Alain Picard  
View profile  
 More options Dec 3 2001, 5:30 am
Newsgroups: comp.lang.lisp
From: Alain Picard <apic...@optushome.com.au>
Date: 03 Dec 2001 21:26:36 +1100
Local: Mon, Dec 3 2001 5:26 am
Subject: Re: Design patterns for Lisp

x...@xahlee.org (Xah Lee) writes:

> (1) Patterns and XP are wishy-washy, unscientific, unproven, and
> without any mathematical basis.

Dunno 'bout Patterns; from reading rpg's posts lately, I suspect
I actually know _nothing_ about them.  I only know about the GOF
book, and agree it's less than exciting, if you're a lisper.
[It was a Godsend to me when I was a C++ programmer, though!]

> (4) It is extremely easy and common for non-qualified people to become
> a software professional, who will gradually churn out significant
> quantity of codes.

Definitely true: that's exactly what happened to me.  Turned
"software engineer" (cough cough) from scientist overnight, with
no formal training whatsoever.  :-)

> (5) Software engineering is ten thousand times easier than physical
> engineering such as bridge, airplane, tunnel, train, ship... building.

Hum...

> For the record, the "Gang of Four" mentioned in this thread who wrote
> the _Design Patterns_ book are:

>  Erich Gamma     [Expletives snipped]
>  Richard Helm    
>  Ralph Johnson  
>  John Vlissides  

> These people will be remembered as criminals in the computing history,

Well, some of those guys have delivered real software systems, used
by thousands of people.  They're acknowledged experts in their fields.
The word "criminal" hardly springs to mind, so, in the absence of an
actual "crime", I'd say that's pretty harsh language.  :-)

> [criminals here is defined as those
> who bring damages to society, including hampering progress in a
> massive scale.]

An interesting definition, but not too many such people are in jail.
In fact, one of them is head of a largish software company.  :-)

On to the serious stuff though:

> In building bridges, there are lots of unknown factors. There's wind,
> storm, flood, earthquake all of which we cannot fully control, and can
> only predict in a limited way.
> The essence of computers can be likened to an abacus. You push the
> beads and you readout the values. There are no chance events. No storm
> or flood to worry about. The information are one hundred percent known
> to you, and you control it one hundred percent one hundred percent of
> the time.
> Which one is ten thousand times easier do you think? Is it bridge
> engineering, or software engineering?

Bridge engineering.

Bridges do not need to be made to 100% exact tolerance to fulfill
their function; normally, 99.9% will do the trick.  With software,
you need 100% tolerance; any 1 bit error is liable to bring the
world down.  Forgeting to screw in 1 rivet doesn't normally bring
a bridge down.  This is due to the continuous nature of physical
systems, versus to the discrete nature of digital systems.

--
It would be difficult to construe        Larry Wall, in  article
this as a feature.                       <1995May29.062427.3...@netlabs.com>


 
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.
Bradford W. Miller  
View profile  
 More options Dec 3 2001, 12:29 pm
Newsgroups: comp.lang.lisp
From: "Bradford W. Miller" <Bradford.W.Mil...@motorola.com>
Date: Mon, 03 Dec 2001 11:10:49 -0600
Local: Mon, Dec 3 2001 12:10 pm
Subject: Re: Design patterns for Lisp
On 12/3/01 4:26 AM, in article ¿ýRTICLE], "Alain Picard"

Bridge engineers allow a safety margin, so they build to 100+safety margin
for expected events. As the Tacoma Narrows Bridge story shows, however, the
unexpected (at that time) can still occur. You improve things.

Software programs rarely overbuild, instead preferring to underbuild until a
problem surfaces. (Worse is better, XP, etc.), so I agree with Xah on this
point. However, computers need not be a passive abacus, they can also
interact with the world as we perceive it. (To be fair, even non-situated
computers still have physical devices to deal with that are unpredictable,
like disk drives, memory that can fail, when a key press will occur, etc.,
but I'm talking now about computer based artifacts that directly sense and
influence the world around them; solving this problem will make all software
better and more reliable).

The key to better software in the future will be structured overbuilding,
with overlapping responsibilities for modules, etc. Certainly, that's the
tack I've taken with agent based systems, and the artifacts have turned out
to work surprisingly well in the face of unanticipated (by me) phenomena.
[It's a side issue that the phenomena could have been 100% anticipated: I
work with natural language and sensors on the real world. The combinations
and meaning projections are far worse than bridge engineering.]

A fundamental step is to build software to basically "deal with any input it
might get", though not necessarily to always do the best that could have
been done (by some omniscient agent). With an agent, the input is a speech
act, which is far more expressive to begin with than simply an integer or a
symbol. (To be clear, I'm not talking about functions that simply take the
wrong type of argument and generate an error, I'm talking about functions
that are told things they don't think they need to know, and figure out how
to incorporate the data into the desired solution, or decide the information
is spurious, or decide that the sender is broken and needs to be
repaired/replaced/ignored, ...). To make this happen one needs semantic
input to a module, so there is  some chance of figuring out what it actually
*means*. But it also means a different approach to writing the component in
the first place, from something that is purely functional (domains and
ranges, etc.) to something that incorporates inputs into a more holistic
understanding of a situation, and can then provide an appropriate output
contribution.

Personally, I think (intelligent) software agents are the way to solve a
number of software engineering problems... but it starts with a different
understanding of what software is (and can be).


 
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.
Nils Goesche  
View profile  
 More options Dec 3 2001, 6:00 pm
Newsgroups: comp.lang.lisp
From: Nils Goesche <car...@cartan.de>
Date: 03 Dec 2001 18:48:40 +0100
Local: Mon, Dec 3 2001 12:48 pm
Subject: Re: Design patterns for Lisp

Not so sure about that.  Engineers compute with approximations,
omitting a screw will leave the static within the precomputed fault
tolerances.  But, computing with approximations is not at all
`inexact' or `sloppy' mathematics!  The engineer better be 100% exact
in his predictions of fault tolerances and computations of
eigen-vibrations, or he might easily overlook some wind induced
eigen-vibration which will bring the whole bridge down.  Like here:

http://www.civeng.carleton.ca/Exhibits/Tacoma_Narrows/DSmith/photos.html

and

http://www.civeng.carleton.ca/Exhibits/Tacoma_Narrows/TacomaNarrowsBr...

Regards,
--
Nils Goesche
"Don't ask for whom the <CTRL-G> tolls."

PGP key ID 0x42B32FC9


 
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.
Kenny Tilton  
View profile  
 More options Dec 3 2001, 9:26 pm
Newsgroups: comp.lang.lisp
From: Kenny Tilton <ktil...@nyc.rr.com>
Date: Tue, 04 Dec 2001 02:25:31 GMT
Local: Mon, Dec 3 2001 9:25 pm
Subject: Re: Design patterns for Lisp

> x...@xahlee.org (Xah Lee) writes:

> > In building bridges, there are lots of unknown factors. There's wind,
> > storm, flood, earthquake all of which we cannot fully control, and can
> > only predict in a limited way.

Sounds like a User.

> > The information are one hundred percent known
> > to you, and you control it one hundred percent one hundred percent of
> > the time.

This is excellent news. I am going to go get that information, test
against it until the program works and then discard the source code.
Woo-hoo!

> > Which one is ten thousand times easier do you think? Is it bridge
> > engineering, or software engineering?

There's a straightforward comparison. They have so much in common! One
difference is that bridge engineers are not asked by management two
months before the ribbon cutting to add a spindle to the bridge so it
can be pointed into the wind to make take-offs easier, marketing sees an
opportunity...

kenny
clinisys


 
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.
Alain Picard  
View profile  
 More options Dec 4 2001, 3:15 am
Newsgroups: comp.lang.lisp
From: Alain Picard <apic...@optushome.com.au>
Date: 04 Dec 2001 19:10:48 +1100
Local: Tues, Dec 4 2001 3:10 am
Subject: Re: Design patterns for Lisp
"Bradford W. Miller" <Bradford.W.Mil...@motorola.com> writes:

> The key to better software in the future will be structured overbuilding,
> with overlapping responsibilities for modules, etc.

This is a really interesting notion.  I'm not sure that I totally
understood from your natural language example exactly what that would
mean: would it be possible to give an example how I might apply
this principles to my own programs?

--
It would be difficult to construe        Larry Wall, in  article
this as a feature.                       <1995May29.062427.3...@netlabs.com>


 
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.
Wade Humeniuk  
View profile  
 More options Dec 4 2001, 10:32 am
Newsgroups: comp.lang.lisp
From: "Wade Humeniuk" <humen...@cadvision.com>
Date: Tue, 4 Dec 2001 08:32:53 -0700
Local: Tues, Dec 4 2001 10:32 am
Subject: Re: Design patterns for Lisp

> The key to better software in the future will be structured overbuilding,
> with overlapping responsibilities for modules, etc. Certainly, that's the
> tack I've taken with agent based systems, and the artifacts have turned
out
> to work surprisingly well in the face of unanticipated (by me) phenomena.
> [It's a side issue that the phenomena could have been 100% anticipated: I
> work with natural language and sensors on the real world. The combinations
> and meaning projections are far worse than bridge engineering.]

But having overbuilt modules results in more code being generated and with
that more possible errors.  This has an analogy in structural engineering.
If you build something too large the possbility of a fault in material
increases and thus the greater the possibility of a fatigue failure.  Its a
trade-off between having a safety factor and greater unpredictability.

Simply put, more code, more errors.

I think what you are finding is that you are thinking more completely about
what inputs a module can get and are thus being more careful about your
coding.  A lot of software is written without being thoughtful of all the
possible inputs and how to handle the extrodinary situations.  Incomplete
thinking translated into incomplete code.

I think more effort should be put into knowing the problem more completely.

Wade


 
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 Dec 4 2001, 11:07 am
Newsgroups: comp.lang.lisp
From: Kent M Pitman <pit...@world.std.com>
Date: Tue, 4 Dec 2001 16:06:46 GMT
Local: Tues, Dec 4 2001 11:06 am
Subject: Re: Design patterns for Lisp

"Wade Humeniuk" <humen...@cadvision.com> writes:
> > The key to better software in the future will be structured overbuilding,
> > with overlapping responsibilities for modules, etc. Certainly, that's the
> > tack I've taken with agent based systems, and the artifacts have turned
> out
> > to work surprisingly well in the face of unanticipated (by me) phenomena.
> > [It's a side issue that the phenomena could have been 100% anticipated: I
> > work with natural language and sensors on the real world. The combinations
> > and meaning projections are far worse than bridge engineering.]

> But having overbuilt modules results in more code being generated
> and with that more possible errors. ... I think more effort should
> be put into knowing the problem more completely.

Seems to me this might not be incompatible.  Yes, sometimes one just
reinforces the same thing.  Two bungee cords is probably better than
one because the fault is not likely to be in the design but the
execution (pardon the grim pun), so having two executions of a bungee
cord would seem good to reduce the risk due to failure, since having
the two doesn't interfere with operation.  Certainly having a RAID disk
assembly doubles the chance of a fault, but it also reduces the risk
that the faults will align, and so overall the system functions better.
A window washer uses a lifeline as a backup in case his railing or base
fails, and yes, maybe that adds more points of failure, but all in all,
it's still better.

I'm not sure what's meant by overbuilt, but if you assign two different
people to do something in two algorithmically divergent ways, or even if
you give them no guidance but you insist they not communicate (better if
they never even knew one another), then a machine that did both of those
tasks in parallel, even at the possible addition of a constant factor
multiplier in the O() notation [which is a no-op, since it reduces out],
is going to be more reliable.   It means dividing the task so that the
operation is either gratuitously repeatable or side-effect free or any
of several other modalities I can think of that don't have names, unless
you have a separate store, as the RAID example does, but even so, it seems
good.

Also, related to this, but not quite the same, I used to follow
computer chess, ages ago, and apologize for not using a more recent
example, since I'm sure there must be one, but Greenblatt had this
chess program for the pdp10 that was really two processors: one did
smart stuff, the other did "blunder control" of brute force multi-ply
lookahead just in case it could rule out stuff the smart part was
considering.  I'd say the blunder control wasn't really a "solver",
just an extra safeguard that statistically improved the reliability of
the overall system.  I'd say the Lisp Machine's hardware typechecking
did the same thing, though RISC architectures have killed this whole
genetic line: hardware type checking didn't take longe than
non-type-checking because the type-check was started in parallel with
doing the add [for example].  By the time the add was done and had a
purported value, different hardware had checked whether the quantity
being added in parallel was wrong, and if so, it kicked the other
processor and said "Hold on, you're getting ahead of yourself".  I
would call this overbuilt, and I would not a priori think it was
introducing extra risk, though I suppose you could disagree.  No
tradeoff comes for free.  I suppose the industry decided there was a
cost to wide instruction architectures, but not whether there was a
cost, but whether the cost was a cost in "risk", and whether, if so,
that risk was of the same kind.  (I'd bet that sometimes all one can
do is shuffle risk around, like a bubble in a carpet, and so it matters
as much where the risk is as how much it is...)

And when you get all done with it, I think the thing that continues to
separate people from computers is not raw compute power or inability
to simulate architectural components, but the willingness to
accomodate "redundancy" and "chance" as key architectural components
of a working system.  The whole left-brain/right-brain issue that
people raise is almost surely just the right half of the brain doing
spontaneous generation of test cases through random (or uncorrelated)
means while the left half is proceeding in the kind of orderly fashion
that we expect of computers.  Sort of like the Greenblatt program, the
right brain can cut off bad ways of going because it's not making an
attempt to be linear or orderly or complete--it's just doing things in
monte carlo style or perhaps following some set of
statistical/associative connections it's made that are unique to the
individual's experience, but in addition to cutting off avenues, it may
chance on solutions or patterns that inspire or direct, or it may suggest
metaplanning activities that it thinks would structure stuff better,
because it's acting redundantly and not constrained to account for its time
as part of the basic problem solving activity.

It baffles me why so much of parallel processing work is spent on making
parallel processors into parallel versions of sequential processors and so
little is spent thinking about how to leverage these issues of redundancy,
chance, meta programming, auditing, and so on.  Human organizations build
such structures.  But computers largely don't.  At least not the ones I
hear much about.  Maybe I'm just looking in the wrong places.


 
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.
cbbrowne  
View profile  
 More options Dec 4 2001, 11:57 am
Newsgroups: comp.lang.lisp
From: cbbro...@acm.org
Date: Tue, 04 Dec 2001 16:56:24 GMT
Local: Tues, Dec 4 2001 11:56 am
Subject: Re: Design patterns for Lisp
Kent M Pitman <pit...@world.std.com> writes:

[A buddy of mine often said that if they'd done bungee hangings in the
Old West, people would have paid to see it :-).  He was also
responsible for other massive bits of political incorrectness...]

> Certainly having a RAID disk assembly doubles the chance of a fault,
> but it also reduces the risk that the faults will align, and so
> overall the system functions better.  

It _may_ be better.  But an array filled with disks of the same model
from the same batch with the same crucial manufacturing defect may
suffer _horribly_...  And if the RAID controller or the power supply
goes bad, the whole system is toast.  _Hopefully_ the system functions
better.  Only if a good job goes into planning the careful use of
RAID, though...

Note that in yesteryear, transatlantic aircraft once were required to
have 4 engines, due to the significant likelihood of one or more
failing in flight.  (Not good if you're 800 miles from land!)

As the reliability, sophistication, and power of jet turbine engines
has improved, the requirement has changed.

In much the same way, mainframes used to be pretty fragile, but are
now the sorts of computers that are used when you can Never Have
Downtime.  Some of that comes with "parallelism," but some comes from
a touch of "over-engineering" on some single components that are
designed not to be fragile the way PCs are.

> I'm not sure what's meant by overbuilt, but if you assign two
> different people to do something in two algorithmically divergent
> ways, or even if you give them no guidance but you insist they not
> communicate (better if they never even knew one another), then a
> machine that did both of those tasks in parallel, even at the
> possible addition of a constant factor multiplier in the O()
> notation [which is a no-op, since it reduces out], is going to be
> more reliable.  It means dividing the task so that the operation is
> either gratuitously repeatable or side-effect free or any of several
> other modalities I can think of that don't have names, unless you
> have a separate store, as the RAID example does, but even so, it
> seems good.

On a RAID array, you'd probably want to have multiple varieties of
disk drives in use to diminish the risk of systematic manufacturing
defects.

On the other hand, it would be pretty insane to have the left engine
on a jet come from Rolls Royce and have the right engine come from GE,
as construction and maintenance would both become a nightmare :-).

> Also, related to this, but not quite the same, I used to follow
> computer chess, ages ago, and apologize for not using a more recent
> example, since I'm sure there must be one, but Greenblatt had this
> chess program for the pdp10 that was really two processors: one did
> smart stuff, the other did "blunder control" of brute force
> multi-ply lookahead just in case it could rule out stuff the smart
> part was considering.  I'd say the blunder control wasn't really a
> "solver", just an extra safeguard that statistically improved the
> reliability of the overall system.

This is seen a fair bit in algorithm work:

-> Fast sorting often involves QuickSort for big lists, but reverting
   to linear insertion for the little sublists.

-> Root finding using Newton's Method can be unstable if it is used by
   itself; it tends to be better to blend it with other search
   schemes, so that when Newton goes off it's nutter due to some sort
   of discontinuity or other such thing, there's _something_ out there
   that can notice "This seems to be going badly; let's try a
   different point."

> It baffles me why so much of parallel processing work is spent on
> making parallel processors into parallel versions of sequential
> processors and so little is spent thinking about how to leverage
> these issues of redundancy, chance, meta programming, auditing, and
> so on.  Human organizations build such structures.  But computers
> largely don't.  At least not the ones I hear much about.  Maybe I'm
> just looking in the wrong places.

a) Most academic algorithm work surrounds all the algorithms that are
   readily analyzed.  Heuristics don't fit well into that.

b) People don't understand heuristics.

   "Heuristics (from the French heure, "hour") limit the amount of
   time spent executing something.  [When using heuristics] it
   shouldn't take longer than an hour to do something."

c) They've spent the money building a system bus that can cope with
   multiple CPUs.  That was expensive.

   And now you propose doing redundant work, thus flushing the money
   down the toilet?  How gauche!

I _don't_ think you're looking in the wrong places, with a bit of
fingers-crossed about the mainframe world, where they _do_ consider
redundancy and auditing [from that list] to be pretty important.

The folks researching parallel work are mostly trying to just plain
speed things up, and anything put into "redundancy" certainly messes
up progress towards that goal.
--
(concatenate 'string "aa454" "@freenet.carleton.ca")
http://www.ntlug.org/~cbbrowne/emacs.html
lp1 on fire (One of the more obfuscated kernel messages)


 
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.
Andreas Bogk  
View profile  
 More options Dec 4 2001, 12:20 pm
Newsgroups: comp.lang.lisp
From: Andreas Bogk <andr...@andreas.org>
Date: 04 Dec 2001 18:18:48 +0100
Local: Tues, Dec 4 2001 12:18 pm
Subject: Re: Design patterns for Lisp
Kent M Pitman <pit...@world.std.com> writes:

> the overall system.  I'd say the Lisp Machine's hardware typechecking
> did the same thing, though RISC architectures have killed this whole
> genetic line: hardware type checking didn't take longe than
> non-type-checking because the type-check was started in parallel with
> doing the add [for example].  By the time the add was done and had a
> purported value, different hardware had checked whether the quantity
> being added in parallel was wrong, and if so, it kicked the other
> processor and said "Hold on, you're getting ahead of yourself".  I

This is not so different from the situation on a modern RISC
architecture.  Speculative execution combined with branch prediction
makes it possible to execute type and bounds checks in parallel with
the operation.  Of course, this relies on the compiler to properly
generate type checks, but it introduces a chance for the compiler to
optimize away the type check and use the hardware for other purposes.

We have some highly unscientific numbers for the bounds checking case
in the Dylan compiler at:

  http://berlin.ccc.de/cgi-bin/cvsweb/gd/examples/sieve-mark/BENCHMARK....

This of course slightly misses the point you were making about
designing reliable systems, but at least it shows that performance is
no excuse to risk system reliability by not doing bounds checks.
Every posting to Bugtraq about Yet Another Buffer Overflow makes me
think: "Why are those people still using C to write mission-critical
software?".

Andreas

--
"In my eyes it is never a crime to steal knowledge. It is a good
theft. The pirate of knowledge is a good pirate."
                                                       (Michel Serres)


 
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 Dec 4 2001, 7:29 pm
Newsgroups: comp.lang.lisp
From: Kent M Pitman <pit...@world.std.com>
Date: Wed, 5 Dec 2001 00:29:23 GMT
Local: Tues, Dec 4 2001 7:29 pm
Subject: Re: Design patterns for Lisp

cbbro...@acm.org writes:
> The folks researching parallel work are mostly trying to just plain
> speed things up, and anything put into "redundancy" certainly messes
> up progress towards that goal.

My only problem with this is that things are ALREADY sped up.  What's the
point of running a zillion times faster than the machines of yesteryear,
yet still not be willing to sacrifice a dime of it to anything other than
doing the same kinds of boring computations that you did before?  I want
speedups not just to make my same old boring life faster, but to buy me
the flexibility to do something I wasn't willing to do at slower speeds.

 
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.
cbbrowne  
View profile  
 More options Dec 4 2001, 7:51 pm
Newsgroups: comp.lang.lisp
From: cbbro...@acm.org
Date: Wed, 05 Dec 2001 00:45:30 GMT
Local: Tues, Dec 4 2001 7:45 pm
Subject: Re: Design patterns for Lisp
Kent M Pitman <pit...@world.std.com> writes:

> cbbro...@acm.org writes:
> > The folks researching parallel work are mostly trying to just
> > plain speed things up, and anything put into "redundancy"
> > certainly messes up progress towards that goal.
> My only problem with this is that things are ALREADY sped up.
> What's the point of running a zillion times faster than the machines
> of yesteryear, yet still not be willing to sacrifice a dime of it to
> anything other than doing the same kinds of boring computations that
> you did before?  I want speedups not just to make my same old boring
> life faster, but to buy me the flexibility to do something I wasn't
> willing to do at slower speeds.

I wouldn't disagree at all with that; the thing is, if you're trying
to get an NSF or DOD grant for doing parallel processing research,
your project won't sound terribly "sexy" if you say: "Well, we're not
planning to actually _improve_ performance; we're just going to ****
it away on something."

I'm not saying that's the way things _should_ be...
--
(concatenate 'string "chris" "@cbbrowne.com")
http://www.cbbrowne.com/info/rdbms.html
Share and Enjoy!!


 
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.
Robert Monfera  
View profile  
 More options Dec 4 2001, 8:41 pm
Newsgroups: comp.lang.lisp
From: Robert Monfera <monf...@fisec.com>
Date: Wed, 05 Dec 2001 01:41:20 GMT
Local: Tues, Dec 4 2001 8:41 pm
Subject: Re: Design patterns for Lisp

cbbro...@acm.org wrote:
>    "Heuristics (from the French heure, "hour") limit the amount of
>    time spent executing something.  [When using heuristics] it
>    shouldn't take longer than an hour to do something."

I think heuristics comes from the ancient Greek "heureka", "I found
it!", shouted, for better results, wet and naked running across a public
street.

Robert


 
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 Dec 4 2001, 8:47 pm
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Wed, 05 Dec 2001 01:46:15 GMT
Local: Tues, Dec 4 2001 8:46 pm
Subject: Re: Design patterns for Lisp
* Kent M Pitman <pit...@world.std.com>
| My only problem with this is that things are ALREADY sped up.  What's the
| point of running a zillion times faster than the machines of yesteryear,
| yet still not be willing to sacrifice a dime of it to anything other than
| doing the same kinds of boring computations that you did before?  I want
| speedups not just to make my same old boring life faster, but to buy me
| the flexibility to do something I wasn't willing to do at slower speeds.

  Well, you could do what the other "innovative" guys out there do: Create
  another amazingly idiotic virus for some idiotic Microsoft product used
  by millions if not billions of people who would rather die than think
  about what they are doing, and, to misquote Bertrand Russel, in fact they
  do.  That would certainly satisfy "to do something I wasn't willing to do
  at slower speeds", but the speed was probably not the reason.   :)

  Seriously, software secure from Microsoftitis (the leprosy of software)
  would be something that computers could help us attain.  However, it
  would take an act of Congress to finally turn around and notice that if a
  bank that was repeatedly robbed of all its money because it had the level
  of security for which Microsoft's products are famous, had tried to blame
  "crackers" and had taken _no_ precautions for twenty years to prevent
  these incidents from happening, the government would have shut them down
  and incarcerated the (ir)responsible owners and (mis)managers.

  The fact that the U.S. Government does not stop Microsoft from making and
  distributing software that aids and abets electronic terrorists means
  that they are harboring terrorists, according to the standards set by
  Presiding Dimwit George W. Bush (who has reverted to pre-9/11 blabbering
  with the highest pause-to-speak ratio of all present public figures).
  The only solution is to bomb the shit out of Microsoft's headquarters and
  their offices around the world, and to wage war on electronic terrorist
  trainer and leader William H. Gates III.  If the world has finally had
  enough of terrorism, what will it take to make people tire of the crap
  that Microsoft produces and demand the end of their terrorist reign?

///
--
  The past is not more important than the future, despite what your culture
  has taught you.  Your future observations, conclusions, and beliefs are
  more important to you than those in your past ever will be.  The world is
  changing so fast the balance between the past and the future has shifted.


 
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.
Robert Monfera  
View profile  
 More options Dec 4 2001, 8:50 pm
Newsgroups: comp.lang.lisp
From: Robert Monfera <monf...@fisec.com>
Date: Wed, 05 Dec 2001 01:50:16 GMT
Local: Tues, Dec 4 2001 8:50 pm
Subject: Re: Design patterns for Lisp
Oops, I just found the surrounding "" marks.  Who did you quote?  I'd
like to read more explanations like this.


 
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 51 - 75 of 80 < Older  Newer >
« Back to Discussions « Newer topic     Older topic »