タグ

haskellに関するedvakfのブックマーク (15)

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • RubyでHaskell風のリスト操作 - みずぴー日記

    30分プログラム、その622。RubyにHaskell風のリスト操作を移植しました。 Rubyでコードを書いてるときに、take_whileとかが欲しくなることが何度かあったので、実装してみました。 メソッド内部で副作用を使っているのが何個かありますが、外から見たらちゃんとFunctionalなので許してください。 使い方 p (1..4).take(2) p (1..4).drop(2) ソースコード #! /opt/local/bin/ruby -w # -*- mode:ruby; coding:utf-8 -*- # # prelude.rb - # # Copyright(C) 2009 by mzp # Author: MIZUNO Hiroki / mzpppp at gmail dot com # http://howdyworld.org # # Timestamp: 2

    RubyでHaskell風のリスト操作 - みずぴー日記
  • 円周率を計算しよう - みずぴー日記

    30分プログラム、その611。http://gauc.no-ip.org/awk-users-jp/blis.cgi/DoukakuAWK_111にインスパイアされたので、円周率を計算してみよう。 元の記事と同様にwikipedia:ガウス=ルジャンドルのアルゴリズムを使うのだけれども、このアルゴリズムはパラメータが4つあって、それを各ステップで受け渡す必要がある。4つもあると、タプルで受け渡すのは厳しいので、パラメータ用のレコードを定義して、それを使うようにしてます。 使い方 *Main> take 10 piList [2.9142137,3.1405795,3.1415927,3.1415927,3.1415927,3.1415927,3.1415927,3.1415927,3.1415927,3.1415927] ソースコード data Param = Param { a :: F

    円周率を計算しよう - みずぴー日記
  • Lua/組み込み - assari

  • packages by category | Hackage

    Packages by categoryCategories:  (5), "Distributed Computing" (1), - (1), .NET (9), Accelerate (27), Accessibility (4), ACME (55), Actors (2), Adjunctions (2), ADSB (5), Aerospace (11), Aeson (4), Agda (1), AI (81), Algebra (61), Algebra Uniform (1), Algorithm (7), Algorithm Visualization (2), Algorithmic Music Composition (1), Algorithms (134), Amazon (1), Amqp (1), Anatomy (1), Animation (6), AN

  • Haskell でデータコンストラクタによるパターンマッチ

    0. 目次 let 式でパターンマッチを利用 パターンマッチは、代数的データ型の値を分解して、値を取り出す パターンを利用できる場面は 6 つある case 式におけるパターンマッチ パターン束縛におけるパターンマッチ ラムダ抽象におけるパターンマッチ リスト内包表記におけるパターンマッチ do 式におけるパターンマッチ 1. let 式でパターンマッチを利用 パターン束縛とは,左辺がfun x ... のような関数ではなく,Just xや(x,y)などのようなパターンになる等式のことです。パターン束縛はトップレベルで定義するよりもlet式などで利用することのほうが多いと思うので,… (第8回 遅延評価の仕組み:ITpro より、太字は引用者による) ん? (@_@) let 式でもパターンって使えたんだ。 let 式 と言えば、 *Main> let x = 100; y = 200 i

  • The monad laws

    モナド則 三つの基則 「失敗」は付けたし 出口はない Zero と Plus 要約 このチュートリアルではいままで、技術的な議論を避けてきました。しかし、 モナドについて考えるべき技術的な要点が2、3あります。モナド演算は、 「モナド公理」として知られている、いくつかの法則群に従わなければ なりません。これらの法則は Haskell のコンパイラが強制するものでは ありません。したがって、すべての Monad のインスタンスと 宣言したものが、これらの法則に従うことを保証するのはプログラマ自身です。 Haskell の Monad クラスは、まだ見ていませんが、最小限の定義 以上にいくつかの関数を含んでいます。結局、多くのモナドは標準のモナド則 以外の規則にも従っています。Haskell のクラスにはこうした拡張されたモナド をサポートするためのものがあります。 三つの基則 モナドの概

  • モナド則三度 - あどけない話

    「モナド則再び」で書いた「モナド則1」は何の訳に立つのかという問題ですが、"Monads for functional programming" に答えが載っていました。 以下のような加算機を考えます。 data Term = Con Int | Add Term Term data M a = M a deriving Show instance Monad M where return x = M x M x >>= f = f x eval :: Term -> M Int eval (Con a) = return a eval (Add t u) = do a <- eval t b <- eval u return (a + b) 論文には、M の実装が載っていないので、適当に作りました。Maybe でもいいでしょう。 こういう風に動きます。 式1: eval (Add (Co

    モナド則三度 - あどけない話
  • Haskell programming tips- 他人のHaskell日記 - haskell

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    Haskell programming tips- 他人のHaskell日記 - haskell
  • The Haskell 98 Language Report

    Simon Peyton Jones [editor], Microsoft Research, Cambridge Lennart Augustsson, Sandburst Corporation Dave Barton, Intermetrics Brian Boutel, Victoria University of Wellington Warren Burton, Simon Fraser University Joseph Fasel, Los Alamos National Laboratory Kevin Hammond, University of St. Andrews Ralf Hinze, University of Bonn Paul Hudak, Yale University John Hughes, Chalmers University of Techn

  • deriving修飾子 - Haskellはスケるよ

    新しく宣言した型を何らかの型クラスのインスタンスとして宣言するには,instance 宣言を使う。が,いくつかの型クラスに関してはもっと簡単な方法がある。data 宣言と一緒に deriving 修飾子を使うのがそれ。 次のようにすると,Cream 型を宣言すると同時に,Eq,Show,Read クラスのインスタンスとして宣言できる。 data Cream = Eric | Jack | Ginger deriving (Eq, Show, Read) *Main> Eric == Eric True *Main> Eric /= Jack True *Main> show Ginger "Ginger"deriving で指定できるのは,Eq,Ord,Enum,Bounded,Show,Read の6つだけ。この6つは頻繁に使われるからこういう簡便な方法が用意されているってことのようだ。

    deriving修飾子 - Haskellはスケるよ
  • Real World Haskell

    Why functional programming? Why Haskell? 1. Getting started 2. Types and functions 3. Defining types, streamlining functions 4. Functional programming 5. Writing a library: working with JSON data 6. Using typeclasses 7. Input and output 8. Efficient file processing, regular expressions, and file name matching 9. I/O case study: a library for searching the filesystem 10. Code case study: parsing a

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Haskell mode for Vim - MEMO:はてな支店

    omni補完、ヘルプ、デバッグなどお便利機能満載。 Haskell mode for Vim いい感じかも。 激しく使えそうなコマンドが、 :GHCi main ghciで関数mainを作用させられる。 http://d.hatena.ne.jp/tanakaBox/20071018/1192653919 良さそうなのでインストールしてみる。 インストール方法 http://www.cs.kent.ac.uk/people/staff/cr3/toolbox/haskell/Vim/ からhaskellmode-20071105.vbaをダウンロード vbaファイルをvimで開いて :source % でこのファイル自身を実行 .vimrcに以下を追加(ブラウザは適宜変更) au Bufenter *.hs compiler ghc let g:haddock_browser = "C:/

    Haskell mode for Vim - MEMO:はてな支店
  • 1