Anton
Anton
Need some higher level interface for that.
I'd want that too. It could also be used for parametrised construction (factories?): ``` haskell data Parameter = P1 | P2 data MyDataType = First A B C | Second...
It doesn't show up in heap profile, but as I said, RES memory of my program increases from 16Mb to 25Mb just by compiling it with newer `socket` version. Probably...
`socket-0.8.0.1`: ``` 19,008,660,936 bytes allocated in the heap 1,543,782,704 bytes copied during GC 9,153,928 bytes maximum residency (952 sample(s)) 678,984 bytes maximum slop 25 MB total memory in use (3...
`socket-0.8.0.1`: ``` ❯ timeout -s INT 180 /usr/bin/time myprog +RTS -maxN2 -s -c -w -qa -qi3 -A2m -M150m -K1k 9,669,582,064 bytes allocated in the heap 397,211,104 bytes copied during GC...
@qnikst okay, please look at https://github.com/SX91/haskell-socket-test/tree/0.8.0.1-memory. `0.8.x.x`: ``` timeout -s INT 180 /usr/bin/time -v test-socket-0.8.x.x 30 +RTS -s -N2 444,191,528 bytes allocated in the heap 16,865,944 bytes copied during GC...
@3Hren newtype struct is a special (type-system only) case, almost like in Haskell with it's `newtype` keyword. It's a type-system level wrapper around some other type. So it should be...
@3Hren could you please explain https://github.com/3Hren/msgpack-rust/blob/master/rmpv/src/ext/de.rs#L717 ? newtype_variant is `enum A {A(i32)}`, right? So there's no way there could be `T...`, isn't it?
@3Hren Haskell's `data-msgpack` [uses Nil representation for units](https://github.com/SX91/msgpack-haskell/blob/master/src/Data/MessagePack/Generic.hs#L26). For unit variant we should use simple `[code]` encoding. So: ```rust // Nil struct Unit // [code] enum Enum { A, B...
But why? Unit struct would be encoded as `Nil` because it's the most compact representation while unit variants would be just `[code]` (the most compact would be `code`, but that...