From b192313c94618f4987a35a1d4a3f579648a41205 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 10 Nov 2023 17:16:03 +0100 Subject: [PATCH] str() for Symbol --- implementations/python/preserves/merge.py | 2 +- implementations/python/preserves/values.py | 11 +++++++++-- implementations/python/setup.py | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/implementations/python/preserves/merge.py b/implementations/python/preserves/merge.py index 05ffd76..a86bf63 100644 --- a/implementations/python/preserves/merge.py +++ b/implementations/python/preserves/merge.py @@ -52,7 +52,7 @@ def merge2(a, b, merge_embedded=None): ... ValueError: Cannot merge items >>> merge2(Record('a', [1, {'x': 2}]), Record('a', [1, {'y': 3}])) - a(1, {'x': 2, 'y': 3}) + 'a'(1, {'x': 2, 'y': 3}) ``` diff --git a/implementations/python/preserves/values.py b/implementations/python/preserves/values.py index 4b4c411..d12a4d0 100644 --- a/implementations/python/preserves/values.py +++ b/implementations/python/preserves/values.py @@ -183,6 +183,10 @@ class Symbol(object): #xyz >>> Symbol('xyz').name 'xyz' + >>> repr(Symbol('xyz')) + '#xyz' + >>> str(Symbol('xyz')) + 'xyz' >>> import preserves >>> preserves.stringify(Symbol('xyz')) 'xyz' @@ -228,6 +232,9 @@ class Symbol(object): def __repr__(self): return '#' + self.name + def __str__(self): + return self.name + def __preserve_write_binary__(self, encoder): bs = self.name.encode('utf-8') encoder.buffer.append(0xb3) @@ -289,7 +296,7 @@ class Record(object): return self.__hash def __repr__(self): - return str(self.key) + '(' + ', '.join((repr(f) for f in self.fields)) + ')' + return repr(self.key) + '(' + ', '.join((repr(f) for f in self.fields)) + ')' def __preserve_write_binary__(self, encoder): encoder.buffer.append(0xb4) @@ -432,7 +439,7 @@ class RecordConstructorInfo(object): return self.__hash def __repr__(self): - return str(self.key) + '/' + str(self.arity) + return repr(self.key) + '/' + str(self.arity) # Blub blub blub class ImmutableDict(dict): diff --git a/implementations/python/setup.py b/implementations/python/setup.py index 885e742..c5ce168 100644 --- a/implementations/python/setup.py +++ b/implementations/python/setup.py @@ -2,7 +2,7 @@ from setuptools import setup setup( name="preserves", - version="0.992.0", + version="0.992.1", author="Tony Garnock-Jones", author_email="tonyg@leastfixedpoint.com", license="Apache Software License",