タグ

ブックマーク / qiita.com/lotz (3)

  • 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
    SWIMATH2
    SWIMATH2 2022/02/16
    なんかすごい
  • 動的計画法を実現する代数〜トロピカル演算でグラフの最短経路を計算する〜 - Qiita

    トロピカル半環と呼ばれる代数構造上のトロピカル行列を利用すると動的計画法を使ってグラフの最短経路の距離を計算するという問題が単純な行列積で解けてしまうらしい。そんな噂12を聞きつけて我々はその謎を解き明かすべく南国(トロピカル)の奥地へと向かった。 トロピカルな世界に行くためにはまずは代数を知る必要がある。要するに群・環・体の話だ。しかしこの記事の目的は代数学入門ではないので詳しい話は他の記事3に譲るとし、さっそく半環という概念を導入する。それは 半環は以下の性質を満たす二つの二項演算、即ち加法(和)"$+$" と乗法(積)"$\cdot$" とを備えた集合$R$を言う $(R, +)$ は単位元 $0$ を持つ可換モノイドを成す: $(a + b) + c = a + (b + c)$ $0 + a = a + 0 = a$ $a + b = b + a$ $(R, \cdot)$ は単

    動的計画法を実現する代数〜トロピカル演算でグラフの最短経路を計算する〜 - Qiita
    SWIMATH2
    SWIMATH2 2019/07/11
    動的計画法との対応がよく分からなかったけど、a_{ij}^{r+1}を求める操作がまんま動的計画法なのか、おもしろ/距離の計算に使われてた関数がまんま経路を求める関数に流用できるの、数学と Haskell しゅごい……ってなる
  • Introduction to Web Development with Spock - Qiita

    Spock is a lightweight Haskell web framework inspired by Ruby's Sinatra. It provides a full toolbox including everything to get a quick start into web programming using Haskell. Spock Features Fast routing JSON Sessions Cookies Database helper CSRF protection The Spock package Hello World! Spock-0.11.0.0 {-# LANGUAGE OverloadedStrings #-} module Main where import Web.Spock import Web.Spock.Config

    Introduction to Web Development with Spock - Qiita
    SWIMATH2
    SWIMATH2 2016/09/18
    sinatraインスパイアのhaskell軽量webフレームワーク。見てる感じサクサク出来そうだったしたのしそう
  • 1