タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

lensとhaskellに関するsomemoのブックマーク (10)

  • Lenses: compositional data access and manipulation. | SkillsCast

    9th October 2013 in London There are 6 other SkillsCasts available from Haskell eXchange 2013 Please log in to watch this conference skillscast. Haskell lets you write beautiful, modular code. Rather than waffle generally, I’ll use this talk to look at a particular example, Edward Kmett’s lovely lens library. Lenses have been called “jQuery for data types”: they give you a way to poke around in th

    Lenses: compositional data access and manipulation. | SkillsCast
  • LensちゃんマジLens - capriccioso String Creating(Object something){ return My.Expression(something); }

    なんとゆーか、もともと手元にあるものを使ってちくちく何かをするのが好きなので、有名なライブラリとか大きいパッケージとか見ても尻込みしてしまってなかなか手を付けられないタイプなのですが、ここへ来て色々後回しにしてたツケが回ってきた感あります。 はい、そんな感じでここ数日、ようやくcabalの洗礼を受ける事ができました、ちゅーんさんです。 んで、仕事の間を縫ってゲーム作ったりなんかも、カタツムリの歩みで進めていたりもするのですが、急遽Lensを理解する必要がでてきたので今日はLensの導入やります。 あ、あとYesodを覚えようと思ったのですが、どうもこのライブラリ、一通り使えるようになるまでが修羅の道らしく、髪の毛を掻きむしりながらcabalと格闘してやっとインストールができたと思ったら今度はyesod develで詰んだり*1してます。 そんなこんなで、今日はLensの導入やりますってば。

    LensちゃんマジLens - capriccioso String Creating(Object something){ return My.Expression(something); }
  • Haskellでオブジェクト指向プログラミング - Qiita

    Lensを活用すれば、オブジェクト指向すら表現できる…これが、Haskellの力なのか… クラスはデータ型、メソッドはインスタンスの状態を変更するStateモナド、インスタンスはIORefに対応している。 {-# LANGUAGE TemplateHaskell, Rank2Types, ExistentialQuantification #-} import Control.Lens import Control.Applicative import Control.Monad.State import Control.Monad.IO.Class import Data.IORef infix 9 .- infix 9 .! data Vec2 = Vec2 Float Float deriving Show (&+) :: Vec2 -> Vec2 -> Vec2 Vec2 x0 y

    Haskellでオブジェクト指向プログラミング - Qiita
  • ぷよぷよ in Lens - Qiita

    import Control.Lens import Control.Monad import Control.Monad.State import Data.List import qualified Data.Map as M paint :: M.Map (Int, Int) Char -> (Int, Int) -> Int paint mm pos = evalState (go pos) mm where go (i, j) = do b <- use $ at (i, j) if b == M.lookup pos mm then do at (i, j) ?= 'x' vs <- forM [(1, 0), (-1, 0), (0, 1), (0, -1)] $ \(di, dj) -> go (i + di, j + dj) return $ 1 + sum vs els

    ぷよぷよ in Lens - Qiita
  • はてなブログ | 無料ブログを作成しよう

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    はてなブログ | 無料ブログを作成しよう
  • Lensことはじめ - あどけない話

    見ろ! Haskell が OOPL のようだ! さてさて、ようやく重い腰を上げて、Lens を勉強し始めましたよ。Haksell for allを見て勉強すればいいのかなと思ったんですが、解説しているパッケージが data-lens なので古いですね。 今、使うべきなのは、lens というパッケージらしいです。解説は、この README を読むのが一番だそうです。この README と Haskell for all をにらめっこしながら、Lens の getter と setter の機能を使ってみます。 背景 Haskell の代数データ型にはフィールドラベルが定義できて、これがいわゆる getter と setter の役割を果たします。Haskell for all から例を引用してみましょう。 data Point = Point { x :: Double , y :: Do

    Lensことはじめ - あどけない話
  • Lenses

    Haskell's Lens type generalizes properties (i.e. accessors/mutators) found in other programming languages. For example, C# provides language support to treat properties as ordinary variables: class Point { public double x { get; set; } public double y { get; set; } } class Circle { public Point center { get; set; } public double radius { get; set; } } public void goRight(ref Circle c) { c.center.x

  • Lensで行こう! - Just $ A sandbox

    続編:Lensで行こう!(2):Isoへの拡張 - みょんさんの。 Lensとは Lens(http://hackage.haskell.org/package/lens-3.7.1.2)というパッケージがあります。 非常に大きなパッケージで、中には非常に便利な函数群がたくさん揃っています。 私が調べた限りでは、 "Lens package in Haskell(HaskellのLensパッケージ)" の解説記事はData.Lens(http://hackage.haskell.org/package/lenses-0.1.6)がやたらとヒットするのですが、こちらよりもControl.Lensとその周りのパッケージ群(この段落の最初にリンクが貼ってある方です)の方が色々と便利でたくさんの函数が揃っているので、ぜひConrol.Lensの方を使ってください*1。 さて、Lensって何が出来る

    Lensで行こう! - Just $ A sandbox
  • Program imperatively using Haskell lenses

    Haskell gets a lot of flack because it has no built-in support for state and mutation. Consequently, if we want to bake a stateful apple pie in Haskell we must first create a whole universe of stateful operations. However, this principled approach has paid off and now Haskell programmers enjoy more elegant, concise, and powerful imperative code than you can find even in self-described imperative l

  • Haskellでも ライフゲームをつくってみる

    Rubyでライフゲーム おもしろかったですあの動画は5分そこそこで終わってるのにこちらは……自分のコーディング能力の低さに絶望していますHaskellたん はすはすekmett氏が中心になって開発している、Lensというライブラリを使用していますLensについては以下を参照https://github.com/ekmett/lenshttp://lens.github.com/http://hackage.haskell.org/package/lens

    Haskellでも ライフゲームをつくってみる
  • 1