Skip to content

Instantly share code, notes, and snippets.

View pangloss's full-sized avatar
😃

Darrick Wiebe pangloss

😃
View GitHub Profile
(ns logic-ast.core
(:refer-clojure :exclude [==])
(:require [clojure.java.io :as io]
[clojure.pprint :as pp]
[cljs.env :as env]
[cljs.analyzer.utils :as u]
[cljs.analyzer :as ana]
[clojure.core.logic
:refer [run run* conde == fresh lcons partial-map defne] :as l]
[clojure.core.logic.pldb :as pldb]))
@Chouser
Chouser / externs_for_cljs.clj
Created June 17, 2013 13:44
Generate an externs.js file for arbitrary JS libraries for use in advanced Google Closure compilation, based on the ClojureScript code that uses the libraries.
(ns n01se.externs-for-cljs
(:require [clojure.java.io :as io]
[cljs.compiler :as comp]
[cljs.analyzer :as ana]))
(defn read-file [file]
(let [eof (Object.)]
(with-open [stream (clojure.lang.LineNumberingPushbackReader. (io/reader file))]
(vec (take-while #(not= % eof)
(repeatedly #(read stream false eof)))))))