2017年12月24日のブックマーク (2件)

  • Haskellで機械学習を実装しようと思った過去の自分へ

    前書き 教養も良いのですが実用もしたいですよね。 色々あってword2vec1をフルスクラッチで実装する必要が生じたため、プロトタイプに向いており2個人的に実用性を体感したかった3Haskellを採用しました。 結果できあがった物はgithubの方を見てもらうとして、ここでは今回役立ったエコシステムや言語機能についてざっくばらんに報告し、これからの話でまとめたいと思います。 対象は入門書を終え、What I Wish I Knew When Learning Haskellを調べ始めるなど、言語機能に適応する術が身についた初心者とします。 役立ったパッケージ達 Haskellを広めたければエコシステムと暗黙知についてちゃんと報告しろという叫びを目にしたので取り敢えず全て列挙してみましょう。 stackageで著名パッケージが何に依存し何に用いられているかを確認できますから、初心者の方はそこ

  • Extensible EffectsとTagless Finalで実装するDI - Qiita

    これは FOLIO Advent Calendar 2017 14日目の投稿です。 HaskellでDIを実装する一番いい方法は何か、様々な手法を比較しながらベストな方法を探していこうと思います。 記事中のコードは記述を簡潔にするため実行に必要なGHC拡張やimportを書いていません。完全なコードは以下のgistに載せているので参照して下さい。 https://gist.github.com/lotz84/7207fa3a6b806807defd04e773f8dc78 易しい依存性の注入 DI(Dependency Injection, 依存性の注入)とは何でしょうか。Wikipediaから説明を引用すると、 依存性の注入とは、コンポーネント間の依存関係をプログラムのソースコードから排除し、外部の設定ファイルなどで注入できるようにするソフトウェアパターンである。英語の頭文字からDIと略

    Extensible EffectsとTagless Finalで実装するDI - Qiita