タグ

Haskellに関するjsstudyのブックマーク (31)

  • JavaScriptとElmを比べてみた〜後編・Vue.jsとも比べてみた〜 - Qiita

    ※前編はこちらやで。 ハスケル子「引き続き、JavaScriptElm・・・」 ハスケル子「そしてVue.jsもちょこっと比べてみましょう」 オブジェクト(のようなもの) JavaScriptのオブジェクト const takashi = { displayName: "たかし", age: 36, height: 173, weight: 73 };

    JavaScriptとElmを比べてみた〜後編・Vue.jsとも比べてみた〜 - Qiita
    jsstudy
    jsstudy 2019/08/29
    Vue勉強しててもReact勉強してても副作用を起こさないようにとか、外部の状態に依存しない純粋な関数…つまり参照透過的な関数を書こうとか、色んなドキュメントに書いてある。そういう風にしか書けないElmやりゃあいい
  • Haskellの非実用性 - falsandtruのメモ帳

    IDEなどの開発支援機能を使用できない場合が少なくない .chsファイルへの非対応 実際的な広いユースケースで現代的なプログラミングを実現できておらずインタラクティビティの低い原始的なプログラミングを強いられる ビルドが長すぎる(1時間前後) 脆弱性修正の数分以内の緊急デプロイといったセキュリティ要件を満たさない ダウンタイムがビルド時間に応じて長時間化することで繁忙期などに発生した重大問題が甚大な機会損失および信用失墜に発展するリスクが非常に高い アップデートやデバッグなどにともなう長時間のリビルドによる人員設備等の稼働率低下による損失が大きすぎる 勤怠状況の不明瞭化による勤怠管理の困難化が怠業を誘発し周辺人員への悪影響などの周辺問題の連鎖的発生と拡大につながる構造的問題が生じる レコードフィールド名に非現実的な制約がある 外部スキーマとの互換性の問題が不可避的 ソースコードのエントロピ

    Haskellの非実用性 - falsandtruのメモ帳
    jsstudy
    jsstudy 2019/08/26
    1.IDEなどの開発支援機能を使用できない場合が少なくない 2.ビルドが長すぎる(1時間前後) 3.レコードフィールド名に非現実的な制約がある 実用言語であり続けるためにはプログラミングの進歩と要件の変化に追従すべき
  • プログラミングHaskell第2版を翻訳しました - あどけない話

    プログラミングHaskell第2版の翻訳とレビューが完了し、ラムダノートから発売されました。レビューしてくださった5名の方に、改めてお礼を申し上げたいと思います。閉じられたissueは177個ですが、複数の指摘を含むissueもあるので、大雑把に言って250箇所ぐらいは改善されたのだと思います。 初版を買ってない方や、これからHaskellに入門したい人には、手放しでお勧めできます。この記事では、初版を持っているけど、第2版を買うべきか迷っている人に、どこが変わったのか説明します。 書体 コードが数学風の書体から、ブロック体になりました。Haskellに関する論文は、数学風の書体を使う伝統があって初版で採用されていましたが、これが一番不評でした。第2版では、奇を衒らわずに普通になりましたので、安心して読めると思います。 利用するシステム 利用するシステムが、HugsからGHCになりました。

    プログラミングHaskell第2版を翻訳しました - あどけない話
    jsstudy
    jsstudy 2019/08/15
    この記事では、初版を持っているけど、第2版を買うべきか迷っている人に、どこが変わったのか説明します。 まとめ 前半はGHCに鞍替えしたことなどから差分が多く、後半は差分さえ取れないぐらい変わっています。
  • 『プログラミングHaskell 第2版』の発売を開始しました

    ご来店ありがとうございます。 ラムダノートでは、Grahum Hutton氏によるプログラミング言語Haskellの定番教科書、 "Programming in Haskell" の改訂にあたる『プログラミングHaskell 第2版』(山和彦訳)の発売を当直販サイトにて開始いたしました。 『プログラミングHaskell 第2版』(紙書籍+電子書籍)(税別3200円) 『プログラミングHaskell 第2版』(電子書籍のみ)(税別3000円) 「紙書籍+電子書籍」版のお求めでも、「電子書籍のみ」版のお求めでも、いますぐPDFのダウンロードが可能です。紙書籍については、8月22日(木)以降の発送開始を予定しています。書店(オンライン書店を含む)での紙書籍の発売も8月22日以降を予定しております。 なお、直販サイトでのお求めにあたってユーザ登録などは不要です(ただ、ユーザ登録をしていただくと、

    『プログラミングHaskell 第2版』の発売を開始しました
    jsstudy
    jsstudy 2019/08/03
    原書第2版は、この10年に起きたHaskellの大きな変化を意欲的に取り込んでいます。「豊富な例題をとおして関数プログラミングの考え方を学べる」、旧版を上回る量の楽しくて深い内容の例題が満載の一冊になっています。
  • Haskell 解説本 小史 - golden-luckyの日記

    語圏におけるHaskellの解説には、これまで4回の波がありました。 それを思い出しながら、最後に『プログラミングHaskell 第2版』の紹介をします。 第1波 第2波 第3波 第4波 『プログラミングHaskell』が改訂されます 第2版ではプログラミングにおける型の理解が深まると思う ここで買えます 第1波 Haskell解説の1つめの波は、2006年、『入門Haskell』と『ふつうのHaskell』が出版された頃にありました。 このうち、『入門Haskell』は(おそらく)日初のHaskellです。 『入門Haskell』(2006年) 『ふつうのHaskell』(2006年) 『ふつうのHaskell』は、書名だけを見ると「特殊な言語」であるHaskellを「ふつう」に説明しているであるように思えるのですが、実はそうでもなくて、淡々と部品の説明をしていく感じの内容

    Haskell 解説本 小史 - golden-luckyの日記
    jsstudy
    jsstudy 2019/08/03
    『プログラミングHaskell 第2版』 第2版ではプログラミングにおける型の理解が深まると思う ・データとしての型 ・定義が同じような形をしている関数を、同じ仲間だと思って扱うための道具としての型(型クラス)
  • OCamlで48 Hour Schemeをやってみる その5 (第九、十章) - Arantium Maestum

    Write Yourself a Scheme in 48 Hoursの最後の二章をやっていく。入出力と標準ライブラリ作成。 第九章:入出力 stdin, stdoutやファイルに対する入出力を実装する。 github.com 例によって「Haskellだとモナドが出現していろいろ型を頑張らないといけないけどOCamlだから・・・」という案件。 HaskellではIOモナド型のために新しいIOFunc式を用意したりしているが、OCamlだと普通に今まで通りPrimitiveFuncに放り込んでいける。 type expt = (* 省略 *) | PortIn of in_channel | PortOut of out_channel と入出力用のchannelをラップしたPortIn/PortOut式は用意する。あとはIoモジュールでそれを使う関数を定義し、primitives.mlで

    OCamlで48 Hour Schemeをやってみる その5 (第九、十章) - Arantium Maestum
    jsstudy
    jsstudy 2019/08/03
    「Haskellだとモナドが出現していろいろ型を頑張らないといけないけどOCamlだから・・・」HaskellではIOモナド型のために新しいIOFunc式を用意したりしているが、OCamlだと普通に今まで通りPrimitiveFuncに放り込んでいける。
  • Distributed Lens Architecture | Matrix AI

    jsstudy
    jsstudy 2019/04/30
    The name Lens comes from Benjamin Pierce's work on bidirectional transformations. The link gives a better, more detailed and rigorous explanation of lenses. http://www.cis.upenn.edu/~bcpierce/papers/lenses-etapsslides.pdf
  • https://kimiyuki.net/blog/2014/12/14/how-to-use-lens-a/

    jsstudy
    jsstudy 2019/04/30
    LensはGetterかつSetterであるものの中で最も制約が弱いもの、なにか上限のようなものだと分かる。つまりview,set,overなどはGetter,Setterのmethodだったということです。
  • 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ことはじめ - あどけない話
    jsstudy
    jsstudy 2019/04/30
    Haskell の代数データ型にはフィールドラベルが定義できて、これがいわゆる getter と setter の役割を果たします。Lens を使う場合、フィールドラベルを "_" ではじめて makeLenses という呪文を唱えればいいようです。
  • lens

    This package comes "Batteries Included" with many useful lenses for the types commonly used from the Haskell Platform, and with tools for automatically generating lenses and isomorphisms for user-supplied data types. The combinators in Control.Lens provide a highly generic toolbox for composing families of getters, folds, isomorphisms, traversals, setters and lenses and their indexed variants. An

    jsstudy
    jsstudy 2019/04/30
    The combinators in Control.Lens provide a highly generic toolbox for composing families of getters, folds, isomorphisms, traversals, setters and lenses and their indexed variants.
  • ElmとPureScript、どっちを選べばいいんだよ - Qiita

    (※アイキャッチ画像は、この記事に関係あるようで関係ないウサギ対ウナギ画像です) アドベントカレンダー『Elm2』の昨日の記事は、ababさんの『Elmで副作用を扱う仕組みCmdがとっても良い理由』でした。副作用のある部分とない部分を分離する「純粋」な言語は、作用を扱うのが面倒くさい言語だと思われがちですが、実は作用を扱うのがとても上手なんですよね。ElmのCmdは、Haskellみたいにモナモナせずにシンプルに作用を扱う方法としてElmがたどり着いた、ひとつの解答であります。 さて、ElmPureScript は、どちらも AltJS にして Haskell の直系の子孫であり、そしてどちらも正格評価でありレコード型のような機能を取り込んでいるなど、共通点の多い言語たちでもあります。このどちらを選べばいいのか、迷っている人もいるのではないでしょうか。そんな方のために、それぞれの特徴

    ElmとPureScript、どっちを選べばいいんだよ - Qiita
    jsstudy
    jsstudy 2018/12/05
    Reactも使ってるならBuckleScriptもあり