This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package spss; | |
import java.util.Arrays; | |
import java.util.concurrent.CompletionStage; | |
import akka.*; | |
import akka.actor.ActorSystem; | |
import akka.stream.*; | |
import akka.stream.javadsl.*; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defprotocol IAlias | |
(unalias [_])) | |
(deftype VersionAlias [version tag] | |
IAlias | |
(unalias [this] version)) | |
(defn version-alias [version tag] (VersionAlias. version tag)) | |
(defn version-alias? [x] (instance? VersionAlias x)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{:conjunction | |
[{:disjunction [e0 e1]} | |
{:disjunction [e1 e2]} | |
{:negation {:disjunction [e2 e3]}}]} | |
=> | |
{:disjunction | |
({:conjunction ({:negation (e2)} e2 e0 {:negation (e3)})} | |
{:conjunction ({:negation (e2)} e1 e2 {:negation (e3)})} | |
{:conjunction ({:negation (e2)} e1 {:negation (e3)})} | |
{:conjunction ({:negation (e2)} e1 e0 {:negation (e3)})})} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(ns itree | |
(:require [clojure.pprint :refer [pprint]] | |
[taoensso.timbre :refer [info spy]])) | |
;; allow for [:foo nil] to glob [:foo *]; data will never be inserted | |
;; w/ nil, but slice/subseq elements will. | |
(defn cmp [x y] (if (and x y) (compare x y) 0)) | |
(defn cmp-s [[x0 x1] [y0 y1]] | |
(let [c0 (cmp x0 y0) |