まず外から見ると misskey.io というのはひとつの論理的なサーバーに見えるようになっているけれども、実際は中で同一のソフトウェアが何台も並列に動いていて、ロードバランサーというやつがそいつらに仕事を分配しているんですよね。
ipc_bot is now on Mastodon! https://qnmd.info/@ipc_bot
ipc_bot is my 9-year-old bot who can do some logic (propositional fragment of the intuitionistic logic).
How to use: https://qnmd.info/@qnighy/110128143207588358 [参照]
クイックソートをC++とHaskellで普通に書いて比較(n=10^6)
Haskell/リスト : 1.10s
Haskell/BoxedVector : 0.285s
Haskell/UnboxedVector : 0.0496s
C++/vector<int> : 0.0403s
数回測ったときの実行時間のばらつきは10%程度
Hyperfunctions
https://hackage.haskell.org/package/hyperfunctions
newtype Hyper a b = Hyper (Hyper b a -> b)
これにはReaderモナドの類似物 Monad (Hyper a) がある。
pure :: b -> Hyper a b
join :: Hyper a (Hyper a b) -> Hyper a b
では、Contモナドの類似物
pureC :: a -> Hyper (Hyper a r) r
joinC :: Hyper (Hyper (Hyper (Hyper a r) r) r) r -> Hyper (Hyper a r) r
は定義できるだろうか?
Applicativeを
pure :: Identity ~> f
apply :: Day f f ~> f
と捉えて、その相対を
copure :: f ~> Identity
coapply :: f ~> Day f f
としたものを考えていたのだが、
これ、Comonadを含意する
ぜんぜんちがった
Align+Zipは普通の層だと思っていいや
エアプがばれてる
QT: https://fedibird.com/@monoid_patchwork/109801561412626210 [参照]
Interest: programming, mathematics
Mainly Haskell.