unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* guile history: your input needed!
@ 2008-11-20 20:00 Andy Wingo
  2008-11-21  0:34 ` Neil Jerram
  0 siblings, 1 reply; 12+ messages in thread
From: Andy Wingo @ 2008-11-20 20:00 UTC (permalink / raw)
  To: guile-user

Hey Guilers!

Many (most?) of you have been at this guile thing for longer than I
have, some of you from the very beginning. While doing some
reorganizations to the manual to get the VM docs in [0], I realized that
a big missing piece of our public narrative is our history. So in the
final chapter of the manual, we'll say something about where we came
from.

[0] http://thread.gmane.org/gmane.lisp.guile.devel/7804

I was also inspired in this idea by Dybvig's excellent "History of
Chez Scheme" paper[1].

[1] http://www.cs.indiana.edu/~dyb/pubs/hocs.pdf

Anyway, so one of the problems of writing down our history is that I
don't know all of it. That's where you come in! Here's a skeletal
outline for a section on guile's history. What do you think are the
important things to mention in each of the subsections? (Does the
organization make sense?) Please respond to the list so we can all see
what's up.

Thanks in advance!

@c -*-texinfo-*-
@c This is part of the GNU Guile Reference Manual.
@c Copyright (C)  2008
@c   Free Software Foundation, Inc.
@c See the file guile.texi for copying conditions.

@node A Brief History of Guile
@section A Brief History of Guile

@menu
* In the Beginning There Was Emacs::  
* The Tcl Wars::                
* Early Days::                  
* Adolescence::                 
* Maturity::                    
@end menu

@node In the Beginning There Was Emacs
@subsection In the Beginning, There Was Emacs

(here we talk of the nature of "scripting languages")

@node The Tcl Wars
@subsection The ``Tcl Wars''

leading to the tcl wars

@node Early Days
@subsection Early Days

The naming (scheme, plan, connive -> guile)

GEL -> GUILE -> Guile

Multilingual vision

@node Adolescence
@subsection Adolescence

GOOPS

the module system

@node Maturity
@subsection Maturity

1.6, 1.8, ...

pthreads




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: guile history: your input needed!
  2008-11-20 20:00 guile history: your input needed! Andy Wingo
@ 2008-11-21  0:34 ` Neil Jerram
  2008-11-21  4:21   ` Sebastian Tennant
                     ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Neil Jerram @ 2008-11-21  0:34 UTC (permalink / raw)
  To: Andy Wingo; +Cc: guile-user

2008/11/20 Andy Wingo <wingo@pobox.com>:
> Hey Guilers!
>
> Many (most?) of you have been at this guile thing for longer than I
> have, some of you from the very beginning. While doing some
> reorganizations to the manual to get the VM docs in [0], I realized that
> a big missing piece of our public narrative is our history.

Apologies for not saying this when you raised this before, but to be
honest I'm not much bothered about Guile's history.  How does it help
us (Guile developers and users) to add this to the manual?

(And I'm especially bored of hearing about the old tcl war yet again...)

I hope this isn't too prickly; a better person would have said this
better, I'm sure.  I suspect you actually have good reasons for
thinking that this narrative will help Guile's future - so could you
flesh those out a bit?

Regards, (and now really off to bed....)
    Neil




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: guile history: your input needed!
  2008-11-21  0:34 ` Neil Jerram
@ 2008-11-21  4:21   ` Sebastian Tennant
  2008-11-23  9:40     ` Neil Jerram
  2008-11-21 11:36   ` Andy Wingo
  2008-11-22 22:46   ` Keith Wright
  2 siblings, 1 reply; 12+ messages in thread
From: Sebastian Tennant @ 2008-11-21  4:21 UTC (permalink / raw)
  To: guile-user

Quoth "Neil Jerram" <neiljerram@googlemail.com>:
> 2008/11/20 Andy Wingo <wingo@pobox.com>:
>> Hey Guilers!
>>
>> Many (most?) of you have been at this guile thing for longer than I
>> have, some of you from the very beginning. While doing some
>> reorganizations to the manual to get the VM docs in [0], I realized that
>> a big missing piece of our public narrative is our history.
>
> Apologies for not saying this when you raised this before, but to be
> honest I'm not much bothered about Guile's history.  How does it help
> us (Guile developers and users) to add this to the manual?

It will help different people in different ways and no doubt there are
some, like yourself, whom it won't help at all.

Personally, I appreciate histories most when I'm new to a subject (for
obvious reasons) but a good history makes interesting reading at any
stage of understanding IMHO.  In fact, I can't think of anything that
makes me feel more comfortable in a new environment than a concise and
well written history covering all the major stages of development.

We do want new users don't we?

> (And I'm especially bored of hearing about the old tcl war yet again...)

You don't have to read it then Neil :-)  I'd like to hear about it.

Seb





^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: guile history: your input needed!
  2008-11-21  0:34 ` Neil Jerram
  2008-11-21  4:21   ` Sebastian Tennant
@ 2008-11-21 11:36   ` Andy Wingo
  2008-11-23 10:04     ` Neil Jerram
  2008-11-22 22:46   ` Keith Wright
  2 siblings, 1 reply; 12+ messages in thread
From: Andy Wingo @ 2008-11-21 11:36 UTC (permalink / raw)
  To: Neil Jerram; +Cc: guile-user

Hey Neil,

On Fri 21 Nov 2008 01:34, "Neil Jerram" <neiljerram@googlemail.com> writes:

> [T]o be honest I'm not much bothered about Guile's history. How does
> it help us (Guile developers and users) to add this to the manual?

I think that the problem that history addresses is the definition of
Guile -- that is, who and what we are.

If you talk to other schemers, or search on the internet, the defintion
of Guile for them comes from moments in our past (the Tcl wars etc etc),
and some early incompatibilities with R4 (and later, R5).

I think that to describe the present without acknowledging the past is
to give license to those with other interests, or with outdated
knowledge, to define Guile's past as they choose, and thus in a way to
constrain its future.

> (And I'm especially bored of hearing about the old tcl war yet again...)

It would be wierd not to mention them, IMO. There's no need to dwell too
long, but the need for powerful languages that can bridge the gap
between extension of existing applications and a more fully dynamic
programming environment is still with us today.

> I hope this isn't too prickly

Not at all! I could be wrong on all of this of course. But everyone
likes a good yarn, and we have a nice one to spin.

Cheers,

Andy
-- 
http://wingolog.org/




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: guile history: your input needed!
  2008-11-21  0:34 ` Neil Jerram
  2008-11-21  4:21   ` Sebastian Tennant
  2008-11-21 11:36   ` Andy Wingo
@ 2008-11-22 22:46   ` Keith Wright
  2008-11-23 10:56     ` Neil Jerram
  2008-11-23 12:24     ` Ludovic Courtès
  2 siblings, 2 replies; 12+ messages in thread
From: Keith Wright @ 2008-11-22 22:46 UTC (permalink / raw)
  To: guile-user

> From: "Neil Jerram" <neiljerram@googlemail.com>
> Cc: guile-user <guile-user@gnu.org>
> 
> 2008/11/20 Andy Wingo <wingo@pobox.com>:
> > Hey Guilers!
> >
> > Many (most?) of you have been at this guile thing for longer than
> > I have, some of you from the very beginning. While doing some
> > reorganizations to the manual to get the VM docs in [0], I
> > realized that a big missing piece of our public narrative is our
> > history.
> 
> Apologies for not saying this when you raised this before, but to be
> honest I'm not much bothered about Guile's history.  How does it help
> us (Guile developers and users) to add this to the manual?

It can't hurt, can it?

What _would_ help us?

> (And I'm especially bored of hearing about the old tcl war yet again...)

Whatever happened to tcl?

> I hope this isn't too prickly; a better person would have said this
> better, I'm sure.  I suspect you actually have good reasons for
> thinking that this narrative will help Guile's future - so could you
> flesh those out a bit?

Those who do not remember history are doomed to repeat it again
and again repeatedly.

Of course we want somebody who can actually write the truth;
just rumor spreading is of little use.

A record of what the goals were and why they changed can
be helpful both for getting new people interested, and reminding
veterans what they were fighting for.

I am particularly interested in a short description of the
gh_ interface.  At one time it was billed as the new
way to call C, which would be somewhat portable.  Then
it was deprecated and removed.  What happened?

Several other directions seem to have been pursued for
a while and then abandonded.  If nobody remembers why,
then maybe someone will try the same thing again.
Maybe that's a good thing, because a worthy goal
remains to be accomplished.  It won't be if it's
forgotten.  Maybe it's a bad thing because there were
good reasons for the change, which should not be
forgotten, either.

I would want a history to document design decisions,
not just gossip.

Adding it to "the manual" does not seem to be important,
but I think it would be good to write it down somewhere.

Do you hate change logs?

  -- Keith




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: guile history: your input needed!
  2008-11-21  4:21   ` Sebastian Tennant
@ 2008-11-23  9:40     ` Neil Jerram
  2008-11-23 12:32       ` Andy Wingo
  0 siblings, 1 reply; 12+ messages in thread
From: Neil Jerram @ 2008-11-23  9:40 UTC (permalink / raw)
  To: Sebastian Tennant; +Cc: guile-user

2008/11/21 Sebastian Tennant <sebyte@smolny.plus.com>:
>
> It will help different people in different ways and no doubt there are
> some, like yourself, whom it won't help at all.
>
> Personally, I appreciate histories most when I'm new to a subject (for
> obvious reasons) but a good history makes interesting reading at any
> stage of understanding IMHO.  In fact, I can't think of anything that
> makes me feel more comfortable in a new environment than a concise and
> well written history covering all the major stages of development.

OK, understood.  I guess we should have it then.  But the problem is
that - as Andy has said in his response - so many people know Guile
mainly as "the project that RMS started because of the Tcl war", and I
don't think we should encourage that view.

It's partly true, of course, but that can't reasonably be our raison
d'être today.

Incidentally, I do have reason for believing that it isn't completely
true.  At least one person - me - had exchanged email with RMS prior
to that, along the lines of "Hey, this Emacs Lisp stuff is so great,
we really ought to have an extension language like that for _all_
applications..."  And I expect others had had similar
thoughts/discussions.

> We do want new users don't we?

Yes, definitely.

Regards,
     Neil




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: guile history: your input needed!
  2008-11-21 11:36   ` Andy Wingo
@ 2008-11-23 10:04     ` Neil Jerram
  2008-11-23 16:40       ` Linas Vepstas
  0 siblings, 1 reply; 12+ messages in thread
From: Neil Jerram @ 2008-11-23 10:04 UTC (permalink / raw)
  To: Andy Wingo; +Cc: guile-user

2008/11/21 Andy Wingo <wingo@pobox.com>:
>
> I think that the problem that history addresses is the definition of
> Guile -- that is, who and what we are.

Hi Andy,

Following on from my response to Seb...  I think this is the key
point, the definition of Guile today.  If, from this work, we can get
a statement of that that is clear and powerful enough to balance the
history, I will be happy with that.

(In fact, now that I've written that last sentence, it's clear that
the lack of a strong current statement is the problem, not the
presence or absence of history.)

There have been attempts to clearly pin down Guile's point, and some
of the results can be seen on the web pages [1] and in the manual [2].

[1] http://www.gnu.org/software/guile/guile.html#whatisit
[2] http://www.gnu.org/software/guile/manual/html_node/What-is-Guile_003f.html#What-is-Guile_003f

But for me, somehow, none of these quite hit the mark.  It could be
the writing style, or the content; I'm not sure.

> If you talk to other schemers, or search on the internet, the defintion
> of Guile for them comes from moments in our past (the Tcl wars etc etc),
> and some early incompatibilities with R4 (and later, R5).
>
> I think that to describe the present without acknowledging the past is
> to give license to those with other interests, or with outdated
> knowledge, to define Guile's past as they choose, and thus in a way to
> constrain its future.

I think that's a bit topsy-turvy.  If we had a clearer statement of
the present, it would not matter so much how people describe the past.

>> (And I'm especially bored of hearing about the old tcl war yet again...)
>
> It would be wierd not to mention them, IMO. There's no need to dwell too
> long, but the need for powerful languages that can bridge the gap
> between extension of existing applications and a more fully dynamic
> programming environment is still with us today.

Now that last sentence has me excited!  Did RMS write that, or is it
vintage Wingo 2008?  Actually I'm not sure it matters; it works for
the present, and if it actually comes from the past, so much the
better.

Also, I suspect that your writing style, and knowledge of dynamic
languages broader than just Guile/Scheme, will mean that you can write
this better than anyone else.

I'm looking forward to it now; please consider my objection removed.

Regards,
      Neil




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: guile history: your input needed!
  2008-11-22 22:46   ` Keith Wright
@ 2008-11-23 10:56     ` Neil Jerram
  2008-11-23 12:24     ` Ludovic Courtès
  1 sibling, 0 replies; 12+ messages in thread
From: Neil Jerram @ 2008-11-23 10:56 UTC (permalink / raw)
  To: Keith Wright; +Cc: guile-user

2008/11/22 Keith Wright <kwright@keithdiane.us>:
>
> It can't hurt, can it?

That is rarely a good enough argument.

> What _would_ help us?

A better statement of Guile's current purpose.

> Whatever happened to tcl?

Are you joking here?  If not, see gitk.

> Those who do not remember history are doomed to repeat it again
> and again repeatedly.

Good point.  I believe that I personally remember the history (up to a
point), but I see now that that's not good enough.

> Of course we want somebody who can actually write the truth;
> just rumor spreading is of little use.
>
> A record of what the goals were and why they changed can
> be helpful both for getting new people interested, and reminding
> veterans what they were fighting for.

Yes.  Actually I would be interested to see past goal statements too.

> I am particularly interested in a short description of the
> gh_ interface.  At one time it was billed as the new
> way to call C, which would be somewhat portable.  Then
> it was deprecated and removed.  What happened?

See http://www.gnu.org/software/guile/manual/html_node/GH-deprecation.html#GH-deprecation.
 If you have specific questions, we can try to improve that text.

> Several other directions seem to have been pursued for
> a while and then abandonded.  If nobody remembers why,
> then maybe someone will try the same thing again.
> Maybe that's a good thing, because a worthy goal
> remains to be accomplished.  It won't be if it's
> forgotten.  Maybe it's a bad thing because there were
> good reasons for the change, which should not be
> forgotten, either.

Yes, I agree that this would be useful.

> Do you hate change logs?

No.  And I don't think they're analogous.

Regards,
     Neil




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: guile history: your input needed!
  2008-11-22 22:46   ` Keith Wright
  2008-11-23 10:56     ` Neil Jerram
@ 2008-11-23 12:24     ` Ludovic Courtès
  1 sibling, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2008-11-23 12:24 UTC (permalink / raw)
  To: guile-user

Hello,

Keith Wright <kwright@keithdiane.us> writes:

> Several other directions seem to have been pursued for
> a while and then abandonded.  If nobody remembers why,
> then maybe someone will try the same thing again.
> Maybe that's a good thing, because a worthy goal
> remains to be accomplished.  It won't be if it's
> forgotten.  Maybe it's a bad thing because there were
> good reasons for the change, which should not be
> forgotten, either.

I agree that history can highlight the motivation behind design
decisions, and the reason for abandoning some ideas, which is good.

> Do you hate change logs?

They're way too low-level and don't fill that need.

Thanks,
Ludo'.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: guile history: your input needed!
  2008-11-23  9:40     ` Neil Jerram
@ 2008-11-23 12:32       ` Andy Wingo
  0 siblings, 0 replies; 12+ messages in thread
From: Andy Wingo @ 2008-11-23 12:32 UTC (permalink / raw)
  To: Neil Jerram; +Cc: guile-user, Sebastian Tennant

Hey Neil,

On Sun 23 Nov 2008 10:40, "Neil Jerram" <neiljerram@googlemail.com> writes:

> OK, understood.  I guess we should have it then.  But the problem is
> that - as Andy has said in his response - so many people know Guile
> mainly as "the project that RMS started because of the Tcl war", and I
> don't think we should encourage that view.
>
> It's partly true, of course, but that can't reasonably be our raison
> d'être today.
>
> Incidentally, I do have reason for believing that it isn't completely
> true.  At least one person - me - had exchanged email with RMS prior
> to that, along the lines of "Hey, this Emacs Lisp stuff is so great,
> we really ought to have an extension language like that for _all_
> applications..."  And I expect others had had similar
> thoughts/discussions.

Well, this should be part of our story then! By letting others tell our
story we lose this bit.

(I think the story is one of development and not of fighting btw;
calling it the Tcl wars accepts a militaristic idea of how people work
together, which is not what motivates me. I suspect the same is true
with you.)

Andy
-- 
http://wingolog.org/




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: guile history: your input needed!
  2008-11-23 10:04     ` Neil Jerram
@ 2008-11-23 16:40       ` Linas Vepstas
  2008-11-24  1:17         ` Clinton Ebadi
  0 siblings, 1 reply; 12+ messages in thread
From: Linas Vepstas @ 2008-11-23 16:40 UTC (permalink / raw)
  To: Neil Jerram; +Cc: Andy Wingo, guile-user

Hi,

2008/11/23 Neil Jerram <neiljerram@googlemail.com>:
>  If we had a clearer statement of
> the present, it would not matter so much how people describe the past.

Is there a clear expression of a vision for the future?
What might one look forward to? What needs to be
done?

--linas




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: guile history: your input needed!
  2008-11-23 16:40       ` Linas Vepstas
@ 2008-11-24  1:17         ` Clinton Ebadi
  0 siblings, 0 replies; 12+ messages in thread
From: Clinton Ebadi @ 2008-11-24  1:17 UTC (permalink / raw)
  To: linasvepstas; +Cc: guile-user

"Linas Vepstas" <linasvepstas@gmail.com> writes:

> Hi,
>
> 2008/11/23 Neil Jerram <neiljerram@googlemail.com>:
>>  If we had a clearer statement of
>> the present, it would not matter so much how people describe the past.
>
> Is there a clear expression of a vision for the future?
> What might one look forward to? What needs to be
> done?

In the near future it looks like the task list is something like:

 * Merge the guile-vm branch into trunk
 * Ditch the Guile GC for BDW-GC (maybe; the lower latencies and
   parallel collector give it a clear advantage of the Guile GC IMO)
 * Unicode string support (perhaps for the first post stable-guile-vm
   release).
 * CFFIesque runtime loading of foreign functions

A 2.0 release with at least guile-vm would be nice (perhaps six months
or so from now?); the C API has stabilized nicely over the last few
years, and so it is now much easier to write extensions that won't
bitrot--it is not so difficult to write something that will work with
1.6->git-head (there used to be a lot more libraries for Guile; most of
them were written in the 1.3/4 days and are severely incompatible with
modern Guile).

After guile-vm is mainline it would be nice if Guile really became the
GNU Ubiquitous Intelligent Language for Extension. Finding GNU programs
that could use an extension language and embedding Guile, replacing
existing application specific scripting languages with FOO->Guile
translators, and binding useful GNU libraries should be done to as many
GNU projects as possible.

In the long long term the guile-vm compiler framework could be used to
translate other languages into Scheme (or GHIL/GLIL/vm-bytecode)
fufilling one of the original goals of Guile (embed Guile in your
application and now end users can use whatever language they please to
write extensions--with some interoperability between them). A good early
language to write a translator for would be ECMAScript; no one expects
consistency between embedded ES systems and the standard library is
small enough to implement quickly in Scheme.

In the u256_t term replacing the Emacs interpreter with Guile and an
elisp->{scheme/GHIL/GLIL/...} translator.

-- 
                     How can you accept social supression                      
                      This weak state of mind in our time                      
                        I demand release from hypocrisy                        
                 I'd rather die than be held down, forced down                 




^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2008-11-24  1:17 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-20 20:00 guile history: your input needed! Andy Wingo
2008-11-21  0:34 ` Neil Jerram
2008-11-21  4:21   ` Sebastian Tennant
2008-11-23  9:40     ` Neil Jerram
2008-11-23 12:32       ` Andy Wingo
2008-11-21 11:36   ` Andy Wingo
2008-11-23 10:04     ` Neil Jerram
2008-11-23 16:40       ` Linas Vepstas
2008-11-24  1:17         ` Clinton Ebadi
2008-11-22 22:46   ` Keith Wright
2008-11-23 10:56     ` Neil Jerram
2008-11-23 12:24     ` Ludovic Courtès

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).