From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Chris Vine Newsgroups: gmane.lisp.guile.user Subject: Re: Transient environment with standard functions Date: Fri, 10 Jun 2016 23:35:28 +0100 Message-ID: <20160610233528.0f568f8d@laptop.homenet> References: <30B0B35B-F6B0-4FD4-A35D-3E6542C3871F@gmail.com> <7B7BC3F7-A25D-427D-8E21-D3583C3C7DEA@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1465598162 14119 80.91.229.3 (10 Jun 2016 22:36:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 10 Jun 2016 22:36:02 +0000 (UTC) To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sat Jun 11 00:36:01 2016 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 1bBV21-0007RA-Fr for guile-user@m.gmane.org; Sat, 11 Jun 2016 00:36:01 +0200 Original-Received: from localhost ([::1]:44768 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bBV20-0003fp-OE for guile-user@m.gmane.org; Fri, 10 Jun 2016 18:36:00 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37701) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bBV1g-0003eA-5Q for guile-user@gnu.org; Fri, 10 Jun 2016 18:35:40 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bBV1b-00020Q-0H for guile-user@gnu.org; Fri, 10 Jun 2016 18:35:39 -0400 Original-Received: from host242-216-static.82-213-b.business.telecomitalia.it ([213.82.216.242]:35596 helo=laptop.homenet) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bBV1a-0001zw-OS for guile-user@gnu.org; Fri, 10 Jun 2016 18:35:34 -0400 Original-Received: from laptop.homenet (localhost [127.0.0.1]) by laptop.homenet (Postfix) with ESMTP id 521CF54A55B for ; Fri, 10 Jun 2016 23:35:29 +0100 (BST) In-Reply-To: <7B7BC3F7-A25D-427D-8E21-D3583C3C7DEA@gmail.com> X-Mailer: Claws Mail 3.13.1 (GTK+ 2.24.30; i686-pc-linux-gnu) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 213.82.216.242 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.lisp.guile.user:12617 Archived-At: On Fri, 10 Jun 2016 14:44:43 -0400 Matthew Keeter wrote: > Thanks for the reply! >=20 > You=E2=80=99ll be sad to hear that I=E2=80=99ve solved the problem by swi= tching to > Racket =E2=80=93 (make-base-namespace) creates the kind of temporary > environment I needed, and multiple calls produce multiple independent > namespaces. With guile, the undocumented 'make-fresh-user-module' procedure probably does what you want. It constructs a new top level for the thread of execution which calls it, which is unique as against any other top level. Whether it is what you want depends on what you mean by an "environment", which is not necessarily the same as a "namespace". If you are after a new namespace, make-fresh-user-module should do it.