From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?UTF-8?Q?=E7=99=BD=E3=81=84=E7=86=8A?= Newsgroups: gmane.lisp.guile.user Subject: Re: Determining programatically whether the interpreter is Guile or Clisp or Emcs Date: Thu, 01 Aug 2013 16:42:31 +0400 Message-ID: References: <23837d79-03e3-4792-a4b7-e3a6c96ed390@email.android.com> <20130731102042.GB15597@seid-online.de> <1375319563.8252.65.camel@Renee-desktop.suse> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1375360978 2649 80.91.229.3 (1 Aug 2013 12:42:58 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 1 Aug 2013 12:42:58 +0000 (UTC) To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Thu Aug 01 14:43:00 2013 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 1V4sDa-0005IR-Mj for guile-user@m.gmane.org; Thu, 01 Aug 2013 14:42:58 +0200 Original-Received: from localhost ([::1]:40413 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V4sDa-0001P0-Bg for guile-user@m.gmane.org; Thu, 01 Aug 2013 08:42:58 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34479) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V4sDM-0001Ec-1Q for guile-user@gnu.org; Thu, 01 Aug 2013 08:42:50 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V4sDF-0000jX-LN for guile-user@gnu.org; Thu, 01 Aug 2013 08:42:43 -0400 Original-Received: from deleuze.hcoop.net ([69.90.123.67]:50573) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V4sDF-0000hy-Gx for guile-user@gnu.org; Thu, 01 Aug 2013 08:42:37 -0400 Original-Received: from navajos.hcoop.net ([69.90.123.70] helo=webmail.hcoop.net ident=roundcube) by deleuze.hcoop.net with esmtp (Exim 4.63) (envelope-from ) id 1V4sD9-000559-PI for guile-user@gnu.org; Thu, 01 Aug 2013 08:42:31 -0400 In-Reply-To: <1375319563.8252.65.camel@Renee-desktop.suse> X-Sender: guile-user_gnu.org@sumou.com User-Agent: Roundcube Webmail/0.9.2 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 69.90.123.67 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:10599 Archived-At: On 2013-08-01 05:12, Nala Ginrut wrote: > On Wed, 2013-07-31 at 12:20 +0200, Ralf Mattes wrote: >> Isn't the main problem here that the OP assumes that all three >> languages >> have "the same syntax"? This isn't true at all. They share some basic >> syntax but any "real" CL/Elisp/Scheme code will use more than this >> basic >> subset. And even within this limited syntactic subset, while one >> syntax >> will work the same syntactic consgruct will have different >> _semantics_. > > Yes, I'm afraid you're right, so I said pre-process is more portable. > Anyway, the project based on such an assumption will be very fragile. I disagree. I'm quite aware of the differences and that is exactly the reason, I'm doing this. Do have to say that originally I assumed the syntax between Lisp and Scheme is much closer, that's right. Anyhow, if it's of any interest, what I'm doing is: I'm developing http://kumatux.org/ What's on the web is the old version, I've converted about half the code to Lisp already and have made it fold both ways Lisp and Elisp. What this means is that I can call any function in Emacs or Clisp, and it'll automatically decide what the interpreter is and then modify the execution of the functions and code, so that the syntactic set is respected. I realize now that this is completely not very feasible - to merge it with Scheme, however would like to at least keep playing with this for petty parts of the project. Just like like the idea of having one .lisp file, that can be called without any preprocessing within Emacs, Clisp, or Guile and it'll run. Currently I like playing with Clisp more, what I like about Guile is that it's a new project, so would like to incorporate it into the game a little too. Anyhow, I've been experimenting with the latest recommendation of: (with-output-to-string (lambda... and seems I'm close, however it coughs up errors in Clisp, so still no go. So if anyone would have alternate ideas, I'd be very much obliged. Thanks for helping me. -- 白い熊