Proof of concept - library AA
Uranuz via Digitalmars-d
digitalmars-d at puremagic.com
Tue Jul 7 23:11:24 PDT 2015
On Saturday, 30 May 2015 at 08:22:21 UTC, Martin Nowak wrote:
> On Saturday, 30 May 2015 at 00:50:39 UTC, Steven Schveighoffer
> wrote:
>> I suggest first we build a library AA that sits beside real
>> AA, even if it doesn't . Then we create a test suite to prove
>> that the library AA can be a drop in replacement. Then replace
>> it :)
>
> Writing the AA is NOT the problem, but I doubt we can get
> compatible enough to replace the built-in AA. Rather it'll
> require to deprecate a few built-in AA semantics and adding
> operator and literal extensions for the library type.
> Hence the proposal to start with a HQ library AA and
> incrementally converge them.
My idea is slihtly of topic.
I thiking about some API for array and associative array
literals. Something similar to our range API: front, popFront,
etc. It would be good (as I think) if programmer could be able to
use Array, or AA literal directly (like maybe initializer list in
C++). So for example some class or struct could be initialized
from AA literal directly. And another option could be having
heterogenous types in Array and AA, so we could use them in a way
we work with tuples. So we could use AA literal to initialize
JSON objects directly for example using different types of values
inside.
auto json = [ "name": "John", "age": 30, "interests":
["programming", "D lang"] ];
Also we could be able to initialize tuple from such heterogenous
Array literal. So literals would be not only available for
processing by core language and runtime, but also for regular D
classes, structs and templates. It could significantly help with
initializing complex objects. It would be big change. But what do
you thing about just about idea?
More information about the Digitalmars-d
mailing list