Hello! I've just realized that Haskell is no good for working with functions!

First, what are 'functions' we are interested at? It can't be the usual 
set-theoretic definition, since it is not constructive. The constructive 
definition should imply functions that can be constructed, computed. Thus these 
are computable functions that should be of our concern. But computable 
functions in essence are just a synonym for programs.

One could expect from a language that bears 'functional' as its characteristic 
to be able to do everything imaginable with functions. However, the only thing 
Haskell can do with functions is to apply them to arguments and to feed them as 
arguments, run in parallel (run and concatenate programs).

Obviously, that's not all of the imaginable possibilities. One also can rewrite 
programs. And write programs that rewrite programs. And write programs that 
rewrite programs that rewrite the first programs and so on. But there is no 
such possibility in Haskell, except for introducing a DSL.

So now I wonder, what are the languages that are functional in the sense above? 
With a reasonable syntax and semantics, thus no assembler. I guess Lisp might 
be of this kind, but I'm not sure. In addition, I'm not a fan of parentheses. 
What else? Pure? Mathematica? Maxima?

Note, that the reflectivity is important.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to