From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Noah Lavine Newsgroups: gmane.lisp.guile.user Subject: Re: Typed Guile? Date: Tue, 18 Sep 2012 23:11:50 -0400 Message-ID: References: <24649.77.105.186.199.1348020369.squirrel@lavabit.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: ger.gmane.org 1348024322 10251 80.91.229.3 (19 Sep 2012 03:12:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 19 Sep 2012 03:12:02 +0000 (UTC) Cc: guile-user@gnu.org To: thorsopia@lavabit.com Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Wed Sep 19 05:12:06 2012 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 1TEAhn-0002qg-GM for guile-user@m.gmane.org; Wed, 19 Sep 2012 05:12:03 +0200 Original-Received: from localhost ([::1]:50832 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TEAhi-0002WX-Up for guile-user@m.gmane.org; Tue, 18 Sep 2012 23:11:58 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:37597) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TEAhe-0002WK-Oc for guile-user@gnu.org; Tue, 18 Sep 2012 23:11:55 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TEAhc-0004ne-3u for guile-user@gnu.org; Tue, 18 Sep 2012 23:11:54 -0400 Original-Received: from mail-ob0-f169.google.com ([209.85.214.169]:54194) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TEAhb-0004nY-VK for guile-user@gnu.org; Tue, 18 Sep 2012 23:11:52 -0400 Original-Received: by obhx4 with SMTP id x4so658900obh.0 for ; Tue, 18 Sep 2012 20:11:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=70CzBJ0RkfbpAoJ9S6AhDJlVQpVxzWBvCZCFpvb3SbQ=; b=HzXXlgPVaSuSEbz/XhnHJfw5Qx0eV6IN0R4InN3Nc7kmgYAmq1tGxo+FgYaDmaaqzf xx5IVlIaTlIhL5lYgte1tsYz6O+DnNEhH6mTOYhtlFHwLz19mgMAhExW+GgmLqiY1uYT +umituyMSsaLc4uQ90gQepthdkQ/AOM4GngFY2W3H6SCqdPzjRXWY88IrjqxjTljHdj9 LTgmcJJKbKTyLaRHaKVy4gXOOss/eRkm4ctpiym1cLqX/IACZyWHv9+WUj7ZC+iMMAkc W4N9PIkNiO+5HSX/sRDIsbNBegSUhEf58H1GaKSsUPP42/q5WGAUdL2iVe6WNJeeHwSX 2nhQ== Original-Received: by 10.182.159.42 with SMTP id wz10mr1962158obb.49.1348024311046; Tue, 18 Sep 2012 20:11:51 -0700 (PDT) Original-Received: by 10.76.167.197 with HTTP; Tue, 18 Sep 2012 20:11:50 -0700 (PDT) In-Reply-To: <24649.77.105.186.199.1348020369.squirrel@lavabit.com> X-Google-Sender-Auth: GbiJiTv8kRKDSb-TH1stM-SeKOU X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.214.169 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:9586 Archived-At: Hello, Here are a few random thoughts: I had a project a little while ago to try to get some of the benefit of static typing in Guile. It never went very far, but actually some of the same machinery is coming to the surface in the compiler anyway. I think it could be taken farther, to the point that Guile really would have the benefits of a statically-typed language. However, what's in Guile right now is not that, and it might take some work to get it there. So no, Guile is not statically typed right now. Performance is another interesting question. Of the things you named, only Guile doesn't compile to native code (yet), so that's going to be a performance hit. However, performance is relative. Since you didn't list C or Fortran as choices, you don't care about having extreme control over what your machine is doing; I don't know enough about your goals to know whether Guile will give you the performance you want. But Guile can be extended in C, so you have the option to go as fast as you want. That's the best I can do without knowing more about your library. Thanks, Noah Lavine On Tue, Sep 18, 2012 at 10:06 PM, wrote: > Hi, > > The first part of this message may look irrelevent, but you'll > understand why I decided to start this way. > > I'm going to write a library. > > Here is the list of things I care about (from the most important to > the least important): > > - Strict type system; > - Wide community; > - Performance. > > There are several candidates: > > - Haskell; > - Typed Racket; > - Typed Clojure*. > > Which one should I choose? > > (Please don't answer right now.) > > I've already tried to ask TR people: > > "Typed Racket is designed for Racket. One day Guile will have a Typed > Guile companion, and Chez Scheme may have a Typed Chez companion but > until then TR is for Racket." [1] > > Is it this bad? Do we really need Typed Guile? > > Can we somehow adapt the static code to achieve its features in Guile? > > I'm really concerned about code reuse. It's time to stop reinventing > the wheel. > > My writing skills are not very great... > So I'm going to summarize the above: > > 1. What language should I choose for my library? > 2. Do we need Typed Guile? > > * I know nothing about TC's type system, but it's a possible candidate. > > [1] http://lists.racket-lang.org/users/archive/2012-September/054037.html > (This is not the first message on this thread.) > > > >