
Hi,
3GLs: programming based on algorithms (C, Java, ...) There are algorithms in Haskell
4GSs: domain-specific languages (SQL,...) There are plenty of domain specific languages in Haskell, I'd call Parsec one of them
5GLs: automatic problem solving (Mathematica, Prolog,...) I wouldn't say it "automatically" solves the problems. But I would say that the high degree of abstraction and compositionality afforded by a pure language means that its easy to reuse other peoples solutions, which I guess is having it automatically solved.
and/or visual programming (Visual Basic,...)
I can only assume you are a) joking, or b) not a visual basic user. While Visual Basic is a much insulted language, I have a soft spot for it. However, its not a Visual programming language - its a language which happens to have a GUI API and a bit of IDE support. Its resolutely a 3GL, roughly akin to Java, in my opinion.
The question is: how strong is the influence of laziness in everyday Haskell programming? I'd say very strong, lots of times a "where" is used thats making use of laziness.
Thanks Neil