2018年9月17日のブックマーク (9件)

  • Categories of Optics

    Bidirectional data accessors such as lenses, prisms and traversals are all instances of the same general 'optic' construction. We give a careful account of this construction and show that it extends to a functor from the category of symmetric monoidal categories to itself. We also show that this construction enjoys a universal property: it freely adds counit morphisms to a symmetric monoidal categ

    lotz84
    lotz84 2018/09/17
    LensやPrismを含むOpticsの圏論のモデルかー。面白そう
  • time パッケージの使い方

    Data.Time.LocalTime 現在時刻を取得する場合にこのモジュールを使います。現在時刻を取得したいからと言って getCurrentTime を利用すると日時間にならないので注意してください。 getZonedTime システムのタイムゾーンに応じた現在時刻を返します。 > :t getZonedTime getZonedTime :: IO ZonedTime > getZonedTime 2020-06-20 13:18:40.677811323 JST getCurrentTimeZone システムのタイムゾーンを取得します。このタイムゾーンに基づいて getZonedTime が計算されます。 > :t getCurrentTimeZone getCurrentTimeZone :: IO TimeZone > getCurrentTimeZone JST zoned

    lotz84
    lotz84 2018/09/17
    timeの使い方がまとまっている日本語の文献ありがたい!
  • Adrian Sieber

    lotz84
    lotz84 2018/09/17
    Haskellでウクレレのコードを表示するCLIツールの作り方
  • Reddit - Dive into anything

    Is learning how to use the Lens library worth it and in hindsight was taking this approach really the best direction for Haskell? I don't mean for this to be a confrontational post, but I have some concerns about how much the Lens library is used and how much it seems to deviate from native Haskell. Disclaimer, I haven't used the Lens library very often, but these are my impressions. For context,

    lotz84
    lotz84 2018/09/17
    Lens, Prism, Traversal, Iso の違いが簡潔に書かれててわかりやすい
  • 圏論 - Wikipedia

    圏論(けんろん、英: category theory)は、数学的構造とその間の関係を抽象的に扱う数学理論の 1 つである。サミュエル・アイレンベルグ と ソーンダース・マックレーンとによって代数的位相幾何学の基仕事の中で20世紀中ごろに導入された。圏論において考察の対象となる圏は対象とその間の射からなる構造であり、集合とその間の写像、あるいは要素とその間の関係(順序など)が例として挙げられる。 数学の多くの分野、また計算機科学や数理物理学のいくつかの分野で導入される一連の対象は、しばしば適当な圏の対象たちだと考えることができる。圏論的な定式化によって同種のほかの対象たちとの、内部の構造に言及しないような形式的な関係性や、別の種類の数学的な対象への関連づけなどが統一的に記述される。 圏の研究は、関連する様々なクラスの数学的構造に共通する性質を見出そうとする試みだといえる。 集合論的な数学

    lotz84
    lotz84 2018/09/17
    “1945年のS・アイレンベルグとS・マックレーンによる、代数的位相幾何学において直感的/組み合わせ的に定義されていたホモロジー・コホモロジーを公理化する研究の中で圏、関手および自然変換が実際に定義された。”
  • Typesafe Versioned APIs

    Today we're going to look at the idea of using Haskell's type system to specialize our app implementation according to type-level flags. More specifically we're going to look at a fun way to write a monadic action which alters its behaviour based on which version of a system it's embedded in, simultaneously gaining ground on the expression problem and giving us compile-time guarantees that we have

    Typesafe Versioned APIs
    lotz84
    lotz84 2018/09/17
    幽霊型でデータ型の仕様変更を管理することで、実装漏れをコンパイラに発見させたり、前のバージョンの実装を誤って新しいバージョンのデータに適用させないように制御することができる。面白い
  • Reddit - Dive into anything

    Hello guys, I am new to Haskell language and I want to learn it. First thing I want to do is to learn the math which stands behind the whole language. I am familiar with concepts and paradigms of functional programming (I was coding in Lisp for a while) but want to understand it more deeply. After this I want to start learning the language itself. My question is whether you can suggest me some of

    lotz84
    lotz84 2018/09/17
    新しくHaskellを勉強する人がまず数学を学んでから言語の勉強をしたいと言っていてHaskellerから一言「その方法はオススメしない。Haskellの裏側にある数学を知る一番の方法はHaskellを学ぶことだ」
  • A Very Small SAT Solver

    For those who don’t know, my co-supervisor (yes, that is the person who does the opposite of a supervisor) is Koen Claessen. Koen is important to me, he is the man who got me into research by picking me up in the second year of my B.Sc. at Chalmers. Actually, Ramona Enache also deserves a special thanks for her involvement in that. Anyway, that’s a story for a different time. Back to the topic of

    lotz84
    lotz84 2018/09/17
    リストモナドを使って小さなSATソルバーを作る話。読みやすくて面白い。最終的なSATソルバーは97文字で出来てるw
  • functor.tokyo -- How to get into Machine Learning for a Haskeller

    I've been interested in Haskell for about 5 years now. I've been using it professionally for about 3 years. Most of the work I've done so far has been web-related. A large part has been writing web application backends in Haskell. I really enjoy using Haskell as a programming language, but I would like to expand my skill set. When looking to level up, it seems like a lot of Haskellers focus on imp

    lotz84
    lotz84 2018/09/17
    Haskellerのための機械学習勉強法