unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: Richard Todd <richardt@vzavenue.net>
Cc: guile-user@gnu.org
Subject: Re: First look at Guile Std Library available
Date: Sat, 3 Jan 2004 21:50:22 -0600	[thread overview]
Message-ID: <20040104035022.GA742@Richard-Todds-Computer.local> (raw)
In-Reply-To: <E1AcxO1-0008Dq-00@surf.glug.org>


[-- Attachment #1.1: Type: text/plain, Size: 3803 bytes --]

On Sun, Jan 04, 2004 at 02:49:01AM +0100, Thien-Thi Nguyen wrote:
> i like the idea of providing a framework, but caution you against
> getting stuck on the implementation details.  for slib (for example), if
> the bridging is as easy as another poster has intimated, why preclude
> that from your plans? 

I'm not precluding it--but I'm trying to think through other options,
since I think the coherence of the whole library would suffer.  Maybe
not as much as I worry, but it would have to.  Let's say we take in a
logging framework, and then find some other code that does syslogging.
What are our options:

  1) We could include that code too.  So now there are two logging
mechanisms in the library.  With potentially very different styles of
interfaces, and different naming conventions.  In one all functions
are log:xxx and log:yyy, but in the other all the function names are
write-syslog.

  2) We could make the needed modifications to fit the new syslogging
behavior into the logging framework (leading to bit-rot if the
syslogger is updated and I don't take those changes right away).

The situation can be even more complicated, like if both allow you to
filter the logs by regexp, but use two different regexp libraries with
different capabilities.  Now there's another decision point.

Another example would be slib minimize.scm, which has one method for
minimization in it.  If I find another lib with four more methods in
it, should I combine them into a single, coherent module, or leave two
modules out there (possibly with contrived names so that they are
different)--one with one function and one with four?  Or wrap them in
a third module that re-exports all the methods, and attempt to keep
the two 'base' madules private?

This type of problem will show up time and again.  I have been leaning
towards the option that produces the most coherent product so far, but
like all complicated decisions, there are downsides to it.  


Another option for the project would be to actively avoid things
that are already in SLIB, Guile-core, or wherever else, and just 'fill
in the gaps.'  I'm having trouble taking that road, because it's
asking users to look 5 places for everything they think might be
available, and deal with all the variations and overlap inherent in
it.  And, though people may get tired of me waving the python standard
around, you just don't have this problem with other languages.  Sure,
there are lots of independent libraries out there, but the basics are
covered 'out of the box'.

And this is exactly the kind of discussion I'd like to have and
resolve before I put too much effort into this.  I'd like everyone to
be happy with the outcome, and contribute to a successful project.


> btw, i consider "generic library" high (and deserved) praise for slib.

I'm not knocking it for being generic--I'm saying no major scheme
implementation that I know of just points you to SLIB..  they all have
libraries of their own.


> (define-module (net email sendmail)
>   #:use-module (ttn parse-rfc822)            ; for auto-reply
>   #:use-module (j-r-hacker mail-utils)       ; for compose-mail
>   ...)
> 
> (define (auto-reply ...) ...)
> (define (compose-mail ...) ...)
> 
> and so on.  it could be that people are doing this already, but more
> locally than not (and w/ little fanfare or further distribution).  who
> knows?  who cares?

I care, because building an infrastructure that others can build on is
an important part of making guile useful in the real world.  If lots
of people are out there quietly cobbling together email packages out
of fragments of people's pet projects, then we are not acting in a
very efficient manner.

Richard Todd
richardt at vzavenue dot net

[-- Attachment #1.2: Type: application/pgp-signature, Size: 186 bytes --]

[-- Attachment #2: Type: text/plain, Size: 139 bytes --]

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

  reply	other threads:[~2004-01-04  3:50 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-02  5:21 First look at Guile Std Library available Richard Todd
2004-01-02  9:29 ` Dale Mellor
2004-01-03  1:03   ` Richard Todd
2004-01-03  2:25     ` Andreas Rottmann
2004-01-03 15:00       ` Dale Mellor
2004-01-03 14:36     ` Dale Mellor
2004-01-03 22:42       ` Richard Todd
2004-01-03 16:38 ` Thien-Thi Nguyen
2004-01-03 16:48   ` Nic Ferrier
2004-01-03 22:18     ` Richard Todd
2004-01-04  1:49       ` Thien-Thi Nguyen
2004-01-04  3:50         ` Richard Todd [this message]
2004-01-04 12:59           ` Thien-Thi Nguyen
     [not found]             ` <16376.5782.10995.206284@l.a>
2004-01-04 14:17               ` Dale Mellor
2004-01-04 21:51             ` Richard Todd
2004-01-05  0:30               ` Andreas Rottmann
2004-01-05  5:00                 ` Richard Todd
2004-01-05 16:03                   ` Robert Uhl
2004-01-05 20:01                     ` Richard Todd
2004-01-06  1:36                       ` Robert Uhl
2004-01-06 18:41                         ` number->string radix patch (Was Re: First look at Guile Std Library available) Richard Todd
2004-01-07  4:04                           ` Robert Uhl
2004-01-07  5:26                             ` Richard Todd
2004-01-07 20:54                               ` Robert Uhl
2004-01-08  7:11                                 ` I get unknown immediate error in guile 1.7 Roland Orre
2004-01-08 17:14                                   ` Roland Orre
2004-01-10 20:17                                     ` Kevin Ryde
2004-05-10 20:34                           ` number->string radix patch Marius Vollmer
2004-05-11  3:16                             ` Richard Todd
2004-05-11  3:51                             ` Keith Wright
2004-05-27 21:56                               ` Kevin Ryde
2004-06-10 16:35                                 ` Marius Vollmer
2004-06-10 16:34                               ` Marius Vollmer
2004-05-11  5:23                             ` Richard Todd
2004-05-27 21:54                               ` Kevin Ryde
2004-06-10 16:47                               ` Marius Vollmer
2004-06-11  1:40                                 ` Kevin Ryde
2004-01-05 10:08                 ` First look at Guile Std Library available Dale Mellor
2004-01-05  3:39               ` Paul Jarc
2004-01-05  4:28                 ` Richard Todd
2004-01-05  5:19                   ` Paul Jarc
2004-01-06 22:25                   ` Ludovic Courtès
2004-01-06 23:53                     ` Richard Todd
2004-01-16 20:17                   ` Andy Wingo
2004-01-05 14:00               ` Thien-Thi Nguyen
2004-01-05 20:32                 ` Richard Todd
2004-01-05 20:59                   ` Dale P. Smith
2004-01-06 16:54                   ` Thien-Thi Nguyen
2004-01-06 20:32                     ` Richard Todd
2004-01-03 18:19   ` Clinton Ebadi
2004-01-03 20:12     ` Thien-Thi Nguyen
2004-01-04  2:02     ` Richard Todd
2004-01-06 20:42       ` Richard Todd
2004-01-06 21:20         ` Paul Jarc
2004-01-03 22:52   ` Richard Todd
2004-01-04  1:53     ` Thien-Thi Nguyen
2004-01-04 20:34 ` Arno Peters
2004-01-05 20:12   ` Richard Todd

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=20040104035022.GA742@Richard-Todds-Computer.local \
    --to=richardt@vzavenue.net \
    --cc=guile-user@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).