Path: csiph.com!usenet.pasdenom.info!news.etla.org!nntp-feed.chiark.greenend.org.uk!ewrotcd!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Gregory Ewing Newsgroups: comp.lang.python Subject: Re: enhancement request: make py3 read/write py2 pickle format Date: Thu, 11 Jun 2015 11:30:23 +1200 Lines: 20 Message-ID: References: <878ubr3gv8.fsf@elektro.pacujo.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: individual.net SOOSAcYmVWvI+4BUl3RMGQETx0U6NM7btVNdQ+oudaaoU6cJTE Cancel-Lock: sha1:oZG55y5nH3A63+3K3wXXmNg6jqE= User-Agent: Mozilla Thunderbird 1.0.5 (Macintosh/20050711) X-Accept-Language: en-us, en In-Reply-To: Xref: csiph.com comp.lang.python:92431 Robert Kern wrote: > To allow people to write their own types that can be serialized, > you have to let them specify arbitrary callables that will do the > reconstruction. If you whitelist the possible reconstruction callables, > you have greatly restricted the types that can participate in the > serialization system. If whitelisting a type is the *only* thing you need to do to make it serialisable, I think that comes close enough to the stated goal of being able to "serialise all [potentially serialisable] language objects". Having to be explicit about which types are deserialisable is probably a good thing anyway. It gives you an opportunity to specify the mapping between the external format and class names, so that your serialised data doesn't contain assumptions about implementation details of your program. -- Greg