新しいものを表示

チェーン店などの注文アプリの類が便利なのは理解するが、
・スマホというのは自分自身の情報の塊であること
・特別な権限のないアプリでも非常に多くのデータを収集できること(カメラとインターネットとファイルアクセスがあるだけで色々できる)
を考えると「使っていないやつは情弱」という風潮はイカン

viercc さんがブースト

まず外から見ると misskey.io というのはひとつの論理的なサーバーに見えるようになっているけれども、実際は中で同一のソフトウェアが何台も並列に動いていて、ロードバランサーというやつがそいつらに仕事を分配しているんですよね。

viercc さんがブースト

ipc_bot is now on Mastodon!

ipc_bot is my 9-year-old bot who can do some logic (propositional fragment of the intuitionistic logic).

How to use: qnmd.info/@qnighy/110128143207 [参照]

SystemF完全に理解した(してない)

型が明示的についてる言語ってこんなに実装が楽なんだなぁ、代わりにその言語で書くのが無理

ちょっと前に少しリファクタリングしたら結果が激変して謎だったってのがさっきの発言

スレッドを表示

クイックソートをC++とHaskellで普通に書いて比較(n=10^6)

Haskell/リスト : 1.10s
Haskell/BoxedVector : 0.285s
Haskell/UnboxedVector : 0.0496s
C++/vector<int> : 0.0403s

数回測ったときの実行時間のばらつきは10%程度

STモナドをPrimMonadクラスに変えたら激遅になった

なんでだろ・・・何らかの最適化が死んだのか

-- Reasonably fast
foo :: MVector s Foo -> ST s (MVector s Bar)

-- Very slow
foo :: (PrimMonad m, s ~ PrimState m) => MVector s Foo -> m (MVector s Bar)

「この関数妙に遅いよー」みたいなの、実行可能なベンチマーク全体のコードなしに議論してもマジで無駄なことが多い

と、いうことを今考えています。因みに答えはわかりません!

スレッドを表示

Hyperfunctions

hackage.haskell.org/package/hy

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

は定義できるだろうか?

これはHaskellのすべてのFunctor fに
dayToCompose :: Day f f a -> f (f a)
が実装できるから。

join :: f (f a) -> f a
から
apply :: Day f f a -> f a
apply = join . dayToCompose
が作れるのとは逆に、

coapply :: f a -> Day f f a
から
duplicate :: f a -> f (f a)
duplicate = dayToCompose . coapply
が作れる

スレッドを表示

「MonadはApplicativeを含意する」という方向とは逆になっている。「"Applicativeの双対"はComonadを含意する」

スレッドを表示

Applicativeを

pure :: Identity ~> f
apply :: Day f f ~> f

と捉えて、その相対を

copure :: f ~> Identity
coapply :: f ~> Day f f

としたものを考えていたのだが、

これ、Comonadを含意する

この実装、できそうな雰囲気を全く感じなかったけど、"Cofree"の原義である「関手Forget :: Comonad -> Functorの右随伴」から定義を追って行った結果わかったから

少しづつ身についてきている感

スレッドを表示

ぜんぜんちがった
Align+Zipは普通の層だと思っていいや
エアプがばれてる
QT: fedibird.com/@monoid_patchwork
[参照]

viercc  
Align+Zipはこれに近いという気がする
古いものを表示
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。