From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Colascione Newsgroups: gmane.emacs.devel Subject: Re: Generators (iterators) for Gnu Emacs Date: Sat, 06 Dec 2014 04:12:18 -0500 Message-ID: <5482C872.5010304@dancol.org> References: <877fy77zhp.fsf@web.de> <87k326d4ww.fsf@gmail.com> <877fy6rp2o.fsf@web.de> <548230FB.40307@dancol.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="tWXrjHGpHqqHbHJ1pbDaQGiR8kFNHSfHo" X-Trace: ger.gmane.org 1417857185 20609 80.91.229.3 (6 Dec 2014 09:13:05 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 6 Dec 2014 09:13:05 +0000 (UTC) Cc: Michael Heerdegen , emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Dec 06 10:12:59 2014 Return-path: Envelope-to: ged-emacs-devel@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 1XxBQA-0001tt-Gq for ged-emacs-devel@m.gmane.org; Sat, 06 Dec 2014 10:12:58 +0100 Original-Received: from localhost ([::1]:53821 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XxBQA-0000eH-1a for ged-emacs-devel@m.gmane.org; Sat, 06 Dec 2014 04:12:58 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55744) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XxBPs-0000e7-HV for emacs-devel@gnu.org; Sat, 06 Dec 2014 04:12:46 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XxBPl-0007eF-S7 for emacs-devel@gnu.org; Sat, 06 Dec 2014 04:12:40 -0500 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:42878) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XxBPl-0007ca-Hu for emacs-devel@gnu.org; Sat, 06 Dec 2014 04:12:33 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Type:In-Reply-To:References:Subject:CC:To:MIME-Version:From:Date:Message-ID; bh=kh/bSa1gebKTf5RmPdDD+bMAW0gypAcl9Q9kWqhVB/k=; b=qAxoMhztSc05udEs1TDiEJD8i02syRrW3Wqui/+7EcwApTWhLiDdcuyKnZqLVuJ+WFu/JxBH0/3zeNpwAIDR4UHtqDgG0J9pWcfRbDuEP3o+HRUPCx2QiaMADUnSvm8B/WSTkkiSdbLXg8eHVwg6A4grtsDK5OgXhfofJTasfZ/RjLWyD9IzSVlfQ7Ou3Z8cbp5fwkut8jpAx52j7quGWKrmRQ6HKqpNIN+mmvvpxrjAwy5MTrYkenOsKr68x9ch+uPLOlBO7bkGZ0wp5W6j8/y7FWYiJACwhyFnm1GKvC/cod7/1yJqDf0tffKn6Z22AM9b0blEMt3kovCEcWp76w==; Original-Received: from [64.20.179.190] (helo=[172.20.4.151]) by dancol.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84) (envelope-from ) id 1XxBPc-0003gb-T0; Sat, 06 Dec 2014 01:12:24 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2600:3c01::f03c:91ff:fedf:adf3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:179118 Archived-At: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --tWXrjHGpHqqHbHJ1pbDaQGiR8kFNHSfHo Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 12/05/2014 11:09 PM, Stefan Monnier wrote: >> That aside, I'm not sure I agree with your namespace preferences. `yie= ld' is >> fundamentally a lexically-scoped macro. >=20 > The lexically scoped `yield' is OK. But the global (defmacro yield ...= ) > is not (tho, I'm OK with keeping it if wrapped in (unless (fboundp > 'yield) ...)). >=20 >> I'd also strongly prefer using `next' as the iter-get function. >=20 > I know, but this one is out of the question. All globally-visible name= s > need to be namespace-clean. So it can be `gen-next'. It *is* "namespace-clean", as I explained above. It's ludicrous to expect that all future additions to elisp include horribly long, hyphenated names even when they're describing fundamental features of the environment. It's `car', goddammit it, not `seq-list-car'. The point is to minimize the possibility of collision with useful user code, not to religiously ensure that all symbols match ^[a-z]+-[a-z-]+$ --tWXrjHGpHqqHbHJ1pbDaQGiR8kFNHSfHo Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCAAGBQJUgshyAAoJEN4WImmbpWBlkV4QAKHdBInTIlducUSO0CNhHGpx c5PNZAAAnFEIJXTLu0nYMO07Z+eOA8xJzM6njCGvLO1WJGqugWIjJkBDv/0hb/DT NrHe1hbm9VXvolbdeIAzL9W033QSXfV5VAHczMbrry1XRgg/cf99uqUaln2/eyjy wGeYSkA9gTIXwDmNchVG0t5RYO02aA/64U3Abj3bietBDyzHxIq18tnsIFfzsubA j+wNMim15RJ+mXbzBw8bLB4lE4/wQ1UKX8FUuJQeT80ZhY0GBZZLelqxJ51syMkQ m22OGZk2KAyNDRjvD8URHJdEzxpT0tUlKs/k3XZxmF13Wkjxq+Y1b1YlUaKLW5X+ Y1sCgFOGI+ZYr5qPjYxAkBNuG46gBzvKtocsMj7dPbP2wfv14oaX19f8C5eATgPN 2/GI+ACRmQYhW+cJPx+Gpd37QNqvNm/0q7YPJdz3fNoTHZz4EDx0z3qjngQI/9iw UJKBtmrq6Akw4hA10s61ftO40xMURjcvQOJKSyWB0SoqhN3PawSHyfmwcIVOsrKq fuYg++1QRaP68Yp3WN0j9ixFFJXm4G0RltJOJc/F1s6scSjPrAiwtMZOftEeQ/8o 0pChiNKxFoUlHd/3XtaEukuswXtfneApfjwC86MMvgZG/oVsBGsCkWQiHYxliNWH 42UZUQuji55n/WPx/Vtl =AWBi -----END PGP SIGNATURE----- --tWXrjHGpHqqHbHJ1pbDaQGiR8kFNHSfHo--