> I also don't like * as the public marker.

> It's not readable or intuitive.
>     A newcomer to Nim will have no idea what * does when stumbling across it 
> the first time in a codebase. (the rest of Nim's syntax, by comparison, is 
> very straightforward.)

The "*" export marker comes from Oberon. It should replace Modula-(2/3)'s 
hidden types (types without export). Problem: Oberon itself could never replace 
it, the export-marker is ill-defined by nature.

> A newcomer to Nim will have no idea what * does

Same with me. I demonstrated the inconsistency with a post above. The 
interesting thing is always the _hidden type_ . It leads to huge complications 
in type theory. It can't be addressed with some simple visibility rules. 
_Hidden types_ require type abstraction and impredicative type inference.

But Nim can't deliver that and exports types anyway.

Reply via email to