Benchmarking seems not to be a main focus of any specific academic field, although the problem has been addressed by many different groups in CS.
Some papers I found interesting:
| ; it's a bit cumbersome to set up and there's the unfortunate need to ignore the tag | |
| ; in the individual methods, but this allows you to leave the interpretation of open | |
| ; variants, well, *open* for extension by multimethod. | |
| ; dispatch off the first argument, which will be the tag | |
| (defmethod command-multi (fn [tag & data] tag)) | |
| ; the first argument to the *method* is still the tag | |
| (defmulti command-multi :print [_ val] (println val)) | |
| (defmulti command-multi :read [_ fname] (slurp fname)) |
| Q: what book should i use to learn ML? | |
| A: use several, and find the one that speaks to you. | |
| the list below assumes you know a bit of math but | |
| are not very mathematical, and are interested in learning | |
| enough to be practical. that is, it is not at the | |
| mathematical level of MIJ's alleged list | |
| (cf. https://news.ycombinator.com/item?id=1055389 ) |
Benchmarking seems not to be a main focus of any specific academic field, although the problem has been addressed by many different groups in CS.
Some papers I found interesting:
| (comment ; Fun with transducers, v2 | |
| ;; Still haven't found a brief + approachable overview of Clojure 1.7's new | |
| ;; transducers in the particular way I would have preferred myself - so here goes: | |
| ;;;; Definitions | |
| ;; Looking at the `reduce` docstring, we can define a 'reducing-fn' as: | |
| (fn reducing-fn ([]) ([accumulation next-input])) -> new-accumulation | |
| ;; (The `[]` arity is actually optional; it's only used when calling | |
| ;; `reduce` w/o an init-accumulator). |
Simply put, destructuring in Clojure is a way extract values from a datastructure and bind them to symbols, without having to explicitly traverse the datstructure. It allows for elegant and concise Clojure code.
| #!/bin/sh | |
| hash brew &> /dev/null | |
| if [ $? -eq 1 ]; then | |
| echo 'Installing Homebrew ...' | |
| ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" | |
| fi | |
| # Ensure Homebrew formulae are updated | |
| brew update |
| # (ubuntu) | |
| # add to end of .bashrc : | |
| export PS1="\$(__git_ps1) "$PS1 | |
| # gives e.g. (when in a repo): | |
| (master) user@host:~$ | |
| # more info: http://stackoverflow.com/questions/15883416/adding-git-branch-on-the-bash-command-prompt |
| [{"0500000US33009": 4.5, "0500000US38041": 3.5, "0500000US38043": 6.4, "0500000US39069": 9.7, "0500000US38045": 3.0, "0500000US38047": 3.0, "0500000US33001": 5.6, "0500000US33000": 5.4, "0500000US33003": 5.4, "0500000US33005": 5.3, "0500000US47159": 9.4, "0500000US33007": 7.6, "0500000US19175": 5.5, "0500000US19177": 7.1, "0500000US46095": 5.8, "0500000US19171": 6.9, "0500000US19173": 4.6, "0500000US24045": 9.0, "0500000US24047": 12.2, "0500000US24510": 10.5, "0500000US19179": 7.6, "0500000US48373": 9.7, "0500000US24043": 9.8, "0500000US46093": 5.0, "0500000US55103": 7.0, "0500000US46091": 6.6, "0500000US26009": 12.3, "0500000US31183": 3.6, "0500000US31181": 4.4, "0500000US31185": 4.5, "0500000US49041": 7.4, "0500000US49043": 6.1, "0500000US39067": 10.3, "0500000US49047": 5.1, "0500000US56000": 6.0, "0500000US18155": 7.0, "0500000US18157": 7.7, "0500000US18151": 10.2, "0500000US18153": 10.1, "0500000US29021": 7.4, "0500000US55029": 10.6, "0500000US29023": 8.2, "0500000US18159": 10.3, "0500000US29027": 7.5, "0 |