ここは俺の備忘録だ

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

Created docker images to build a static binary for Haskell/GHC8

そろそろ現代人にならないとまずいのでDockerを覚えることに。 タスクとしてこの前話題になった「Haskell/GHCにおける正しいstatic binaryのビルド方法」を実践するイメージを作りました。 個人的な用事でGHC8のllvmバックエンド版も用意しています。macOSの…

Nix上のhaskellをビルドする際、zlibが見つからずリンクエラーになる問題

経緯 これまでmacOSでhomebrewを使用していたが、ライブラリにおける環境変数の衝突にはいい加減飽き飽きしていた。 しかしサーバでも無いのにDockerというのは大げさだろう。パッケージマネージャレベルで複数バージョンを上手く切り替えてくれれば良いのだ…

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に乗り換えてみると、此方は此方で快適であるものの、同様にエディタを軽々と乗り換えられる人はそう多くない…

tmux 2.1 on OSX マウススクロール出来ない件

マウス周りの設定が大きく変わったようですね こういう時は取り敢えずgithubを見て、 set-option -g mouse on bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy…

YosemiteにおけるFlashlight起動, そして夜狐アンビエント降臨篇

tl;dr 動いたけどtwitterのプラグインに問題が有るので対応を…されるんだろうか…(´・_・`) と思ってたら製作者様から反応頂き無事修正出来ることを確認しました!(2016/01/03 更新) 本文 macにはSpotlightなる機能があるよね、あ、まず此処でmac以外の方は解散…

ブログ始めます

ブログ始めます。真面目な所謂アウトプットとかいうのはQiitaでやります。 それ以外、例えばアレの設定が上手く出来ないだの、最近環境弄くったわだの、読書メモだの、どこ行っただの、突然のポエムだの、等々ナドナドその他諸々は此処に書きます。 つまりtw…