Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!yale!hsdndev!cmcl2!kramden.acf.nyu.edu!brnstnd From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein) Newsgroups: comp.lang.misc Subject: Re: On whether C has first-class composable functions Message-ID: <4408:Jan421:44:3391@kramden.acf.nyu.edu> Date: 4 Jan 91 21:44:33 GMT References: <1990Dec29.110202.3862@mathrt0.math.chalmers.se> <17557:Jan219:22:3191@kramden.acf.nyu.edu> <442@data.UUCP> Organization: IR Lines: 25 In article <442@data.UUCP> kend@data.UUCP (Ken Dickey) writes: > brnstnd@kramden.acf.nyu.edu (Dan Bernstein) writes: > >I think we all agree on what ``first-class,'' ``composable,'' and > >``function'' mean. A first-class object can be passed as arguments and > >assigned to variables. [ ... ] > There is an important property of "first-class" objects missing here. > A first-class object does not have to be named. Do you have a reference? As always, I'm doing my best to use standard terminology; I just haven't seen any references that demand a syntactic restriction like that. > >To sum up: ``C has first-class composable functions with reasonable > >efficiency and without ridiculously complicated syntax'' is good enough > >for me. [ ... ] > By the way, what function would "apply(compose(compose,f),x);" return in C? > Strike "composable"? What are you talking about? It doesn't make sense to compose a function that takes two arguments, at least not without a more general notation. I can't make heads or tails of your example. ---Dan