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
Emacs and CL (was Re: More LispOS talk (was Re: Lisp subverts the world (was Re: ints vs fixnums (was Re: Java ... (was Re: ... (was Re: ...))))))
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 276 - 300 of 419 - 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
 
Tim Bradshaw  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Tim Bradshaw <t...@tfeb.org>
Date: 1999/03/03
Subject: Re: Emacs and CL (was Re: More LispOS talk (was Re: Lisp subverts the world (was Re: ints vs fixnums (was Re: Java ... (was Re: ... (was Re: ...))))))

Erik Naggum <e...@naggum.no> writes:
>   the U in GUILE is for Ubiquitous.  there's going to be _many_ copies of
>   the GUILE heap on a system, one in each process, just like the C library.
>   in contrast, you're unlikely to exhibit the same behavior with a Common
>   Lisp system, which users load stuff into instead of running a new process
>   with its own heap all the time.

That doesn't have to be that bad.  Obviously it depends on the
application, but shared heaps are fairly doable.  Either using the
Emacs technique (purecopy + unexec) or just relying on
copy-on-first-write VM, which I think most Unices can do now.  Whether
they'll do that is another matter of course.

Of course it's not the same as a single address space system, but it
has its advantages as well.  I'm much happier reading my mail in a
completely different address space than my other Emacses live in for
instance, so nothing I do in them can clobber mail.  A shared-space
system relies much more on really high-quality software, and even then
you can end up dying horribly, and just having to reboot.

--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.
Discussion subject changed to "Barriers to Lisp acceptance - a "survey" question" by Erik Naggum
Erik Naggum  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.no>
Date: 1999/03/03
Subject: Re: Barriers to Lisp acceptance - a "survey" question
* Marco Antoniotti <marc...@copernico.parades.rm.cnr.it>
| At this point in time, I believe that the vendors have some pieces of
| software well developed, which they actually charge premiums for
| distribution.  This is a repackaging cost.

  I wish these anti-vendor arguments could be a little more rational.  of
  course they have some pieces of software well developed, like the entire
  Common Lisp system, the compiler, basically _everything_, right?  the
  _purpose_ of charging for stuff that has paid for its development is to
  make it possible to respond to changes, continue to support customer
  needs, develop _new_ things, and/or to ensure financial independence for
  the founders or whatever.  you don't appear to like this very much, but
  as soon as you come out saying that you don't believe in profits or in
  making money or in financial security or independence, business people
  _should_ turn deaf to your concerns and your suggested "solutions".

  prices are set in the market based on what people want to give for what
  they get, and if this has worked well, it's really hard to argue against
  the success.  believe it or not, what you see today actually _works_, all
  the misgivings to the contrary notwithstanding.  people make money and
  make good money doing what they are doing.  you'll have to entice them
  with _more_ money now or even higher future earnings at reasonably low
  risk if you want to change their behavior.

| I do not buy the argument that there are still development costs to
| include CORBA support (or MK:DEFSYSTEM) in the standard distributions
| (...) of Lispworks and MCL and ACL.

  it doesn't really matter that _you_ don't buy it.  while it may change
  marketing impressions and cause loss of goodwill if you ignore somebody
  else's reality and try to force losses on them through the moral
  equivalent of strikes and boycotts, the rational way to deal with this is
  to convince whoever footed the development bill of your views, and then
  you show them enough respect to listen when they answer your claims.

  I'm in the business of selling software and my services to other people.
  I have done so for 15 years.  in these years, I have donated thousands of
  hours of work to various causes that I believed in, some as a form of
  marketing, some as more important than personal gain, i.e., I wanted to
  create a better environment to work in rather than first reap the
  profits.  over these years, what I have seen as the most astonishingly
  lacking in the demands and claims towards whoever should give people
  something is respect for their motivation.  I can only surmise that the
  reason is that people don't ever stop to consider why _they_ are doing
  what they are doing, either.  (and maybe that's good for them. :)

| Not doing so is short-sighted, as KMP has correctly pointed out with
| very good arguments.

  but who is he trying to convince?  it doesn't matter that you agree with
  him, as long as _you_ are not the person making the decision to repackage
  or provide something for free.  unlike what politicians believe, public
  sentiment doesn't actually and by itself change reality, it only changes
  how people will need to adapt to and change their experienced reality.
  if you deny them the right to affect their own reality, you engage in use
  of force, and you will therefore have to be treated as a hostile partner
  at best.  a lot of people find such tactics to be uninspiring, to put it
  mildly.  history is rife with people who stop doing whatever they were
  doing when somebody tried to force them to do stupid things, but usually,
  this happens to small businesses that just close shop when politicians
  try to force them into doing something that doesn't make sense to them.

  it actually doesn't help people change their ways into something more
  constructive to tell them that what they are doing is short-sighted or
  stupid.  the best you can achieve with that tactic is that they stop
  doing whatever they are doing and go away to regroup or do something
  else.  if you have a specific new behavior in mind, you have to motivate
  it inside the core premises of their existing behavior.  punishment does
  not work constructively, has never worked constructively, and will never
  work constructively.  you punish to destroy, and the only hope is that
  people have something else to do that is more constructive, but if you
  punish, that's none of your business.

| Note also that at this point, giving away these freebies is *not* (or it
| shouldn't be) a marketing gimmick.  It is the only way to expand your
| user base.  Assuming that that is what you want to do.

  this is what marketing is all about.  you seriously underestimate
  marketing if you think about their decisions and tools as "gimmicks".

  I suggest you guys make a solid business case for what you believe in,
  complete with market research and solid statistical groundwork, and I can
  promise you that you will be surprised by the reaction.  if you don't,
  you're basically asking people to take your word for it and risk money on
  sentiments that are openly hostile to making money the way they do now.

  note that I'm not saying that I disagree with any of your issues, but I'm
  _not_ whining about it on a newsgroup with a user-only "I need, so gimme"
  focus when I want a vendor to change his ways.  I also think your anti-
  business whining could make my own efforts fail or make them harder, and
  since I get everything I want, anyway, the question "why should I help
  whiners who make things harder for me?" may soon require an answer.

#:Erik


 
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 "Emacs and CL (was Re: More LispOS talk (was Re: Lisp subverts the world (was Re: ints vs fixnums (was Re: Java ... (was Re: ... (was Re: ...))))))" by Erik Naggum
Erik Naggum  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.no>
Date: 1999/03/03
Subject: Re: Emacs and CL (was Re: More LispOS talk (was Re: Lisp subverts the world (was Re: ints vs fixnums (was Re: Java ... (was Re: ... (was Re: ...))))))
* Tim Bradshaw <t...@tfeb.org>
| That doesn't have to be that bad.  Obviously it depends on the
| application, but shared heaps are fairly doable.  Either using the Emacs
| technique (purecopy + unexec) or just relying on copy-on-first-write VM,
| which I think most Unices can do now.  Whether they'll do that is another
| matter of course.

  first: that isn't how GUILE is intended to be used.  second: I'm talking
  about actual memory consumed by the process for its _own_ data.  data or
  code that cannot be shared.  state information, whatever you want to call
  it.  I haven't see anyone refer to this as anything other than "heap",
  and I find it odd that you think such a heap should be sharable.

#:Erik


 
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 Bradshaw  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Tim Bradshaw <t...@tfeb.org>
Date: 1999/03/03
Subject: Re: Emacs and CL (was Re: More LispOS talk (was Re: Lisp subverts the world (was Re: ints vs fixnums (was Re: Java ... (was Re: ... (was Re: ...))))))

Erik Naggum <e...@naggum.no> writes:
>   first: that isn't how GUILE is intended to be used.  second: I'm talking
>   about actual memory consumed by the process for its _own_ data.  data or
>   code that cannot be shared.  state information, whatever you want to call
>   it.  I haven't see anyone refer to this as anything other than "heap",
>   and I find it odd that you think such a heap should be sharable.

I think I was not clear enough.  What I meant was that it's possible
to share some static parts of the heap, either by lazy copying (the
good way) or by the emacs trick.  per-process data is obviously not
sharable.  However, at least in theory that per-process data should
not be significantly more than the per-`application' data in a shared
address-space system.  Of course, in pratice it usually seems to be,
for both good (finite page size means you end up copying a whole page
if you only touch one thing on it) and bad (general bloat I guess,
also no one ever actually seems to do the copy-on-write thing in
practice) reasons.

As to how Guile is meant to be used, I don't know about that.  I was
just trying to argue that the Unix model doesn't have to be death in
theory even though it may be in practice.

--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.
Erik Naggum  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.no>
Date: 1999/03/03
Subject: Re: Emacs and CL (was Re: More LispOS talk (was Re: Lisp subverts the world (was Re: ints vs fixnums (was Re: Java ... (was Re: ... (was Re: ...))))))
* Tim Bradshaw <t...@tfeb.org>
| What I meant was that it's possible to share some static parts of the
| heap, either by lazy copying (the good way) or by the emacs trick.
| per-process data is obviously not sharable.

  then this needs to be _added_ to GUILE.

| However, at least in theory that per-process data should not be
| significantly more than the per-`application' data in a shared
| address-space system.

  this theory does not apply to GUILE.  GUILE consumes a _lot_ of memory.

| As to how Guile is meant to be used, I don't know about that.  I was just
| trying to argue that the Unix model doesn't have to be death in theory
| even though it may be in practice.

  I think it's death in theory, but doesn't have to be in practice, the
  same way whole populations don't die out under dictatorships or under
  oppressive taxation -- i.e., the population survives because people do
  the _wrong_ thing according to its planners and designers.

  it has been said that Microsoft's "operating systems" are nothing but a
  boot loader with a GUI.  the process model in Unix is likewise geared
  towards a mode of operation that may cause it to be trivialized the same
  way, in not too distant a future, if it has not already happened.

  think about it, the programming environment model in Unix is an imitation
  of the Lisp machine, and the way it is implemented is through processes
  and inter-process communication instead of function calls.  functions in
  the Lisp heap are programs on disk in the Unix model.  the optimizations
  that made Unix able to survive this incredible inefficiency are bad for
  Lisp, which would have done it a lot better had it been in control, but
  GUILE doesn't do it any better.  GUILE combines the worst of both worlds,
  in an attempt to bring the best of one world to a world where it doesn't
  really belong.  on top of this, it's Scheme, and it's expensive to run,
  there's so much wrong with it that nobody can use it without fixing some
  part of it.  so, it's going to be a winner, but a real Lisp world would
  be so much better.  however, a real Lisp world cannot win as long as
  GUILE is the image people have of a Lisp environment, just like Lisp has
  suffered tremendously from the Scheme people's insistence that Scheme as
  taught to college students is what they should expect from Lisp.

  I'm not sure what needs to be done about this dismal situation, however.

#:Erik


 
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.
Christopher R. Barry  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: cba...@2xtreme.net (Christopher R. Barry)
Date: 1999/03/03
Subject: Re: Emacs and CL (was Re: More LispOS talk (was Re: Lisp subverts the world (was Re: ints vs fixnums (was Re: Java ... (was Re: ... (was Re: ...))))))

Barry Margolin <bar...@bbnplanet.com> writes:
> In general, the GNU project decided a couple of years ago that they wanted
> to make Scheme the basis of their extension languages across the board, and
> they developed the GUILE implementation to support this effort.  Using it
> for Emacs would be consistent with this plan.

Anyone remember the GNU manifesto?
<http://www.gnu.org/gnu/manifesto.html>

Stallman mentions:

"GNU will be able to run Unix programs, but will not be identical to
Unix ... [GNU will have] perhaps eventually a Lisp-based window system
through which several Lisp programs and ordinary Unix programs can
share a screen. Both C and Lisp will be available as system
programming languages."

IIRC, he wrote that in 1984.

Christopher


 
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 "Barriers to Lisp acceptance - a "survey" question" by David B. Lamkins
David B. Lamkins  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: "David B. Lamkins" <dlamk...@teleport.com>
Date: 1999/03/03
Subject: Re: Barriers to Lisp acceptance - a "survey" question
In article <u71zj626l2....@ebi.ac.uk> , Philip Lijnzaad <lijnz...@ebi.ac.uk>
wrote:

> On Tue, 02 Mar 1999 09:17:13 -0800,
> "David" == David B Lamkins <dlamk...@teleport.com> writes:

> David> CORBA and FFI address two different problems.  CORBA will not replace
> David> FFI capability.  What are you going to do when you want to call an
> David> entry point in a library?  Wrap the library so you can make a CORBA
> David> call?

> yes, that would be the idea.

> David> The last time I looked (about a year and a half ago) a CORBA
> David> method invocation cost a _lot_ more than a simple function call.

> yes, that's still the case. For many purposes, this would be good enough.

Ahh, the joys of selective quoting...

In article <u7k8x0nfxa....@ebi.ac.uk> you wrote:
> If there is a CORBA language mapping, a foreign function interface
> essentially becomes unnecessary. In fact, CORBA *is* the ultimate foreign
> function interface.

The last time I used a commercial-quality CORBA implementation (about a year
and a half ago), the latency it introduced was in the range of 10 to 15
milliseconds.  Do you believe that this is an acceptable amount of overhead
for calling a function outside of Lisp?  Remember, you said that with CORBA,
an FFI "becomes unnecessary."  Should I take this to mean that, having
CORBA, I should have no need of an FFI?  Or did you have something else in
mind when you wrote that?

They solve different problems, and are both useful in their own domains.
CORBA can not completely subsume socket-like interfaces, which will remain
useful as the layer upon which people build traditional protocols (HTTP,
DNS, FTP, TELNET, DHCP, ...).

--
David B. Lamkins <http://www.teleport.com/~dlamkins/>

Wintel is the Yugo of the computer world: cheap to buy, costly to keep.


 
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 "Emacs and CL (was Re: More LispOS talk (was Re: Lisp subverts the world (was Re: ints vs fixnums (was Re: Java ... (was Re: ... (was Re: ...))))))" by Erik Naggum
Erik Naggum  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.no>
Date: 1999/03/03
Subject: Re: Emacs and CL (was Re: More LispOS talk (was Re: Lisp subverts the world (was Re: ints vs fixnums (was Re: Java ... (was Re: ... (was Re: ...))))))
* cba...@2xtreme.net (Christopher R. Barry)
| IIRC, he wrote that in 1984.

  at the time, incidentally, Common Lisp was his favorite Lisp.  GNU CL
  (based on Kyoto Common Lisp, which I played with back in 1987) has turned
  out to be a serious flop, so maybe he thinks Scheme will fare better in
  the new language GUILE.  I don't think it will.  it has even less overall
  design than usual for overgrown Scheme implementations, and people add
  stuff to in the Unix and C spirit (each man his own conventions).

#:Erik


 
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 "Barriers to Lisp acceptance - a "survey" question" by David Gadbois
David Gadbois  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: David Gadbois <gadb...@lagavulin.cyc.com>
Date: 1999/03/03
Subject: Re: Barriers to Lisp acceptance - a "survey" question
"David B. Lamkins" <dlamk...@teleport.com> writes:

Recent (1999-03-03 11:20:00) CST updates:

o The code compiles out of the box into the CL-USER package.

o There is a CMU CL port.

o There is an explicit notice that it is in the public domain.

--David Gadbois


 
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 Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Kent M Pitman <pit...@world.std.com>
Date: 1999/03/03
Subject: Re: Barriers to Lisp acceptance - a "survey" question

Right, but in most modern Lisp implementations there is an FFI and there
is "Gray Streams" (david gray's protocol for writing user-defined streams
that do all the things you expect with streams).  And that's enough to
for users to write what you want.

> I only realised this when I was talking to someone the other day and
> rashly said that sockets are obviously not hard in CL, when what I
> meant was they're not hard to do in a portable way if you already have
> some support for them...

Yeah, the underlying support isn't portable.  But it is mostly
universally available, I think, just in slightly different form in each
implementation.

 
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.
Kelly Murray  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Kelly Murray <k...@IntelliMarket.Com>
Date: 1999/03/03
Subject: Re: Barriers to Lisp acceptance - a "survey" question

Tim Bradshaw wrote:

> I only realised this when I was talking to someone the other day and
> rashly said that sockets are obviously not hard in CL, when what I
> meant was they're not hard to do in a portable way if you already have
> some support for them...

> Of course a CLOSified stream system would make this much easier (:-).

Yeah, that's the real underlying problem, that CommonLisp is not
really an object-oriented language, but has CLOS tacked on the side...
And just to add fuel to the fire, notice that ACL uses low-level
hacks that don't really use CLOS for their streams because
CLOS was too slow...

Without stream objects and methods,
 sockets are just another hacked C interface,
which has been implemented upteen times by upteen people in upteen
ways.  I have my own too for the web server,
which doesn't even use a Stream API to avoid the overhead.

-kelly


 
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 "sharing heaps (was Re: Emacs and CL (was Re:...))" by Eric Marsden
Eric Marsden  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Eric Marsden <emars...@mail.dotcom.fr>
Date: 1999/03/03
Subject: Re: sharing heaps (was Re: Emacs and CL (was Re:...))

>>>>> "tb" == Tim Bradshaw <t...@tfeb.org> writes:

  tb> What I meant was that it's possible to share some static parts
  tb> of the heap, either by lazy copying (the good way) or by the
  tb> emacs trick.

What implementations are able to do this? I assume that this implies
storing a part of the heap in text pages of the executable, which
seems incompatible with the was most Lisp systems are implemented (a
stub program loading an image file into memory). Scheme 48 has a
static heap linker to address this problem.

I would appreciate any pointers to documentation on this subject.

--
Nail [X] here for new monitor.


 
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 "Barriers to Lisp acceptance - a "survey" question" by Kelly Murray
Kelly Murray  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Kelly Murray <k...@IntelliMarket.Com>
Date: 1999/03/03
Subject: Re: Barriers to Lisp acceptance - a "survey" question
Actually, a technical correction, Allegro CLIP did not use FUTURES,
they just claimed they did, but they didn't know what a FUTURE was,
just that people seemed to want it so they said they had it.
In fact, when I went to see the Franz CLIP demo, I pointed out
the reason they could only get a 2-times speedup in their example
was precisely becuase they didn't have futures.  Oh well,
maybe that had something to do with nobody buying it,
or perhaps that it only ran on a big-dollar Sequent, or it
was incompatible with the "normal" lisp?

As a related business model comment, only doing what your customers
pay you to do is a good way to stay in business doing what your
customers will pay you to do.  That's a different business than
selling software.

In particular, as with Allegro CLIP, Franz did what Sequent paid
them to do, deliver a multiprocessor lisp.  No matter if it was
actually useful to anyone or attracted more customers,
it was still a good short-term business deal that made a profit.

Finally, I don't mean to beat up on my friend Duane.
(actually I don't mean to beat up on anyone, but Duane in particular)
Duane is the reason we have ACL under Linux --
all my arguments had little effect on Franz managment,
it was Duane who "just did it" on his own time..  
Like I imagine he will do for multiprocessing.
Thanks Duane!


 
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.
Kristoffer Kvello  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: kristoffer.kve...@mindless.com (Kristoffer Kvello)
Date: 1999/03/03
Subject: Re: Barriers to Lisp acceptance - a "survey" question
On Tue, 23 Feb 1999 14:03:07 GMT, Kent M Pitman <pit...@world.std.com>
wrote:

>Anyway, I'm interested in doing a reality check on my present perceptions of
>how Lisp is presently hampered in acceptance.

>What barriers have people recently seen first-hand to Lisp's acceptance in
>their own working experience at their present or some recent organization?

I tried to get people at my former employer interested when we bought
a copy of LWW, since the company was originally a lisp based one (they
switched to Smalltalk when the lisp machines disappeared and now do
C++ and Java in addition to ST), and many of the old-timers are still
there.  But from what I could tell, most were quite indifferent, if
polite.

I don't have much experience with non-lisp languages (I programmed in
Turbo Pascal for one year when I was a student and a little in Visual
Basic) and I am simply not able to explain to anyone why lisp is
significantly better than say Java or Smalltalk.  From what I read on
this newsgroup, it seems clear that lisp is enough better to be worth
examining for a serious programming shop (but if Smalltalk had
multiple inheritance, what would the difference between the power of
the two languages be?).  However, the lisp environments must be about
equally pleasant to use as the competition, and that means a pretty
IDE and a source code stepper.  The lack of these things is a serious
barrier, I think.

I don't think the parentheses and prefix syntax is an issue.  Maybe on
the contrary: it touches some kind of "real programmers can read
unreadable code" attitude (and it only takes about 2 weeks to get used
to anyway).


 
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 "Dealing with network failures [Was: Re: Barriers to Lisp acceptance - a "survey" question]" by Paolo Amoroso
Paolo Amoroso  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: amor...@mclink.it (Paolo Amoroso)
Date: 1999/03/03
Subject: Dealing with network failures [Was: Re: Barriers to Lisp acceptance - a "survey" question]
On 02 Mar 1999 21:51:04 +0000, Erik Naggum <e...@naggum.no> wrote:

>   dealing with networking problems is so complex that an application really
>   cannot afford to trust a pre-packaged solution that does not give very
>   good access to the error conditions.  I've spent hundreds of hours giving
>   Allegro CL's socket package and my protocol on top of it graceful failure
>   modes.  it's really hard work.  judging from what I see from people who

It would be very interesting to know how you deal with such problems. Do
you map the existing failure modes provided by ACL's socket package to some
sort of higher level error reporting/recovery layer? Or maybe you extend
the socket library to provide more--or possibly more useful--failure modes
reported by lower-level software? Or, of course, something completely
different?

Paolo
--
Paolo Amoroso <amor...@mclink.it>


 
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 "Lisp Processes (was Re: Barriers to Lisp acceptance - a "survey" question" by Kelly Murray
Kelly Murray  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Kelly Murray <k...@IntelliMarket.Com>
Date: 1999/03/03
Subject: Lisp Processes (was Re: Barriers to Lisp acceptance - a "survey" question

David Gadbois wrote:

> "David B. Lamkins" <dlamk...@teleport.com> writes:
> > See <http://www.cyc.com/users/gadbois/processes.lisp>.

> Recent (1999-03-03 11:20:00) CST updates:
> o The code compiles out of the box into the CL-USER package.
> o There is a CMU CL port.
> o There is an explicit notice that it is in the public domain.

> --David Gadbois

Looks good.  I notice the elimination of run and arrest reasons
quantum and priority, and other "internal" type stuff.
Just not supported by all lisps, or is this a judgement on their
value to the user?

Would it makes sense to collapse
PROCESS-WAIT and PROCESS-WAIT-WITH-TIMEOUT into one method,
where timeout of nil means no timeout.

Also, I think it's useful to have process-wait return the
non-nil value of the wait function, or nil if it timed out.

A fairly common need is to poll multiple streams, i.e. select.
One could write this as
(process-wait (function (streams)
               (loop for stream in streams
                   do
                     (if (listen stream) then (return stream)
                     ))
              (list stream1 stream2 ..))

As a general style question, does it make sense to put this stuff
in another package?
One often sees the naming convention of <type>-<method> for
a function, and it ALSO gets in another package,
so you'd get process:process-wait.
In my view, why isn't the method called WAIT, in the process package,
such that

(class process ()
  ...)

(method wait ((p process) timeout function [args]*)
  ...)

One can just call process:wait or decide to use just wait by
importing process:wait.

-Kelly Murray


 
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 "Dealing with network failures [Was: Re: Barriers to Lisp acceptance - a "survey" question]" by Kelly Murray
Kelly Murray  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Kelly Murray <k...@IntelliMarket.Com>
Date: 1999/03/03
Subject: Re: Dealing with network failures [Was: Re: Barriers to Lisp acceptance - a "survey" question]
I agree completely that its the error handling which is
the hard problem, and is HIGHLY unportable to both OS
and Lisp implementation.  Just yesterday I debugged a ACL
socket problem that returned error code "22", which
was in fact, running out of available sockets.  
And I also deal with error -14 when I/O into memory buffer areas
that don't exist yet (because they haven't been paged in from the DB..)
The problem is usually because that's all the OS gives you.

This is a great example of the value of a
Lisp-based operating system as opposed to running on top
of whatever C-based garbage is underneath...


 
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 "Lisp Processes (was Re: Barriers to Lisp acceptance - a "survey" question" by David Gadbois
David Gadbois  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: David Gadbois <gadb...@lagavulin.cyc.com>
Date: 1999/03/03
Subject: Re: Lisp Processes (was Re: Barriers to Lisp acceptance - a "survey" question

Kelly Murray <k...@IntelliMarket.Com> writes:
> I notice the elimination of run and arrest reasons quantum and
> priority, and other "internal" type stuff.  Just not supported by
> all lisps, or is this a judgement on their value to the user?

Not supported.  Those features depend a lot on the scheduler
implementation.

> Would it makes sense to collapse PROCESS-WAIT and
> PROCESS-WAIT-WITH-TIMEOUT into one method, where timeout of nil
> means no timeout.

If I were doing it over again, I'd just have PROCESS-WAIT and
SET-TIMEOUT.

> As a general style question, does it make sense to put this stuff
> in another package?

Sure.  Once the Lisp "substandards" stuff gets organized, it will make
sense to have a standard place for all this to live.

Speaking of the substandards, is there any action on that front?
Cycorp will put the rest of its porting layer (locking, sockets, and
lexical environment access) in the public domain, though I'll have to
spiff it up a bit first.  Does anyone have a defsystem or foreign
function interface to donate?

> One often sees the naming convention of <type>-<method> for a
> function, and it ALSO gets in another package, so you'd get
> process:process-wait.  In my view, why isn't the method called WAIT,
> in the process package,

Partly historical and partly so as to avoid naming conflicts when a
package wants to import multiple symbols named WAIT from different
packages.

I'll be happy to merge in any additions that folks want to write.

--David Gadbois
\


 
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 "Emacs and CL (was Re: More LispOS talk (was Re: Lisp subverts the world (was Re: ints vs fixnums (was Re: Java ... (was Re: ... (was Re: ...))))))" by R. Matthew Emerson
R. Matthew Emerson  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: r...@nightfly.apk.net (R. Matthew Emerson)
Date: 1999/03/03
Subject: Re: Emacs and CL (was Re: More LispOS talk (was Re: Lisp subverts the world (was Re: ints vs fixnums (was Re: Java ... (was Re: ... (was Re: ...))))))

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

>   think about it, the programming environment model in Unix is an imitation
>   of the Lisp machine, and the way it is implemented is through processes
>   and inter-process communication instead of function calls.  functions in
>   the Lisp heap are programs on disk in the Unix model.

This reminds me of some things that I wonder about from time to time,
namely:

How does a lisp machine deal with multiple simultaneous users, and how
does it protect users' programs from interfering with one another?
Are there permissions associated with lisp objects?  Packages? On
files in the file system?

Can one telnet in to a lisp machine, start up a lisp world and display
it on one's desktop machine?

It seems to me that Lisp is about being able to have control of and
access to everything, and is distinctly non-fascist.  For example,
just a little while ago, Kent Pitman wrote about extending the OS on
his lispm to talk to his NT machine.  So, thinking about a multi-user
lisp system with all sorts of permissions and restrictions causes
cognitive dissonance.

With a unix/plan9 process model, it is straightforward to deal with
multiple users.  Or maybe I just think it's straightforward, since
I've had very little experience with anything else.

-matt


 
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.
Mike McDonald  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: mike...@mikemac.com (Mike McDonald)
Date: 1999/03/03
Subject: Re: Emacs and CL (was Re: More LispOS talk (was Re: Lisp subverts the world (was Re: ints vs fixnums (was Re: Java ... (was Re: ... (was Re: ...))))))
In article <7bkbef$t5...@news-1.news.gte.net>,
        r...@nightfly.apk.net (R. Matthew Emerson) writes:

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

>>   think about it, the programming environment model in Unix is an imitation
>>   of the Lisp machine, and the way it is implemented is through processes
>>   and inter-process communication instead of function calls.  functions in
>>   the Lisp heap are programs on disk in the Unix model.

> This reminds me of some things that I wonder about from time to time,
> namely:

> How does a lisp machine deal with multiple simultaneous users, and how
> does it protect users' programs from interfering with one another?
> Are there permissions associated with lisp objects?  Packages? On
> files in the file system?

  On the LispM's of old, there was only one user logged in at a time.

> Can one telnet in to a lisp machine, start up a lisp world and display
> it on one's desktop machine?

  You can on the Symbolics LispMs, although only one of you will be logged in.

> It seems to me that Lisp is about being able to have control of and
> access to everything, and is distinctly non-fascist.  For example,
> just a little while ago, Kent Pitman wrote about extending the OS on
> his lispm to talk to his NT machine.  So, thinking about a multi-user
> lisp system with all sorts of permissions and restrictions causes
> cognitive dissonance.

> With a unix/plan9 process model, it is straightforward to deal with
> multiple users.  Or maybe I just think it's straightforward, since
> I've had very little experience with anything else.

> -matt

  Part of the problem is this notion that one size fits all. That what you
want from a server machine is the same as what you want on a desktop. The
Lispm's philosophy was that there should be only one user of a "desktop"
machine, namely the person who's desk it was sitting on. You don't need all of
the multiuser protection stuff built in when there's only one user. As a
result, they were able to make a different set of trade-offs than the Unix
guys who's aim was to provide multiuser capabilities to expensive machines.
LispM were meant to be cheap enough that everyone could have their own.

  My hunch is that the vast majority of Unix machines only have one real user
logged into them. So why pay for the protection you don't need nor necessarily
want? Unix suffers from the same attitude that Windows does, namely that there
can only be one OS and everything from supercomputers to toasters HAS to run
it. Do you really think it's necessary to check my permissions before you'll
let turn down the toaster?

  Oh well, I'm ranting.

  Mike McDonald
  mike...@mikemac.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.
Sunil Mishra  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Sunil Mishra <smis...@whizzy.cc.gatech.edu>
Date: 1999/03/03
Subject: Re: Emacs and CL (was Re: More LispOS talk (was Re: Lisp subverts the world (was Re: ints vs fixnums (was Re: Java ... (was Re: ... (was Re: ...))))))

mike...@mikemac.com (Mike McDonald) writes:
>   My hunch is that the vast majority of Unix machines only have one real
>   user logged into them. So why pay for the protection you don't need
>   nor necessarily want? Unix suffers from the same attitude that
>   Windows does, namely that there can only be one OS and everything
>   from supercomputers to toasters HAS to run it. Do you really think
>   it's necessary to check my permissions before you'll let turn down
>   the toaster?

One physical user... Yes. But then there are many other things imagineable
with the multi-user capabilities. Running low priority jobs over a long
period of time without interfering with the person at the desktop... Not
accidentally trashing some important system files, because the admin is
another user (even though that other user may in fact turn out to be
you)...

I don't think UNIX really suffers from that problem, at least not to the
extent you suggest. It is possible to adjust various parameters, such as
buffer sizes, VM size, process switch granularity, etc. so that you can
adjust to a variety of environments. Of course, there are some things that
are simply not needed on a unix box meant for a single user. There are many
annoying side-effects that protection has, such as the need to copy data
from a user buffer to a network or print buffer before it can go out to the
appropriate device. I believe there are quite a few efforts underway that
get around some of these problems.

The advantage that Unix has had all along is that the one-size-fits-all
model allows for simplicity of implementation, and therefore spread of the
paradigm. Then they can take their own time slowly improving upon what they
have. This point is of course not new. We can put down worse-is-better as
much as we like, but IMHO we will lose unless we learn from it.

Sunil


 
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 "Barriers to Lisp acceptance - a "survey" question" by Philip Lijnzaad
Philip Lijnzaad  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Philip Lijnzaad <lijnz...@ebi.ac.uk>
Date: 1999/03/03
Subject: Re: Barriers to Lisp acceptance - a "survey" question
On Wed, 03 Mar 1999 08:52:34 -0800,
"David" == David B Lamkins <dlamk...@teleport.com> writes:

David> In article <u71zj626l2....@ebi.ac.uk> , Philip Lijnzaad <lijnz...@ebi.ac.uk>

David> wrote:
>> On Tue, 02 Mar 1999 09:17:13 -0800,
>> "David" == David B Lamkins <dlamk...@teleport.com> writes:

David> CORBA and FFI address two different problems.  CORBA will not replace
David> FFI capability.  What are you going to do when you want to call an
David> entry point in a library?  Wrap the library so you can make a CORBA
David> call?

>> yes, that would be the idea.

David> The last time I looked (about a year and a half ago) a CORBA
David> method invocation cost a _lot_ more than a simple function call.

>> yes, that's still the case. For many purposes, this would be good enough.

David> Ahh, the joys of selective quoting...

ehr ... this was lifted out of the following paragraph:

David> CORBA and FFI address two different problems.  CORBA will not replace FFI
David> capability.  What are you going to do when you want to call an entry point
David> in a library?  Wrap the library so you can make a CORBA call?  The last time
David> I looked (about a year and a half ago) a CORBA method invocation cost a
David> method invocation cost a _lot_ more than a simple function call.

Is this quoting selectively ? Moreover, I am basically agreeing with you.

David> In article <u7k8x0nfxa....@ebi.ac.uk> you wrote:

>> If there is a CORBA language mapping, a foreign function interface
>> essentially becomes unnecessary. In fact, CORBA *is* the ultimate foreign
>> function interface.

David> The last time I used a commercial-quality CORBA implementation (about a year
David> and a half ago), the latency it introduced was in the range of 10 to 15
David> milliseconds.  

yes that is a lot, and depends on primarily the ORB. I don't want to go into
this debate; suffice it to say that some ORBS (notably Orbix) are notoriously
slow.

David> Do you believe that this is an acceptable amount of overhead
David> for calling a function outside of Lisp?  

I would imagine that in some cases this is acceptable, and it also depends on
how long the foreign call itselfs typically takes to return. What is the
latency of your average cgi-bin perl script? They may not be routinely called
from lisp programs, but I've seen people do stranger things.  Of course, in
practice, you do a foreign call to do some number crunching or so, and for
that I agree CORBA is less well suited.

However, an ORB can be clever, and could put different clients and servers in
one process, resulting in vastly improved throughput. Current orbs only do
this within one language, but I don't think it is a priori impossible to
co-locate, in one process, clients and servers in different languages.
Internally, an FFI would be needed; externally, everything would be specified
in IDL. But this scenario is mere phantasy.

David> Remember, you said that with CORBA,
David> an FFI "becomes unnecessary."  

the real quote is "essentially unnecessary."

David> Should I take this to mean that, having CORBA, I should have no need
David> of an FFI?  

ehrm, no, that is too strong. But I think CORBA can address some of the needs
traditionally addressed by FFI's. In one fell swoop, it provides a mechanism
for interoperability with Java, C++ and an increasing number of less common
languages (of course provided the ORB works, is fast, does your language,
etc. etc.) This is something that I have not seen in FFI's. Even if the
current CORBA pratice is far from ideal, I think the framework is right. The
fact that things are meticulously (if imperfectly) standardized isn't
bad either.

To get to the bottom of this: I think that an FFI would only really be
crucial where speed matters. But I'd love to hear counter arguments (other
than that it might be termed a tautology :-).

David> They solve different problems, and are both useful in their own
David> domains.  CORBA can not completely subsume socket-like interfaces,
David> which will remain useful as the layer upon which people build
David> traditional protocols (HTTP, DNS, FTP, TELNET, DHCP, ...).

Agreed.

                                                                      Philip

--
No electrons were harmed during the composition or transfer of this message
--------------------------------------------------------------------------- --
Philip Lijnzaad, lijnz...@ebi.ac.uk | European Bioinformatics Institute
+44 (0)1223 49 4639                 | Wellcome Trust Genome Campus, Hinxton
+44 (0)1223 49 4468 (fax)           | Cambridgeshire CB10 1SD,  GREAT BRITAIN
PGP fingerprint: E1 03 BF 80 94 61 B6 FC  50 3D 1F 64 40 75 FB 53


 
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 "Lisp Processes (was Re: Barriers to Lisp acceptance - a "survey" question" by Bill Janssen
Bill Janssen  
View profile  
 More options Mar 3 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: jans...@parc.xerox.com (Bill Janssen)
Date: 1999/03/03
Subject: Re: Lisp Processes (was Re: Barriers to Lisp acceptance - a "survey" question
ILU contains source for a process abstraction (including locking)
system, and a defsystem module.

See ftp://ftp.parc.xerox.com/pub/ilu/ilu.html.

Bill
--
 Bill Janssen  <jans...@parc.xerox.com> (650) 812-4763  FAX: (650) 812-4777
 Xerox Palo Alto Research Center, 3333 Coyote Hill Rd, Palo Alto, CA  94304
 URL:  ftp://ftp.parc.xerox.com/pub/ilu/misc/janssen.html


 
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 "Emacs and CL (was Re: More LispOS talk (was Re: Lisp subverts the world (was Re: ints vs fixnums (was Re: Java ... (was Re: ... (was Re: ...))))))" by Christopher R. Barry
Christopher R. Barry  
View profile  
 More options Mar 4 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: cba...@2xtreme.net (Christopher R. Barry)
Date: 1999/03/04
Subject: Re: Emacs and CL (was Re: More LispOS talk (was Re: Lisp subverts the world (was Re: ints vs fixnums (was Re: Java ... (was Re: ... (was Re: ...))))))

mike...@mikemac.com (Mike McDonald) writes:
> LispM were meant to be cheap enough that everyone could have their
> own.

For only $100,000 to $150,000???

> My hunch is that the vast majority of Unix machines only have one
> real user logged into them. So why pay for the protection you don't
> need nor necessarily want?

Since Lisp programming doesn't expose you to memory addresses I guess
it's not as nessecary, but having to reboot Windows or MacOS or DOS
everytime you you accidentally dereference the wrong pointer can be a
real pain. If you want to do everything in C then the Unix protection
model is the only sane way. Unix's relative stability is strong
testament to this.

> Unix suffers from the same attitude that Windows does, namely that
> there can only be one OS and everything from supercomputers to
> toasters HAS to run it.

What does Windows run on other than Intel and a backwards NT Alpha
port? I think portability and scalability are very important and Lisp
need not make excuses here. I consider Lisp in one form or another as
a one-size-fits-all solution.

To counter the fact that you can't do gzip or JPEG and other things
fast in Lisp I think it would be nice to have some functions and types
that give you C's hardware control when you need it instead of FFIing
to C.

But then again, if such a feature were made available it would
probably be abused to death and not used in the spirit it was
originally intended so maybe that's not such a hot idea after
all. What did Symbolics do about gzip? Do they have low-level Lisp
functions for Genera that let you control memory when you want?

> Do you really think it's necessary to check my permissions before
> you'll let turn down the toaster?

You say that a vast majority of Unix machines only have one real user
logged in to them and I say that a vast majority of them are also on a
network, even if only via PPP sometimes to the internet. Unix is the
only OS that gets it right in this kind of environment.

On Windows 95 you can do whatever you want to other machines on the
network just by typing crap into the "run" dialogue box. How many
virus protection programs are there for sale for Windows, DOS and
MacOS? How many for Unix? Come on.

Putting up with the crap involved in properly administrating my Linux
box has been far less frustrating then the crap Windows gave
me. Especially in the case of Debian, which gives you hassle-free way
to worrylessly upgrade everything on your disk without any
"foo.bar.so.6 not found" errors and the like.

Christopher


 
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 "Lisp Processes (was Re: Barriers to Lisp acceptance - a "survey" question" by Marco Antoniotti
Marco Antoniotti  
View profile  
 More options Mar 4 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Marco Antoniotti <marc...@copernico.parades.rm.cnr.it>
Date: 1999/03/04
Subject: Re: Lisp Processes (was Re: Barriers to Lisp acceptance - a "survey" question

jans...@parc.xerox.com (Bill Janssen) writes:
> ILU contains source for a process abstraction (including locking)
> system, and a defsystem module.

Which - allow me to be extremely annoying :) - brings up the question:
why don't you switch to MK:DEFSYSTEM?

Cheers

--
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26
http://www.parades.rm.cnr.it


 
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 276 - 300 of 419 < Older  Newer >
« Back to Discussions « Newer topic     Older topic »