サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
夏の料理
lotz84.github.io
██████╗ ███████╗ ██████╗██╗ ██╗██████╗ ███████╗██╗ ██████╗ ███╗ ██╗ ██╔══██╗██╔════╝██╔════╝██║ ██║██╔══██╗██╔════╝██║██╔═══██╗████╗ ██║ ██████╔╝█████╗ ██║ ██║ ██║██████╔╝███████╗██║██║ ██║██╔██╗ ██║ ██╔══██╗██╔══╝ ██║ ██║ ██║██╔══██╗╚════██║██║██║ ██║██║╚██╗██║ ██║ ██║███████╗╚██████╗╚██████╔╝██║ ██║███████║██║╚██████╔╝██║ ╚████║ ╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═══
Skip to the content. Haskell入門 従来の言語では問題を部分化する方法について概念的な限界がいくつかある。関数型言語はこれらの限界を押し広げるも のである。 なぜ関数プログラミングは重要か 関数プログラミングを習得するには,これまで命令プログラミングで培った技術はいったん忘れ,真っ白な気持ちで臨む必要があります。関数型の山を登るためには,命令型の山を降りなければなりません。 第1章 関数プログラミングは難しくない! Haskellは理解すれば理解するほどきれいに書けることを約束してくれます。信頼してください 常にパターンを探しましょう。単純になるとき、またその時だけそれらを抽象化するのです 辛抱強く抽象化を正しく理解しましょう。もしそれが出来たならすべてのことが魔法のようにつじつまが合うようになるでしょう。 実装そのものが設計図となります … Haskell Ma
Skip to the content. Haskell Haskell - An advanced purely-functional programming language 1990 – サイモン・ペイトン・ジョーンズ、ポール・フダック、フィリップ・ワドラー、デミ・ムーアの夫、ならびに動物の倫理的扱いを求める人々によって構成される委員会により、遅延評価を行う純粋な関数型言語Haskellが作られる。副作用の制御に使われるモナドの複雑さのため、Haskellには抵抗を持つ人々がいる。ワドラーは批判を和らげるために、こう語っている。「モナドは単なる自己関手の圏におけるモノイド対象だよ。何か問題でも?」 出典: 不完全にしておよそ正しくないプログラミング言語小史 Index Haskell: 純粋関数型プログラミング言語 環境構築/エコシステム 入門/チュートリアル 基本文法 再帰 データ
2017/10/03 (この記事は『Haskell入門 関数型プログラミング言語の基礎と実践』の書評もとい宣伝です) Haskell は研究者から開発者まで様々な人が関わり発展している言語です。純粋なエンジニアがHaskellを学び始めるとファンクタやモナドなど数学由来の概念に惑わされ、まともなアプリケーションを開発できるスキルを身につけるところまでたどり着かないというのはよくある話だと思います。これらの概念は決していたずらにHaskellを難しいものにしているわけではなく、むしろ他の言語にはない素晴らしい機能を提供してくれるものです。しかし学習の段階ではどこまで学ぶべきか折り合いをつけるのが難しく入門の敷居を高くしてしまっているのも事実です。 技術評論社より新しく出版された『Haskell入門 関数型プログラミング言語の基礎と実践』は「まったくの初心者がHaskellでアプリケーションを
2015/05/06 世の中はゴールデンウィークですね!今日は最終日です!! GWは自由な時間がいっぱいあるのでたくさん勉強ができますね!(イヤッホー!) というわけで暇な時間を持て余してHaskell by Exampleというコンテンツを作りました。(はてブ、スター、プルリクください!) 知ってる人も多いと思いますが[要出典]、もともとGo by ExampleというGoをExampleを通して学んでいこうという素晴らしいサイトがあって、Haskell by Exampleはそれを出来るだけそのままHaskellに翻訳したものです。 これを作った狙いはいくつかあって Haskell の理論的な入門はあっても実践的な入門が少ない Go言語が流行ってるっぽいのでその界隈にHaskellも認知してもらう まだHaskellあんまり書けないので自分の勉強になると思った(GWなので!) と、そん
Haskell is an advanced purely-functional programming language. Haskell by Example is a port of Go by Example to Haskell. Check out the first example or browse the full list below. Hello WorldValuesVariablesConstantsForIf/ElseSwitchArraysSlicesMapsRangeFunctionsMultiple Return ValuesVariadic FunctionsClosuresRecursionStructsMethodsInterfacesErrorsGoroutinesChannelsChannel BufferingChannel Synchroni
2015/06/07みなさん型付けしていますか? Haskellのような柔軟な型に慣れてくると何でもかんでも型で表現できないと気がすまなくなってきますよね💃 今日はservantというWeb Application Framework(WAF)を紹介します。 特徴としてチュートリアルでは以下の4つが挙げられています 簡潔である 汎用的・柔軟性がある 関心の分離 型安全である 簡潔に書けたり汎用的であることはWAFであれば当然持っていて欲しい特徴でありますが、関心の分離と型安全であるというのはどういうことでしょうか? 関心の分離というのは何と何を分離しているかというと、APIのリクエストとレスポンスに関する処理と内部のロジックを分離しようという話です。例えば一般的なWAFであればリクエストで送られてきたbodyをパースして目当てのデータを作る必要があったり、ヘッダーに含まれるデータを検索し
2015/05/23みなさんHTMLテンプレートエンジンは使っていますか? FreeMarker, Haml, Slim, Jade, Jinja2, Hamlet などなど世の中には言語やWAFに合わせていろんなテンプレートエンジンが存在しますよね… 自分はJadeが好きでnode.jsでアプリを作った時は必ず使っています。 どのテンプレートエンジンも同じですがいくら文法を元の言語に似せていると言ってもベースはHTMLなのでどうしても独自の記法を使わざるを得ません。 あれ、こういう時Jadeでどう書くんだっけ?と疑問に思ったらどんなにJavaScriptに詳しくてもJadeのドキュメントを引っ張ってこないといけません。 HaskellのHTMLテンプレートエンジンはHamletがたぶん有名だと思うんですが、これにも同じ問題があります。もう新しくテンプレートエンジンの独自記法は覚えたくない
2015/04/27 今日GithubのHaskellのトレンドを見ていたらjaspervdj/websocketsが上がっていました。ソケット通信といえばSocket.IOな昨今ですがHaskellにもsocket-ioというバインディングが存在します。しかし何度か使おうと思って挑戦したんですがまだまだレベルが低くて使い方がわからず… 今日見つけたwebsocketは例のコードも短く使いやすそうだったので勉強がてら簡単なチャットを作ってみました。 まず依存ライブラリをインストールします {-# LANGUAGE OverloadedStrings #-} import Control.Monad (forever) import Control.Exception (finally) import Data.IORef import Data.Text (Text) import Net
2015/04/15「高階多相型ってなんですの?」 TaPLを読んだわけでもなくSystemFを理解したわけでもなくただキーワードに惹かれて高階多相型について最近調べていたのですが、面白い例を見つけたのでまとめてみようと思います。 なんでも入るリストみなさんはJavaScriptを書きますか?僕はJavaScriptが大好きです。JavaScriptでは例えば以下のような配列を作ることができます。 var array = [1, 2, "three", false, {"five":6}]; では同じようなことをHaskellでも出来るでしょうか? list = [1, 2, "three", False, ("five", 6)] Couldn't match expected type ‘[Char]’ with actual type ‘Bool’ うーん、怒られてしまいますね。どう
このページを最初にブックマークしてみませんか?
『lotz84.github.io』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く