unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Marko Rauhamaa <marko@pacujo.net>
To: Panicz Maciej Godek <godek.maciek@gmail.com>
Cc: "guile-user@gnu.org" <guile-user@gnu.org>,
	guile-devel <guile-devel@gnu.org>
Subject: Re: Request for feedback on SRFI-126
Date: Mon, 28 Sep 2015 02:56:59 +0300	[thread overview]
Message-ID: <87bncn5sc4.fsf@elektro.pacujo.net> (raw)
In-Reply-To: <CAMFYt2bKtaUPy2di=c6G9ezc-2KDR0inoOVfcYAVxU5np2gQxw@mail.gmail.com> (Panicz Maciej Godek's message of "Mon, 28 Sep 2015 01:20:04 +0200")

Panicz Maciej Godek <godek.maciek@gmail.com>:

> The best thing that Scheme does for programming is that it promotes
> writing software that can be read, and not only executed.

Really? I think the best thing Scheme does for programming is it brings
you closer to God. Seriously, Lisp in general and Scheme in particular
is an intellectual eye-opener — but I wouldn't call it inherently
readable.

Personally, it seems that too many people get too excited with defining
new syntax. It is understandable because it's just so cool, but in
practice, macros should be defined sparingly and locally. Weird macros
can make Scheme code very difficult to read. Instead, one should get
comfortable with the lambda and go wild with it.

> Hash tables, weak references and threading are just implementation details
> that a programmer usually shouldn't care about. Delimited continuations are
> an academic curiosity, and sockets and regexps are just a specific domain
> (I'm sure you could easily find plenty of others; anyway, they are by no
> means fundamental)

Assoc lists are not abstract enough to serve as a generic map. Note that
Python and Java pretend to provide abstract maps but require you to
specify hash functions anyway.

Nothing wrong with hash tables. Throw in balanced trees as well.

> Not every system provides sockets (my pen&pencil certainly doesn't,
> and although it can easily use multiple threads to evaluate
> s-expressions, it surely doesn't need threads as first-class objects)

All Linux system calls should be available to Scheme on Linux. Don't
fall in the Java trap. Perl and Python give access to system facilities.
So does Guile (for the most part).

> Then create them with extended Scheme's feature set of your liking. Or
> is there anything that stops you from doing that? Like the fact that
> the name of the language that you use isn't Scheme, but Racket, Bigloo
> or Guile? Or the fact that there is no pdf out there on the web whose
> naming scheme is R*RS, that would describe the language that you use?

True, I develop exclusively with Guile. So far, I've generally been very
happy with their choices.


Marko



  reply	other threads:[~2015-09-27 23:56 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 [this message]
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
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=87bncn5sc4.fsf@elektro.pacujo.net \
    --to=marko@pacujo.net \
    --cc=godek.maciek@gmail.com \
    --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).