Canonical/Idiomatic in memory files
Paulo Pinto
pjmlp at progtools.org
Wed May 29 04:39:15 PDT 2013
On Wednesday, 29 May 2013 at 11:00:23 UTC, Russel Winder wrote:
> On Wed, 2013-05-29 at 00:32 -0700, Walter Bright wrote:
> […]
>> This is incorrect. They are implemented as sort of "second
>> class citizens" in the current name space. This means that any
>> declaration in the current name space overrides any in the
>> import name space. If the name is not found in the current
>> name space, and is found in more than one import, an ambiguity
>> error is generated.
>
> OK so this is a quasi-namespace import which helps. Dealing with
> multiple names in imports by just creating a compile error
> stops tragedy
> but seems a little awkward. It does reinforce my belief in
> individual
> importing of names though.
>
> […]
>> It's equivalent to:
>> struct Tuple { int lines; int words; int chars; }
>> which is much more efficient than a dictionary.
>
> Interesting. I probably should already have known this. I
> suspect
> further exchanges on this should move the to learn mailing list!
>
> […]
>> You just need to get the component programming religion! and
>> get away from using FILE*. There isn't anything fundamentally
>> different from using a fake FILE* and using a template with a
>> different InputRange. If that's still unacceptable, you can
>> create an InputRange that is a class with virtual functions
>> empty(), front(), and popFront(), then use derived classes for
>> the File or string.
>
> I'm not sure I would call it component – didn't components die
> in the
> 1980 when no-one could agree what a component was?
>
They reborned in the form of interface based programming, COM and
Web APIs.
More information about the Digitalmars-d
mailing list