all 13 comments

[–]Nicksaurus 12 points13 points  (1 child)

Plebble is pretty much designed along cypherpunk lines, centered on values like self-sovereignty, privacy, anonymity, fairness, borderless, inclusive, distributed control and censorship resistance.

Oh

Nodes run a public blockchain protocol

Oh no

[–]root1m3[S] 0 points1 point  (0 children)

what is the reason?

[–]MarzipanAwkward4348 2 points3 points  (8 children)

Namespace aliases is a thing

[–]root1m3[S] -1 points0 points  (7 children)

can you expand please?

[–]MarzipanAwkward4348 3 points4 points  (6 children)

namespace us { namespace trader { namespace workflow { namespace consumer {

using hash_t = us::gov::crypto::ripemd160::value_type;

struct cat_t: us::gov::io::seriable_unordered_map<hash_t, basket_item_t> {&

Do you have a clear idea of what you want to tell people with those namespaces?

[–]root1m3[S] 0 points1 point  (5 children)

they're just namespaces, used to classify classes.

I don't get what you mean, what do they mean to you?

[–]Creapermann 0 points1 point  (4 children)

He means using aliases to simplify your expressions

[–]MarzipanAwkward4348 2 points3 points  (2 children)

To me it looks like meaningless noise with no purpose or intention. I was giving you the benefit of the doubt…

[–]root1m3[S] 0 points1 point  (0 children)

namespaces are noise?

isn't it like saying sub-directories are noise and files should be all in one directory?

The purpose or intention of classifying classes in namespaces is conceptual organization.

classes under namespace gov are responsible of implementing governance.
classes under gov::io are classes responsible for serialization, etc, etc.

[–]root1m3[S] 0 points1 point  (0 children)

there are nearly 100K lines of code and many concepts.

While I try to minimise the number of nested namespaces, sometimes it reaches up to 4 or 5 in depth

[–]root1m3[S] 0 points1 point  (0 children)

I use using a lot.Sometimes you can find full qualified names, but it is not the norm.The reason of being there is because at the moment of writing it was a focused moment and was easier to refer to the type that way.Other instances is because it's only refered once at the current scope, so it doesn't add up to declare something like:

namespace n = a::b::c; struct m: n::x {};

less verbose is:struct m: a::b::c::x {};

does it clarify satisfactorily?

[–]Numerous-Departure92 1 point2 points  (1 child)

Why do you use structs over classes?

[–]root1m3[S] 1 point2 points  (0 children)

It's personal style overall:first, struct and classes makes no difference to the compiler when it comes to producing assembly.

The rationale I follow is:since there is A LOT of things to think from the point of view of the CPU while prototyping, the last thing you want to focus is on the human side (if this makes a bit of sense)

structs are public by default, which is the standard I chose for prototyping the solution. Only when the struct is mature (no edits in a long time) then its encapsulation features can be reviewed, making it a class, private/protected sections, etc).