Skip to content

Instantly share code, notes, and snippets.

Enzzo souenzzo

Block or report user

Report or block souenzzo

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 xform.clj
(let [xparir-transform (fn [{:keys [initial-value transform-fn]}]
(fn [rf]
(let [old (volatile! initial-value)]
(fn
([] (rf))
([result] (rf result))
([result input]
(let [new (transform-fn input @old)]
(vreset! old input)
(rf result new)))))))]
View interop.clj
(defn len [x]
(.length x))
(defn len2 [^String x]
(.length x))
(defprotocol ILengthable
(len3 [this]))
(extend-protocol ILengthable
String
(len3 [this] (.length this)))
@souenzzo
souenzzo / deps.edn
Last active Apr 23, 2019
import do not search for cljc files
View deps.edn
;; should work, once it was required first
;; clj -Srepro -Sdeps '{:deps {import-bug {:git/url "https://gist.github.com/souenzzo/e23944fac595077f372aa662cde5ff91" :sha "fd49010c7fee88bc3fb705d5fd494718bbd16f18"}}}' -m ok
;; should fail, once import will not search for cljc files
;; clj -Srepro -Sdeps '{:deps {import-bug {:git/url "https://gist.github.com/souenzzo/e23944fac595077f372aa662cde5ff91" :sha "fd49010c7fee88bc3fb705d5fd494718bbd16f18"}}}' -m fail
{:paths ["."]
:deps {org.clojure/clojure {:mvn/version "1.10.1-beta2"}}}
View resolver.clj
(defn username-by-id
{::pc/kind pc/resolver
::pc/input #{:app.user/id}
::pc/output [:app.user/username]}
[{::keys [db]} {:app.user/keys [id]}]
{:app.user/username (-> (j/query db ["SELECT username FROM app_user WHERE id = ?"
id])
first
:username)})
View gist:e67571042d10f94a2b70840566ad9e13
(ns nondeps.core)
(defn -main
[target]
(let [f @#'clojure.core/load
paths (atom [])]
(with-redefs [clojure.core/load (fn [& path]
(swap! paths concat path)
(apply f path))]
View windows95.css
button {
background-color: #c3c7cb;
border: none;
padding: 7px 20px 5px;
box-shadow: inset 1px 1px 0 1px #ffffff, inset 0 0 0 1px #868a8e, 1px 1px 0 0 #000;
}
@souenzzo
souenzzo / deps.edn
Last active Mar 27, 2019
Clojure version of "java quickstart" from gsheets. https://developers.google.com/sheets/api/quickstart/java
View deps.edn
;; run with
;; clj -Sdeps '{:deps {gdocs {:git/url "https://gist.github.com/souenzzo/df540002607b15378f8014237e499fdd" :sha "fee00617c75fc24c74931aa4200f74666c5b66b6"}}}' -m gdocs
{:paths ["."]
:deps {org.clojure/clojure {:mvn/version "1.10.0"}
com.google.api-client/google-api-client {:mvn/version "1.28.0"}
com.google.oauth-client/google-oauth-client-jetty {:mvn/version "1.28.0"}
com.google.apis/google-api-services-sheets {:mvn/version "v4-rev566-1.25.0"}}}
@souenzzo
souenzzo / Main.java
Created Mar 9, 2019
Run with java --source 11 Main.java
View Main.java
import java.util.Objects;
public class Main {
public static void main(String[] args) {
var foo = new Object() {
String x = "aa";
};
Thread t;
t = new Thread(() -> {
if (Objects.nonNull(foo.x)) {
@souenzzo
souenzzo / deps.edn
Last active Feb 21, 2019
lacinia HTTP API with generators
View deps.edn
{:paths ["."]
:deps {org.clojure/clojure {:mvn/version "1.10.0"}
com.walmartlabs/lacinia {:mvn/version "0.32.0"}
io.pedestal/pedestal.service {:mvn/version "0.5.5"}
io.pedestal/pedestal.jetty {:mvn/version "0.5.5"}
com.walmartlabs/lacinia-pedestal {:mvn/version "0.11.0"}
org.clojure/test.check {:mvn/version "0.10.0-alpha3"}
com.rpl/specter {:mvn/version "1.1.2"}}}
@souenzzo
souenzzo / deps.edn
Last active Jan 9, 2019
core.async cljs bug. Run 'clj -m cljs.main --repl-env node -m hack'
View deps.edn
;; clj -Srepro -Sdeps '{:deps {cljs-bug {:git/url "https://gist.github.com/souenzzo/2d3e171bf718e32becf3cb9d15ea6dfa" :sha "eded47447764e7eb8d4cb25be1d77640e9c50aaf"}}}' -m hack ## works!
;; clj -Srepro -Sdeps '{:deps {cljs-bug {:git/url "https://gist.github.com/souenzzo/2d3e171bf718e32becf3cb9d15ea6dfa" :sha "eded47447764e7eb8d4cb25be1d77640e9c50aaf"}}}' -m cljs.main --repl-env node -m hack ## Can't recur here at line 44 hack.cljc
{:paths ["."]
:deps {org.clojure/clojure {:mvn/version "1.10.0"}
org.clojure/clojurescript {:mvn/version "1.10.439"}
org.clojure/core.async {:mvn/version "0.4.490"}}}
You can’t perform that action at this time.