<?xml version="1.0" encoding="iso-8859-1"?><rss version="2.0" xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>RoelTyper</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/</link><description>Recent Changes to RoelTyper</description><generator>SmallWiki 1.0</generator><copyright>Software Composition Group, University of Berne, 2003</copyright><item><title>RoelTyper</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/</link><pubDate>Fri, 31 Mar 2006 22:34:09 GMT</pubDate><description>March 31, 2006 22:34:09.080 by admin from 84.194.169.148</description><content:encoded><![CDATA[<h1>RoelTyper</h1><p><img alt="ESUGInnovationAwards1" src="/roelwuyts/smalltalk/roeltyper/esuginnovationawards1/?action=MimeView" /></p><h3>Overview</h3><p>RoelTyper is a fast type reconstructor for Smalltalk, based on heuristics. It type-checks instance variables of classes. Typing a complete VisualWorks Smalltalk image takes less than one minute and a half! For this speed you get the types for about 80% of instance variables in the system. The approach is quite similar to what the Refactoring Browser does, but somewhat more refined.</p><p>The type information can be used by various tools:</p><ul><li> a new pane in the standard VisualWorks Refactoring Browser allows to view the types for instance variables (or input or select them manually)</li><li> a notification pane can be opened that warns of possible type conflicts when methods are compiled. This is less intrusive than statically typed languages, yet gives some feedback and can remove some message-not-understood exceptions.</li></ul><p>To try it out for yourself, load the bundle 'RoelTyperBundle' from the Cincom public Store, or, for Squeak, download it from within Squeak using Squeakmap or see the <a href="http://www.squeaksource.com/RoelTyper.html">SqueakSource page</a>.</p><p>RoelTyper uses the MIT license. The Squeak version is dual-licensed MIT + SqueakL.</p><h3>Some screenshots</h3><p><img alt="RoelTyperRBPane" src="/roelwuyts/smalltalk/roeltyper/roeltyperrbpane/?action=MimeView" /> The Refactoring Browser features a new pane that shows the types for the instance variables of a selected class. The results shown are either extracted by RoelTyper, or edited manually. Right-clicking an entry allows to open up the Typing Results Explainer, or the Type Result Editor.</p><p><a href="/roelwuyts/smalltalk/roeltyper/roeltyperrefactoringbrowserpane/">Big screenshot</a></p><p><br><br></p><p><img alt="TypeResultEditor" src="/roelwuyts/smalltalk/roeltyper/typeresulteditor/?action=MimeView" /> The Type Result editor is the place for viewing and editing types. Initially the types shown are the ones extracted by RoelTyper. The results are sometimes too general (when lots of classes conform  to the interface used by the variable). In that case you can manually edit the types, and save the results. Manually added types can be checked for conformance with the source code.</p><p><a href="/roelwuyts/smalltalk/roeltyper/roeltypertyperesulteditor/">Big screenshot</a></p><p><br><br><br></p><p><img alt="TypeConflictsWindow" src="/roelwuyts/smalltalk/roeltyper/typeconflictswindow/?action=MimeView" /> Type Conflicts is a tool that can be opened from the VisualWorks launcher. When it is open, accepting methods can trigger type conflicts that are then shown in this window. Conflicts can be clicked, and then a Typing Conflict Resolver window will open, allowing to view the differences in detail.</p><p>Using the menu, the interactive type checking can be enabled, and the displaying of conflicts can be controlled.</p><p><a href="/roelwuyts/smalltalk/roeltyper/roeltypertypeconflictswindow/">Big screenshot</a></p><p><br><br></p><p><img alt="TypingConflictsResolver" src="/roelwuyts/smalltalk/roeltyper/typingconflictsresolver/?action=MimeView" /> The Typing Conflict Resolver puts two conflicting typing results side by side, so that you can choose which one to accept.</p><p><a href="/roelwuyts/smalltalk/roeltyper/roeltypertypingconflictresolver/">Big screenshot</a></p><p><br><br><br><br><br><br></p><p><img alt="TypingResultsExplainer" src="/roelwuyts/smalltalk/roeltyper/typingresultsexplainer/?action=MimeView" /> The Results Explainer shows the interface sent to this instance variable and assignments made to this variable (direct or through accessors).</p><p><a href="/roelwuyts/smalltalk/roeltyper/roeltyperresultsexplainer/">RoelTyper Results Explainer</a></p><p><br><br><br><br><br><br></p><p></p>]]></content:encoded></item><item><title>ESUGInnovationAwards1</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/esuginnovationawards1/</link><pubDate>Tue, 23 Aug 2005 12:12:37 GMT</pubDate><description>August 23, 2005 12:12:37.009 by admin from 84.195.216.12</description><content:encoded><![CDATA[<h1>ESUGInnovationAwards1</h1>]]></content:encoded></item><item><title>ResultsExplainerBig</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/resultsexplainerbig/</link><pubDate>Wed, 13 Jul 2005 05:57:19 GMT</pubDate><description>July 13, 2005 5:57:19.304 by admin from 164.15.123.75</description><content:encoded><![CDATA[<h1>ResultsExplainerBig</h1>]]></content:encoded></item><item><title>RoelTyper Results Explainer2</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/roeltyperresultsexplainer2/</link><pubDate>Wed, 13 Jul 2005 05:57:05 GMT</pubDate><description>July 13, 2005 5:57:05.736 by admin from 164.15.123.75</description><content:encoded><![CDATA[<h1>RoelTyper Results Explainer2</h1><p><img alt="ResultsExplainerBig" src="/roelwuyts/smalltalk/roeltyper/resultsexplainerbig/?action=MimeView" /></p><p><br><br><br><br><br><br></p><p><br><br><br><br><br><br></p><p><br><br><br><br><br><br></p><p>The Results Explainer shows the interface sent to this instance variable and assignments made to this variable (direct or through accessors).</p>]]></content:encoded></item><item><title>RoelTyper Results Explainer1</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/roeltyperresultsexplainer1/</link><pubDate>Wed, 13 Jul 2005 05:56:25 GMT</pubDate><description>July 13, 2005 5:56:25.887</description><content:encoded><![CDATA[<h1>RoelTyper Results Explainer1</h1>]]></content:encoded></item><item><title>RoelTyper Results Explainer</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/roeltyperresultsexplainer/</link><pubDate>Wed, 13 Jul 2005 05:56:20 GMT</pubDate><description>July 13, 2005 5:56:20.234</description><content:encoded><![CDATA[<h1>RoelTyper Results Explainer</h1>]]></content:encoded></item><item><title>RoelTyper Typing Conflict Resolver</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/roeltypertypingconflictresolver/</link><pubDate>Wed, 13 Jul 2005 05:56:10 GMT</pubDate><description>July 13, 2005 5:56:10.738 by admin from 164.15.123.75</description><content:encoded><![CDATA[<h1>RoelTyper Typing Conflict Resolver</h1><p><img alt="TypingConflictResolverBig" src="/roelwuyts/smalltalk/roeltyper/typingconflictresolverbig/?action=MimeView" /></p><p><br><br><br><br><br><br></p><p><br><br><br><br><br><br></p><p><br><br><br><br><br><br></p><p><br><br><br></p><p>The Typing Conflict Resolver puts two conflicting typing results side by side, so that you can choose which one to accept.</p>]]></content:encoded></item><item><title>TypingConflictResolverBig</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/typingconflictresolverbig/</link><pubDate>Wed, 13 Jul 2005 05:56:00 GMT</pubDate><description>July 13, 2005 5:56:00.152 by admin from 164.15.123.75</description><content:encoded><![CDATA[<h1>TypingConflictResolverBig</h1>]]></content:encoded></item><item><title>TyperConflictsWindowBig</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/typerconflictswindowbig/</link><pubDate>Wed, 13 Jul 2005 05:53:59 GMT</pubDate><description>July 13, 2005 5:53:59.789 by admin from 164.15.123.75</description><content:encoded><![CDATA[<h1>TyperConflictsWindowBig</h1>]]></content:encoded></item><item><title>RoelTyper Type Conflicts Window</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/roeltypertypeconflictswindow/</link><pubDate>Wed, 13 Jul 2005 05:53:09 GMT</pubDate><description>July 13, 2005 5:53:09.804 by admin from 164.15.123.75</description><content:encoded><![CDATA[<h1>RoelTyper Type Conflicts Window</h1><p><img alt="TyperConflictsWindowBig" src="/roelwuyts/smalltalk/roeltyper/typerconflictswindowbig/?action=MimeView" /></p><p><br><br><br><br><br><br></p><p><br><br><br><br><br><br></p><p><br><br><br><br><br><br></p><p>Type Conflicts is a tool that can be opened from the VisualWorks launcher. When it is open, accepting methods can trigger type conflicts that are then shown in this window. Conflicts can be clicked, and then a Typing Conflict Resolver window will open, allowing to view the differences in detail.</p><p>Using the menu, the interactive type checking can be enabled, and the displaying of conflicts can be controlled.</p>]]></content:encoded></item><item><title>RoelTyper Type Result Editor</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/roeltypertyperesulteditor/</link><pubDate>Wed, 13 Jul 2005 05:52:18 GMT</pubDate><description>July 13, 2005 5:52:18.403 by admin from 164.15.123.75</description><content:encoded><![CDATA[<h1>RoelTyper Type Result Editor</h1><p><img alt="TypeResultEditorBig" src="/roelwuyts/smalltalk/roeltyper/typeresulteditorbig/?action=MimeView" /></p><p><br><br><br><br><br><br></p><p><br><br><br><br><br><br></p><p><br><br><br><br><br><br></p><p>The Type Result editor is the place for viewing and editing types. Initially the types shown are the ones extracted by RoelTyper. The results are sometimes too general (when lots of classes conform to the interface used by the variable). In that case you can manually edit the types, and save the results. Manually added types can be checked for conformance with the source code.</p>]]></content:encoded></item><item><title>TypeResultEditorBig</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/typeresulteditorbig/</link><pubDate>Wed, 13 Jul 2005 05:51:44 GMT</pubDate><description>July 13, 2005 5:51:44.998 by admin from 164.15.123.75</description><content:encoded><![CDATA[<h1>TypeResultEditorBig</h1>]]></content:encoded></item><item><title>RoelTyper RefactoringBrowser Pane</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/roeltyperrefactoringbrowserpane/</link><pubDate>Wed, 13 Jul 2005 05:48:25 GMT</pubDate><description>July 13, 2005 5:48:25.238 by admin from 164.15.123.75</description><content:encoded><![CDATA[<h1>RoelTyper RefactoringBrowser Pane</h1><p><img alt="RoelTyperPaneBig" src="/roelwuyts/smalltalk/roeltyper/roeltyperpanebig/?action=MimeView" /></p><p>The Refactoring Browser features a new pane that shows the types for the instance variables of a selected class. The results shown are either extracted by RoelTyper, or edited manually. Right-clicking an entry allows to open up the Typing Results Explainer, or the Type Result Editor.</p>]]></content:encoded></item><item><title>RoelTyperPaneBig</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/roeltyperpanebig/</link><pubDate>Wed, 13 Jul 2005 05:47:10 GMT</pubDate><description>July 13, 2005 5:47:10.289 by admin from 164.15.123.75</description><content:encoded><![CDATA[<h1>RoelTyperPaneBig</h1>]]></content:encoded></item><item><title>TypingResultsExplainer</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/typingresultsexplainer/</link><pubDate>Wed, 13 Jul 2005 05:41:18 GMT</pubDate><description>July 13, 2005 5:41:18.240 by admin from 164.15.123.75</description><content:encoded><![CDATA[<h1>TypingResultsExplainer</h1>]]></content:encoded></item><item><title>TypingConflictsResolver</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/typingconflictsresolver/</link><pubDate>Wed, 13 Jul 2005 05:40:46 GMT</pubDate><description>July 13, 2005 5:40:46.116 by admin from 164.15.123.75</description><content:encoded><![CDATA[<h1>TypingConflictsResolver</h1>]]></content:encoded></item><item><title>TypingConflictsResolver1</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/typingconflictsresolver1/</link><pubDate>Wed, 13 Jul 2005 05:40:34 GMT</pubDate><description>July 13, 2005 5:40:34.483 by admin from 164.15.123.75</description><content:encoded><![CDATA[<h1>TypingConflictsResolver1</h1>]]></content:encoded></item><item><title>TypeConflictsWindow</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/typeconflictswindow/</link><pubDate>Wed, 13 Jul 2005 05:32:53 GMT</pubDate><description>July 13, 2005 5:32:53.439 by admin from 164.15.123.75</description><content:encoded><![CDATA[<h1>TypeConflictsWindow</h1>]]></content:encoded></item><item><title>TypeResultEditor</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/typeresulteditor/</link><pubDate>Wed, 13 Jul 2005 05:22:47 GMT</pubDate><description>July 13, 2005 5:22:47.397 by admin from 164.15.123.75</description><content:encoded><![CDATA[<h1>TypeResultEditor</h1>]]></content:encoded></item><item><title>RoelTyperRBPane</title><link>http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/roeltyperrbpane/</link><pubDate>Wed, 13 Jul 2005 05:19:15 GMT</pubDate><description>July 13, 2005 5:19:15.798 by admin from 164.15.123.75</description><content:encoded><![CDATA[<h1>RoelTyperRBPane</h1>]]></content:encoded></item></channel></rss>