> No, by "types first" I think John and Vincent are talking about a conceptual > order. I would phrase it a little more subtly: an ML (or Haskell) > programmer writes their types, then their programs (as you must); a TR > programmer thinks about their data, writes down a program, then writes down > the types (describing the data) they had in mind in the first place (and > often were written down as comments).
i don't fully grok this but i'd guess there are other things going on as well. i'm not sure what you mean by "as you must" since ml/haskell have type inference. i think it could be more that in non T Racket, you *cannot* use types to do the work, so you have to "manually" do it with predicates. whereas in typed languages, presumably you *want* to make use of the types, because then you are getting static checking e.g. that you've tested all constructors or whatever (not sure if/how that in particular would work in ml/haskell, but in e.g. haxe the switch will warn you if you miss a case). ? ____________________ Racket Users list: http://lists.racket-lang.org/users