From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alexis Newsgroups: gmane.emacs.devel Subject: Re: Use of `dash` and `s` functions by MELPA packages Date: Wed, 28 Jan 2015 13:40:37 +1100 Message-ID: <87mw53aaqi.fsf@gmail.com> References: <87r3uga8nw.fsf@gmail.com> <87d25zx06q.fsf@newcastle.ac.uk> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1422412869 10658 80.91.229.3 (28 Jan 2015 02:41:09 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 28 Jan 2015 02:41:09 +0000 (UTC) To: emacs-devel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jan 28 03:41:04 2015 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 1YGIYy-0005uW-15 for ged-emacs-devel@m.gmane.org; Wed, 28 Jan 2015 03:41:04 +0100 Original-Received: from localhost ([::1]:51002 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGIYx-0007x4-0h for ged-emacs-devel@m.gmane.org; Tue, 27 Jan 2015 21:41:03 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41615) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGIYj-0007we-SY for emacs-devel@gnu.org; Tue, 27 Jan 2015 21:40:51 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YGIYg-0002q9-M8 for emacs-devel@gnu.org; Tue, 27 Jan 2015 21:40:49 -0500 Original-Received: from mail-pa0-x232.google.com ([2607:f8b0:400e:c03::232]:43880) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGIYg-0002pw-BH for emacs-devel@gnu.org; Tue, 27 Jan 2015 21:40:46 -0500 Original-Received: by mail-pa0-f50.google.com with SMTP id rd3so22422324pab.9 for ; Tue, 27 Jan 2015 18:40:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=references:from:to:subject:in-reply-to:date:message-id:mime-version :content-type; bh=+rNQ7Y962P5NuTJlW/o4WSkST9qeMEe0HmskA8WD4p4=; b=x+EMuKc8AuLdr7AmqsuvOcun2cE8g098IQAGCtC5x1PeDH0TVflWWMgVPU6Zn1gYHQ JUgIJg9+OCxJQ78mfy8JH3UaAlwtq4R4ayaT/IvBuzNsTzGrlEDYo7phewATiKPEt88a LQgC8OXX/Mu1vemAGE+UbmAdspG1Y3M5GfcJWuOtU55B/OKLb8hgls7mhIxvyg8fjKsx VTj2vzRS8WL0UIaWxjReJaNODWcDz6UDyhvWk5Cvy6mLcD0JAyQL6vFX6b1j5U5ibyLo Fy0ossNr5jjqyelZ2xT9FgUB4E44f+2Q/vI7jtPqAynooVHhK8qWNUpAb9A1dL4S5Ejn 6U4Q== X-Received: by 10.70.46.227 with SMTP id y3mr1566539pdm.155.1422412845363; Tue, 27 Jan 2015 18:40:45 -0800 (PST) Original-Received: from localhost (ppp118-209-63-224.lns20.mel4.internode.on.net. [118.209.63.224]) by mx.google.com with ESMTPSA id zs8sm2997024pac.9.2015.01.27.18.40.42 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Tue, 27 Jan 2015 18:40:43 -0800 (PST) In-reply-to: <87d25zx06q.fsf@newcastle.ac.uk> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400e:c03::232 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:181868 Archived-At: Phillip Lord writes: > 5% using dash is pretty amasing, and 4% with s. My own interpretation > is that Emacs could do with more of these kind of libraries -- richer > APIs for interacting with a few datatypes. I've had a fairly nice > experience with f.el as well. i just ran the script on `f`: ### ### Usage of 'f' by MELPA packages ### 'f' is used by 64/4506 files (1.42%). # Function usage counts, sorted by decreasing frequency Count % Function ----------------------------------------- 184 31.45 f-join 116 19.83 f-expand 43 7.35 f-filename 42 7.18 f-exists? 29 4.96 f-dirname 17 2.91 f-file? 12 2.05 f-files 11 1.88 f-read-text 10 1.71 f-mkdir 10 1.71 f-full 9 1.54 f-relative 8 1.37 f-write-text 8 1.37 f-ext 8 1.37 f-delete 7 1.20 f-long 7 1.20 f-directories 7 1.20 f-canonical 6 1.03 f-root? 6 1.03 f-glob 5 0.85 f-touch 5 0.85 f-split 5 0.85 f-same? 4 0.68 f-descendant-of? 4 0.68 f-base 3 0.51 f-slash 2 0.34 f-symlink? 2 0.34 f-short 2 0.34 f-relative? 2 0.34 f-no-ext 2 0.34 f-ext? 2 0.34 f-entries 2 0.34 f-directory? 1 0.17 f-traverse-upwards 1 0.17 f-symlink 1 0.17 f-copy 1 0.17 f-ancestor-of? 1 0.17 f-absolute? 0 0.00 f-write-bytes 0 0.00 f-writable? 0 0.00 f-with-sandbox 0 0.00 f-up 0 0.00 f-uniquify-alist 0 0.00 f-uniquify 0 0.00 f-unibyte-string-p 0 0.00 f-this-file 0 0.00 f-size 0 0.00 f-root 0 0.00 f-readable? 0 0.00 f-read-bytes 0 0.00 f-path-separator 0 0.00 f-parent-of? 0 0.00 f-move 0 0.00 f-executable? 0 0.00 f-common-parent 0 0.00 f-child-of? 0 0.00 f--up 0 0.00 f--uniquify 0 0.00 f--traverse-upwards 0 0.00 f--files 0 0.00 f--entries 0 0.00 f--directories 0 0.00 f--destructive 0 0.00 f--collect-entries # Function usage counts, sorted by function name Function Count % --------------------------------------------- f--collect-entries 0 0.00 f--destructive 0 0.00 f--directories 0 0.00 f--entries 0 0.00 f--files 0 0.00 f--traverse-upwards 0 0.00 f--uniquify 0 0.00 f--up 0 0.00 f-absolute? 1 0.17 f-ancestor-of? 1 0.17 f-base 4 0.68 f-canonical 7 1.20 f-child-of? 0 0.00 f-common-parent 0 0.00 f-copy 1 0.17 f-delete 8 1.37 f-descendant-of? 4 0.68 f-directories 7 1.20 f-directory? 2 0.34 f-dirname 29 4.96 f-entries 2 0.34 f-executable? 0 0.00 f-exists? 42 7.18 f-expand 116 19.83 f-ext 8 1.37 f-ext? 2 0.34 f-file? 17 2.91 f-filename 43 7.35 f-files 12 2.05 f-full 10 1.71 f-glob 6 1.03 f-join 184 31.45 f-long 7 1.20 f-mkdir 10 1.71 f-move 0 0.00 f-no-ext 2 0.34 f-parent-of? 0 0.00 f-path-separator 0 0.00 f-read-bytes 0 0.00 f-read-text 11 1.88 f-readable? 0 0.00 f-relative 9 1.54 f-relative? 2 0.34 f-root 0 0.00 f-root? 6 1.03 f-same? 5 0.85 f-short 2 0.34 f-size 0 0.00 f-slash 3 0.51 f-split 5 0.85 f-symlink 1 0.17 f-symlink? 2 0.34 f-this-file 0 0.00 f-touch 5 0.85 f-traverse-upwards 1 0.17 f-unibyte-string-p 0 0.00 f-uniquify 0 0.00 f-uniquify-alist 0 0.00 f-up 0 0.00 f-with-sandbox 0 0.00 f-writable? 0 0.00 f-write-bytes 0 0.00 f-write-text 8 1.37 # Files using 'f', sorted by usage count Usage(s) File ----------------------------------------- 185 cake2 49 cask 42 malinka 31 skeletor 22 edts-project 21 ert-runner 14 relative-buffers 12 helm-bibtex 11 servant-cli 11 nvm 11 evm 10 serverspec 9 ecukes-new 9 cdnjs 9 ansible 8 magma-scan 7 password-store 7 git 7 edts-plugin 7 edts-mode 6 servant 6 ecukes-template 6 ecukes-project 5 projectile 5 ecukes-reporter 5 ecukes-load 5 cake-auto-switch 4 helm-dirset 4 edts-api 3 kfg 3 edts-man 3 ecukes-cli 3 commander 3 cask-cli 3 anaconda-mode 2 ycmd 2 prodigy 2 pallet 2 magma-interactive 2 elm-util 2 edts-dialyzer 2 ecukes-run 2 ecukes 2 cerbere-gotest 2 cerbere 1 workgroups2 1 tern-django 1 signature-interface 1 py-test 1 projectile-rails 1 phpunit 1 overseer 1 magma-vars 1 magma-snippets 1 magma-completion 1 edts-debug-mode 1 edts-code 1 edbi-django 1 ecukes-parse 1 ecukes-def 1 ecukes-core 1 dired-filter 1 cerbere-phpunit 1 amd-mode # Files using 'f', sorted alphabetically File Usage(s) ----------------------------------------- amd-mode 1 anaconda-mode 3 ansible 9 cake-auto-switch 5 cake2 185 cask 49 cask-cli 3 cdnjs 9 cerbere 2 cerbere-gotest 2 cerbere-phpunit 1 commander 3 dired-filter 1 ecukes 2 ecukes-cli 3 ecukes-core 1 ecukes-def 1 ecukes-load 5 ecukes-new 9 ecukes-parse 1 ecukes-project 6 ecukes-reporter 5 ecukes-run 2 ecukes-template 6 edbi-django 1 edts-api 4 edts-code 1 edts-debug-mode 1 edts-dialyzer 2 edts-man 3 edts-mode 7 edts-plugin 7 edts-project 22 elm-util 2 ert-runner 21 evm 11 git 7 helm-bibtex 12 helm-dirset 4 kfg 3 magma-completion 1 magma-interactive 2 magma-scan 8 magma-snippets 1 magma-vars 1 malinka 42 nvm 11 overseer 1 pallet 2 password-store 7 phpunit 1 prodigy 2 projectile 5 projectile-rails 1 py-test 1 relative-buffers 14 servant 6 servant-cli 11 serverspec 10 signature-interface 1 skeletor 31 tern-django 1 workgroups2 1 ycmd 2 ### End Alexis.