<br>> Please find someone who has seen Chet Murthy's invited talk at<br>> POPL 2007 and on how he seriously simplified and improved a<br>> huge enterprise application with an FP approach and language.<br>> He increased performance so much that he saved his customer
<br>> an order of magnitude of hardware, which is substantial when<br>> you think of several warehouses full of machines.<br><br>I found his presentation online - I am definitely intrigued to figure out more on this ;)
<br><br><div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">> YC, over the past semester I have written a small (6+ Kloc)
<br>> distributed game with a graphical display (but no real interface). I<br>> wrote it in the FP style I advocated in my ECOOP keynote in 2004.</blockquote><div><br>Are you refering to this doc on your site? <a href="http://www.ccs.neu.edu/home/matthias/Presentations/ecoop2004.pdf" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://www.ccs.neu.edu/home/matthias/Presentations/ecoop2004.pdf</a> <br><br>It is cool! The functional technique that you use with OO is quite interesting indeed. Some of the pictures without words are a bit hard to grok - I found your keynote gzip but not sure what is the .apxl extension - would the keynote gzip have some of the text content?
</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">> An intern from ENS and Sam TH have already ported the code to Typed<br>> Scheme (in one day). We're hoping to report on that experience in a
<br>> paper. As others have pointed out 'types vs dynamically safe' and<br>> 'oop vs fp' are distinct questions.</blockquote><div><br>Yup :) </div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
> My experience has been terrific. I spent one real workday so far and<br>> the project is basically up and running. The interface-oriented style<br>> of class-based programming has several advantages over plain modular
<br>> programming. I intend to report more details in an essay/paper one<br>> day. (Sneak preview: inheritance plays almost no role.)<br><br>> Eventually I intend to rewrite the code into the new unit-based<br>> style. I conjecture that units and classes based code bases will be
<br>> nearly isomorphic.<br><br>> Last but not least: I have used pure forms of FP and applicative OOP<br>> here. Some other modules use set!-y style, and the conversion was<br>> identical.</blockquote><div><br>
Thanks for recounting your experience. Very appreciated. <br><br>I think the biggest brain twister for me with pure FP is statelessness. I just found stream as the a way to model state changes explicitly in the system to remove side effects (and of course Haskell & its monads are still escaping me), and while I grok the concept it's still a bit hard to commit to an implementation.
<br><br>I will dig further in HtDP for exercises - thanks,<br>yinso <br><br></div></div>