Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site hou5d.UUCP Path: utzoo!linus!security!genrad!decvax!harpo!eagle!hou5h!hou5a!hou5d!mat From: mat@hou5d.UUCP Newsgroups: net.lang.c Subject: Re: How About Agregate Formation and Return? Message-ID: <731@hou5d.UUCP> Date: Fri, 4-Nov-83 00:05:25 EST Article-I.D.: hou5d.731 Posted: Fri Nov 4 00:05:25 1983 Date-Received: Sun, 6-Nov-83 21:03:50 EST References: <185@wu1.UUCP> Organization: AT&T Information Systems Laboratories, Holmdel, NJ Lines: 38 Well, we keep talking about blue-sky additions to C. I have two favorites of my own. They are structure aggregation and disaggregation. struct x { int depth; int bucket; char *tag; struct x *brother; }; struct x x_obj, x_funct(); ... /* * Agreggation */ x_obj = { depth: 2, bucket: alpha, tag: x_obj2.tag, brother: &x_obj2 }; /* * Disaggregation */ { depth: d, bucket: buck, tag: ; /* discard */ brother: ; /* ditto */ } = x_funct(); I cannot take credit for the idea of disaggregation. I first saw it in SETL, which is a set-symbology language for rapid prototyping developed by Jack Schwartz of NYU/Courant. Mark Terribile hou5d!mat