Hi John,<br><br>I&#39;m not sure how to interpret your remarks about &quot;has no effect&quot; and &quot;is best&quot;.&nbsp; I guess they&#39;re subjective opinions, but maybe I&#39;m missing something objective in your intent.&nbsp; I can see, for instance, at least one way in which layout has a direct and enormous effect on interaction semantics.&nbsp; And while I can see some benefits in choosing CSS, I also see some significant drawbacks, and I wonder if you&#39;ve factored these drawbacks into your &quot;is best&quot;.<br>
<br>&nbsp; - Conal<br><br><div class="gmail_quote">2009/2/2 John A. De Goes <span dir="ltr">&lt;<a href="mailto:john@n-brain.net">john@n-brain.net</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style=""><div><br></div><div>The size, color, and layout of widgets has no effect on interaction semantics and is best pushed elsewhere, into a designer-friendly realm such as CSS.</div><div class="Ih2E3d"><br><div> <span style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><div style="">
<span style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><div style="">
<span style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><div style="">
<span style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><div style="">
<div><div>Regards,</div><div><br></div><div>John A. De Goes</div><div>N-BRAIN, Inc.</div><div>The Evolution of Collaboration</div><div><br></div><div><a href="http://www.n-brain.net" target="_blank">http://www.n-brain.net</a> &nbsp; &nbsp;| &nbsp; &nbsp;877-376-2724 x 101</div>
</div></div></span></div></span></div></span></div></span> </div><br></div><div><div></div><div class="Wj3C7c"><div><div>On Feb 2, 2009, at 2:15 PM, Conal Elliott wrote:</div><br><blockquote type="cite">Could CSS give us semantic clarity?&nbsp; - Conal<br>
<br><div class="gmail_quote">On Mon, Feb 2, 2009 at 11:58 AM, John A. De Goes <span dir="ltr">&lt;<a href="mailto:john@n-brain.net" target="_blank">john@n-brain.net</a>&gt;</span> wrote:<br> <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br> The actual presentation and layout of widgets would be better handled by a DSL such as CSS (which is, in fact, declarative in nature), while event logic would be best handled purely in Haskell.<br> <br> Regards,<br> <br>
 John A. De Goes<br> N-BRAIN, Inc.<br> The Evolution of Collaboration<br> <br> <a href="http://www.n-brain.net" target="_blank">http://www.n-brain.net</a> &nbsp; &nbsp;| &nbsp; &nbsp;877-376-2724 x 101<div><div></div><div><br> <br> On Feb 2, 2009, at 12:39 PM, Creighton Hogg wrote:<br>
 <br> </div></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div> 2009/1/29 Conal Elliott &lt;<a href="mailto:conal@conal.net" target="_blank">conal@conal.net</a>&gt;:<br>
 <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> Hi Achim,<br> <br> I came to the same conclusion: I want to sweep aside these OO, imperative<br>
 toolkits, and replace them with something &quot;genuinely functional&quot;, which for<br> me means having a precise &amp; simple compositional (denotational) semantics.<br> Something meaningful, formally tractable, and powefully compositional from<br>
 the ground up. &nbsp;As long as we build on complex legacy libraries (Gtk,<br> wxWidgets, Qt, OpenGL/GLUT, ...), we&#39;ll be struggling against (or worse yet,<br> drawn into) their ad hoc mental models and system designs.<br>
 <br> As Meister Eckhart said, &quot;Only the hand that erases can write the true<br> thing.&quot;<br> </blockquote> <br> I think working on a purely functional widget toolkit would actually<br> be a really cool project. &nbsp;Do you have any ideas, though, on what<br>
 should be the underlying primitives?<br> <br> The initial gut feeling I have is that one should just ignore any<br> notion of actually displaying widgets &amp; instead focus on a clean<br> algebra of how to &#39;add&#39; &nbsp;widgets that relates the concepts of<br>
 inheritance &amp; relative position. &nbsp;What I mean by inheritance, here, is<br> how to direct a flow of &#39;events&#39;. &nbsp;I don&#39;t necessarily mean events in<br> the Reactive sense, because I think it&#39;d be important to make the<br>
 model completely independent of how time &amp; actual UI actions are<br> handled.<br> <br> Any thoughts to throw in, here?<br> <br> Cheers,<br> C<br></div></div><div> _______________________________________________<br> Haskell-Cafe mailing list<br>
 <a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br> <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
 </div></blockquote><div><div></div><div> <br> _______________________________________________<br> Haskell-Cafe mailing list<br> <a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br> <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
 </div></div></blockquote></div><br></blockquote></div><br></div></div></div><br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br>