From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Arthur Miller Newsgroups: gmane.emacs.devel Subject: Re: Emacs HTTP libraries [was: Re: How to contribute new package to GNU ELPA?] Date: Tue, 22 Dec 2020 14:04:48 +0100 Message-ID: References: <87sg7yf73g.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="12106"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: adam@alphapapa.net, rms@gnu.org, emacs-devel@gnu.org To: "Philip K." Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Dec 22 14:06:11 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1krhMg-00031S-QN for ged-emacs-devel@m.gmane-mx.org; Tue, 22 Dec 2020 14:06:10 +0100 Original-Received: from localhost ([::1]:54512 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1krhMf-0001su-R4 for ged-emacs-devel@m.gmane-mx.org; Tue, 22 Dec 2020 08:06:09 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35590) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1krhLY-0001Cs-OO for emacs-devel@gnu.org; Tue, 22 Dec 2020 08:05:00 -0500 Original-Received: from mail-oln040092069079.outbound.protection.outlook.com ([40.92.69.79]:52557 helo=EUR02-VE1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1krhLV-00050I-52; Tue, 22 Dec 2020 08:05:00 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KCrwcvAv27f3SscHD37o/vsgtVCV+FcLub44aMJPqQy7prHA7zcb0ydPxMSqA9EjhLBhr8ozaaxRT2CFibIGwTDLO3a6/LHBe5dLgzInzaOpDNV+Bzv6BGhlCqtk6rKa3QRG+MvRP3CzjLgWsXyma9ux75TmlZNJoV/o+Gb5QiMtZEqbjUOqnVudOuUdRITDg/sh2zHPcF4r2ZR2VX+zDIZA8SThY2X0n8IvU9tCV5vHBHUqW2OfPfyfTqluzSN8Tu7PLRRdK9RdqGH4Mb0OoVSplnKNNfCR+ksBmn766OaH9HIGdqhBhpYdDGpR2tXzUZguuB1TFIJVVZFqMHFpkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7EkZVGpQGqNJbJwikA5LuLWHbyf+egtIhuWWgrQonEY=; b=OM0jWlWGH7sefP+vuXZVmyeHK1SR98HPIoPKN0x1q7O4BlXEtQAlkWpqGefp40SY7Ep4bE0bzlnd6Thk+OyvTbCyc0ylDhTLQmZ/IyQCbtgJb3d6QOiIqAtLaVnMvQTcKeLKDTyC+QDPutJy9lIfPSVE7Yj++i/tOIEqPlO22Nbde9nBC14kl0liPQVUONBUK2rwoTYVDkh/+7kYX3o8RlJaWnZKOSWjTQ+lVBkjC3mUYSMHCMcE6dA51Q5+3puecTEAfoT9q9vz7lFBji79CqajVEfgGrGbVctpiK1E90ovJHqmv342b2vQShbRU/AcZBybGQocjK8aisKlgZIpJA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7EkZVGpQGqNJbJwikA5LuLWHbyf+egtIhuWWgrQonEY=; b=RAfq4lEeSTdN4eu3mTFCDVslPmthYfK0sZgc5ARnPkRQBGBboZrtOOM1OIVOD5Flo8S6ccZt5gC/aEExLGHoM7F3+9LbWXIety+I20dcXS0K+nKCQCWsd4GmFtdmWmcaCC/C2LxwIWJkUriYazCcyvTYgMOxU7fw6oH0oULFoTrW/lMWTVoRa2XV8I/tXzo4GJgSqcosZt2LI594SYtVIO/B8o3bRtcms5BwEMAtloQuI/EESl0R1UiFEO9kc/3CbpzS3znMilFnGWB0Xt44SNRw9faMrjdfJCwB26qQy9Nn4IrW/5KN4vTfE1vIxVU4QDEMHQiEDbffeoQsz8aP0w== Original-Received: from HE1EUR02FT015.eop-EUR02.prod.protection.outlook.com (2a01:111:e400:7e1d::4f) by HE1EUR02HT036.eop-EUR02.prod.protection.outlook.com (2a01:111:e400:7e1d::373) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3676.22; Tue, 22 Dec 2020 13:04:51 +0000 Original-Received: from AM0PR06MB6577.eurprd06.prod.outlook.com (2a01:111:e400:7e1d::4d) by HE1EUR02FT015.mail.protection.outlook.com (2a01:111:e400:7e1d::89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3676.22 via Frontend Transport; Tue, 22 Dec 2020 13:04:51 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:A054337A45F780FA21B66B981F244496ABF2446FFE368865F3BBF34C4C705CA2; UpperCasedChecksum:1380CFA99BEDF54BDECBBB4430548CC4B2FB048603698C1B7B765328A89F4B9C; SizeAsReceived:7445; Count:46 Original-Received: from AM0PR06MB6577.eurprd06.prod.outlook.com ([fe80::9487:8c7d:da00:4993]) by AM0PR06MB6577.eurprd06.prod.outlook.com ([fe80::9487:8c7d:da00:4993%8]) with mapi id 15.20.3676.033; Tue, 22 Dec 2020 13:04:50 +0000 In-Reply-To: <87sg7yf73g.fsf@posteo.net> (Philip K.'s message of "Tue, 22 Dec 2020 11:49:55 +0100") X-TMN: [hPhG0oVep1dL3JH8G2XjbAGyrIPN1Y/F] X-ClientProxiedBy: AM5PR1001CA0027.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:2::40) To AM0PR06MB6577.eurprd06.prod.outlook.com (2603:10a6:208:19a::23) X-Microsoft-Original-Message-ID: <87r1niat5b.fsf@live.com> X-MS-Exchange-MessageSentRepresentingType: 1 Original-Received: from pascal.homepc (90.230.29.56) by AM5PR1001CA0027.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:2::40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.27 via Frontend Transport; Tue, 22 Dec 2020 13:04:49 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 46 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 4e44f3c6-450a-457d-7f74-08d8a67a2a7f X-MS-TrafficTypeDiagnostic: HE1EUR02HT036: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WTts9F68jy+A0JSAxn2bU04WQTKIsLTb+BwNJowpsyHUf2qBV7wEz7YWTGnvTWvwzMt8lNGWW72cL2fmlw/A/07owNfTA9j8AUdOy06ZdE+3k5jvz3Qszx2M5xMe4GLUm/Yjgp+Ks2eW2SWy+hBklAwqD8OJJvygaspipg1SymPua1G3aVnE1MIroO2YVgebxZsg3j0Ng+oHB6XcjwTWf8qscBD/qI1VCmR3eE6M9H7yhZWT9KA6HTEXHLDUar3Y X-MS-Exchange-AntiSpam-MessageData: Fy/B4nTJZJHshkv0P2cHYtM168odIGU1MNjS5xicfEgi7Eu8PJJCTzS8rp3+0VVH4nbl9su0sJsS5H6X7guyI+i/GOdjKGa1hUWYYG3zy35l0m+O0KuiUmJSeofx3D1kVgxqfqD6euWNjCopPkSQRQ== X-OriginatorOrg: live.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2020 13:04:50.1159 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-Network-Message-Id: 4e44f3c6-450a-457d-7f74-08d8a67a2a7f X-MS-Exchange-CrossTenant-AuthSource: HE1EUR02FT015.eop-EUR02.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1EUR02HT036 Received-SPF: pass client-ip=40.92.69.79; envelope-from=arthur.miller@live.com; helo=EUR02-VE1-obe.outbound.protection.outlook.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:261482 Archived-At: "Philip K." writes: > Richard Stallman writes: > >> > Request.el is another story, and I can't comment on that. It's probably >> > just like with dash/s/f/... where non-elisp developers dislike the >> > built-in API, but I'm just guessing. >> >> From what people have said here, it sounds unproblematical. >> But could you explain what you mean by comparing it with dash/s/f/? > > In my experience, people use dash/s/f when they are either unfamiliar > with the built-in functions and macros, or when they find them too > cumbersome to use (I'm sure there are exceptions, but again, this is my > impression). So they want to write (s-join "+" '("abc" "def" "ghi")) > instead of (mapconcat #'identity '("abc" "def" "ghi") "+"), and add an > external dependency for this minor convenience. Indeed. I think one problem is dicoverability. Built-in functions and macros does not start always with what people would use as their first guess. Thinngs like s-* orc -* are easier to look up (just one page on github), easier to guess the name etc. Then we have things like string-replace and replace-string: which one do you use if you are not familiar with elisp? It asks for doc lookup, lookup breaks the workflow and thought process, and so people probably find it easier to open github page for s.el then bother to figure out how things are done idiomatically in Elisp. > And again, in my experience this often motivates people to use request, > though it might be a better example, because it actually does useful > stuff, even though I don't always think it's idiomatic. The built-in > url.el could use this as an inspiration, to add more macros/functions > that simplify code. > > One notable difference is that it will use curl, the binary, instead of > url.el if it's installed, which does notably accelerate network > requests. Yes, I think it was main goal of the the author - to use curl when possible for the performance reasons; but I don't know for sure. Maybe the author is reading this list and can step in and tell us. I don't think it was same motivation as behind s/dash etc. It defines asynchronous framework for use with networking. It is an "old" package, at least since 2012, I don't remember if Emacs back then had threads or not.