See below.<br><br><div class="gmail_quote">On Mon, Apr 30, 2012 at 10:57 AM, Bikal Gurung <span dir="ltr">&lt;<a href="mailto:gbikal@gmail.com" target="_blank">gbikal@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Ray,<div><br></div><div>Are you using this in your day to day programming? </div></blockquote><div><br></div><div>Most of my home programming is in Racket. </div><div>Work is split 75%-10%-15% Scala, R and Racket respectively.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>What sort of projects do you use this for ? </div></blockquote><div><br></div><div>At work I use Racket for large scripts and data massaging and manipulations.  Most of to get things collected and shaped up in a form to load it into R. :)</div>
<div><br></div><div>At home, I tend to average one multi-million dollar idea a quarter, which are explored and abandoned on a regular basis without making a dime.  I find this exercise in futility endlessly fun and Racket is great for this sort hamster wheel spinning.   The quicker you can explore, the sooner the realization of just how brain dead that brilliant idea really was is achieved.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Do you use untyped racket in the beginning, i.e when you are experimenting with ideas/algorithms and then migrate to typed racket ? </div>
</blockquote><div><br></div><div>When I sit to do something there are only two possibilities Scala or (typed) Racket.  For any sort of quick exploration I use TRacket.  Typed Racket is so light weight to use, what code I write is typed.  #lang typed/racket/base first thing, every time, in every new module without hesitation.   In other words I do not code in Racket and then later go back on type the code.  Too easy to just use TR from keystroke one.</div>
<div><br></div><div>Awhile back I wrote some code to generate a Formal Concept Analysis lattice for around 100K Amazon genre ebooks with various attribution.  This was the only time I&#39;ve written a modest, yet nontrivial program twice, once in TR and once in Scala.</div>
<div><br></div><div>The first effort was from the algo&#39;s paper/publication to TR.  The second effort was in Scala.  I distinctly remember expecting the Scala effort to go pretty fast, as after all I&#39;d already written it once.</div>
<div><br></div><div>Unexpectedly, the Scala effort took more time than I thought it should.  It was not a Scala issue per se, but an OO-centric language with support for functional idioms versus a Functional-centric languge with support for OO idioms.  I much prefer the later.   </div>
<div><br></div><div>Data in structures.  Apply functions, transform data, repeat until expected output is reached.  Sometimes its just hard to keep mapping and jamming things relentlessly into classes and it is entirely too easy to paint yourself into a corner with your OO structure.</div>
<div><br></div><div>Also with TypedRacket I find I get more meta-level in my programming in a Haskell kind of way than when I did regular Racket programming, i.e.,  pass more functions, compose more functions etc.  Typed Racket allows one to just keep layering the abstractions without losing the plot.</div>
<div><br></div><div>Things like ...</div><div>(: map/try-or-else (All (T U) (Try T) (T -&gt; U) (exn -&gt; U) -&gt; (Try U)))</div><div><br></div><div>Now Scala is hands down a BRILLIANT work in language design.  My admiration is unbounded.  And I use it willing and often, especially at work, on all kinds of stuff.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Have you used typed racket when developing web applications with the racket web libs?</div></blockquote>
<div><br></div><div>Never really had a need to.  But when I need it, it is good to know that Jay, as posted in this thread, is migrating the web code to TR.</div></div>