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
I like LYAH as a reference and cheat-sheet but I found it a little slow for | |
learning Haskell. | |
Here's my recommended order for just learning Haskell: | |
http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/ 80% completion | |
here is fine if you feel your attention waning, the next thing will address | |
hammering in things like functors and monads via typeclasses. | |
https://github.com/NICTA/course/ this will hammer in the lessons in a very |
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
#include <TinkerKit.h> | |
TKMosFet mos(O0); | |
// TKPotentiometer pot(I0); | |
int val = 10; | |
void setup() { | |
} |
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
trevorhartman at host-174-45-234-173 in ~/work/sunset on master! | |
± ./deploy.sh | |
DEPLOY SUNSET | |
| | |
\ / _\/_ | |
.-'-. //o\ _\/_ | |
-- / \ -- | /o\ | |
~^~^~^~^~^~^~^~^~^~^-=======-~^~^~^~~^~^~^~|~~^~^|^~ | |
THANKS FOR ALL THE FISH | |
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
(def bal | |
(insta/parser | |
"expr = group | |
<cmd> = word (space word)* | |
sub-expr = <dollar> <lparen> group <rparen> | |
<group> = lparen cmd rparen | cmd | |
<word> = sub-expr | group | #'[^ ()]*' | |
space = <' '>+ | |
<dollar> = '$' | |
<lparen> = '(' |
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
"abc/xyz.lol" split("/").reduceLeft((a, b) => b) // => Array[String] = Array(abc, xyz.lol) | |
"abc/xyz.lol" split("/") reduceLeft((a, b) => b) // => String = xyz.lol | |
"abc/xyz.lol".split("/").reduceLeft((a, b) => b) // => String = xyz.lol | |
// Why does the first line result in the full Array? |
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
Caused by: clojure.lang.ExceptionInfo: :peer/timeout Transaction timed out. {:db/error :peer/timeout} | |
at clojure.core$ex_info.invoke(core.clj:4227) | |
at datomic.error$raise.invoke(error.clj:24) | |
at datomic.error$raise.invoke(error.clj:20) | |
at datomic.peer$await_tx_result.invoke(peer.clj:75) | |
at datomic.peer.Connection.transact(peer.clj:125) | |
at datomic.api$transact.invoke(api.clj:64) | |
at datomico.db$transact.invoke(db.clj:55) | |
at datomico.db$transact_BANG_.invoke(db.clj:61) | |
at datomico.db$load_schemas.invoke(db.clj:67) |
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
-- find the elements of two 3-element sets whose cartesian products, when multiplied | |
-- form a 5-element set | |
setMembers = head [[a, b, c, d, e, f] | a <- [1..10], b <- [2..14], c <- [4..20], d <- [6..24], | |
e <- [7..25], f <- [6..30], | |
length [a, b, c, d, e, f] == length (nub [a, b, c, d, e, f]), | |
length (nub [x*y | x <- [a, b, c], y <- [d, e, f]]) == 5] |
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
change :: Int -> [Int] -> [[Int]] | |
change amt [] = [[]] | |
change amt [d] = [replicate (quot amt d) d] | |
change amt (d:denoms) = | |
if d <= amt then | |
reverse [0..(quot amt d)] >>= \x -> | |
[(replicate x d) ++ c | c <- (change (amt - (x*d)) denoms)] | |
else | |
change amt denoms |
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
object BT { | |
case class BNode(v: Int, l: Option[BNode], r: Option[BNode]) | |
val bt = BNode(5, | |
Some(BNode(4, Some(BNode(3, None, None)), None)), | |
Some(BNode(10, None, | |
Some(BNode(15, None, None))))) | |
def bt2Sorted(bt: BNode, l: List[Int] = List[Int]()): List[Int] = { | |
bt match { |
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 user) | |
(def matches? | |
(let [match-map {\{ \} | |
\[ \] | |
\( \)} | |
open-set (set (keys match-map)) | |
close-set (set (vals match-map))] | |
(fn [input] | |
(try |