Skip to content

Instantly share code, notes, and snippets.

[=]()
{
return (alreadyknown
|| crawl_state.seen_hups
|| yesno("Really abort (and waste the scroll)?", false, 0))
}
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:60011,suspend=y,server=n -Dfile.encoding=UTF-8 -classpath "/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/lib/tools.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMach

for totally legitimate reasons I fed the crawl changelog.txt file into a simple markov chain generator I got a few worthwhile changelog notes out of it:

  • Summoned creatures in .crawlrc are no longer starving.
  • Travel respects warning prompt in macabre masses, but will briefly make the player fix bugs.
  • Fix over-enthusiastic monsters using ?enchant foo. (That might well be a real changelog!)
  • Magic. Magic anymore. Magic. Magic. Magic.
  • New console mode, the player no longer cares.
  • Removed all gods except Nemelex. (That's pretty much the best changelog entry ever.)
  • Added a variety of bugs.
user> (reduce (fn [acc [keyseq type]]
(update-in acc keyseq (fnil conj #{}) type))
{}
(for [[method objs] inputs
obj objs
[half fields] obj
[field value] fields]
[[method half field] (type value)]))
{"SignIn" {:request {"InvitationID" #{nil}, "ReturnExpiredAuthenticationMethods" #{java.lang.Boolean}, "AuthInfo" #{nil clojure.lang.PersistentArrayMap}, "Version" #{nil}, "ApiVersion" #{java.lang.String}, "ClientInfo" #{clojure.lang.PersistentArrayMap}}, :response {"AuthenticationLevel" #{java.lang.Long}, "ExpiredAuthenticationMethods" #{nil clojure.lang.PersistentVector}, "ExpirationReason" #{nil}, "User" #{clojure.lang.PersistentArrayMap}, "Alerts" #{nil}, "NewSession" #{nil}, "ApiVersion" #{nil}}}}
writeAll :: Socket -> String -> IO ()
writeAll socket s = do
sent <- send socket s
case drop sent s of
"" -> return ()
s -> writeAll socket s
echo :: Socket -> IO ()
echo client = do
input <- recv client 4096
(defmacro preval [[f & args]]
(let [syms (map (fn [_] (gensym)) args)]
`(let [~@(interleave syms args)]
(prn (list '~f ~@syms))
(~f ~@syms))))
(defn key-tree [m]
(if (not (map? m))
[[]]
(for [[k v] m
path (key-tree v)]
(cons k path))))
(defmacro let-later [[name val] & body]
(let [delay-sym (gensym (str "delay-" name))]
`(let [~delay-sym (delay ~val)]
(let ~[name (with-meta `(force ~delay-sym)
(meta name))]
(do ~@body)))))
(defn foo [order m]
(if (empty? order)
[[]]
(let [k (first order)]
(for [v (get m k)
more (foo (rest order) m)]
(cons v more)))))
@amalloy
amalloy / freeVars.hs
Last active September 30, 2015 20:28
freeVars :: Exp -> [Id]
freeVars (Var v) = [v]
freeVars (Nat _) = []
freeVars (Op _) = []
freeVars (Lam arg body) = delete arg $ freeVars body
-- freeVars (Lam arg body) = filter (/= arg) $ freeVars body
-- freeVars (Lam arg body) = delete arg . nub $ freeVars body
freeVars (App f x) = freeVars f ++ freeVars x
-- freeVars (App f x) = nub $ freeVars f ++ freeVars x