Functional (non-imperative) Shading language & BSDF helper functions

I realize that this is not an “ideas” part of the forum but I would really like to see a standardized functional programming language shader syntax/language to come out in a future version of opengl (possibly along with ogsl) since the idealogy of functional languages suits this area of progamming.

This would of course mean learning another language for users but im sure once learnt, will be a great asset and make understanding of shaders a little more logical and maintainable. (for ideas see

Other wishful additions
BSDF helper functions

Modern GPU’s are “imperative” devices, not functional. The problem, in the shader realm, with functional languages is that you have to convert from functional to imperative in a compiler. The optimizing compiler is going to be difficult enough to write as it is without having to deal with these conversion issues. Also, there is a question as to how to best optimize “functional” programming, on the user-end.

Lastly, shaders are really small. Maintainence coding on shaders is not much of an issue. Either it works, or it doesn’t, or it needs tweaking. Either way, you’re not looking at much more than a few dozen lines of code.