Michael Wild wrote: > > On 19. Nov, 2009, at 15:06 , Jed Brown wrote: > >> Michael Wild wrote: >> >>> Not sure I'd like that... Instead of being more expressive, I think this >>> would be very confusing. >> >> This is not a some magic beast coming out of functional languages. In >> fact, it's pretty hard to find a language that can't do this sort of >> thing, even older Fortrans let you pass functions. >> >> Jed > > Yes, but that's something completely different! It's not like you're > able to do (using your notation):
(not my notation) > set(&tmp &install) > set(&install &add_executable) > set(&add_executable &tmp) > > In C/C++ and to various extent in Fortran (depending on the version) you > can pass around "function pointers". This is _not_ a function. There's > no way of doing that in C/C++ or Fortran (that is, without using ugly > preprocessor magic). CMake is untyped where as C, for example, is statically typed and only allows symbols to be defined once (C++ breaks this with templates, but you're supposed to be careful so that all definitions are equivalent). In any case, you sure can do int (*Func)(int,int) = SomeFunction; int x = Func(5,6); int y = FoldL(Func,array,size,3); and so on. Jed
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
