From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 87675 invoked by alias); 18 Mar 2015 16:48:36 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 87637 invoked by uid 89); 18 Mar 2015 16:48:35 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mail-ob0-f172.google.com Received: from mail-ob0-f172.google.com (HELO mail-ob0-f172.google.com) (209.85.214.172) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Wed, 18 Mar 2015 16:48:34 +0000 Received: by obdfc2 with SMTP id fc2so36454808obd.3 for ; Wed, 18 Mar 2015 09:48:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=3jgotYta0RSytz3ecAW5AlIaXlqEDFJIAc2yVvCAPrg=; b=bmLIgEjExyTYdn+yQy1ySCfQjgTOq8npRAsvIuiZe4ss+E5x0wxLIpcmxolDezxq8B 8c4NgToxXGYMb6nIB9rlsv0M1VrG9tB1JzZqJBeXAP+rDRazeTASI1YjbactTlGDLniR hAu/+7Wv5GAsWo/RxQL0WjZcbsrBhzOk7mj7KsOeLH39lrJVWYuQBiZiGdl0QvczrFiQ UUcEUU7OXbqR6UimLV01usKtMDO/66Cn8vLxSluSorGLsdm9rHMZiwkTyMZo995cVov4 Oqpn9GASWXsyEWd60aKQvxPWQZxBFOhHiqzmA5gKucD686ucJ/YDScb6LRE6f1ZmS7xN KhzA== X-Gm-Message-State: ALoCoQloSUCCJ8GRD0WkDyoFFrx3fG7K8sHA7OidYg+yV0Wckau/Lf+EpLcK5/Fima8vuCcy60FZ MIME-Version: 1.0 X-Received: by 10.182.95.39 with SMTP id dh7mr149706obb.32.1426697312482; Wed, 18 Mar 2015 09:48:32 -0700 (PDT) Received: by 10.182.142.226 with HTTP; Wed, 18 Mar 2015 09:48:32 -0700 (PDT) In-Reply-To: <87mw3aadjv.fsf@igalia.com> References: <21714.40641.510825.30998@ruffy2.mtv.corp.google.com> <54E71694.1080304@redhat.com> <87ioei31uj.fsf@igalia.com> <87d24p19tt.fsf@igalia.com> <54FD7DAA.7010603@redhat.com> <87twxrncld.fsf@igalia.com> <87ioe1dvu2.fsf@igalia.com> <87sid4atms.fsf@igalia.com> <87mw3aadjv.fsf@igalia.com> Date: Wed, 18 Mar 2015 16:48:00 -0000 Message-ID: Subject: Re: [RFC] [PATCH] Provide the ability to write the frame unwinder in Python From: Doug Evans To: Andy Wingo Cc: gdb-patches , guile-devel@gnu.org Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes X-SW-Source: 2015-03/txt/msg00549.txt.bz2 On Wed, Mar 18, 2015 at 1:57 AM, Andy Wingo wrote: > Hi, > > [-asmundak, as he probably doesn't care :)] > > On Tue 17 Mar 2015 23:21, Doug Evans writes: > >> On Tue, Mar 17, 2015 at 1:57 AM, Andy Wingo wrote: >>>> As to the class of an object passed to a sniffer, how about calling it >>>> FrameData? Note that it's not very important from the user's point of >>>> view as sniffer code does not ever reference it by name. >>> >>> It's true that from user code it barely matters to Python, but Scheme's >>> monomorphic flavor makes these things more apparent: >>> >>> (frame-data-read-register frame "r0") >>> >>> This doesn't read so well to me -- is it "read-register" on a >>> "frame-data", or is it "data-read-register" on a "frame" ? A weak point >>> but "ephemeral-frame-read-register" avoids the question. >> >> As food for discussion, >> I know some people use foo:bar in Scheme to separate >> the object "foo" from the operation on it "bar". >> -> frame-data:read-register > > This convention is not often used in Guile. When it is used, it often > denotes field access rather than some more involved procedure call -- > similar to the lowercase "foo_bar()" versus camel-cased "FooBar()" in > Google C++ guidelines. > >> I like having some separator, but I went with what >> I thought was the preferred spelling (all -'s). >> It's not too late to change gdb/guile to use foo:bar throughout (IMO), >> but the door is closing. > > FWIW, I prefer "-". Even though a different character solves a problem? What problem does it introduce? The comparison with _ vs CamelCase is apples and oranges. They don't separate object/class name from method name. If I were to invoke static method read_register on class ephemeral_frame it would be ephemeral_frame::read_register(). The problem of the readability of frame-data-read-register that ephemeral-frame-read-register attempts to solve just doesn't arise. Same with frame-data:read-register.