unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: taylanbayirli@gmail.com (Taylan Ulrich Bayırlı/Kammer)
To: Arne Babenhauserheide <arne_bab@web.de>
Cc: guile-user@gnu.org, guile-devel <guile-devel@gnu.org>
Subject: Re: Request for feedback on SRFI-126
Date: Wed, 30 Sep 2015 09:58:32 +0200	[thread overview]
Message-ID: <87si5wz6c7.fsf@T420.taylan> (raw)
In-Reply-To: <1555352.V50ucWGNsT@fluss> (Arne Babenhauserheide's message of "Tue, 29 Sep 2015 22:05:29 +0200")

Arne Babenhauserheide <arne_bab@web.de> writes:

> [...] The best language for any job is the one which provides the
> solution off-the-shelf. SRFIs could give Scheme such solutions, and
> the flexibility of Scheme would allow making these solutions much more
> elegant than what can be created with Python.
>
> But someone has to actually do that: Creating libraries with
> consistent style which provide to the application developer what
> Scheme already provides to the language developer.

Exactly, I agree.  It should be noted though that some things can be
implemented purely as portable libraries, so there needn't be a Request
For Implementations to do it, whereas some other things, which I call
"fundamental" features, need to be supported by implementations, so they
need to be in the language specification or an authoritative SRFI.

For instance the "sets and bags" library in SRFI-113 could have been
just a library hosted on snow-fort.org or elsewhere because it can be
implemented as a library on top of hash tables, but the hash table
library/API needs to be in the language because it can't be implemented
as portable library code (not very well anyway; see SRFI-69 ref. impl.).
I like to think of SRFI-126 as "R7RS-small section 6.10 Hashtables" if
that isn't too shameless.  (I don't know yet if it's really worthy of
that, hence critique welcome.)

***

I think there are only few fundamental APIs left now that need to be
standardized, for standard Scheme to become fairly seriously usable and
possible to write as plenty libraries in as e.g. Python.  One could
already do a ton given R7RS-small, SRFI-99, SRFI-106, SRFI-115,
SRFI-126, though the mentioned SRFIs aren't well-supported yet.  After
that, we probably want a fuller POSIX API (not just sockets), an FFI,
delimited continuations, and a few other things.  Care needs to be taken
not to fall for API design mistakes in the conception of these SRFIs,
but I could say I see the writing of them as more drudgery than anything
else at this point.

But sadly, there seems to be little interest anymore among the biggest
Scheme implementations to help get that work done.

In any case I'll go on to write a delimited continuations SRFI inspired
by Guile's API, an FFI SRFI based on libffi's feature-set, will preach
for broader syntax-case adoption (don't know about phasing yet), and see
if I can write some POSIX API SRFIs as well.

If that effort will be in vain, so be it I guess.

Taylan



  parent reply	other threads:[~2015-09-30  7:58 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-27 12:15 Request for feedback on SRFI-126 Taylan Ulrich Bayırlı/Kammer
2015-09-27 19:00 ` Panicz Maciej Godek
2015-09-27 20:11   ` Taylan Ulrich Bayırlı/Kammer
2015-09-27 23:20     ` Panicz Maciej Godek
2015-09-27 23:56       ` Marko Rauhamaa
2015-09-28  8:13       ` Taylan Ulrich Bayırlı/Kammer
2015-09-28 10:37         ` Marko Rauhamaa
2015-09-28 12:39           ` Taylan Ulrich Bayırlı/Kammer
2015-09-28 20:02         ` Panicz Maciej Godek
2015-09-29 20:05           ` Arne Babenhauserheide
2015-09-29 23:02             ` Panicz Maciej Godek
2015-09-29 23:44               ` Arne Babenhauserheide
2015-09-30  6:39                 ` Panicz Maciej Godek
2015-09-30 22:16                   ` Arne Babenhauserheide
2015-09-30 23:39                     ` Panicz Maciej Godek
2015-09-30  7:58             ` Taylan Ulrich Bayırlı/Kammer [this message]
2015-09-30 22:20               ` Arne Babenhauserheide
2015-10-01  7:33                 ` Taylan Ulrich Bayırlı/Kammer
2015-09-29 20:18   ` Arne Babenhauserheide
2015-10-01  5:11     ` Marko Rauhamaa
2015-09-28 15:46 ` Christopher Allan Webber
2015-09-28 17:34   ` Taylan Ulrich Bayırlı/Kammer
2015-09-30 17:41 ` Mark H Weaver
2015-09-30 22:33   ` Taylan Ulrich Bayırlı/Kammer

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=87si5wz6c7.fsf@T420.taylan \
    --to=taylanbayirli@gmail.com \
    --cc=arne_bab@web.de \
    --cc=guile-devel@gnu.org \
    --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).