ここは俺の備忘録だ

少なくとも日本語での言及が少ない話をするつもりです

Programming

runSTにおける関数合成の失敗—Higher Rank Typesにおける型推論の落とし穴

余談 2つの事柄を題に要約する言い回しとして「あるいは」以外を見つけないとブログの題があるいはだらけになってしまう… 本題 GHC「なんで私が怒ってるか分かる?runSTにST s (...)が来てるの、本当はm0 (...)が来て欲しいの」ぼく「は????????」 p…

Haskell/GHCスクリプティング時の実行ファイルパス取得、あるいはGHCが公開するC言語APIは何処にあるか?

問題 runhaskell/runghcを用いることにより、Haskell/GHCではshebangを書き込んだスクリプティングが可能である。 特にStackの登場以降、依存性の解決も容易となり非常に気軽に扱えるようになった。 github.com 個人的にシェルスクリプトは避けていきたいた…

Haskell/GHCでプロジェクト上のデータファイルのパスを取得する

近況 GHCでWord2Vec(fasttextベース)を実装しており、詰まりと知見獲得を繰り返している。 新機能に関する言及は多いのに実際の開発知見となるとヒット率が目減りしてしまうのは苦しい所であるが、 現代ではStack OverflowやHaskell-jpという素晴らしい集ま…

Rustのreference/dereferenceまとめ

この記事は TUT Advent Calendar 2016 - Adventar 5日目の記事です. 3日目の記事: 5mmくらいわかる競馬講座~国庫から出金~(CC他 - 自分用 (@naruhodo2015さんへ: Rustは関数型プログラミング言語では無いですよ ><) 最近,友人et al.と適当な映像を垂れ流…

Rustでmpsc::Receiversを1スレッドかつ並行に待つ方法

イベントハンドリング等である程度込み入ってくると単一の膨れ上がったenumを分割し,それぞれのモジュールに分けたりする.すると複数のenumが一堂に会する場が何処かに発生する筈だ. ただ.std::sync::mpsc::Receiverのrecvやiterはブロッキングであるた…

Mac版SpacemacsのPowerlineが正しく描画されない問題

この問題についてだがissueが上がっており既知の問題ではあるものの, あの長大なQ&Aの深奥に書かれているためここに残す. (というか何故既知なのに公式のPrerequisitesが更新されないんだろうか) emacs-mac-portをbrewで導入し,後は公式の通りspacemacsを…

merilnの補完パッケージ初期化スクリプト

merilnは便利だがプロジェクト毎に一々書くのもだるい。 そう思って前に調べたら調度良いタイミングでそういうスクリプトを書いてくれている人が居た。 Create .merlin file for a project with all your ocamlfind packages and .opam sources in there · G…

ズンドコOCaml

元ネタと流れ qiita.com 流行りには乗れ。 コード (ppx_deriving.show) type zundoko = ZUN | DOKO [@@deriving show] let rec sing cnt gen = match gen () with | DOKO -> if cnt = 4 then print_endline "KIYOSHI!" else sing 0 gen | ZUN -> sing (cnt +…

関数型云々とOCamlに入門したので。

本記事はTUT Advent Calender 2015 22日目のために書かれました。 前日はid:NU_Panさんです。 nu-pan.hatenablog.com 昨年が技術記事割合多めだったような気がしてたんですけど傾向変わってて何だか本記事浮いてしまっている…(´・_・`) 導入 私が所属している…

OCaml on Vim with Homebrew

動機 私は元々Vimを使っていたが、OCamlはEmacsで書くのが安牌だとされている。(現在ではSpacemacsが最も簡単に入門できる環境だろう) そこでEmacsに乗り換えてみると、此方は此方で快適であるものの、同様にエディタを軽々と乗り換えられる人はそう多くない…