<html><head><style id="css_styles" type="text/css"><!--blockquote.cite { margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc }
blockquote.cite2 {margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc; margin-top: 3px; padding-top: 0px; }
a img { border: 0px; }
table { border-collapse: collapse; }
li[style='text-align: center;'], li[style='text-align: center; '], li[style='text-align: right;'], li[style='text-align: right; '] {  list-style-position: inside;}
body { font-family: 'Segoe UI'; font-size: 12pt; }
.quote { margin-left: 1em; margin-right: 1em; border-left: 5px #ebebeb solid; padding-left: 0.3em; }
--></style></head><body><div><br /></div>
<div style="clear:both"><br /></div>
<div><br /></div>
<div>
<div>On 07-Jul-24 11:06:12 PM, "Mark Volkmann via Cuis-dev" <<a href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>> wrote:</div></div><div><br /></div>
<div id="xf0bfde3fcf75410"><blockquote cite="CAFfRWnXvy=shJu6-seHC7Nv2cgfai6Z_vF16pGQ=hWG+h3C1iQ@mail.gmail.com" type="cite" class="cite2">
<div dir="ltr">It seems that `Dictionary newFrom:` works with a run-time literal Array of Association objects and does not work with a compile-time literal Array or Association objects. For example, this works:<div><br /><div><font face="monospace">as := {#a -> 'apple'. #b -> 'banana'. #c -> 'cherry'}.<br />d2 := Dictionary newFrom: as.</font><br /><br class="gmail-Apple-interchange-newline" /></div><div>but this gives the error "MessageNotUnderstood: Symbol>>key".<br /></div><div><br /></div><div><div><div><font face="monospace">as := #(#a -> 'apple' #b -> 'banana' #c -> 'cherry').</font></div></div></div></div></div></blockquote><font face="monospace"><div id="xf0bfde3fcf75410"><br /></div><div id="xf0bfde3fcf75410">as = #(#a #-> 'apple' #b #-> 'banana' #c #-> 'cherry')</div><div id="xf0bfde3fcf75410"><br /></div></font><div id="xf0bfde3fcf75410"><font face="monospace">i.e. `as` is not an array of associations :) Literal array won't create the association objects, or better to say the compiler doesn't do compile time evaluation. Check </font><a href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/blob/master/Documentation/Technical/HitchHikersCompiler.md">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/blob/master/Documentation/Technical/HitchHikersCompiler.md</a><font face="monospace"> and scroll to `Compile Time Evaluation` section.</font></div><font face="monospace"><div id="xf0bfde3fcf75410"><br /></div><br /></font><blockquote cite="CAFfRWnXvy=shJu6-seHC7Nv2cgfai6Z_vF16pGQ=hWG+h3C1iQ@mail.gmail.com" type="cite" class="cite2"><div dir="ltr"><div><div><div><div><font face="monospace"><br />d2 := Dictionary newFrom: as.</font></div><div><br /></div></div><div>Can someone explain why?</div><div><br /></div><span class="gmail_signature_prefix">-- </span><br /><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div><font face="arial, helvetica, sans-serif">R. Mark Volkmann</font></div><div><span style="font-size:12.8000001907349px"><font face="arial, helvetica, sans-serif">Object Computing, Inc.</font></span></div></div></div></div></div></div></div></div></div></div></div>
</blockquote></div>
</body></html>