<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8614049625445926002</id><updated>2011-04-21T16:12:29.248-07:00</updated><category term='boo'/><category term='constraints'/><category term='helloworld'/><category term='generics'/><title type='text'>making smalltalk</title><subtitle type='html'>.net, boo, smalltalk, tdd/bdd, etc</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://olsonjeffery.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8614049625445926002/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://olsonjeffery.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jeff Olson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8614049625445926002.post-2661083723138251748</id><published>2008-08-22T14:14:00.000-07:00</published><updated>2008-08-22T14:22:03.902-07:00</updated><title type='text'>BooLangStudio 1.0 Alpha 1 in the wild</title><content type='html'>After much slacking off, an alpha release of BooLangStudio has been released for public review. It is can be downloaded &lt;a href="http://www.codeplex.com/BooLangStudio/Release/ProjectReleases.aspx?ReleaseId=16551#ReleaseFiles"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This release has a slew of changes, including:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A proper installer (finally)&lt;/li&gt;&lt;li&gt;works in the main hive (finally)&lt;/li&gt;&lt;li&gt;a project property page&lt;/li&gt;&lt;li&gt;debugger breakpoints (w00t!)&lt;/li&gt;&lt;li&gt;James Gregory's initial intellisense implementation. This is still a work in progress and is lacking alot of functionality, such as: intellisense on method arguments, self, super, etc. No support for showing a method signature tooltip on methods with overloads (always shows the first overload). For some reason, the intellisense is only showing up when you do a ctrl+space (this is most likely a result of the merge I did).&lt;/li&gt;&lt;li&gt;improved syntax highlighting&lt;/li&gt;&lt;/ul&gt;It's the culmination of alot of work and I'm really excited and proud to be a part of this effort.&lt;br /&gt;&lt;br /&gt;Sadly, due to some issues with Boo.Pegs and a refactoring in Boo.Lang.List, you can't build BooLangStudio from source when using this newest version. I plan to address this very soon by reworking the BooPegLexer over to being Boo.OMeta-based, instead.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8614049625445926002-2661083723138251748?l=olsonjeffery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olsonjeffery.blogspot.com/feeds/2661083723138251748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8614049625445926002&amp;postID=2661083723138251748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8614049625445926002/posts/default/2661083723138251748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8614049625445926002/posts/default/2661083723138251748'/><link rel='alternate' type='text/html' href='http://olsonjeffery.blogspot.com/2008/08/boolangstudio-10-alpha-1-in-wild.html' title='BooLangStudio 1.0 Alpha 1 in the wild'/><author><name>Jeff Olson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8614049625445926002.post-5045701389516409712</id><published>2008-07-15T17:51:00.000-07:00</published><updated>2008-09-12T09:01:50.535-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='boo'/><category scheme='http://www.blogger.com/atom/ns#' term='generics'/><category scheme='http://www.blogger.com/atom/ns#' term='constraints'/><title type='text'>Something that's possible in Boo's trunk that wasn't before...</title><content type='html'>...An implementation of the &lt;a href="http://blog.eleutian.com/2007/02/23/TestsAutoMockingIoCContainer.aspx"&gt;AutoMockingContainer&lt;/a&gt; wrapper in Boo. Compiles cleanly on svn rev 3018:&lt;br /&gt;&lt;pre name="code" class="c-sharp"&gt;namespace AMC&lt;br /&gt;&lt;br /&gt;import System&lt;br /&gt;import Rhino.Mocks&lt;br /&gt;import Rhino.Testing.AutoMocking&lt;br /&gt;&lt;br /&gt;public abstract class AutoMockingTestFixture:&lt;br /&gt;&lt;br /&gt;[property(Mocks)]&lt;br /&gt;private _mocks as MockRepository&lt;br /&gt;&lt;br /&gt;[property(Container)]&lt;br /&gt;private _container as AutoMockingContainer&lt;br /&gt;&lt;br /&gt;public def constructor():&lt;br /&gt;    _mocks = MockRepository();&lt;br /&gt;    _container = AutoMockingContainer(_mocks);&lt;br /&gt;    _container.Initialize();&lt;br /&gt;&lt;br /&gt;public def Create[of T]() as T:&lt;br /&gt;    return _container.Create[of T]()&lt;br /&gt;&lt;br /&gt;public def Mock[of T(class)]() as T:&lt;br /&gt;    return _container.Get[of T]()&lt;br /&gt;&lt;br /&gt;public def Provide[of TService, TImplementation]() as void:&lt;br /&gt;    _container.AddComponent(typeof(TImplementation).FullName, typeof(TService), typeof(TImplementation))&lt;br /&gt;&lt;br /&gt;public def Provide[of TService](instance as object) as void:&lt;br /&gt;    _container.Kernel.AddComponentInstance(instance.GetType().FullName, typeof(TService), instance)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The main item of note here is the Mock[of T]() method, which has a constraint on it and looks like this:&lt;br /&gt;&lt;pre name="code" class="c-sharp"&gt;public def Mock[of T(class)]() as T:&lt;br /&gt;    return _container.Get[of T]()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This maps to the corresponding C# code:&lt;br /&gt;&lt;pre name="code" class="c-sharp"&gt;public T Mock&lt;T&gt;() where T : class {&lt;br /&gt;    return _container.Get()&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Pretty cut'n'dry, no? Thanks to Avishay Lavie who is spearheading this effort, it seems (and who also notes that the constraints implementation is still incomplete at this time).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8614049625445926002-5045701389516409712?l=olsonjeffery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olsonjeffery.blogspot.com/feeds/5045701389516409712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8614049625445926002&amp;postID=5045701389516409712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8614049625445926002/posts/default/5045701389516409712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8614049625445926002/posts/default/5045701389516409712'/><link rel='alternate' type='text/html' href='http://olsonjeffery.blogspot.com/2008/07/something-thats-possible-in-boos-trunk.html' title='Something that&apos;s possible in Boo&apos;s trunk that wasn&apos;t before...'/><author><name>Jeff Olson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8614049625445926002.post-4892642654641824606</id><published>2008-06-12T11:25:00.001-07:00</published><updated>2008-12-08T19:57:24.738-08:00</updated><title type='text'>Lulz</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zTslR_u9rSA/SFFqM_pwsyI/AAAAAAAAAD0/49WMED2RhcE/s1600-h/teambuild.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_zTslR_u9rSA/SFFqM_pwsyI/AAAAAAAAAD0/49WMED2RhcE/s400/teambuild.png" alt="" id="BLOGGER_PHOTO_ID_5211063015321940770" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8614049625445926002-4892642654641824606?l=olsonjeffery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olsonjeffery.blogspot.com/feeds/4892642654641824606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8614049625445926002&amp;postID=4892642654641824606' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8614049625445926002/posts/default/4892642654641824606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8614049625445926002/posts/default/4892642654641824606'/><link rel='alternate' type='text/html' href='http://olsonjeffery.blogspot.com/2008/06/lulz.html' title='Lulz'/><author><name>Jeff Olson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_zTslR_u9rSA/SFFqM_pwsyI/AAAAAAAAAD0/49WMED2RhcE/s72-c/teambuild.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8614049625445926002.post-1116902444254572967</id><published>2008-04-24T20:13:00.001-07:00</published><updated>2008-05-02T21:04:29.795-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='helloworld'/><title type='text'>Hello world!</title><content type='html'>My very first blarg post. yay for me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8614049625445926002-1116902444254572967?l=olsonjeffery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olsonjeffery.blogspot.com/feeds/1116902444254572967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8614049625445926002&amp;postID=1116902444254572967' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8614049625445926002/posts/default/1116902444254572967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8614049625445926002/posts/default/1116902444254572967'/><link rel='alternate' type='text/html' href='http://olsonjeffery.blogspot.com/2008/04/hello-world.html' title='Hello world!'/><author><name>Jeff Olson</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
