From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Managing environments (Python venv, guix environment, etc.) Date: Tue, 26 Jul 2016 17:49:40 +0300 Message-ID: <83bn1ktpx7.fsf@gnu.org> References: <87y453sy0n.fsf@earth.catern.com> <87r3arripr.fsf@earth.catern.com> <874m7jygot.fsf@earth.catern.com> <83oa5ox21u.fsf@gnu.org> <123d2ae9-b523-5d5b-3bf8-c6e4462270b8@yandex.ru> <83vazvt8q3.fsf@gnu.org> <83oa5ltzy0.fsf@gnu.org> <6626aaa2-caa5-48cb-2898-931c4eae4e5c@yandex.ru> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1469544613 11584 80.91.229.3 (26 Jul 2016 14:50:13 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 26 Jul 2016 14:50:13 +0000 (UTC) Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jul 26 16:50:08 2016 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 1bS3gM-0008Ak-Ih for ged-emacs-devel@m.gmane.org; Tue, 26 Jul 2016 16:50:06 +0200 Original-Received: from localhost ([::1]:40359 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bS3gL-0007or-RF for ged-emacs-devel@m.gmane.org; Tue, 26 Jul 2016 10:50:05 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40225) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bS3gC-0007nE-UX for emacs-devel@gnu.org; Tue, 26 Jul 2016 10:49:57 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bS3g8-0004Da-VN for emacs-devel@gnu.org; Tue, 26 Jul 2016 10:49:56 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40824) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bS3g8-0004DW-S5; Tue, 26 Jul 2016 10:49:52 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1683 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1bS3g7-0001Ub-PA; Tue, 26 Jul 2016 10:49:52 -0400 In-reply-to: <6626aaa2-caa5-48cb-2898-931c4eae4e5c@yandex.ru> (message from Dmitry Gutov on Tue, 26 Jul 2016 05:08:31 +0300) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:206151 Archived-At: > Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org > From: Dmitry Gutov > Date: Tue, 26 Jul 2016 05:08:31 +0300 > > >> Consider: if we just add a new defgeneric (or two) to project.el, any > >> specialized environment implementation would either have to provide its > >> own full project implementation (i.e. it'll be unable to use > >> vc-project), or it'll have to define specialized implementations of > >> these methods just for certain types of projects it knows about. > > > > Why can't the default implementation behave as if "environments" > > didn't exist? > > Then those projects will miss out on Guix, and similar, integrations. I don't understand why. Can you elaborate? > My point is, whether a project uses Guix, or a similar tool, should be > in vast majority of cases orthogonal to the type of the project > (language used, frameworks, configuration file format, etc). > > So far I'm inclined to believe that there should be about as many > project implementations as there are project file formats (e.g. Maven, > Ant, Autotools, Gradle configs, specialized formats used by other > editors, etc). There's no reason to multiply that by the number of > environment types we want to support. Maybe I misunderstand, but I thought requirements for supporting Maven, Ant, etc., are indeed orthogonal to those imposed by Guix etc., so no multiplication should be necessary. If not, then how do people use these combinations outside of Emacs -- do they also create all the combinations? Maybe we should discuss what is and what isn't part of a "project".