From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Taylan Ulrich Bayirli/Kammer Newsgroups: gmane.lisp.guile.user Subject: Re: A couple of questions about goops method parameters Date: Fri, 05 Sep 2014 23:53:18 +0200 Message-ID: <87ha0lg2ep.fsf@taylan.uni.cx> References: <1409905923.9245.5.camel@Renee-desktop.suse> <871trpridm.fsf@izanagi.i-did-not-set--mail-host-address--so-tickle-me> <87lhpxg6ta.fsf@taylan.uni.cx> <87tx4liyfd.fsf@elektro.pacujo.net> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1409954023 15815 80.91.229.3 (5 Sep 2014 21:53:43 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 5 Sep 2014 21:53:43 +0000 (UTC) Cc: Carlos Pita , David Thompson , "guile-user@gnu.org" To: Marko Rauhamaa Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Fri Sep 05 23:53:36 2014 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XQ1Rk-0003Hr-It for guile-user@m.gmane.org; Fri, 05 Sep 2014 23:53:32 +0200 Original-Received: from localhost ([::1]:60349 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XQ1Rj-0005Nc-UY for guile-user@m.gmane.org; Fri, 05 Sep 2014 17:53:31 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54853) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XQ1Ra-0005NU-V9 for guile-user@gnu.org; Fri, 05 Sep 2014 17:53:24 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XQ1Ra-0004DD-0L for guile-user@gnu.org; Fri, 05 Sep 2014 17:53:22 -0400 Original-Received: from mail-la0-x233.google.com ([2a00:1450:4010:c03::233]:64384) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XQ1RZ-0004Cx-Ns for guile-user@gnu.org; Fri, 05 Sep 2014 17:53:21 -0400 Original-Received: by mail-la0-f51.google.com with SMTP id gi9so2813757lab.38 for ; Fri, 05 Sep 2014 14:53:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=tN3oWLlYK80BIeLWnIC3i+GZNxp41InCFy8AmAdxfgI=; b=OxzRzXjutNm2jkvqPd4REiOM+webpms3Dj7cQR3UNXWYAczpkEE1+bScApVfq8496X q2G0BBaMa1jv2WGhFWaGoHlTlduqRir/m2aIG/v2eVXFue5GcvawQINdwZPmNjdXYvxp IA9DKol1i89L2Azs1AQyn4jB08ncSftBpr3B+tInmEWa4gAUHuyxJlNpFTy625SJYiFt 7/78O2zGeDEugp8m0ensnCCply70z8Cy3x+xHbuZ5YKopsO8XP/mxyvZYpNOy58Z5mA4 ZPfO0J5+hOGfdWPSRSxSzPxdPn+sqZHI3A8No9pHUc1osadMtcoW7Jc6WnmBNZl+3mep kAmg== X-Received: by 10.112.8.99 with SMTP id q3mr13782578lba.85.1409954000439; Fri, 05 Sep 2014 14:53:20 -0700 (PDT) Original-Received: from taylan.uni.cx (p200300514A1DE4510213E8FFFEED36FB.dip0.t-ipconnect.de. [2003:51:4a1d:e451:213:e8ff:feed:36fb]) by mx.google.com with ESMTPSA id j10sm1115010lbb.34.2014.09.05.14.53.19 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 05 Sep 2014 14:53:19 -0700 (PDT) In-Reply-To: <87tx4liyfd.fsf@elektro.pacujo.net> (Marko Rauhamaa's message of "Fri, 05 Sep 2014 23:51:02 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c03::233 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:11471 Archived-At: Marko Rauhamaa writes: > Dynamic programming languages lack a true, efficient dot notation. If with a "true, efficient dot notation" you mean for example C structs, then records fill that role except for using accessor procedures instead of syntax. (Under the right conditions, usage of records could compile to direct O(1) memory access (pointer+offset), just like usage of vectors. Arrays and structs in C are in direct analogy to vectors and records in Scheme; the only difference being Scheme's general requirement of type-checks.) Though after pondering a bit I realized that it indeed seems impossible to compile "(.bar foo)" (could result from "foo[.bar]" via SRFI-105) into the correct memory offset, if there are multiple record types each with a '.bar' field, because it's not statically known which record type 'foo' has. Maybe that's exactly what you meant. Taylan