14 ms·
"Relational programming" pretty much explains what it is, I think. It also makes it clear that functional programming (at least abstractly) is a special case of
by felixyz 3y ago
"Relational programming" pretty much explains what it is, I think. It also makes it clear that functional programming (at least abstractly) is a special case of relational programming, because functions are special cases of relations (namely those relations that are not one-to-many). It's perfectly possible to program in a functional style in a relational language. (In practice, Prolog lacks some of the amenities of say ML-descendant languages, but Curry has them!)
"Declarative" is in my eyes an umbrella term for logic/relational and functional programming, but the word gets used in many ways.
- hyperthesis 3y agoRelational is closer - though I'm personally wanting a term for when you specify the whole outcome in one go, rather than a composition. Like WYSIWYG (see my other reply). Yes, the word gets used in many ways, that's basically it. BTW there's injective programming (only one-to-one relations), so programs are reversible.
- marcosdumay 3y agoI see the declarative vs. operative concept as a multi-tiered division where none of the general purpose languages can ever be on the declarative extreme, but relational programming is indeed the closest one.