<div>In an attempt to learn D and git I'm building a Redis client. Assertedly there are many problems in the implementation, I'd like to hear opinions pointing them or suggestions. If here isn't the place to ask these type of review, where is?</div>

<div><a href="http://github.com/pslacerda/dredis">github.com/pslacerda/dredis</a></div><div><br></div><div>Some friend asked why I choose not to go asynchronous. It's because usually clients and servers are at a very fast connection and Redis responses are pretty fast too.</div>

<div><div><br></div><div>Correct me if wrong, but I need to do nothing special at client.RedisClient to make it thread safe, right?</div><div><br></div><div>token.__Bulk has an nullable array because I made distinction between an empty and a null arrays as the protocol did. The type looks fully bad. Some idea?</div>

<div><br></div><div>I guess that make token.Token an struct and pass it through ref functions will make the code somewhat better, but I have no clues. Token will never be seen by the user. When should I do it?</div><div>
<br>
</div><div>I guess that implement the protocol as free functions isn't a bad option because D offers this imperative style and the protocol is so small that doesn't need more a structured approach. Tell me this is wrong!</div>

<div><br></div><div><br></div><div>thanks from a newbie :-)</div><div>Pedro Lacerda</div>
</div>