自分で書いたコードなのに「?」ってなったやつ
calc :: [Word8] -> Int
calc = sum . (^ (2 :: Int)) . fromIntegral . fromIntegral @_ @Int8 <$>)
「なんでfromIntegral2回もやってんの?」って思って思い出した。
このコードはWord8の複数の値ができるだけ小さい方と大きい方にかたまるものを選ぶために、Word8をInt8に変換することで、その条件を「0に近いもの」にしたうえで、それを二乗して総和を取っている。
何かっていうとPNGのフィルタの結果で一番良いと思われるものを選ぶもので、できるだけ値をかたよらせたほうが以降の圧縮に有利という話。
「色」ってのは具体的な物と抽象的な概念のちょうど真ん中あたりにある気がする
goroutineおもしろい。HaskellだとSTMのTChanを使って同様のことができる。
wとかhってわりとよく使うので、widthとかheightを意味するときはwdtとhgtにするようにしようかな。
おもち
cons :: a -> [a] -> [a]
snoc :: [a] -> a -> [a]
uncons :: [a] -> Maybe (a, [a])
unsnoc :: [a] -> Maybe ([a], a)
このあたりの命名、好き。
三大奇書とされるなかで
「ドグラ・マグラ」はおもしろかった。「虚無への供物」はよくわからなくて途中で読むのやめた。もうひとつは読んでない。
アンパンマンの世界で一番おいしいのはクレープという仮説。
明らかに他のものを食べたときとリアクションがちがう。
僕の性格としてコードが
***************
************
*******
***
みたいな形になりがち。
横80文字まで、インデントは深く、そしてできるだけ1行につめこみたい。
1回で見えるコードの量がある程度多いほうが効率がいい。
preとpostが両方ともpではじまるの良くない。
前の版と現在の版を変数p, cで置いて、「じゃあ後の版はpostか、じゃあp」ってなった。