Comment by vlovich123

2 months ago

I feel like you could benefit from watching Scott Meyers about the silliness in C++ if you feel like there’s a consistent and logical feel to the language. A lot of this is c++-isms masquerading sensible ideas through official terms (regular and non-regular types)

Oh I certainly do not feel like there's consistency in the language. The C++ language is such that everyone picks a subset that makes sense to them and is relatively consistent.

Regular and non-regular types are however a basic idea that transcends languages. I can write a snippet in Python too:

    import copy
    from some.random.module.on.pypi import foo
    a = foo()
    b = copy.copy(a)
    assert a == b

If that assertion fails it implies the type isn't regular.

  • Can you point me to terminology other than the c++ spec (preferably literature) that defines regular types? I can only find references to this concept in c++ land.

    • I think this terminology was originally invented by Stepanov. And he used C++ to explain the concept. That's why you can only find references to this concept in C++ land.

      https://stepanovpapers.com/DeSt98.pdf is probably the original paper. Others have over time refined and redefined the idea of a regular type.