Skip to content

Instantly share code, notes, and snippets.

Yehonathan Sharvit viebel

Block or report user

Report or block viebel

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View create-graph.clj
(ns dijkstra.core)
(defn make-graph [] (atom {}))
(defn add-node [g node]
(swap! g assoc node {}))
(defn add-edge [g src target]
(swap! g update src #(assoc % target 1)))
View dijkstra.clj
(ns dijkstra.core)
(defn unvisited-neighbors
"Returns unvisited node's neighbors"
[graph node unvisited] (select-keys (get graph node) unvisited))
(defn update-costs
"Returns costs updated with any shorter paths found to curr's unvisited
neighbors by using curr's shortest path"
[g costs curr unvisited]
View capstone-6.clj
(def github-db {"viebel"
{:username "viebel",
:name "Yehonathan Sharvit",
:email "",
:organizations ["ibm" "google"],
{"klipse" {:name "klipse", :stars 23451, :forks 1254},
"titeuf" {:name "titeuf", :stars 1432, :forks 52},
"spirou" {:name "spirou", :stars 455, :forks 9}}},
View tagged-literals.cljs
'[ :as r]])
(binding [r/*data-readers* {'a/num (constantly 1)}]
:a (r/read-string "{:a #a/num \"42\"}"))
View topics-low-rank.clj
(require '[clojure.string :refer [join]])
(def d (js->clj js/data :keywordize-keys true))
(join "\n"
(->> (:topics d)
(remove #(get-in % [:factors :bad]))
(remove #(<= (:count %) (+ (get-in % [:factors :automated] 0)
(get-in % [:factors :autoEmail] 0)
View quick-start.clj
(def summaries ["cold" "moderate"]) ;; creates a vector with two strings: "cold" and "moderate"
(def new-summaries (assoc summaries 2 "hot")) ;; creates a new vector with an additional string: "hot"
(def old-names {:c "celsius" }) ;; creates a map from keywords to strings
(def names (assoc old-names {:f "farenheit"})) ;; creates a new map with additional entry
(defn celsius->farenheit [c] ;; define a function that converts from celsius to farenheit
(+ 32 (* c 9/5))) ;; c * 9/5 + 32
(defn celsius->summary [c] ;; define a function that converts from celsius to summary
View gains.clj
;; gorilla-repl.fileformat = 1
;; **
;; **
;; @@
(ns gains
(:require [gorilla-plot.core :as plot]
[gadjett.collections :refer [map-object]]
viebel / memoize-tr.clj
Created Sep 20, 2018
a memoized version of a function (even if it is not referentially transparent)
View memoize-tr.clj
(defn transparent [arg]
[(type arg) (meta arg) (when (seq? arg) (seq arg)) arg])
(defn memoize-tr
"Returns a memoized version of a function (even if it is not referentially
transparent). The memoized version of the function keeps a cache of the
mapping from arguments to results and, when calls with the same arguments
are repeated often, has higher performance at the expense of higher memory use."
{:added "1.0"
viebel / factorial.lisp
Last active May 7, 2018
Factorial in Common Lisp
View factorial.lisp
(labels ((factorial (n)
(if (= n 0)
(* n (factorial (- n 1))))))
(factorial 5))
View reason-3-sigma
let rec sigma (f, s) =
switch (s) {
| [] => 0
| [x, ...l] => f (x) + sigma (f, l)
let a = sigma ((fun (x) => x * x), [1, 2, 3]);
You can’t perform that action at this time.