Skip to content

Instantly share code, notes, and snippets.

View lilactown's full-sized avatar
🌊
Do not follow in the footsteps of the sages. Seek what they sought.

Will Acton lilactown

🌊
Do not follow in the footsteps of the sages. Seek what they sought.
View GitHub Profile
import { LexicalGrammar } from "./lexer";
let toplevel = new LexicalGrammar();
export const canonicalParens = {
'#?(': '()',
'#?@(': '()',
'#(': '()',
'(': '()',
')': '()',
'#{': '{}',
'{': '{}',
@lilactown
lilactown / ueaq.cljs
Last active November 14, 2019 11:58
(ns ueaq.core
(:require
[goog.object :as gobj]
["react" :as r]
["react-dom/server" :as rds]))
(defn unwrap
[^js p]
(.-__unwrap p))
(ns apollo-example.core
(:require [hx.react :as hx :refer [defnc]]
["react-dom" :as rdom]
["react-apollo" :as apollo]
["apollo-boost" :default ApolloClient :refer [gql]]
[applied-science.js-interop :as j]))
(def client (ApolloClient. #js {:uri "https://48p1r2roz4.sse.codesandbox.io"}))
(def exchange-query (gql "{
commit "6ccb629e365f46a9516e4defeced652cce9d4d35"
shadow-cljs - config: /Users/will/Code/clojure/hx/shadow-cljs.edn cli version: 2.7.9 node: v10.3.0
shadow-cljs - socket connect failed, server process dead?
shadow-cljs - starting via "clojure"
Dec 14, 2018 5:17:21 PM org.xnio.Xnio <clinit>
INFO: XNIO version 3.3.8.Final
Dec 14, 2018 5:17:21 PM org.xnio.nio.NioXnio <clinit>
INFO: XNIO NIO Implementation Version 3.3.8.Final
shadow-cljs - HTTP server for :workshop available at http://localhost:8700
# Install rustup from https://rustup.rs/
rustup toolchain add nightly # install nightly
cargo +nightly install racer # install racer
rustup component add rustfmt-preview # install rustfmt
rustup component add rust-src # install rust source
@lilactown
lilactown / hooks-indirect.js
Last active November 6, 2018 00:33
Reconciler-agnostic React hooks
/**
Problem 1: As a library developer, I want to be able to test my hooks without having to render a component.
Problem 2: As a library developer, I want to be able to publish my hooks without a direct dependency on React.
Problem 3: As an application developer, I want to be able to easily override (with some sort of proxy/rewire magic,
perhaps) hooks with side effects in tests.
Problem 4: As an application developer, I would like to be able to use hooks written for React in other frameworks
that support hooks.
@lilactown
lilactown / rebel.sh
Last active June 18, 2019 09:52
Start a Clojure(Script) REPL with rebel-readline and any other dependencies you want to include
# Add these to your .bash_profile / .zshrc / etc.
# Starts a Clojure repl
function rebel-clj() {
clojure -Sdeps "{:deps {com.bhauman/rebel-readline {:mvn/version \"0.1.4\"} $@}}" -m rebel-readline.main
}
# Starts a browser REPL
function rebel-cljs() {
clojure -Sdeps "{:deps {com.bhauman/figwheel-main {:mvn/version \"0.1.7\"} com.bhauman/rebel-readline-cljs {:mvn/version \"0.1.4\"} $@}}" -m figwheel.main
@lilactown
lilactown / projection.clj
Created August 11, 2018 04:30
Project a map onto a tree of keys
(defn project-paths [projection]
(loop [pr projection
paths '[]]
(let [[el next] pr]
(if (empty? pr)
paths
(if (vector? next)
(recur
(drop 2 pr)
@lilactown
lilactown / spacemacs-cider-18-snapshot.el
Created August 8, 2018 15:33
How to fix spacemacs + CIDER 0.18-SNAPSHOT
;; The latest CIDER v0.18-SNAPSHOT bumped the nREPL dependency to 0.4
;; which broke the sayid and clj-refactor nREPL middleware.
;; Here's how to disable them until they can be updated
(defun dotspacemacs/user-config ()
;; ...
(setq sayid-inject-dependencies-at-jack-in nil)
(setq cljr-inject-dependencies-at-jack-in nil)
;; ...
)
@lilactown
lilactown / dracula-theme.el
Created August 1, 2018 23:09
Slightly modified dracula theme for emacs
;;; dracula-theme.el --- Dracula Theme
;; Copyright 2015-present, All rights reserved
;;
;; Code licensed under the MIT license
;; Author: film42
;; Version: 1.3.2
;; Package-Version: 20180416.652
;; Package-Requires: ((emacs "24"))