From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Pascal Bourguignon Newsgroups: gmane.emacs.help Subject: Re: Package for data serialization? Date: Tue, 13 Jun 2006 13:13:53 +0200 Organization: Informatimago Message-ID: <87irn5z4su.fsf@thalassa.informatimago.com> References: <1150195170.157848.7260@f6g2000cwb.googlegroups.com> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1150198839 1892 80.91.229.2 (13 Jun 2006 11:40:39 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 13 Jun 2006 11:40:39 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Tue Jun 13 13:40:32 2006 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1Fq7G0-0006NF-IA for geh-help-gnu-emacs@m.gmane.org; Tue, 13 Jun 2006 13:40:28 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Fq7Fz-0001J3-MW for geh-help-gnu-emacs@m.gmane.org; Tue, 13 Jun 2006 07:40:27 -0400 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 37 Original-X-Trace: individual.net WJSVq1B+/kcRobn0SM/wKAyEfYVRy29xW06FlER8J1NBKpc8kV Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAABlBMVEUAAAD///+l2Z/dAAAA oElEQVR4nK3OsRHCMAwF0O8YQufUNIQRGIAja9CxSA55AxZgFO4coMgYrEDDQZWPIlNAjwq9 033pbOBPtbXuB6PKNBn5gZkhGa86Z4x2wE67O+06WxGD/HCOGR0deY3f9Ijwwt7rNGNf6Oac l/GuZTF1wFGKiYYHKSFAkjIo1b6sCYS1sVmFhhhahKQssRjRT90ITWUk6vvK3RsPGs+M1RuR mV+hO/VvFAAAAABJRU5ErkJggg== X-Accept-Language: fr, es, en X-Disabled: X-No-Archive: no User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) Cancel-Lock: sha1:bG9hbMNBdLpeJuI5LoDWzWwPFt0= Original-Xref: shelby.stanford.edu gnu.emacs.help:139801 Original-To: help-gnu-emacs@gnu.org X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:35425 Archived-At: spamfilteraccount@gmail.com writes: > Is there a package for de/serializing an arbitrary elisp data > structure, so that it can be read/written in binary format from/to > disk? > > I know about prin1 and co., but they create a printed representation > and I want binary for speed and size. There is no emacs lisp function to get the binary representation of a cons cell, or a number or a string or anything, AFAIK. So you won't be able to write in emacs lisp any function converting values to binary any faster than prin1. You may want to try it in C, adding primitive functions. You will still have to do a lot of work, like converting pointers into OID, etc. IIRC, there is a mean to save an emacs lisp image, so you could save the whole data structure, along with the whole emacs in a new emacs image, and then you'd run this image instead of a virgin emacs. -- __Pascal Bourguignon__ http://www.informatimago.com/ NEW GRAND UNIFIED THEORY DISCLAIMER: The manufacturer may technically be entitled to claim that this product is ten-dimensional. However, the consumer is reminded that this confers no legal rights above and beyond those applicable to three-dimensional objects, since the seven new dimensions are "rolled up" into such a small "area" that they cannot be detected.