タグ

scalaとscalazに関するr-westのブックマーク (7)

  • 関数型ガチ勢から見たScalaのアンチパターン - xuwei-k's blog

    Scalazのコミッター、もしくはScalazを使いこなしているような関数型ガチ勢からみると、ある程度以下の様な共通認識*1がある気がする(けどあまり知られていない?)ので、ちょっとまとめてみました。 関数型ガチ勢ではない一般のScalaユーザーの間では、あまり疑問も持たずにそれなりに使われているものが多い気がします 個人的には、以下で紹介するものを「絶対使うな」とも思いません。*2が、しかしこれらのものに対して「アンチパターンとは言わないけど、デメリット多いし代替手段あるよね」という意見の人が少なすぎる気がするし、もうちょっとその辺りの議論がされるべきではないかなぁーと思い、あえて「アンチパターン」と言ってみました。 タイトルにScalaを入れましたが、厳密にはScalaに限らない話だと思います。ただし、「JVMで動く静的型付き関数型言語」という状況により、ある程度Scala特有の状況な

    関数型ガチ勢から見たScalaのアンチパターン - xuwei-k's blog
  • SetはFunctorではない - xuwei-k's blog

    SetがFunctorではない理由を延々と説明します。最初これ http://failex.blogspot.jp/2013/06/fake-theorems-for-free.html を訳そうとしましたが、英語力と理解力のなさにより断念し、中途半端な翻訳になるなら、自分なりに書き下そうという結論になりました。内容は上記の記事と半分以上被ると思います。あと、上記の記事書いた人は「Scalazのコミッターであり、おそらくekmettの同僚であり、ermine-languageのコミッター」な人です。よってオススメなので、そっちも読みましょう。*1 以下、Scala以外の言語でも大概は当てはまると思いますが、一応Scala(というか、Scalaz)を念頭において書いていきます。 さて、プログラミングにおいて、Setとは一体何でしょうか? とりあえず「要素の重複を持たないデータ構造」といえるで

    SetはFunctorではない - xuwei-k's blog
  • 独習 Scalaz — 独習 Scalaz

    独習 Scalaz これまでいくつのプログラミング言語が羊の衣を着た Lisp に喩えられただろうか? Java は馴染み親しんだ C++ のような文法に GC を持ち込んだ。それまで他にも GC を載せた言語はあったけども、現実的に C++ の代替となりうる言語に GC が載ったことは 1996年には画期的に思われた。やがて時は経ち、人々は自分でメモリ管理をしないことに慣れていった。JavaScriptRuby の両言語もその第一級関数 (first-class function) やブロック構文を持つことから羊の衣を着た Lisp と呼ばれたことがある。S式の同図像性がマクロに適することから Lisp系の言語はまだ面白いと思う。 近年の言語はもう少し新しい関数型言語から概念を借りるようになってきた。型推論やパターンマッチングは ML にさかのぼることができると思う。時が経てば、人

  • Monad Transformers in Scalamachine & Scaliak - Marakana

    In this presentation to the San Francisco Scala User Group on July 26, 2012, Jordan West of StackMob will introduce monad transformers and look at their usages in real projects like Scalamachine, Scaliak, and StackMob's own codebase. Additionally, we will explore when to use monad transformers, how they improve a codebase, and how you can write your own.  Want to Learn More about Scala Development

  • Scalazの型クラス

    Functor&Pureは型クラスPointedとして定義されています。Pointed Functorと呼ぶこともあるようです。 Applicative Functorの型クラスApplicativeはFunctor&Pure&Applyとなります。Applicative Functorのapply演算は型クラスApplyが提供します。 Monadの型クラスMonadはFunctor&Pure&Apply&Bindとなります。Monadのunit演算、bind演算はそれぞれ型クラスPureと型クラスBindが提供します。Monadのjoin演算は型クラスとしては定義されていませんが、型クラスBindのbind演算から逆算する関数が定義されています。 機能順で示すと: Monad > Applicative Functor > Pointed Functor > Functor ということに

    Scalazの型クラス
  • ScalazとHaskellの比較記事というか疑問点をいっぱい書いたら、shelarcyさんにいっぱい教えてもらったよ!

    Kenji Yoshida @xuwei_k 一度公開したあともどんどん書き足したら、結構な量になったでござる(´・ω・`) http://t.co/X7ewxjzJ っていうかHaskellとあまり比較してないし関係なくなってきている・・・ Kenji Yoshida @xuwei_k コメントがっ「述語を量化できる論理体系では、同一性という概念をプリミティブに持たなくても 「XとYが等しいとは、全ての述語Pに対してP(X)ならばP(Y)、が成り立つこと」 という形で定義できる」 http://t.co/vKvJT0My 難しいがちょっとだけ理解が深まったような

    ScalazとHaskellの比較記事というか疑問点をいっぱい書いたら、shelarcyさんにいっぱい教えてもらったよ!
    r-west
    r-west 2012/02/05
    まるで分からないが、リスコフがOO限定って所だけが少し分かってでもどういう事なのか全く分からない
  • Halobet 🎀 Situs Slot Online Terpercaya Gacor 2024

    Decrease quantity for Halobet 🎀 Situs Slot Online Terpercaya Gacor 2024 Increase quantity for Halobet 🎀 Situs Slot Online Terpercaya Gacor 2024 Fasilitas Lengkap untuk Pemain Baru Bagi para pemain baru, Halobet menyediakan fasilitas lengkap untuk memastikan Anda merasa nyaman dan terhibur selama bermain di situs kami. Dari berbagai pilihan permainan slot hingga layanan pelanggan yang responsif,

    Halobet 🎀 Situs Slot Online Terpercaya Gacor 2024
  • 1