From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Newsgroups: gmane.lisp.guile.devel,gmane.comp.gnu.lightning.general Subject: Re: Bug free programs Date: Tue, 16 Sep 2014 20:57:48 -0400 Message-ID: <20140917005748.8CXVB.21497.root@cdptpa-web03> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1410915499 17794 80.91.229.3 (17 Sep 2014 00:58:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 17 Sep 2014 00:58:19 +0000 (UTC) To: lightning , Ian Grant , guile-devel Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Sep 17 02:58:12 2014 Return-path: Envelope-to: guile-devel@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 1XU3ZT-0000R6-FD for guile-devel@m.gmane.org; Wed, 17 Sep 2014 02:58:11 +0200 Original-Received: from localhost ([::1]:41463 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XU3ZT-0007vX-2K for guile-devel@m.gmane.org; Tue, 16 Sep 2014 20:58:11 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55237) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XU3ZJ-0007v3-05 for guile-devel@gnu.org; Tue, 16 Sep 2014 20:58:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XU3ZA-00079o-Kf for guile-devel@gnu.org; Tue, 16 Sep 2014 20:58:00 -0400 Original-Received: from cdptpa-outbound-snat.email.rr.com ([107.14.166.232]:29355 helo=cdptpa-oedge-vip.email.rr.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XU3ZA-000793-Hd for guile-devel@gnu.org; Tue, 16 Sep 2014 20:57:52 -0400 Authentication-Results: cdptpa-oedge01 smtp.user=dsmich@roadrunner.com; auth=pass (LOGIN) Original-Received: from [107.14.174.248] ([107.14.174.248:61187] helo=cdptpa-web03) by cdptpa-oedge01 (envelope-from ) (ecelerity 3.5.0.35861 r(Momo-dev:tip)) with ESMTPA id F2/2E-02706-C8CD8145; Wed, 17 Sep 2014 00:57:48 +0000 In-Reply-To: X-Priority: 3 (Normal) Sensitivity: Normal X-Originating-IP: from 104.139.20.85 by webmail.roadrunner.com; Wed, 17 Sep 2014 0:57:48 +0000 X-RR-Connecting-IP: 107.14.168.118:2525 X-Cloudmark-Score: 0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 107.14.166.232 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:17461 gmane.comp.gnu.lightning.general:585 Archived-At: ---- Ian Grant wrote: .... > One may ask what has this to do with scheme? Well, Standard ML can > compose scheme or C code just as easily as it can compose assembler > code. So a Standard ML functor can define a typed template that will > allow one to exchange underling scheme implementations of functional > interfaces as easily as it does ML. This is why I want to get Moscow > ML working under Guile. Moscow ML is really light-weight when compared > with Guile. My machine takes 42 minutes (no, really, I timed it!) to > byte-compile just ice9-pp.go. By comparison, the whole Moscow ML > autoconf/build cycle takes less than 50s. This includes the runtime, > the Standard ML basis library, and the lexer and parser generators and > the compiler and toplevel REPL. And there's a fair bit of junk we > could trip out, and we could make it a lot faster once we JIT compile > the bytecode instead of interpreting it, and when that JIT compiled > bytecode uses native Guile SCM objects to representall its data, then > there will no penalty whatsoever in a Guile program just switching to > Standard ML when it seems like a good idea. Note that the 42 minutes here is a dumbed-down scheme interpreter written in C building/boostrapping the compiler. The guile compiler (the Scheme one) is quite a bit faster than that. -Dale