I know of "imperative" and "functional" programming but there was little I could find on "datatype" programming. Is there such a thing and how is it related to the other paradigms?
-
Where did you hear the term "datatype programming"? Do you mean "strongly typed", as a reference to strongly-typed languages? – FrustratedWithFormsDesigner Dec 10 '09 at 21:15
-
5Why the downvote people? I've never heard of "datatype programming" but I'm not going to fault the guy for having heard someone use the term... – Dave Swersky Dec 10 '09 at 21:21
-
No, I'm sure I heard datatype programming. I'm aware of type theory and typed languages but this is somewhat different. At least I remember it being used differently. – David K. Dec 10 '09 at 21:28
-
It was used in the context of generic programming. – David K. Dec 10 '09 at 21:28
-
Are you sure you heard datatype and not dataflow? Also - in the context of 'Generic' (as in generics/templates) or 'generic' (as in not a specific one)? – Aaron Dec 10 '09 at 21:38
1 Answers
I have never heard of that term. Google hasn't, either. (The only hit is this very question.)
The closest thing I can think of, is Typeful Programming, which is a programming paradigm introduced by Luca Cardelli in a 1989 paper by the same title.
The idea of typeful programming is that you use types extensively and primarily to model your domain, drive your design, structure your program and in general solve your problem, the same way you use objects in object-oriented programming, procedures in procedural programming, functions in functional programming, clauses in logic programming, processes in Erlang, and so on. This is a typical style in Haskell.
[EDIT: I hadn't seen your comments on the question, when I wrote this answer. I guess this second one is what you are looking for.]
Another term that I stumbled upon while doing the above-mentioned Google search, is the term datatype-generic programming. This is a research project that ran from 2003 to 2006 that aims to create a new mechanism for writing programs that parametrize over types much further as is possible today with, say, parametric polymorphism in Haskell or templates in C++.

- 1
- 1

- 363,080
- 75
- 446
- 653
-
Ok, so I wasn't imagining things. I was curious if there were any real programming language based on it but from your answer I guess it is more of a research kind of thing. – David K. Dec 10 '09 at 22:10