[plt-dev] coding ideas from JaneStreet

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Mon Apr 12 18:12:50 EDT 2010

Yaron Minsky, JaneStreet, recently spoke to Olin's compiler class. I  
thought I had counted ten points from his discussion of coding  
techniques but as you can see below, I wrote down only 10. (Yaron was  
on a plt list for a while; perhaps he can correct me)

>
> Yaron Minsky, JaneStreet
>
> What I like about programming with ML/Ocaml in the real world
>
> 1. Favor readers over writers. (That's readers of code; they are  
> always right.)
>
> 2. Open few modules, open them locally.
>
> 3. Create uniform interfaces (naming convention, main argument  
> convention (OO)).
>
> 4. Make illegal states unrepresentable.
>
> 5. Code for exhaustiveness (pattern matches enumerate all conditions).
>
> 6. Make common errors obvious.
>
>    member: alpha list * alpha -> alpha option
>    member_exn: alpha list * alpha -> alpha
>
> 7. Avoid boilerplate.
>
> 8. Avoid complex type hackery.
>
> 9. Don't be puritanical about purity.


What you can see is that almost all of these apply to programming in  
PLT Scheme. Well, for 8, I will defer to Sam :-)

-- Matthias



Posted on the dev mailing list.