Talk:Function-level programming

From Wikipedia, the free encyclopedia

What would be an example of a function-level definition which is not the lifted image of a value-level one?

I am not sure there is a reasonable answer to that question. It is more of a notational and usage question. Composition can only be defined (other than as a primitive) as (f . g)(x) = f(g(x)). The notations are equivalent semantically, but computationally and for optimisation and implementation they may be different - function-level programming will clearly have composition as a primitive. Justinc 23:16, 4 August 2005 (UTC)
In general, program A and program B are significantly different when they reflect a different architecture. This tends to be relevant only for complex programs with significant structure, which have been derived independently in different contexts. This is where you would tend to see function-level programs which are not simple translations of value-level programs. Of course, once a design is implemented it will be possible to apply that design in other contexts -- the real issue here is the original time and effort needed to find and implement the design. That said, it's difficult to separate architectural influences from the language and architectural influences specific to function-level programming. This is especially true given that there are so few function-level programming languages. With those qualifiers, the J program to compute arithmetic mean (+/%#) illustrates in a small way how a function-level definition can be different from a typical value-level definition. Here, the absence of explicit variables quickly leads to a definition which works on arbitrarily sized and dimensioned data, with the language, rather than the programmer, defining the function domain. RaulMiller 06:04, 22 March 2006 (UTC)

Did the author really mean bottom-up semantics or did they mean to say bottom-preserving semantics?

After re-reading the entries on the FP programming language and strict functions I think he must have meant bottom-preserving semantics. RaulMiller 06:20, 22 March 2006 (UTC)

It should be mentioned that in the end (the compiled program or similar) its all value level. whether you store data, function pointers etc. pp. so the distinction isnt between the way the programs execute but in how the humans perceive them