←back to thread

43 points coneonthefloor | 1 comments | | HN request time: 0.212s | source
Show context
o11c ◴[] No.44609974[source]
Hm, this implementation seems allergic to passing types by value, which eliminates half of the allocations. It also makes the mistake of being mutable-first, and provides some fundamentally-inefficient operations.

The main mistake that this makes in common with most string implementations make is to only provide a single type, rather than a series of mostly-compatible types that can be used generically in common contexts, but which differ in ways that sometimes matter. Ownership, lifetime, representation, etc.

replies(4): >>44610524 #>>44610702 #>>44611230 #>>44611895 #
remexre ◴[] No.44610524[source]
How would you recommend doing that sort of "subtyping"? _Generic and macros?
replies(1): >>44611063 #
o11c ◴[] No.44611063[source]
Yup. It's a lot saner in C++, but people who refuse to use C++ for political reasons can do it the ugly way using C11 or GNU C.
replies(2): >>44611135 #>>44613588 #
uecker ◴[] No.44613588[source]
"political reasons"?

I switched from C++ to C because C++ is too complex and dealing with this complexity was stealing my time. I would not call this a "political reason".

replies(2): >>44615694 #>>44622405 #
1. ◴[] No.44615694[source]