Comment by naasking

3 days ago

Agreed, but it doesn't go far enough IMO. Why not add language/runtime support for durable list comprehensions, and also atomically updatable ones so they can be concurrently shared, etc. Bring the database into the language in a way that's just as easily to use and query as any other value.

Well, you can do that with LINQ + EF and embedded databases like SQL Lite or similar.

  • LINQ is on the right track but doesn't quite go far enough with query composition. For instance, you can't "unquote" a query within another query (although I believe there is a library that tries to add this).

    EF code-first is also on the right track, but the fluent and attribute mapping are awkward, foreign key associations often have to be unpacked directly as value type keys, there's no smooth transition between in-memory native types and durable types, and schema migration could be smoother.

    Lots of the bits and pieces of what I'm describing are around but they aren't holistically combined.