Skip to content

Instantly share code, notes, and snippets.

View gist:90a59a65824092177947
(ns cljs.core.typed
"Macros for Clojurescript type checking"
(:refer-clojure :exclude [type defprotocol #_letfn fn loop dotimes let for doseq
#_def #_filter #_remove])
(:require [clojure.core.typed :as t]
[clojure.core.typed.current-impl :as impl :refer [v]]
[clojure.core.typed.util-cljs :as u]
[cljs.analyzer :as ana]
[cljs.compiler :as comp]
[cljs.core :as core]
View gist:f99df246b23dbf58d374
(ns doc.doc-diff
#+clj (:require [clojure.core.typed :as t])
#+cljs (:require-macros [cljs.core.typed :as t]))
(t/declare-datatypes 'Set-Attrs)
(t/declare-names 'Set-Attrs)
(t/declare-datatypes Set-Attrs)
(t/declare-names Set-Attrs)
(t/defalias Cmd (U Set-Attrs Set-Order Update-Child Swap-Child))
View gist:c4f4e50228b363b13397
module Hello where
import Data.Map as M
import FFI
data Tag = Tag [String]
data Attrs = Map String String
data Doc = Doc { tag :: Tag,
View gist:69b87f6279765659cab8
module Doc.Core where
import Data.Map (Map, lookup, insert)
import Data.Maybe (fromJust)
data Doc = Doc { _tag :: Node, _order :: [Id], _childs :: Map Id Doc }
makeLenses ''Doc
doc__get_child :: Doc -> Id -> Doc
View gist:a71dc1bfdf8c1534a046
x@server:~$ cabal install lens
Resolving dependencies...
In order, the following would be installed:
parallel- (new package)
prelude-extras-0.4 (new package)
reflection-1.4 (new package)
transformers- (new version)
mtl- (new version)
aeson- (reinstall) changes: mtl- ->
exceptions-0.6.1 (reinstall) changes: mtl- ->,
View gist:229b2d8a0adf81c8d6c6
data Doc = Doc { tag :: Node, order :: [Id], childs :: Map Id Doc }
doc__get_child :: Doc -> Id -> Doc
doc__get_child doc id = fromJust (Data.Map.lookup id (childs doc))
doc__set_child :: Doc -> Id -> Doc -> Doc
doc__set_child doc id value = doc { childs = Data.Map.insert id value (childs doc) }
View gist:7339829
(defun switch-to-buffer-if-exists (nm)
(if (get-buffer nm)
(switch-to-buffer nm)
(message (format "Buffer %s does not exist" nm))))
(defun switch-to-buffer-if-exists-cmd (nm)
(lambda ()
(switch-to-buffer-if-exists nm)))
View gist:7506522
catcher(N) ->
try generate_exception(N) of
Val -> {N, normal, Val}
throw: X -> {N, caught, thrown, X};
exit:X -> {N, caught, exited, X};
error:X -> {N, caught, error, X}
View gist:7748877
at clojure.lang.RT.length(
at clojure.lang.RT.seqToArray(
at clojure.lang.ASeq.toArray(
at clojure.lang.RT.toArray(
at clojure.core$to_array.invoke(core.clj:333)
at clojure.core$format.doInvoke(core.clj:5178)
at clojure.lang.RestFn.invoke(
at clojure.core$fn__5497.invoke(core_print.clj:380)
at clojure.lang.MultiFn.invoke(
View gist:7764167
Compiling "resources/public/out/main.js" from ["cljs"]...
Compiling "resources/public/out/main.js" failed.
clojure.lang.ExceptionInfo: failed compiling file:cljs/util/reactive.cljs
core.clj:4327 clojure.core/ex-info
compiler.clj:990 cljs.compiler/compile-file
compiler.clj:1051 cljs.compiler/compile-root
closure.clj:398 cljs.closure/compile-dir
closure.clj:437 cljs.closure/eval2650[fn]
closure.clj:301 cljs.closure/eval2578[fn]
closure.clj:451 cljs.closure/eval2637[fn]