From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Panicz Maciej Godek Newsgroups: gmane.lisp.guile.user Subject: Re: How to make GNU Guile more successful Date: Mon, 13 Feb 2017 21:28:05 +0100 Message-ID: References: <87lgtajpkc.fsf@web.de> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1487017716 18179 195.159.176.226 (13 Feb 2017 20:28:36 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 13 Feb 2017 20:28:36 +0000 (UTC) Cc: "guile-user@gnu.org" To: Arne Babenhauserheide Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Feb 13 21:28:30 2017 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cdNEc-0004Gq-6s for guile-user@m.gmane.org; Mon, 13 Feb 2017 21:28:30 +0100 Original-Received: from localhost ([::1]:59390 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cdNEe-0007Ku-UB for guile-user@m.gmane.org; Mon, 13 Feb 2017 15:28:32 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51672) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cdNEI-0007Kk-Ty for guile-user@gnu.org; Mon, 13 Feb 2017 15:28:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cdNEG-0004yA-NN for guile-user@gnu.org; Mon, 13 Feb 2017 15:28:10 -0500 Original-Received: from mail-wm0-x232.google.com ([2a00:1450:400c:c09::232]:37622) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cdNEG-0004uu-Di for guile-user@gnu.org; Mon, 13 Feb 2017 15:28:08 -0500 Original-Received: by mail-wm0-x232.google.com with SMTP id v77so1098698wmv.0 for ; Mon, 13 Feb 2017 12:28:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=awkkSQ4U9gdFrVb6kDp8dLqIhumRJgW1GcAwnaTg9Hc=; b=sYaUFsc+Xq+WJqqEVX8yV0DS6ZRZxya0ttOfATjkqsj3VGIqAhl/JaEH0e+/Yx0lsL RCKV7H0z/Sknw/ZFuu4DPAzYxKSSPbw9wpjcmTG16GFHLU90q6VsuEhCbo1+Hb3gc0El o+54YmXp3ULX7XwnavHf18OisZSeaHMvghT41FRd+oS6MqhGIFwWt7x0w1KFmhdKsSYJ yJTgF0r4poWnGOg9AOPuqtM24W158JkIdQMCNm8lFvHZRkPyKQdPuHtY4oZEzhjvInMh ybnVh+A7rff/uB+HDg1KlxgMdLGHnyYFz8sflIe66Mkv1XzQQvVLKuiZbgvxo9pAHLme /3JQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=awkkSQ4U9gdFrVb6kDp8dLqIhumRJgW1GcAwnaTg9Hc=; b=fkS8KRJRtN0GEJgCjI3j3zIVL71aaF/GDeFkJnqlLlUh3Kf1ikckcvkc6NxNviq71F UoJhsqWFj5FZcA0rpCOz3lLcOa2RKT1kJdZzI5q+j7UnhSuzytkpGwJveO6Mk3IeDWK/ pBKV6vd+C+oqrD0/usZRHEyci0TTUCXB4DBNEne0I25+itD5DU9rPwKM/8MdfPN66rJY KjFgCMMG4EwtUDGDQSFlg5oqhH2pwLLh3DcySFJyBoNx3jBzqD6lS9HQxv0zsFOMRLkH TAgWCE+u+zn+W9IXihmySjVU0A3kreRkjLntw9Q73xYiG8fnPuK4/9GLICPWng/ASo0U PfuA== X-Gm-Message-State: AMke39nDDIDQxz6h+LPXTdT92pMiyp6GXpzYflaUjfDJCe0/mLiFoMDsOJgT2rygIVlDUaIqLShxwGQXUQD/PQ== X-Received: by 10.28.40.65 with SMTP id o62mr127546wmo.131.1487017685713; Mon, 13 Feb 2017 12:28:05 -0800 (PST) Original-Received: by 10.80.148.240 with HTTP; Mon, 13 Feb 2017 12:28:05 -0800 (PST) In-Reply-To: <87lgtajpkc.fsf@web.de> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c09::232 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.lisp.guile.user:13183 Archived-At: 2017-02-13 12:06 GMT+01:00 Arne Babenhauserheide : > Hi Amirouche, > > Thank you for your nice writeup! > > Amirouche writes: > > > I don't know why Racket is successful probably because > > it has a very good documentation and also a documentation > > generator written in scheme. > > > > =3D> This is a long debate and core principle of GNU project > > so I don't want to enter that debate > > But I want to add something: I=E2=80=99m getting the hang of just checkin= g the > info-page to look something up. And I realize that with well-written > info-pages this is faster than googling for stack overflow. > Once I was strucked by this: http://www.wilfred.me.uk/blog/2016/07/30/example-driven-development/ There's also a similar project by William Byrd that could make the difference https://github.com/webyrd/Barliman I think that Python is popualr because you don't need Emacs to work with it= . And that the milestone to the success of Racket, apart from intensive propaganda, is Dr Racket. (also, an important factor is that you can install both Python and Racket on Windows, Linux and OSX, and it Just Works) The problem with Emacs is that it is that, although you probably can do everything imaginable with it, it is difficult to approach. The problem with the problem wth Emacs is that once you get it, you usually have better ideas in mind than making Emacs more approachable. There's also this problem with Scheme that it is a very diverse community with plethora of implementations. And while I use Guile, I don't mind using Chicken or Chez or Gambit for various purposes. Or even Stalin sometimes. Maybe, instead of getting a better compiler, we should focus on integrating existing compilers? > And it's easy to packages. > > > > =3D> Another pain topic. In reality it's very easy to package > > all sort of guile programs for guix. But guix itself needs > > to be more stable. > > I wish I had guildhall ready. Got hit by > time-eaten-by-other-project-because-guildhall-was-priority-three. > > It needs to be easy to not just package some code, but also to share > that package without hitting a bottleneck. > > What happened to initiatives like Scheme NOW, that tried to integrate various groups of developers. Or why can't we just "steal" eggs from Chicken? (I mean it. They already have that problem solved) > > Python is successful because it has a massive number > > of libraries. > > This is a social problem. For a deeper discussion why it is a problem, > see http://winestockwebdesign.com/Essays/Lisp_Curse.html > "Lisp is so powerful that problems which are technical issues in other > programming languages are social issues in Lisp." > > We can counter this with easy tutorials and with writing something like > canonical Scheme. But for this, we need to define a canonical Scheme > which is hits the performance and readability sweet-spot for > Guile. Canonical code must be close to the fastest code. > Practically put: We need Andy Wingo to nitpick the tutorial about things > which will cause overheads the compiler cannot fix easily =E2=80=94 inclu= ding > expensive use of macros. > > I definitely oppose. If Chez has something solved better, why not use Chez? The ultimate goal is not to optimize programs, but programmers. But I agree on the point of the canonical code. I think that the "zen of python" is one of important factors of making it popular. I think it could be the same with Scheme, but here the problem is that people have various ideas with regard to how the "ideal" program should look like. For example, I have a very strong opinion with regard to the use of pattern matching and restructuring -- I try to use destructuring almost everywhere (from what I've seen, Clojure programmers are alike with this regard). However, I am aware that there are people who don't like it that much, like Taylan or Barry Margolin. Also, I think that the astounding success of R provides hints with regard what is needed for a programming language to gain popularity. R has a large repository of packages that fills a certain niche. When I advertised my Pamphlet on Hacker News, someone responded critically: "are there out of the box libraries to estimate a zero inflated negative binomial regression model in guile". Of course, if I knew what a zero-inflated negative binomial regression model, I could deliver an implementation by just explaining the notions used in that phrase. (But then again, I try to write functional programs whenever possible, often consciously sacrificing time complexity of my solutions, and I'm aware that not everybody will like it.) Thanks, Panicz