サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
qiita.com/makoraru
層とプログラミング はじめに Haskellは、モナドという圏論用語を言語仕様に採用した初めての実用プログラミング言語です。歴史的には、Godementが1958年に、層コホモロジーの計算のため使ったのが(コ)モナドの最初の例だと言われています。 層は何らかの空間の「形」を代数的に計算するための仕組みで、局所的な性質と大域的な性質の関係を圏論的に表現するフレームワークと言えます。 一言で言えば、層とは関数とその定義域の組の集りのようなものです。いろいろな大きさの鉱物の結晶が積み重なって、地球全体を地層が覆っている様子をイメージするとわかりやすいかもしれません。層を使うと、定義域が重なりあう部分関数の関係と、それらが全体に波及していく様子を、圏論的に、すっきり表すことができます。 層はいわゆる"幾何的論理(geometric logic)"のモデルでもあり、実はモナドも幾何的論理で表現できる
区間代数で無限大と無限小を統一的に扱う このドキュメントのコードのテストに必要な拡張とライブラリは以下の通りです。 numeric-prelude QuickCheck {-# LANGUAGE TypeOperators #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE RebindableSyntax #-} {-# LANGUAGE NoImplicitPrelude #-} import Test.QuickCheck import NumericPrelude import qualified Algebra.Field
YampaでFunctional Reactiveな認知行動療法ボットを書く これはHaskell Advent Calendar その3、13日目の記事です。前日の記事はmatsubara0507さん Haskell Backpack覚え書きでした。 はじめに Functional Reactive Programming(FRP)を使うと、時間軸に沿って入出力の関係が変化するシステムの挙動を、シンボリックに記述し、組み合わせることができます。ロボット、ゲーム、GUIなどのプロラミングに便利です。Yampaは、Arrowの記法をフル活用するFRPのライブラリです。 認知行動療法(Cognitive Behaviour Therapy, CBT)は、医学的に確立された心理療法の一種です。ここでは、CBTの自己対話スキームを提供するボットを、Yampaを使って書いてみます。 目標 時間と入力
このページを最初にブックマークしてみませんか?
『@makoraruのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く