Path: utzoo!attcan!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!rpi!dali.cs.montana.edu!milton!uw-beaver!Teknowledge.COM!unix!garth!smryan From: smryan@garth.UUCP (Steven Ryan) Newsgroups: comp.lang.misc Subject: Re: Complexity of syntax Summary: There more powerful alternatives to C. And Algol 68. Message-ID: <20@garth.UUCP> Date: 17 Dec 90 18:28:26 GMT References: <9012061208.AA08577@decpa.pa.dec.com> <1990Dec9.013923.14456@cs.umn.edu> Reply-To: smryan@garth.UUCP (Steven Ryan) Organization: INTERGRAPH (APD) -- Palo Alto, CA Lines: 36 >How many languages support arrays of pointers to functions returning >pointers to functions that return pointers to integers? If you limit >yourself to data structures that would work in FORTRAN or Pascal, you >have no need for such programs. I already answerred this kind of question before. In Algol 68, it's []proc proc ref int How many languages support arrays of functions returning arrays of functions returning arrays of functions..... [*] Two recursive mode definitions in Algol 68 are (1) mode cell = struct(int data, ref cell link) (2) mode list = proc(list)list Translated into C these would be (1) typedef struct cell{int data; struct cell *link;} cell; (2) cannot be expressed in C I suppose if you limit yourself to data structures that would work in C, you have no need for such programs using (2). Of course, CLU and other more recent languages would permit you to write something akin to (3) mode cell m = struct(m data, ref cell m link) although in fact this cannot be written in C or Algol 68, so I suppose if you limit....... _______________________________________________________________________ * I don't have a copy of revised definition at hand, so I'm not sure if mode func = []proc func is well formed. However mode func = []proc(int)func is. -- ...!uunet!ingr!apd!smryan Steven Ryan ...!{apple|pyramid}!garth!smryan 2400 Geng Road, Palo Alto, CA