<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Have I summarized this correctly?<div><p style="clear: both; ">Smalltalk doesn't support the concept of enumerated types like in Java 5 and above. Instead, the Smalltalk way is to:</p><ol style="clear: both; "><li style="clear: both; ">create a class that represents the enumerated type</li><li style="clear: both; ">add a class variable for each enumerated value (must start uppercase)</li><li style="clear: both; ">add a class-side&nbsp;<code><font class="Apple-style-span" face="Arial" size="4"><span class="Apple-style-span" style="font-size: 14px;">initialize</span></font></code>&nbsp;method that creates an instance of the class for each enumerated value using&nbsp;<code><font class="Apple-style-span" face="Arial" size="4"><span class="Apple-style-span" style="font-size: 14px;">basicNew</span></font></code>&nbsp;and assigns it the corresponding class variable</li><li style="clear: both; ">prevent creation of additional instances by overiding the class method&nbsp;<code><font class="Apple-style-span" face="Arial" size="4"><span class="Apple-style-span" style="font-size: 14px;">new</span></font></code>&nbsp;with "<code><font class="Apple-style-span" face="Arial" size="4"><span class="Apple-style-span" style="font-size: 14px;">self error: 'new instances cannot be created'</span></font></code>"</li><li style="clear: both; ">add class-side getter method for each enumerated value that simply returns it</li></ol><p style="clear: both; ">Here's an example&nbsp;<code><font class="Apple-style-span" face="Arial" size="4"><span class="Apple-style-span" style="font-size: 14px;">ColorEnum</span></font></code>&nbsp;class.</p><div><div>Object subclass: #ColorEnum</div><div>&nbsp;&nbsp;instanceVariableNames: ''</div><div>&nbsp;&nbsp;classVariableNames: 'Blue Green Red'</div><div>&nbsp;&nbsp;poolDictionaries: ''</div><div>&nbsp;&nbsp;category: 'SomeCategory'</div><div><br></div><div>initialize</div><div>&nbsp;&nbsp;Red := self basicNew.</div><div>&nbsp;&nbsp;Green := self basicNew.</div><div>&nbsp;&nbsp;Blue := self basicNew</div><div><br></div><div>new</div><div>&nbsp;&nbsp;self error: 'new instances cannot be created'</div><div><br></div><div>red</div><div>&nbsp;&nbsp;^Red</div><div><br></div><div>green</div><div>&nbsp;&nbsp;^Green</div><div><br></div><div>blue</div><div>&nbsp;&nbsp;^Blue</div></div><div> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Arial; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Arial; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br class="Apple-interchange-newline">---</div><div>Mark Volkmann</div><div><br class="webkit-block-placeholder"></div></div></span><br class="Apple-interchange-newline"></span><br class="Apple-interchange-newline"> </div><br></div></body></html>