From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thierry Volpiatto Newsgroups: gmane.emacs.devel Subject: Re: persistent lisp objects Date: Sun, 25 Oct 2009 11:26:50 +0100 Organization: ThierryVolpiatto Message-ID: <87hbtn6a6t.fsf@tux.homenetwork> References: <871vlqt9rv.fsf@tux.homenetwork> <87ljjv5y5b.fsf@tux.homenetwork> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1256467634 29164 80.91.229.12 (25 Oct 2009 10:47:14 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 25 Oct 2009 10:47:14 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Oct 25 11:47:07 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1N20cp-0002pQ-92 for ged-emacs-devel@m.gmane.org; Sun, 25 Oct 2009 11:47:04 +0100 Original-Received: from localhost ([127.0.0.1]:54114 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N20cn-00005L-1C for ged-emacs-devel@m.gmane.org; Sun, 25 Oct 2009 06:47:01 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N20Pb-0004nU-Nx for emacs-devel@gnu.org; Sun, 25 Oct 2009 06:33:23 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N20PS-0004lB-Bm for emacs-devel@gnu.org; Sun, 25 Oct 2009 06:33:20 -0400 Original-Received: from [199.232.76.173] (port=33632 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N20PR-0004kg-2e for emacs-devel@gnu.org; Sun, 25 Oct 2009 06:33:13 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:46002) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1N20PQ-0002zK-0J for emacs-devel@gnu.org; Sun, 25 Oct 2009 06:33:12 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.50) id 1N20PN-0006zL-1O for emacs-devel@gnu.org; Sun, 25 Oct 2009 11:33:09 +0100 Original-Received: from 93.4.141.19 ([93.4.141.19]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 25 Oct 2009 11:33:09 +0100 Original-Received: from thierry.volpiatto by 93.4.141.19 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 25 Oct 2009 11:33:09 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 37 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 93.4.141.19 Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAElBMVEUHBARgJRFPS0WbMBTC TSG/uJs0yyVHAAAACXBIWXMAAAsSAAALEgHS3X78AAAACXZwQWcAAAAwAAAAMADO7oxXAAABpUlE QVQ4y3VTQXKDMAyUnD7AwvQOhtxj5N4LFh9ow/+/UtlpM0BczWSS0Wola7UBeEb3+3kJ/5p9ZLz3 UI0n0J0Y4K/lh1nG24FhlJOR2LdSKtpV5gfi/Zd+NdaJBbB4D5N0JnfUIVp6obZURkJwS2a8b9uX AkgxA5gCEcknAH1s2z0DPooWmjGKcJR+HNZt+9bm0GtGRycRuZGs98Ffr02vABWGopIAhmXmxnQN BwBXZjgFLHRoqbfeYxCLWqsjLyKhbEHW+A5nEs699Q2O80ALrgHTmUTy6P0MnKyKQpKHpoNWokxs F0D5VegvWmEozyE6nuMiS98mWzlUQ9bW8qYfqOaFtzWlYCqGeIs6HEyl08jkrxUG9MF5ipXpOOpd ZMoXPPVSLWJiiwNNB+eRSyxJZmQKcacikgucnCRiHuJOLmyYJRDPwOqAvY4pA+Wy+VS8G26BAsdb Ph2Hw7ORy/H0IOG0TnaM8Cp0XrFYyU0v2z8AqkifPVbLZ0qo/gsRg60C7p+8Ov9jrUIxFde+jnAq X42hyp/c+ZcnVyUYBarrqZt3+R8450png3cWKgAAACV0RVh0Y3JlYXRlLWRhdGUAMjAwOC0wNS0z MVQyMjoxNDoyMiswMjowMM7uH/IAAAARdEVYdGpwZWc6Y29sb3JzcGFjZQAyLHVVnwAAACB0RVh0 anBlZzpzYW1wbGluZy1mYWN0b3IAMngyLDF4MSwxeDFJ+qa0AAAAJXRFWHRtb2RpZnktZGF0ZQAy MDA3LTEwLTI4VDE3OjA4OjQ4KzAxOjAwhqNSRgAAAABJRU5ErkJggg== User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.1.50 (gnu/linux) Cancel-Lock: sha1:fiwl+gkfoCtaytQCpKKxE4rVGug= X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:116388 Archived-At: Stefan Monnier writes: > I have no idea what he thinks as novel, but such functions have been > available for ages. Called print and read. There is nothing new. I just show a feature of the CL version of `eval-when-compile'. Thus since we have a new representation of hash-table in emacs-cvs, this allow to save hash-tables to a compiled file. But other lisp objects (e.g lists) can be saved in the same way in inferior emacs versions. I just provide a basic function to demonstrate this feature.(see precedent posts) The emacs manual say that about eval-when-compile: ,---- | -- Special Form: eval-when-compile forms... | The FORMS are evaluated at compile-time; at execution time, this | form acts like a quoted constant of the resulting value. Used at | top-level, `eval-when-compile' is just like `eval-when (compile | eval)'. In other contexts, `eval-when-compile' allows code to be | evaluated once at compile-time for efficiency or other reasons. | | This form is similar to the `#.' syntax of true Common Lisp. `---- Please read that about the `#.' feature of CL: http://www.cs.cmu.edu/Groups/AI/html/faqs/lang/lisp/part5/faq-doc-5.html That is surely not the best way to serialize objects, but that is better than nothing until somebody write something to save hash-table, lists, etc... in a data base. -- A + Thierry Volpiatto Location: Saint-Cyr-Sur-Mer - France