GNU logs - #26106, boring messages


Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#26106: Defining a method named '-' with one parameter
Resent-From: Alejandro Sanchez <hiphish@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Wed, 15 Mar 2017 13:36:01 +0000
Resent-Message-ID: <handler.26106.B.148958494114610 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 26106
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: 26106 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-guile@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.148958494114610
          (code B ref -1); Wed, 15 Mar 2017 13:36:01 +0000
Received: (at submit) by debbugs.gnu.org; 15 Mar 2017 13:35:41 +0000
Received: from localhost ([127.0.0.1]:56418 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1co95Z-0003na-Fn
	for submit <at> debbugs.gnu.org; Wed, 15 Mar 2017 09:35:41 -0400
Received: from eggs.gnu.org ([208.118.235.92]:57807)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <hiphish@HIDDEN>) id 1co95W-0003nI-O9
 for submit <at> debbugs.gnu.org; Wed, 15 Mar 2017 09:35:39 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <hiphish@HIDDEN>) id 1co95L-0005Bk-Up
 for submit <at> debbugs.gnu.org; Wed, 15 Mar 2017 09:35:33 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_40,T_DKIM_INVALID
 autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:50010)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <hiphish@HIDDEN>)
 id 1co95L-0005Bg-SN
 for submit <at> debbugs.gnu.org; Wed, 15 Mar 2017 09:35:27 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:48755)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <hiphish@HIDDEN>) id 1co95K-0000PE-QB
 for bug-guile@HIDDEN; Wed, 15 Mar 2017 09:35:27 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <hiphish@HIDDEN>) id 1co95H-0005Ai-O1
 for bug-guile@HIDDEN; Wed, 15 Mar 2017 09:35:26 -0400
Received: from lb1.openmailbox.org ([5.79.108.160]:39390
 helo=mail.openmailbox.org)
 by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16)
 (Exim 4.71) (envelope-from <hiphish@HIDDEN>)
 id 1co95H-00059g-G9
 for bug-guile@HIDDEN; Wed, 15 Mar 2017 09:35:23 -0400
Received: by mail.openmailbox.org (Postfix, from userid 20002)
 id 9E1C2501F91; Wed, 15 Mar 2017 14:35:20 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=openmailbox.org;
 s=openmailbox; t=1489584920;
 bh=kciHN1U75kjh7/uxXa4uZ1rzOM+MU8JAsXE4SQwzfa4=;
 h=From:Subject:Date:To:From;
 b=ZBeqhOJsEGieyEWNNbvIUIdbU1U8sdb4AcCoYA1kaYlRTY291E2bBqc2lbpTfyn9G
 dfZnLCyCpae0uHKYMQNzmQUr7LUAe4UVbTC13yLdTbO+ZHTPescmCSmdBfbT53fY/T
 NQP2IcBwzZTJTvr9ZxhfMhM5TClkgVrCWFqaJG9c=
From: Alejandro Sanchez <hiphish@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=openmailbox.org;
 s=openmailbox; t=1489584920;
 bh=kciHN1U75kjh7/uxXa4uZ1rzOM+MU8JAsXE4SQwzfa4=;
 h=From:Subject:Date:To:From;
 b=ZBeqhOJsEGieyEWNNbvIUIdbU1U8sdb4AcCoYA1kaYlRTY291E2bBqc2lbpTfyn9G
 dfZnLCyCpae0uHKYMQNzmQUr7LUAe4UVbTC13yLdTbO+ZHTPescmCSmdBfbT53fY/T
 NQP2IcBwzZTJTvr9ZxhfMhM5TClkgVrCWFqaJG9c=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Message-Id: <F7542921-8F39-4B4E-B8ED-B6E8F53DAD10@HIDDEN>
Date: Wed, 15 Mar 2017 14:35:18 +0100
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
X-Mailer: Apple Mail (2.3124)
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
 [fuzzy]
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.0 (----)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.0 (----)

If I define a method named =E2=80=98-=E2=80=98 which only takes in one =
parameter, the expression =E2=80=98(- v)=E2=80=99 gets rewritten to =
=E2=80=98(- 0 v)=E2=80=99. Here is a minimal example:

	(use-modules (oop goops))
=09
	(define-class <vector2> ()
	  (x #:init-value 0 #:getter get-x #:init-keyword #:x)
	  (y #:init-value 0 #:getter get-y #:init-keyword #:y))
=09
	(define-method (* (n <number>) (v <vector2>))
	  (make <vector2> #:x (* n (get-x v)) #:y (* n (get-y v))))
=09
	(define-method (- (v <vector2>))
	  (* -1 v))
=09
	(define v (make <vector2> #:x 1 #:y 2))
	(* -1 v)  ; Works fine
	(- v)  ; Throws error

Here is the error message:

	scheme@(guile-user)> (- v)
	ERROR: In procedure scm-error:
	ERROR: No applicable method for #<<generic> - (2)> in call (- 0 =
#<<vector2> 10a8e4020>)
=09
	Entering a new prompt.  Type `,bt' for a backtrace or `,q' to =
continue.
	scheme@(guile-user) [1]> ,bt
	In current input:
	     23:0  2 (_)
	In oop/goops.scm:
	   1438:4  1 (cache-miss 0 #<<vector2> 10a8e4020>)
	In unknown file:
	           0 (scm-error goops-error #f "No applicable method for =
~S in call ~S" (#<<generic> - (2)> (- 0 #<<vec=E2=80=A6>)) #)





Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Alejandro Sanchez <hiphish@HIDDEN>
Subject: bug#26106: Acknowledgement (Defining a method named '-' with one
 parameter)
Message-ID: <handler.26106.B.148958494114610.ack <at> debbugs.gnu.org>
References: <F7542921-8F39-4B4E-B8ED-B6E8F53DAD10@HIDDEN>
X-Gnu-PR-Message: ack 26106
X-Gnu-PR-Package: guile
Reply-To: 26106 <at> debbugs.gnu.org
Date: Wed, 15 Mar 2017 13:36:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-guile@HIDDEN

If you wish to submit further information on this problem, please
send it to 26106 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
26106: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D26106
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#26106: Defining a method named '-' with one parameter
Resent-From: Andy Wingo <wingo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Wed, 19 Apr 2017 15:01:02 +0000
Resent-Message-ID: <handler.26106.B26106.14926140369488 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 26106
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: Alejandro Sanchez <hiphish@HIDDEN>
Cc: 26106 <at> debbugs.gnu.org
Received: via spool by 26106-submit <at> debbugs.gnu.org id=B26106.14926140369488
          (code B ref 26106); Wed, 19 Apr 2017 15:01:02 +0000
Received: (at 26106) by debbugs.gnu.org; 19 Apr 2017 15:00:36 +0000
Received: from localhost ([127.0.0.1]:57041 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1d0r5v-0002Sy-H2
	for submit <at> debbugs.gnu.org; Wed, 19 Apr 2017 11:00:35 -0400
Received: from pb-sasl1.pobox.com ([64.147.108.66]:59204
 helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <wingo@HIDDEN>) id 1d0r5u-0002Sr-Gg
 for 26106 <at> debbugs.gnu.org; Wed, 19 Apr 2017 11:00:34 -0400
Received: from sasl.smtp.pobox.com (unknown [127.0.0.1])
 by pb-sasl1.pobox.com (Postfix) with ESMTP id 2DF1381BCA;
 Wed, 19 Apr 2017 11:00:33 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type:content-transfer-encoding; s=sasl; bh=kWhDKxxiyflh
 LDkKfbWd0mKOWyM=; b=pMM4Eyi9ALliR+BUQvjXpALmvzyOW9ZEUBOBIQP6lCM9
 DkHck4+yhK2CG//SDnXa5Xrb/iuX9AbTID7OeCTw82bnGQjpJfj2o3YQyJ+gWsFc
 0YOMm8PLWqKATQnbPllpSh/HRULl1OUUBC7AORlTv51CDyRBYb8Oe/zEFxmTguY=
Received: from pb-sasl1.nyi.icgroup.com (unknown [127.0.0.1])
 by pb-sasl1.pobox.com (Postfix) with ESMTP id 2619A81BC9;
 Wed, 19 Apr 2017 11:00:33 -0400 (EDT)
Received: from rusty (unknown [88.160.190.192])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by pb-sasl1.pobox.com (Postfix) with ESMTPSA id 598C881BC8;
 Wed, 19 Apr 2017 11:00:32 -0400 (EDT)
From: Andy Wingo <wingo@HIDDEN>
References: <F7542921-8F39-4B4E-B8ED-B6E8F53DAD10@HIDDEN>
Date: Wed, 19 Apr 2017 17:00:25 +0200
In-Reply-To: <F7542921-8F39-4B4E-B8ED-B6E8F53DAD10@HIDDEN> (Alejandro
 Sanchez's message of "Wed, 15 Mar 2017 14:35:18 +0100")
Message-ID: <87vaq0l9x2.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Pobox-Relay-ID: EF708538-2510-11E7-B362-07D2064AB293-02397024!pb-sasl1.pobox.com
X-Spam-Score: 0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.7 (/)

On Wed 15 Mar 2017 14:35, Alejandro Sanchez <hiphish@HIDDEN> write=
s:

> If I define a method named =E2=80=98-=E2=80=98 which only takes in one pa=
rameter, the expression =E2=80=98(- v)=E2=80=99 gets rewritten to =E2=80=98=
(- 0 v)=E2=80=99. Here is a minimal example:
>
> 	(use-modules (oop goops))
>=20=09
> 	(define-class <vector2> ()
> 	  (x #:init-value 0 #:getter get-x #:init-keyword #:x)
> 	  (y #:init-value 0 #:getter get-y #:init-keyword #:y))
>=20=09
> 	(define-method (* (n <number>) (v <vector2>))
> 	  (make <vector2> #:x (* n (get-x v)) #:y (* n (get-y v))))
>=20=09
> 	(define-method (- (v <vector2>))
> 	  (* -1 v))
>=20=09
> 	(define v (make <vector2> #:x 1 #:y 2))
> 	(* -1 v)  ; Works fine
> 	(- v)  ; Throws error
>
> Here is the error message:
>
> 	scheme@(guile-user)> (- v)
> 	ERROR: In procedure scm-error:
> 	ERROR: No applicable method for #<<generic> - (2)> in call (- 0 #<<vecto=
r2> 10a8e4020>)
>=20=09
> 	Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
> 	scheme@(guile-user) [1]> ,bt
> 	In current input:
> 	     23:0  2 (_)
> 	In oop/goops.scm:
> 	   1438:4  1 (cache-miss 0 #<<vector2> 10a8e4020>)
> 	In unknown file:
> 	           0 (scm-error goops-error #f "No applicable method for ~S in c=
all ~S" (#<<generic> - (2)> (- 0 #<<vec=E2=80=A6>)) #)

Is (- x) equivalent to (* x -1) ?

Right now there are a few things happening.  The "primitive expansion"
phase in an early part of the compiler turns (- x) to (- 0 x), where
obviously it should not be doing that.  But can it turn it into (* x -1)
?  Note that somewhat confusingly, a later part of the compiler that can
detect when X is a real number will undo that transformation, turning it
to (- 0 x) when X is real.  So that sounds OK from an optimization point
of view but is the (* x -1) tranformation correct from the math point of
view?

Andy





Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.