unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Daniel Skarda <0rfelyus@ucw.cz>
Cc: guile-devel@gnu.org
Subject: Re: Adding stuff to the core distro (was Re: Infix syntax)
Date: 10 Oct 2002 18:06:17 +0200	[thread overview]
Message-ID: <m01y6yjn2e.fsf@hobitin.ucw.cz> (raw)
In-Reply-To: m37kgsbnvf.fsf@laruns.ossau.uklinux.net


> On the other hand...  Rob has raised the question of whether we should
> be adding things to the core distro that don't strictly need to be
> there, so perhaps we should stop for a moment to consider our
> principles on this point.
> 
> I'm not sure what to suggest, myself.  Seems to me that one extreme is
> the Emacs approach - basically bundle everything.  The convenience of
> the opposite extreme depends on what kind of package repository system
> (aka GUMM) we can create.

  I vote for Emacs approach - bundle everything that is mature, documented and
stable. Before you reply that my message was driven by megalomania, I try to
explain my view:

  Scheme is very pretty language, but I think that these days "pretty language"
does not imply success. Also libraries that come with language are important as
well. So we should not see Guile as a single package but rather as a development
platform. The development platform that is not as popular as other (python,
perl) ...

  I my opinion, breaking guile into small (orthogonal) packages is nice from
"pure" developer's view, but it fails in "real world" and builds unnecessary
walls between Guile and Joe Average Programmer, who wants to evaluate Guile:

  "Install guile-x.y, guile-foo-y.z, guile-bar-a.b. Joe, do you want to use
  feature XYZ? than you have to checkout, compile, install guile-CVS, checkout
  guile-foo-CVS, because guile-foo-y.z does not work with guile-CVS... Also
  users of your program must do the same because there are no Debian/RedHat/...
  packages for development versions."
   
  Do you think that Mr Joe A. Programmer will choose Guile because Scheme is
superior language and "Official GNU blah blah blah"?

  I think programmers want to start coding, not to spend their time collecting/
maintaining/upgrading various tiny packages.

Also Guile development would be easier with "one big development pot":

 * Read "guile-debugger" thread on guile-devel. Even developers have not known
   that there is guile-debugger package. "One big pot" means less probability
   you miss some important package, because have not noticed its announcement 
   or reference deep inside the Guile documentation.

 * When somebody changes (read: improves :-) some interface, it is easier to
   spot and fix all places, where the change breaks actual code. Even thought a
   developer, who was responsible for some feature, retires, code from big pot
   will not become orphan (there is always somebody who fixes it).

 * It saves us a lot of time. cvs update -dP, autogen, configure, make, make
   install, cvs update, autoget, configure, make install, ....
  
 * "One big pot" also simplifies dependecies (see Joe's example). And there is
   no need for a lot of #ifdef GUILE_HAS_FOO_FEATURE, #ifdef GUILE_1_x_y,..
   which are hell to maintain.

  So these were my arguments I could think of. Please try to write down your
oppinions. I would also like to hear arguments from "the other side" (break
Guile into small and orthogonal packages), but I can not think of any benefit
that would come from scattered development (except specific "beauty"). IMHO it
is easier to write script, that extracts small subset from guile-core, than to
maintain zillions of small packages (think: guile-core, guile-infix,
guile-srfi-1, guile-srfi-*, guile-readline, guile-.....)

0.

ps: It would be also nice to "release Guile regularly, release Guile often".  
I would like to propose to release Guile development branch monthly (or every
fortnight). At least for some time, so we can find if this approach is an
advantage or not.

Also detailed development roadmap (timeline, schedule) would be very helpful.

ps: Another successful example of "big development pot" is Linux kernel 
(or XFree project).

ps: Example of tools/utils/code I would merge into Guile immediately or ASAP:
g-wrap, build-guile-gtk script or any other tool for making language bindings.
There are plenty of them and it is strange that there is no standard one. 

Also sgtk_flags2scm family of C utils would be helpful. (When I say "merge"
here, I do not mean to merge directly into libguile, but merge into guile-core
as libguiletools or something like that).

ps: Maybe "hybrid" approach would be the best way. Bundle everything possible,
but also provide an easy way for creating/distributing/maintaining Guile
packages (and a repository to archive them).


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel


  parent reply	other threads:[~2002-10-10 16:06 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-03 11:26 Infix syntax Daniel Skarda
2002-10-05  8:55 ` Neil Jerram
2002-10-06  8:05   ` Daniel Skarda
2002-10-08 21:51     ` Adding stuff to the core distro (was Re: Infix syntax) Neil Jerram
2002-10-08 22:40       ` Han-Wen Nienhuys
2002-10-09  3:30       ` Rob Browning
2002-10-09 18:15         ` Neil Jerram
2002-10-09 20:17           ` Rob Browning
2002-10-10 12:20             ` Daniel Skarda
2002-10-10 12:29       ` Daniel Skarda
2002-10-13 14:28         ` Neil Jerram
2002-10-16 21:35           ` Daniel Skarda
2002-10-19  4:50             ` tomas
2002-10-20 19:15               ` Daniel Skarda
2002-10-21  9:36                 ` tomas
2002-10-21 18:21                 ` Neil Jerram
2002-10-19 22:17             ` Christopher Cramer
2002-10-20 19:05               ` Daniel Skarda
2002-10-10 16:06       ` Daniel Skarda [this message]
2002-10-10 17:12         ` Rob Browning
2002-10-10 18:46           ` Clinton Ebadi
2002-10-10 22:24           ` Lynn Winebarger
2002-10-13 15:09           ` Proposal for scope of core distro Neil Jerram
2002-10-17  0:10           ` Adding stuff to the core distro (was Re: Infix syntax) Daniel Skarda
2002-10-18  7:24             ` Lynn Winebarger
2002-10-20 20:25               ` Daniel Skarda
2002-10-10 18:08         ` Bill Gribble
2002-10-17  2:42           ` Daniel Skarda
2002-10-13 14:27         ` Neil Jerram
2002-10-17  1:25           ` Daniel Skarda
2002-10-19 10:56             ` Neil Jerram

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m01y6yjn2e.fsf@hobitin.ucw.cz \
    --to=0rfelyus@ucw.cz \
    --cc=guile-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).