> The characteristics of Python you just mentioned are only specific to it in cases when they are erroneous.
They are explicit at the official documentation, if they got there by error, they are official features now.
> They basically all evaluate to "Python isn't type-safe."
Yes, they do. They are at the opposite extreme from type-safety. That's why I used them to exemplify how it's the languages that apply better to some problems.
> So again, show me a program that is best represented in a non-type-safe way, and I will concede the point.
Well, any Django[1] CRUD would do. They are quite trivial, in there's little meaning in specifying exactly the manipulated data. Yes, Haskell has tools for displaying data at the web, and querying a database; no they are simply not as powerful when applied to that problem.
[1] In other frameworks they are about as simple, but you asked for one example.
I find this a strange and unconvincing example -- if I'm understanding you correctly, that is. Is your complaint about strong typing here that you'd be forced to define stuff like a record Customer with fields "lastName", "firstName", etc. and you'd rather avoid that?
If you'd like something more "dynamic" (i.e. type-unsafe), you can instead just define a "universal data type" for all your CRUD data. For example you could define, say
data Any = Number Int
| Str String
| Map String Any
| Date ...
| ...
and where you want "universal" data manipulation you just use Any.
EDIT: Thus you've confined all the "fuzziness" of your data definitions to a "subsystem" of your system and you can still benefit from proper types and type checking everywhere else.
They are explicit at the official documentation, if they got there by error, they are official features now.
> They basically all evaluate to "Python isn't type-safe."
Yes, they do. They are at the opposite extreme from type-safety. That's why I used them to exemplify how it's the languages that apply better to some problems.
> So again, show me a program that is best represented in a non-type-safe way, and I will concede the point.
Well, any Django[1] CRUD would do. They are quite trivial, in there's little meaning in specifying exactly the manipulated data. Yes, Haskell has tools for displaying data at the web, and querying a database; no they are simply not as powerful when applied to that problem.
[1] In other frameworks they are about as simple, but you asked for one example.