From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Noah Lavine Newsgroups: gmane.lisp.guile.devel Subject: Re: CPS thoughts Date: Mon, 20 May 2013 23:21:10 -0400 Message-ID: References: <87ppwl9zgi.fsf@pobox.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=047d7b5d88871bb99004dd31f21c X-Trace: ger.gmane.org 1369106514 8503 80.91.229.3 (21 May 2013 03:21:54 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 21 May 2013 03:21:54 +0000 (UTC) Cc: guile-devel To: Andy Wingo Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue May 21 05:21:53 2013 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 1Ued96-0006UD-5D for guile-devel@m.gmane.org; Tue, 21 May 2013 05:21:52 +0200 Original-Received: from localhost ([::1]:47611 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ued95-0002nv-Jo for guile-devel@m.gmane.org; Mon, 20 May 2013 23:21:51 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:47264) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ued8y-0002nU-QT for guile-devel@gnu.org; Mon, 20 May 2013 23:21:49 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ued8n-0005sS-Ht for guile-devel@gnu.org; Mon, 20 May 2013 23:21:44 -0400 Original-Received: from mail-pa0-f48.google.com ([209.85.220.48]:42602) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ued8n-0005s4-7B for guile-devel@gnu.org; Mon, 20 May 2013 23:21:33 -0400 Original-Received: by mail-pa0-f48.google.com with SMTP id kp6so242141pab.7 for ; Mon, 20 May 2013 20:21:31 -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:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; bh=wKaSK8fdhFZeoEz3YD5FJKi23WwagpvSutIWMmA3p6c=; b=dS4WhM5sSxVSdqOAM+yYqdjxfEJrabxK3GNyE6b+G0888N0ZXn02cTfHL1yqQgZmyq wGNVOWuiKLU7CYKHAgX3wdMPTFVqORgVADoPjpel95VlJar8fNKeJrfTbqafUEiamk7r PfCFZrSXvGHp3aT7a99siQFSSl2UhnNVtnBkDqBK9Psuj0N1z+UMuUdUiG/k0YbmXH6Z p4TqN6pl+NlZOF+Y6S7M9L3yDDWu5w9q+/O6rY2C81XvDdea88N2D2ytAU4PfykLVh6b b0RSWszOZEoaXyMvkIhNgUjrRvlPWFf+IXiTgKr7vHlDXhRwc80j59QlfECHYXlCY3s3 2mOg== X-Received: by 10.66.222.228 with SMTP id qp4mr1025664pac.113.1369106491879; Mon, 20 May 2013 20:21:31 -0700 (PDT) Original-Received: by 10.68.139.98 with HTTP; Mon, 20 May 2013 20:21:10 -0700 (PDT) In-Reply-To: <87ppwl9zgi.fsf@pobox.com> X-Google-Sender-Auth: 2u1IJWr2UTbfM3WDER9eYQe3bVE X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.85.220.48 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:16398 Archived-At: --047d7b5d88871bb99004dd31f21c Content-Type: text/plain; charset=ISO-8859-1 Hello, Thanks for the review. On Mon, May 20, 2013 at 4:19 PM, Andy Wingo wrote: > Some first thoughts on the CPS language, just after having looked at > (language cps): > > * Overall looking really good. > Thanks! You may choose to retract that after you see the other files, of course. :-) > * License blocks are missing. > > * Toplevel comments should be prefixed by ";;; " (three semicolons). > > * Overview could go in the module commentary section. > These three should be simple to fix. > * Missing distinction between original names and unique names. > Yes, I agree. I think it even reuses original names sometimes, which is not good. I should just rename everything. > * Missing source information. > The issue here is not that it's hard to pass source information through to the compiler, but that I haven't figured out what to do with it when I have it. I imagine that your ELF work has solved this problem. > * Missing procedure properties. > Can you explain what you mean? Does the compiler need to handle procedure properties specially? > * Why is there no "let" that can bind functions? You don't always want > to set up a recursive binding environment. > > * Lambdas are missing lambda* and case-lambda support. > With these two, it's just that I haven't implemented it yet. I'll try to do it quickly, although I don't know how much time I'll have to work on it. > What do you think about rebasing? wip-rtl-may-2013 is a good target > until wip-rtl goes into master. > Sounds great! I think the compiler stuff is fairly separate from the RTL stuff - when I've rebased it occasionally, it hasn't been a problem. Best, Noah --047d7b5d88871bb99004dd31f21c Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Hello,

Thanks for the review.

On Mon, May 20, 2013 at = 4:19 PM, Andy Wingo <wingo@pobox.com> wrote:
Some first thoughts on the CPS language, jus= t after having looked at
(language cps):

=A0* Overall looking really good.

Thanks! You may = choose to retract that after you see the other files, of course. :-)
=A0
=A0 * License blocks are missing.

=A0* Toplevel comments should be prefixed by ";;; " (three semico= lons).

=A0* Overview could go in the module commentary section.

These three should be simple to fix.
=A0
=A0* Missing distinction between original names and unique names.

Yes, I agree. I think it even reuses original na= mes sometimes, which is not good. I should just rename everything.
=A0
=A0* Missing source information.

The is= sue here is not that it's hard to pass source information through to th= e compiler, but that I haven't figured out what to do with it when I ha= ve it. I imagine that your ELF work has solved this problem.
=A0
=A0 * Missing procedure properties.

Can you= explain what you mean? Does the compiler need to handle procedure properti= es specially?
=A0
=A0 * Why is there no "let" that can bind functions? =A0You don't= always want
=A0 =A0to set up a recursive binding environment.

=A0* Lambdas are missing lambda* and case-lambda support.
<= div>
With these two, it's just that I haven't impleme= nted it yet. I'll try to do it quickly, although I don't know how m= uch time I'll have to work on it.
=A0
What do you think about rebasing? =A0wip-rtl-may-2013 is a good target
until wip-rtl goes into master.

Sounds = great! I think the compiler stuff is fairly separate from the RTL stuff - w= hen I've rebased it occasionally, it hasn't been a problem.
=A0
Best,
Noah
--047d7b5d88871bb99004dd31f21c--