From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ian Grant Newsgroups: gmane.lisp.guile.devel Subject: Re: implementation idea for infinite cons lists aka scon(e)s lists. Date: Mon, 15 Sep 2014 10:37:57 -0400 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=f46d043be12ebcd53a05031b94b8 X-Trace: ger.gmane.org 1410791905 16101 80.91.229.3 (15 Sep 2014 14:38:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 15 Sep 2014 14:38:25 +0000 (UTC) Cc: guile-devel To: Stefan Israelsson Tampe Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Sep 15 16:38:20 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 1XTXQ4-0003ak-57 for guile-devel@m.gmane.org; Mon, 15 Sep 2014 16:38:20 +0200 Original-Received: from localhost ([::1]:60200 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XTXQ3-0002nW-Hc for guile-devel@m.gmane.org; Mon, 15 Sep 2014 10:38:19 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45361) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XTXPv-0002jZ-IW for guile-devel@gnu.org; Mon, 15 Sep 2014 10:38:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XTXPl-000720-MH for guile-devel@gnu.org; Mon, 15 Sep 2014 10:38:11 -0400 Original-Received: from mail-wi0-x233.google.com ([2a00:1450:400c:c05::233]:42311) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XTXPl-00071a-8U for guile-devel@gnu.org; Mon, 15 Sep 2014 10:38:01 -0400 Original-Received: by mail-wi0-f179.google.com with SMTP id q5so2295874wiv.12 for ; Mon, 15 Sep 2014 07:37:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=kYsjCT+CT+/nVojWuV/pUTcjEbyUtTca5v23P4vsO+w=; b=TLKDI6zF5snxr3MoY4hJ2Pq9CTQry9hZo1lASfERNRurvSzNf9WAOlDKgQHr8MCBxG /1wg8x1pDN0SW3bBBoDo+6wZBmLEgyiDVnufUY6dqMEDGYx6bE1Ki8aPmEOaGzu28kHi 2etmC7ef1CHQunGV8ASdvDpCfS029MvQ2bkh6MPe4cNyG5r3wvPc3z/NrJ8kVw2w2dVc i7iKowSG1DsS3zRPnRSkujLIGI+eZUxU7pydIthlF5pYZt79aDZmp/dpjKzTVSFDD+V/ xLYLbS0qmTJUQDA67ffcSmt1IX/Yf0vlyBnIartpYugn6BeGiHrbtwfieGK1vLx2LsQD 7LtA== X-Received: by 10.181.13.116 with SMTP id ex20mr24337975wid.31.1410791877955; Mon, 15 Sep 2014 07:37:57 -0700 (PDT) Original-Received: by 10.194.81.194 with HTTP; Mon, 15 Sep 2014 07:37:57 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c05::233 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:17445 Archived-At: --f46d043be12ebcd53a05031b94b8 Content-Type: text/plain; charset=UTF-8 On Sat, Sep 13, 2014 at 7:19 AM, Stefan Israelsson Tampe < stefan.itampe@gmail.com> wrote: > Anyhow today I think that programming in C should be done like in my > c-lambda repo at gitorius. > I can't find it. Can you send me a URL? I have actually copied sbcl's assebler for amd64. you can find it in the > aschm > repo at gitorious, and here again the meta programming you get with scheme > is fantastic > I found this. It looks really good. I like the way it handles labels. I haven't yet looked up how you do it, I guess its a syntax macro of some kind - I didn't know they could do that though. It looks like SBCL hackers have been playing with virtual machines metaprogrammed in LISP for a while. But they don't do abstract syntax for their VM, so every implementation is a concrete LISP program implementing the VM in some particular assembler or other. But writing a common, abstract VM spec, as an s-exp, for example, and then interpreting that one common abstract spec in each of the particular concrete assembler languages is only a small step to make. But it gets you a completely portable LISP runtime very quickly, if all your LISP primitives were specified in that abstract assembler. Ian --f46d043be12ebcd53a05031b94b8 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On Sat, Sep 13, 2014 at 7:19 AM, Stefan Israelsson Tampe <= span dir=3D"ltr"><stefan.itampe@gmail.com> wrote:
Anyhow today I think that programming in C shou= ld be done like in my c-lambda repo at gitorius.
I can't find it. Can you send me a URL?

=C2=A0I have a= ctually copied sbcl's assebler for amd64. you can find it in the aschm<= div>repo at gitorious, and here again the meta programming you get with sch= eme is fantastic

I found this. It looks really good. I like the way it handles l= abels. I haven't yet looked up how you do it, I guess its a syntax macr= o of some kind - I didn't know they could do that though.

=
It looks like SBCL hackers have been playing wit= h virtual machines metaprogrammed in LISP for a while. But they don't d= o abstract syntax for their VM, so every implementation is a concrete LISP = program implementing the VM in some particular assembler or other. But writ= ing a common, abstract VM spec, as an s-exp, for example, and then interpre= ting that one common abstract spec in each of the particular concrete assem= bler languages is only a small step to make. But it gets you a completely p= ortable LISP runtime very quickly, if all your LISP primitives were specifi= ed in that abstract assembler.

Ian<= br>

--f46d043be12ebcd53a05031b94b8--