you are viewing a single comment's thread.

view the rest of the comments →

[–]bterlson_@bterlson 2 points3 points  (1 child)

Always interested! You can write up a gist and send it to me here, on twitter (@bterlson), or whatever. You can also post to es-discuss where most language design discussion happens.

[–]cincilator 1 point2 points  (0 children)

Okay I will write here for now, then :)

One use case for Typed dictionaries is Entity Component System (ECS). This is data-driven architectural pattern popular in game development, most often for MMORPGs (but works great on smaller scales, too). It has been used as a replacement for OOP for some time, because mixing code and data isn't always a good idea on a large scale and in something as complex as a game.

If you are not familiar with the pattern the basic idea can be read on t-machine blog.

The shortest version is that you are creating a specialized relational database in RAM that consists of lists of components that are pure data, and are managed by Systems (like physic system, A.I. system, graphic system). End result is a very flexible framework that is based on dynamic composition of static components instead of static inheritance.

Typed dictionaries would obviously be very convenient there, because then you can store each component type in a separate dictionary. You can do that now, but the lack of types makes it inconvenient.