From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 0C9FD820A1 for ; Tue, 20 Aug 2013 05:19:03 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of richter@math.northwestern.edu) identity=pra; client-ip=129.105.81.68; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="richter@math.northwestern.edu"; x-sender="richter@math.northwestern.edu"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of richter@math.northwestern.edu designates 129.105.81.68 as permitted sender) identity=mailfrom; client-ip=129.105.81.68; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="richter@math.northwestern.edu"; x-sender="richter@math.northwestern.edu"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of postmaster@levi.math.northwestern.edu designates 129.105.81.68 as permitted sender) identity=helo; client-ip=129.105.81.68; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="richter@math.northwestern.edu"; x-sender="postmaster@levi.math.northwestern.edu"; x-conformance=sidf_compatible; x-record-type="v=spf1" X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtgAAAjfElKBaVFEjWdsb2JhbABawz6BJRYOAQEBAQkWBxgkgiQBAQQBeQULCyElD0gGDogPBqoJgSmPEoFKB4QSA4kto0Y X-IPAS-Result: AtgAAAjfElKBaVFEjWdsb2JhbABawz6BJRYOAQEBAQkWBxgkgiQBAQQBeQULCyElD0gGDogPBqoJgSmPEoFKB4QSA4kto0Y X-IronPort-AV: E=Sophos;i="4.89,916,1367964000"; d="scan'208";a="29797026" Received: from levi.math.northwestern.edu ([129.105.81.68]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 20 Aug 2013 05:19:01 +0200 Received: from poisson.math.northwestern.edu (poisson.math.northwestern.edu [129.105.81.230]) by levi.math.northwestern.edu (8.14.4/8.14.4) with ESMTP id r7K3IwTx030019 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 19 Aug 2013 22:18:59 -0500 Received: (from richter@localhost) by poisson.math.northwestern.edu (8.14.4/8.14.4/Submit) id r7K3Iw5t000609; Mon, 19 Aug 2013 22:18:58 -0500 Date: Mon, 19 Aug 2013 22:18:58 -0500 Message-Id: <201308200318.r7K3Iw5t000609@poisson.math.northwestern.edu> From: Bill Richter To: Goswin von Brederlow CC: caml-list@inria.fr In-reply-to: <20130819155116.GA3104@frosties> (message from Goswin von Brederlow on Mon, 19 Aug 2013 17:51:16 +0200) References: <201308120312.r7C3Cn35015470@poisson.math.northwestern.edu> <20130819155116.GA3104@frosties> Subject: Re: [Caml-list] Obj.magic, Toploop, HOL Light & pretty-printing exceptions Goswin, thanks for the reply! I'm not sure if I'm using Obj.magic (I'll study this question), and I couldn't tell if your prohibition of Obj.magic extends to Toploop.getvalue, which I definitely am using: > let exec = ignore o Toploop.execute_phrase false Format.std_formatter > o !Toploop.parse_toplevel_phrase o Lexing.from_string;; Thanks for explaining why `eval' crashes the GC because of advanced pointers by 2. Perhaps I can draw you into what I think is the real discussion. How does one complete the standard Scheme-type exercise of building an ocaml meta-interpreter inside ocaml? You can do this easily in Scheme because of the quote feature. What I and my teachers Freek, Mark and Vince are doing is, I think, trying to emulate the Scheme quote feature with Toploop & Obj.magic. -- Best, Bill