From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Marko Rauhamaa Newsgroups: gmane.lisp.guile.user,gmane.lisp.guile.devel Subject: Re: Request for feedback on SRFI-126 Date: Mon, 28 Sep 2015 02:56:59 +0300 Message-ID: <87bncn5sc4.fsf@elektro.pacujo.net> References: <87zj08t5w1.fsf@T420.taylan> <87vbavtyfz.fsf@T420.taylan> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1443398239 4892 80.91.229.3 (27 Sep 2015 23:57:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 27 Sep 2015 23:57:19 +0000 (UTC) Cc: "guile-user@gnu.org" , guile-devel To: Panicz Maciej Godek Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Sep 28 01:57:18 2015 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZgLoi-0002Wt-IU for guile-user@m.gmane.org; Mon, 28 Sep 2015 01:57:16 +0200 Original-Received: from localhost ([::1]:59477 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZgLoh-0003Oq-VE for guile-user@m.gmane.org; Sun, 27 Sep 2015 19:57:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39325) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZgLoV-0003Mt-Ne for guile-user@gnu.org; Sun, 27 Sep 2015 19:57:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZgLoU-0002sU-NT for guile-user@gnu.org; Sun, 27 Sep 2015 19:57:03 -0400 Original-Received: from [2001:1bc8:1a0:5384:7a2b:cbff:fe9f:e508] (port=47681 helo=pacujo.net) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZgLoU-0002s5-Fd for guile-user@gnu.org; Sun, 27 Sep 2015 19:57:02 -0400 Original-Received: from elektro.pacujo.net (192.168.1.200) by elektro.pacujo.net; Mon, 28 Sep 2015 02:56:59 +0300 Original-Received: by elektro.pacujo.net (sSMTP sendmail emulation); Mon, 28 Sep 2015 02:56:59 +0300 In-Reply-To: (Panicz Maciej Godek's message of "Mon, 28 Sep 2015 01:20:04 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:1bc8:1a0:5384:7a2b:cbff:fe9f:e508 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:12045 gmane.lisp.guile.devel:17866 Archived-At: Panicz Maciej Godek : > 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 =E2=80=94 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 a= re > 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