views:

70

answers:

1

I'm pretty good at Haskell and have been teaching myself J. I've read about John Backus' distinction between value-level and function-level programming.

J is a function-level language that allows one to write in a value-level style if desired. (I hope I've got that right.) Where does Haskell fit in in this? I know Haskell permits a tacit programming style and I know it's a pure functional language, but do you think Backus would describe it as a value-level or a function-level language?

In sum, function-level and functional languages seem to be related to each other, but not exactly the same. Could someone clarify?

+2  A: 

Pretty much every practical functional programming language is still value-level programming; function-level programming is more of an academic/algebraic form of programming looking to derive properties from how functions are formed from other functions.

Because any real practical application requires operating on some form of data (abstract calculations on abstract inputs generally aren't very useful in day-to-day life), this brings such into the value-level domain.

http://en.wikipedia.org/wiki/Function-level_programming#Contrast_to_functional_programming

Amber
Interesting. I'd read the function-level article before, but I hadn't seen the section that contrasted it with functional programming. The history of the article in Wikipedia says it's been there in one form or another for years. How odd.
Gregory Higley