Received: from ELI.CS.YALE.EDU by NEBULA.SYSTEMSZ.CS.YALE.EDU via SMTP; Sat, 9 Oct 1993 03:44:31 -0400 Received: from YALEVM.YCC.YALE.EDU by eli.CS.YALE.EDU via SMTP; Sat, 9 Oct 1993 03:44:27 -0400 Message-Id: <199310090744.AA15148@eli.CS.YALE.EDU> Received: from CUVMB.CC.COLUMBIA.EDU by YaleVM.YCC.Yale.Edu (IBM VM SMTP V2R2) with BSMTP id 0577; Sat, 09 Oct 93 03:42:38 EDT Received: from CUVMB.COLUMBIA.EDU by CUVMB.CC.COLUMBIA.EDU (Mailer R2.07) with BSMTP id 5893; Sat, 09 Oct 93 03:45:23 EDT Date: Sat, 9 Oct 1993 03:42:35 -0400 Reply-To: Jon Wolfe Sender: Lojban list From: Jon Wolfe Subject: Re: >6 place brivla, fat gismu, deleting ... X-To: lojban@cuvmb.cc.columbia.edu To: Erik Rauch Status: RO X-Status: X-From-Space-Date: Fri Oct 8 23:42:35 1993 X-From-Space-Address: @YaleVM.YCC.YALE.EDU:LOJBAN@CUVMB.BITNET Please excuse my butting in here. I'm not familiar with predicate logic and am only recently exposed to lojban. Most of the posts are a bit too technical for me. But I do have a perspective on the question of the arguments to a gismu, brivla or whatever. I program computers and there is some similarity here. Over several years I have come to the conclusion that the fewer arguments to a function the better. There are some common four argument "C" functions I look up almost every time I use them because I forget the order. The ordering of arguments in a function is one type of what is technically know as "binding". There are several types of binding and it is impossible to program without it. But it is best to minimize it. Object oriented languages (C++ is perhaps a poor example, but it is what I know), makes avoiding binding a little easier. Instead of saying: print(message, row, column, output_device, typeface, vertically, red_on_blue, xor_pen, .... (I know I'm exagerating) and then having to either create a new function when another argument is needed or else to change all references to the function, I can create an object with default settings and only give those arguments i want to change. object.set_position(row,column) object.print(message) For another type of object I may use the same function names but pass them slightly different kinds of arguments. (Ex. row/column could be 1 unit per character for one object and a pixel address for another.) The advantage of this is that I have fewer names to remember. The danger of course is that I will forget that the arguments are different. I'm not sure how, if at all, this relates to lojban. In many ways, these object oriented functions act like prepositions (which as I understand it, we don't have). But perhaps someone can find something useful here.