On 8/8/07, <b class="gmail_sendername">Colin Putney</b> <<a href="mailto:cputney@wiresong.ca">cputney@wiresong.ca</a>> wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>I wouldn't call it a no-brainer. In fact, if it was up to me, I<br>wouldn't add these methods to the base image, for two reasons:<br><br>1. They're not idiomatic Smalltalk. If you need to join a collection
<br>of strings into a single string with a separator it's easy to do with<br>#streamConents: and #do:separatedBy:. If you find you're doing it so<br>often that you want something more succinct, that's a code smell.
</blockquote><div><br><br>Well, the interesting thing about this package is that it joins any collection with any other collection, it's not just strings.<br><br>Wanting code to be concise is code smell? If you meant adding a method to collections that only joins strings is a code smell then ok, but otherwise.... well I strongly disagree to say the least.
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">2. The base image should be getting smaller, not bigger. Split-join<br>can live quite well as an external package.
</blockquote><div><br><br>Well, it's a good point that the image should get smaller, but perhaps by using this reoccurring pattern it would actually get Smaller. Someone would have to check and see.<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I've been asked about the lack of #join: a few times by people coming<br>to Smalltalk from Ruby or Python. They were incredulous that such a<br>fundamental thing was missing. But in Smalltalk it's not fundamental<br>
- Smalltalk is object-oriented, not string-oriented.<br><br>Colin<br></blockquote></div>