From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Panicz Maciej Godek Newsgroups: gmane.lisp.guile.user Subject: Re: [ANN] An impudent introduction to Guile Date: Sat, 6 Feb 2016 07:08:42 +0100 Message-ID: References: <0MfmrK-1aduFO2FHA-00NEPX@mail.gmx.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a114877f8b4d0c9052b13ccca X-Trace: ger.gmane.org 1454738938 3353 80.91.229.3 (6 Feb 2016 06:08:58 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 6 Feb 2016 06:08:58 +0000 (UTC) Cc: "guile-user@gnu.org" To: Cao Jin Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sat Feb 06 07:08:57 2016 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 1aRw3E-0008Ki-N1 for guile-user@m.gmane.org; Sat, 06 Feb 2016 07:08:56 +0100 Original-Received: from localhost ([::1]:51766 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aRw3D-0001Ia-I6 for guile-user@m.gmane.org; Sat, 06 Feb 2016 01:08:55 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55601) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aRw33-0001IM-B7 for guile-user@gnu.org; Sat, 06 Feb 2016 01:08:46 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aRw31-0006PR-Mu for guile-user@gnu.org; Sat, 06 Feb 2016 01:08:45 -0500 Original-Received: from mail-wm0-x22f.google.com ([2a00:1450:400c:c09::22f]:35916) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aRw31-0006PA-B8 for guile-user@gnu.org; Sat, 06 Feb 2016 01:08:43 -0500 Original-Received: by mail-wm0-x22f.google.com with SMTP id p63so52315320wmp.1 for ; Fri, 05 Feb 2016 22:08:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=7r/BgIPwNGeFKgmUcFJVSMJoXnnioBrEHoYGZ3LyNU8=; b=0M6qntMEm7sxKvAatoEIe9H7OrIazxukLtk80MNyQGV3BvguXnir2DO1xVoHQEmX2h SldolfuoN+dCvFo0UUO9OI8or+2q63dTt0s8jR4uBF8qGL5REJF4QCFtPLCgvScWKt5A 7J6h+C0cvZlu1Y7bc0SKnTEDQkiS1fgPEKyOM1/9GIVJut+l2Sk5Zp3TOVBpS9MeR7LU vbw0p8Gs7jKwvyxw23lnsLALkjadfc7BK2UhQS5GBDhjZIfhGoICq9g1AlnozZvvLkcH 0ziNahwXbvAmqvGqeESLHhyh60hMeKxEIt2SZzXu0xisP6k+eZlYJHKD3jMBl43gPYBx 37TQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=7r/BgIPwNGeFKgmUcFJVSMJoXnnioBrEHoYGZ3LyNU8=; b=QS//vo1qvoLdm6tT09cyM2ax020IxLZmR/GjuFf+9Zy/4issbARQRyp7hXcc2tOccT yid6Erxdchg2X1OR5Z9GOS+/lTzvIfwaqMKT7sBcX0AXwqCmM6dWBjWelj/yRp2MY6I0 jikXDPea3I+Mm2ChUVDx/edvOYpxhZzRJUNTIjbaOPJv95SOlDCSq3/Z4OrlA7HIsJyZ Q/KdtnefRUc7NUrsyHLA0QbCZKyOWWjHUrSW9XK9botwBx2ejR9Bl7UhNeuGOK1kML0P H0asFyWhdAZfNHPqVdaWt71yoQQrima8TcM+2TQ3qTBB4tahKM5Gw2Njf8uBPAS+Eie3 M94g== X-Gm-Message-State: AG10YOSl80cm+pL2giFgCnoJyxpMq48SP72mhONMQwAla568dmuSox+BMs0DKxstaVh3Yxu/6WmZXScZZmdIdQ== X-Received: by 10.28.99.136 with SMTP id x130mr23632537wmb.12.1454738922325; Fri, 05 Feb 2016 22:08:42 -0800 (PST) Original-Received: by 10.195.11.201 with HTTP; Fri, 5 Feb 2016 22:08:42 -0800 (PST) In-Reply-To: <0MfmrK-1aduFO2FHA-00NEPX@mail.gmx.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c09::22f 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:12363 Archived-At: --001a114877f8b4d0c9052b13ccca Content-Type: text/plain; charset=UTF-8 Hi 2016-02-06 1:47 GMT+01:00 Cao Jin : > It's interesting. I have used Matlab for many years, but never tried R. As > for as I know, there are tons of state-of-the-art library in R and Matlab. > > After skimming your paper, I wander that > 1) Are these library used in your code example implemented by yourself? Or > other libraries are called, such as LAPACK for linear algebra? > Everything is either written from scratch, or uses one of the helper libraries (two such libraries are included in the repo; the other is SRFI-1). The point of the book is that it is not a tutorial on using libraries, but it explains some methods and translates these explanations to Scheme, so that they can be modified and extended easily. If you are looking for some serious numerical libraries for Scheme, there's a very powerful scmutils package available http://www.cs.rochester.edu/~gildea/guile-scmutils/ I've actually used its code for Singular Value Decomposition to perform Principal Component Analysis. 2) Is it easy to use scheme and your library, or maybe some others, to do > computational job? In practice, those who use R or Matlab want their idea > to be proved quickly, not to spend time on coding style, right? > > I think it depends on a point of view. I initially tried using R, but it was causing many unexpected problems, but I already knew Scheme quite well, and for me even implementing the libraries from scratch wasn't that much of a job. But the book is mostly about fun, and about understanding. Also, interfacing Guile with Emacs through Geiser is an incredible productivity boost. Interestingly, when I benchmarked the genetic algorithm that I wrote with genalg package from R, the Scheme version run in Guile actually outperformed the R version, although it was written in completely performance-naive style. On the other hand, if you wanted to use the decision trees classifier, you'd probably want to apply memoization. If scheme can do most computational job as python numpy does, I will switch > to it. > I think that in practice Scheme can be even more convinient, as it provides native support for complex numbers I also think it would be helpful to interface Guile with plot generation. I see that Nala has a guile-plot package, but I haven't tried it. I personally wrote some code for generating LaTeX pgfplots for the project, and can add it to the repo if you llike. --001a114877f8b4d0c9052b13ccca Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi

2016-02-06 1:47 GMT+01:00 Cao Jin <lop@null.net>:
It's interesting. I have us= ed Matlab for many years, but never tried R. As for as I know, there are to= ns of state-of-the-art library in R and Matlab.

After skimming your paper, I wander that
1) Are these library used in your code example implemented by yourself? Or = other libraries are called, such as LAPACK for linear algebra?

Everything is either written from scratch, or uses = one of the helper libraries (two such libraries are included in the repo; t= he other is SRFI-1).
The point of the book is that it is not = a tutorial on using libraries, but it explains some methods and translates = these explanations to Scheme, so that they can be modified and extended eas= ily.
=C2=A0
If you are looking=C2=A0 for some s= erious numerical libraries for Scheme, there's a very powerful scmutils= package available

http://www.cs.rochester.edu/~gildea/guile-scmutils/
<= br>
I've actually used its code for Singular Value Decomposit= ion to perform Principal Component Analysis.

2) Is it easy to use scheme and your library, or maybe some others, to do c= omputational job? In practice, those who use R or Matlab want their idea to= be proved quickly, not to spend time on coding style, right?

I think it depends on a point of view. I initially tr= ied using R, but it was causing many unexpected problems, but I already kne= w Scheme quite well, and for me even implementing the libraries from scratc= h wasn't that much of=C2=A0 a job.
But the book is mostly= about fun, and about understanding.
Also, interfacing Guile = with Emacs through Geiser is an incredible productivity boost.

Interestingly, when I benchmarked the genetic algorithm that I wrote = with genalg package from R, the Scheme version run in Guile actually outper= formed the R version, although it was written in completely performance-nai= ve style.

On the other hand, if you wanted to use the dec= ision trees classifier, you'd probably want to apply memoization.

If scheme can do most computational job as python numpy does, I will switch= to it.

I think that in practice Scheme= can be even more convinient, as it provides native support for complex num= bers

I also think it would be helpful to inter= face Guile with plot generation. I see that Nala has a guile-plot package, = but I haven't tried it. I personally wrote some code for generating LaT= eX pgfplots for the project, and can add it to the repo if you llike.


--001a114877f8b4d0c9052b13ccca--