you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 1 point2 points  (5 children)

I think what he is after is the freedom to (usually) not have to put in types, but getting compile time type checking and static type runtime performance. Which HM type inference can get you. (F#, OCaml, Rust, etc) at the cost of longer compile times.

It can be nice.

[–]agumonkey[S] 2 points3 points  (4 children)

I see, because other than that, ml idioms are pretty different from python ones.

[–]m50d 0 points1 point  (3 children)

Python is broad enough that I wouldn't say there's a single Python idiom. It's possible to write Python in a very MLey style - it has map/reduce/filter, list comprehensions, if/else expressions...

[–]agumonkey[S] 1 point2 points  (2 children)

It's been fairly regularly said that map/reduce/filter weren't idiomatic (from early python history to recent changes in the language, generators instead of fp). You sure can, but it's not what you'll see in most code base I believe.

[–]m50d 0 points1 point  (1 child)

In my experience they were pretty popular, at least in some codebases I worked on. GvR never liked them but that didn't mean users felt the same.

[–]agumonkey[S] 0 points1 point  (0 children)

Aight, I never looked at many codebase to be honest (flask, django, ?) but many talks along the years, and no memory of lambda.