Skip to content

Instantly share code, notes, and snippets.

View rdsr's full-sized avatar

Ratandeep Ratti rdsr

  • LinkedIn!
  • Sunnyvale, CA
View GitHub Profile
(->> colls
(reduce #(for [x %1 y %2] [x y]))
(map flatten)))
;;toggle full-screen
(defun toggle-fullscreen ()
(interactive)
(set-frame-parameter
nil
'fullscreen
(if (frame-parameter nil 'fullscreen)
nil
'fullboth)))
(defun my-save-buffer (&optional args)
"removing trailing whitespaces and tabs while saving buffer"
(interactive "p")
(untabify (point-min) (point-max))
(whitespace-cleanup)
(save-buffer args))
(global-set-key "\C-x\C-s" 'my-save-buffer)
(defn clean-up [m]
(reduce f {} m))
(defn f
[m [key value]]
(cond
(vector? value) (apply conj m (map clean-up value))
(map? value) (conj m value)
:else (assoc m key value)))
(defn contextual-eval [ctx expr] ;; from Joy of clojure
(eval
`(let ~(vec (mapcat #(list % `('~ctx '~%)) (keys ctx)))
~expr)))
(defn contextual-eval ;; alternative
[ctx expr]
(eval
`(let ~(vec (apply concat ctx))
(defn create-project
[]
(sql/create-table
:project
[:id :int "PRIMARY KEY" "NOT NULL"]
[:name "varchar(30)" "NOT NULL"]
[:description :text "NOT NULL"]))