タグ

ブックマーク / qiita.com/kobae964 (5)

  • 米田の補題、Free theorem と病的な Haskell の関数 - Qiita

    まとめ 黒魔術を使うと米田の補題による制限を回避して自由闊達に関数が書けます。 前提知識 Haskell の知識、多相関数に関する知識を仮定します。圏論の知識はほとんど仮定しません。 説明 記法 F や A などの大文字始まりの型名はすべてなんらかの具体的な型がそこに入ります。 x や a などの小文字始まりの型名は型変数です。(Haskell での流儀と一緒です。) 自然変換 Functor インスタンスが実装されている 2 種類の型 F と G、および多相関数 u :: forall x. F x -> G x について、以下のような法則が成り立つ時、u は自然変換であるといいます。

    米田の補題、Free theorem と病的な Haskell の関数 - Qiita
  • Rust で競技プログラミングの作問支援ツールを作った話 - Qiita

    $ cd problem-directory/ $ ls -l total 8 -rw-r--r-- 1 koba_mac xxx 315 11 26 01:38 creo.toml drwxr-xr-x 2 koba_mac xxx 64 11 26 01:38 etc drwxr-xr-x 2 koba_mac xxx 64 11 26 01:38 in drwxr-xr-x 2 koba_mac xxx 64 11 26 01:38 out drwxr-xr-x 2 koba_mac xxx 64 11 26 01:38 sol drwxr-xr-x 2 koba_mac xxx 64 11 26 01:38 task creo.toml が唯一の設定ファイルです。リポジトリの sample_aplusb を参考に、creo.toml に然るべき行を追加したり、然るべきディレクトリに

    Rust で競技プログラミングの作問支援ツールを作った話 - Qiita
  • Rust の serde を読む(2): serialize を読む - Qiita

    概要 serde の内部構造を解説するシリーズの第2回です。今回は serialize に焦点を当てて、解説します。 かなり長くなりましたが、コードは多めなので、楽しんで読んでいただけると思います。 1. serde の基 2. serialize を読む 3. deserialize を読む 1 (予定) 4. deserialize を読む 2 (予定) 5. deserialize を読む 3 (予定) 6. formats (予定) まとめ Rust の強みである「単相化・インライン化を使ったゼロコスト抽象化」により、パフォーマンスを犠牲にすることなく serialize の実装を行うことができる。 serializer プロトタイピング: ゼロコスト抽象化編 他の言語の serializer と比較した時の serde の serializer serialize は、実はさほ

    Rust の serde を読む(2): serialize を読む - Qiita
    xef
    xef 2020/02/03
  • Rust の serde を読む(1): serde の基本 - Qiita

    概要1: Rust の serde は面白いです。そこで、serde の内部構造を解説します。何回かに分けて詳しく見ていきたいと思います。 1. serde の基 2. serialize を読む 3. deserialize を読む 1 (予定) 4. deserialize を読む 2 (予定) 5. deserialize を読む 3 (予定) 6. formats (予定) はじめに serde は直列化 (serialize) および直列化復元 (deserialize) を行うためのライブラリです。様々なデータ型、様々なデータフォーマットに対して直列化処理というものがジェネリクスを用いて統一的に記述できます。 ジェネリクスを使い、データフォーマット側とデータ型側で分離した設計にしている2理由は、公式のドキュメントにあります。以下 serde 公式 より引用: Design W

    Rust の serde を読む(1): serde の基本 - Qiita
    xef
    xef 2020/01/26
  • モナドTipsについて - Qiita

    今年の1月頃、Twitterでこのようなツイートをしました。 favの数だけモナドについての豆知識をツイートします — こば(競プロのプロを目指す) (@kobae964) January 9, 2016 このツイートは界隈で広まり、(2016/12/18現在)133favをいただきました。しかしまだ56個しかツイートできていません。終わりが見えないのじゃ…(トホホ) モナドtips1個消化するたびにノルマが2,3個増えるんだけど(歓喜) — こば(競プロのプロを目指す) (@kobae964) 2016年11月6日 この記事では、このモナドtipsツイートに書いた知見をまとめていきたいと思います。 1月(卒論) 卒論でStone dualityについて調べていた。当然モナドについての知見が得られることとなった。((7)から(20)まで) (7) モナドは随伴からできるし、モナドがあったら

    モナドTipsについて - Qiita
    xef
    xef 2016/12/19
  • 1