Please disregard this patch series completely. I've just sent a new, different one.
On Wed, Dec 11, 2013 at 2:27 PM, Petr Pudlák <[email protected]> wrote: > Please postpone reviewing this series. Santi just told me about a Haskell > library for producing Python code, so I'd like to check first if we could > use it and how. > > > On Wed, Dec 11, 2013 at 2:20 PM, Petr Pudlak <[email protected]> wrote: > >> Currently PyValue returns a String and composes complex results by >> concatenating >> strings. This can have O(n^2) complexity in some cases. >> >> By using the same trick as ShowS does - returning ShowS instead of String >> and >> composing functions instead of ++, we get O(n) complexity. >> >> Also in order to get an instance for String without having >> overlaping/inconsistent instances, we use the same trick as ShowS does >> with >> showList. This way, we don't need any "dangerous" type extensions. >> >> While at it, reorganize the modules. Move PyInstances.hs to PyValue.hs >> and put >> the type class declaration there as well. This makes it easier to use >> PyValue as >> well as it gets rid of orphan instances warning. >> >> Petr Pudlak (4): >> Move PyValue into PyValueInstances.hs, import it in THH.hs >> Rename PyValueInstances.hs to PyValue.hs >> Use ShowS instead of String in PyValue >> Add showValueList to PyValue for proper String instances >> >> Makefile.am | 2 +- >> src/Ganeti/ConstantUtils.hs | 15 ++--- >> src/Ganeti/Hs2Py/GenConstants.hs | 2 +- >> src/Ganeti/Hs2Py/GenOpCodes.hs | 2 +- >> src/Ganeti/Hs2Py/ListConstants.hs.in | 2 +- >> src/Ganeti/OpCodes.hs | 21 +++---- >> src/Ganeti/PyValue.hs | 112 >> +++++++++++++++++++++++++++++++++++ >> src/Ganeti/PyValueInstances.hs | 81 ------------------------- >> src/Ganeti/Rpc.hs | 2 +- >> src/Ganeti/THH.hs | 17 +----- >> src/Ganeti/Types.hs | 4 +- >> 11 files changed, 138 insertions(+), 122 deletions(-) >> create mode 100644 src/Ganeti/PyValue.hs >> delete mode 100644 src/Ganeti/PyValueInstances.hs >> >> -- >> 1.8.5.1 >> >> >
