[plt-dev] coding ideas from JaneStreet
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