As Hacker News has brought to your attention, I am indeed enjoying my foray 
into Racket land.  I have three separate efforts:

I am doing the prototyping work for a real time multi-user virtual reality 
service backend in Racket.  I am sort-of assuming this will be ported to 
something else to deploy at scale (and be maintained by others), but I'm 
finding it very productive in this phase, and I'm holding out some hope that it 
might stay in Racket.

I have a specification for a VR related file format that is headed towards 
JSON, but I am seriously considering changing it to s-expressions and embedding 
a trivial (not Racket) Scheme for scripting.

I'm teaching my son with Racket.  He has worked in a few different imperative 
languages prior.

I'm still a total beginner with Lisp family languages, but the fact that I was 
clearly more productive doing the server work (versus C++ or java) was 
noteworthy to me.  I'm still feeling out the exact nature of the advantages -- 
REPL is great, and using s-expressions for transport makes the server trivial 
and isn't too bad on the C++ client side, but I'm still unsure about how 
dynamic typing fits into it.  I do feel a bit like I am driving without a 
seatbelt when I run my code versus a statically typed language  (I plan on 
trying typed Racket).  Dr. Racket and the documentation are both great, and the 
overall design feels quite "sane".

I would be interested in hearing any guidance for high performance servers 
written in Racket.  GC delays in the tens of milliseconds will be problematic 
for at least part of this application, but I could split that part off into a 
separate server and still leave the other part in Racket if necessary.  The 
main benefit is currently development productivity, so obnoxious 
micro-architectural optimizations aren't useful, but broad strategic guidelines 
would be appreciated.


____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to