From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Jonathan Bartlett Newsgroups: gmane.lisp.guile.devel Subject: Ideas Date: Fri, 23 May 2003 15:18:49 -0700 (PDT) Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Message-ID: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: main.gmane.org 1053728679 6581 80.91.224.249 (23 May 2003 22:24:39 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Fri, 23 May 2003 22:24:39 +0000 (UTC) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sat May 24 00:24:35 2003 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19JKxm-0001hZ-00 for ; Sat, 24 May 2003 00:24:34 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.20) id 19JKyJ-0007IF-LV for guile-devel@m.gmane.org; Fri, 23 May 2003 18:25:07 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.20) id 19JKxo-00076v-R4 for guile-devel@gnu.org; Fri, 23 May 2003 18:24:36 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.20) id 19JKvt-0005n6-4M for guile-devel@gnu.org; Fri, 23 May 2003 18:22:38 -0400 Original-Received: from mx1.eskimo.com ([204.122.16.48]) by monty-python.gnu.org with esmtp (Exim 4.20) id 19JKtX-0003rt-Hj for guile-devel@gnu.org; Fri, 23 May 2003 18:20:11 -0400 Original-Received: from eskimo.com (johnnyb@eskimo.com [204.122.16.13]) by mx1.eskimo.com (8.9.3/8.8.8) with ESMTP id PAA21252 for ; Fri, 23 May 2003 15:18:49 -0700 Original-Received: from localhost (johnnyb@localhost) by eskimo.com (8.9.1a/8.9.1) with ESMTP id PAA23065 for ; Fri, 23 May 2003 15:18:49 -0700 (PDT) X-Authentication-Warning: eskimo.com: johnnyb owned process doing -bs Original-To: guile-devel@gnu.org X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Developers list for Guile, the GNU extensibility library List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.devel:2433 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:2433 I'm new to the list. Here are some ideas that I have thought about implementing if I have the time, but I thought I'd share them here in case I'm way off-base. 1) A Guile dump()-type function In order to get compile-time evaluation / run-time evaluation separation, as well as to make executables work without the GUILE runtime, I was thinking about implementing a dump/undump mechanism for GUILE. Basically, have a procedure called (end-compile-time-evaluation) which would do the following: * Save the current continuation in a variable * Set a global variable restart_from_continuation * call dump() Then, it would be undumped into a regular executable. The only change to guile itself would be to check the restart_from_continuation variable when starting and call the continuation if it is not null. This would give the following advantages: * Guile would not have to be distributed w/ the app * Apps wouldn't have to wait for modules to load before starting, if they load them before calling (end-compile-time-evaluation) * No initialization would be necessary * You can do real compile-time programming. Anyway, it's something I've been thinking about working on, let me know if I'm wrong-headed or someone has a better idea. Jon _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel