X-Git-Url: https://git.chrismorgan.info/anymap/blobdiff_plain/a294948f57dee47bb284d6a3ae1b8f61a902a03c..ea63cc90d12bb126b40d2d365314ae4d900b920b:/README diff --git a/README b/README deleted file mode 100644 index 9f9cf95..0000000 --- a/README +++ /dev/null @@ -1,36 +0,0 @@ -``AnyMap`` -========== - -If you’re familiar with Go and Go web frameworks, you may have come across the common “environment” pattern for storing data related to the request. It’s typically something like ``map[string]interface{}`` and is accessed with arbitrary strings which may clash and type assertions which are a little unwieldy and must be used very carefully. - -This is madness. Hare-brained, stark, raving madness, just *asking* for things to blow up in your face. Unfortunately for people in Go, it’s the best that they can have because of its weak type system; such a thing cannot possibly be made safe without generics. - -Fortunately, we can do better in Rust. Our type system is quite equal to easy, robust expression of such problems. - -The ``AnyMap`` type is a friendly wrapper around a ``HashMap:'static>``, exposing a nice, easy typed interface, perfectly safe and absolutely robust. - -What this means is that in an ``AnyMap`` you may store zero or one values for every type. - -Instructions ------------- - - make - -Future work ------------ - -I think that the only thing left for this is filling out additional methods from ``HashMap`` as appropriate. - -It’s a very simple thing. - -Author ------- - -[Chris Morgan](http://chrismorgan.info/) ([chris-morgan](https://github.com/chris-morgan)) is the primary author and maintainer of AnyMap. - -License -------- - -This library is distributed under similar terms to Rust: dual licensed under the MIT license and the Apache license (version 2.0). - -See LICENSE-APACHE, LICENSE-MIT, and COPYRIGHT for details.