From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Nicolas Petton Newsgroups: gmane.emacs.devel Subject: Re: Is there a function for auto currying in Elisp? Date: Fri, 22 Dec 2017 16:34:21 +0100 Message-ID: <87608yn5du.fsf@petton.fr> References: <87tvwki1oe.fsf@petton.fr> <87efnnm8eg.fsf@petton.fr> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Trace: blaine.gmane.org 1513958446 29138 195.159.176.226 (22 Dec 2017 16:00:46 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 22 Dec 2017 16:00:46 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Dec 22 17:00:42 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eSPkU-0006kC-UL for ged-emacs-devel@m.gmane.org; Fri, 22 Dec 2017 17:00:39 +0100 Original-Received: from localhost ([::1]:55814 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eSPmQ-0008Ar-3W for ged-emacs-devel@m.gmane.org; Fri, 22 Dec 2017 11:02:38 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35614) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eSPLA-0001sV-KC for emacs-devel@gnu.org; Fri, 22 Dec 2017 10:34:29 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eSPL7-0008OV-DH for emacs-devel@gnu.org; Fri, 22 Dec 2017 10:34:28 -0500 Original-Received: from petton.fr ([89.234.186.68]:54854) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eSPL7-0008N7-3l for emacs-devel@gnu.org; Fri, 22 Dec 2017 10:34:25 -0500 In-Reply-To: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=petton.fr; s=mail; t=1513956863; bh=LFC5oc13wSD0qN+9Piv51K1aEl3fOcQd1fftoJDSMp4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID:MIME-Version:Content-Type; b=QLcspX0vddSnxML6yY/N0hPOV1xIExx1ARp3ZUh249vWpGXLpPH4qqUHFNUDnNG5mGZ36nGQVz8Pjg2WhZCuXItfzvKVGw0+bKZKZvhY5lxAx0fTA65pmqJLsFKp4CpuZUMolGT8yNpSw30ohrk5fR4BskM3Agt8ILxFMHV3Ag0= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 89.234.186.68 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:221339 Archived-At: --=-=-= Content-Type: text/plain Stefan Monnier writes: > "Real" functional programming tends to use lots of small functions, so > it's important to optimize the implementation of function calls and > closure creations. Elisp is not great at either of those: I meant that Elisp (like most Lisps) is a good fit for functional programming from the point of view of the semantics of the language and the constructs it provides. > The Elisp style is evolving and those inefficiencies are more often > visible (e.g. cl-print's main bottleneck is the cost of apply+&rest in > my tests), so we can hope that someone will work on reducing them at > some point; That'd be nice indeed, but one beautiful day we'll get Guile's VM anyway! > and in general I do recommend to make your code clean and > correct first and foremost. But keep in mind that Elisp's support for > functional programming is a bit lacking in efficiency. I've not yet hit any performance issue regarding fun calls or heavy use of closures :) Cheers, Nico --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEKNO+2FH986tX/vk8IzWHpHwgeRAFAlo9Jf0ACgkQIzWHpHwg eRCAfwgAxdWdRl/FnYYzaFWRfj5zvSrFuMxq6I+3MNRW+AE1oe2B+7Bh+GrA0nBK 5OtoL+8B0A7OcH0cwte40aAU2+ZfRafi0iEK//QsdfoMHpt+rOKTimrf4P7U+H3P RmuhxjoBpa7G4agl91OGpy6hyP6p/7p8DPXr/1MmSFvAthQ7Ip4reKBtXxrPLeBr SFlUaiDCq06RBM5jVkeADirWLzQaBIB718+1fC9vNdWwzg5dAX7EyZqP9p1Y1zJz 1oMsJV2kLNH7ljwwsGs9hwwpsbG7UJZwKc/+dJds/gPZfvhF0y//2pWDcRESEG8C VR5EZ5FyYsiH3QDg7EJFSyePy6Eoyw== =QJ/f -----END PGP SIGNATURE----- --=-=-=--