タグ

haskellに関するjjzakのブックマーク (117)

  • スクリプト言語の比較

    スクリプト言語の比較 *1 *2 *3 *4 *5 *6 *7 コメント 行の継続 定数 未代入の変数へのアクセス 変数の展開 入出力 出力 フォーマット出力 出力先変更 標準入力 __END__ 演算 +1 整数/整数 負数の除算 文字列 真と偽 多重代入 多岐分岐 関数 関数 関数引き数 関数引数に対する副作用 関数のデフォルト引数の値の評価タイミング 関数のデフォルト引数にコンテナ型を使用した場合の振舞 関数戻り値 関数の再帰 関数の別名 関数定義内関数定義 関数の引数の順番 関数にファイルハンドルを渡す オブジェクト指向 クラスの定義 インスタンスメソッドの定義 メソッドのクラス内での利用 インスタンスメソッドの可視性 インスタンスメソッドの追加 インスタンス変数 インスタンス変数の可視性 インスタンス変数の追加 クラス変数 クラスの継承 多重継承 スーパクラスのメソッド呼び出し

  • Route 477(2007-12-02)

    ■ [event][prog] LiveCoding#5に出演しました 土曜日に大阪で行われたイベントLiveCoding#5に、 LiveCoderとして出演してきました。 事前に、LivePromoter(※主催者のことらしい)であるujihisaさんから できるだけマニアックな方がいいというオーダーを受けていたので、 Ruby + Javascript + Scheme + Zu という無茶な構成にしてみました(笑)。 *1 BiwaSchemeで 「ず」のインタプリタを作るというテーマだったのですが、 予想外に手間取ってしまい、パース結果をRubyCGI経由で取ってくるとこまでしか行きませんでした。 解説のnaoya_tさん、Abeさんごめんなさい(><) 敗因 Ajaxのクロスドメイン制約を忘れていた CGIはサーバに、htmlはローカルに置くつもりだったんですが、どちらかに統

    Route 477(2007-12-02)
  • Haskellクイックスタート - builder by ZDNet Japan

    Haskellは、純粋数学的な単純さを求めて副作用を取り除いた関数型プログラミング言語である。関数型言語でプログラミングを行うことは、標準的な命令型の手法に慣れた開発者にとっては多少の挑戦であるかもしれない。しかし心配は無用。今回は、Haskellの簡単なクイックスタートを提供しよう。 関数型言語では、(Java、C、それらから派生した言語のような)昔ながらの命令型スタイルとは多少異なるプログラミングスタイルを用いる。関数型言語では、「レシピ」のようにそれぞれのステップを実行して欲しい順番に全て書き出して並べるのではなく、パーツを用いて一の式を構成することによってプログラムを記述するのである。 関数型のパラダイムをベースにした言語は、プログラミングの世界では現在ホットな話題となっている。関数型言語のファンは、関数型のコードはずっと短く、理解するのも容易で、エラーを引き起こしにくいと主張し

    Haskellクイックスタート - builder by ZDNet Japan
  • The Theory of Concatenative Combinators

    Brent Kerby (bkerby at byu dot net). Completed June 19, 2002. Updated February 5, 2007. Introduction A Few Combinators: swap, dup, zap, unit, cat, cons, i, dip Lambdas An Abstraction Algorithm The sip Combinator Schemes of Combinators: dign, buryn Another Combinator Scheme: flipn Two More Schemes: dipn, sipn Applicative Combinators: w, k, b, c, s Towards a Minimal Base: {cons, sip, k} A Smaller Ba

    jjzak
    jjzak 2007/08/23
    Concatenativeのコンビネーター
  • らくがきえんじん

    別アカウントに移動しました。 Haskell の型レベルプログラミングによるセッション型の実装 full-sessions を 晒します. くわしくはこちら → http://d.hatena.ne.jp/keigoi/20090622 π計算の型に セッション型というのがあって、そいつを Haskell上に実装して PPL2009 で発表しました。 ソースコードはこちら 発表論文はこちら 気をとりなおして。 Haskell用の C言語のパーザライブラリ Language.C の意味解析機能を使ってみる。 まずはグローバルスコープのシンボルテーブルを表示してみる。 こんなことができる 入力 (sample.c) enum enum1 {x, y, z}; void fundec1(); struct st1 { int a, b; }; typedef struct st2_ { int

    らくがきえんじん
  • http://liskell.org/

  • てきとうなメモ

    Hertzbleed Attack CPUの脆弱性で大きな話かなと思って論文少し読んでみた。が、Q&Aに書かれている通り、すぐに心配すべきものではないという感想。 Should I be worried? If you are an ordinary user and not a cryptography engineer, probably not: you don’t need to apply a patch or change any configurations right now. If you are a cryptography engineer, read on. Also, if you are running a SIKE decapsulation server, make sure to deploy the mitigation described below.

    てきとうなメモ
  • 檜山正幸のキマイラ飼育記 (はてなBlog)

    2023-10-25 圏スタンピング・モナドの代数は前層/余前層 雑記/備忘 「左加群は前層、右加群は余前層、双加群はプロ関手」の続きです。余前層としての右加群(または前層としての左加群)が、ファミリー〈集合族〉の圏上のモナドのアイレンベルク/ムーア代数になってるよ、という話です。$`\newcommand{\mrm}[1]{\mathrm{#1}}… 2023-10-24 続・有向コンテナと多項式コモナド: 錯綜整理 雑記/備忘 「有向コンテナと多項式コモナド」にて: モノイド類似構造である有向コンテナ〈圏〉構造が、多項式自己関手を台とするコモノイド構造として反映されるわけです。面白いですね。 面白そうなので、アーマン/ウウスタル〈Danel Ahman, Tarmo Uustalu〉以外の… 2023-10-23 Diag構成の変種とその書き方 雑記/備忘 ある文脈では、図式と関手は同

    檜山正幸のキマイラ飼育記 (はてなBlog)
  • ■[funcgui] GUIで学ぶ関数プログラミングで学ぶGUIアプリケーショ

    あー、あーうあー。家出る前に牛乳を冷蔵庫にしまったかどうか確認すること。 昼間なんか色々考えたような気がしたんだけど、どうでもよくなった。 ので、そういう仕事辞めたくなった話題(またか)とは全然関係無く、関数型言語はGUIアプリケーションも美しく書けるのではないかというような話。 とにかく、Monadっていうのは、コマンドのことだと理解しておく。 main = putStrLn "nanika"こういうのがあった場合、mainというのは"nanika"を表示するコマンドである、とする。端末に対して、「"nanika"を表示するコマンド」を送ると、端末は、"nanika"を表示する。 あと、前も書いたけど、 main = putStrLn "nanika" >> putStrLn "are"コマンドは繋げてもコマンド。と、いうのが重要。 そこまで頭に入れておいて、まず、GUIアプリケーション

    ■[funcgui] GUIで学ぶ関数プログラミングで学ぶGUIアプリケーショ
  • Rubyでモナドの練習メモ - llameradaの日記

    Haskellに登場するらしいモナドを少し勉強してみる。よくわからないが、試しにMaybeモナドをRubyで書いてみた。どこか間違えていると思うが、コードは下記。 class Maybe def Maybe.wrap( value ) Maybe.new(value) end attr_accessor :value def initialize(value) @value = value end def pass if @value.nil? Maybe.new(nil) else yield @value end end end def div6(x) if x == 0 nil else 6 / x end end def inc(x) x + 1 end def normal_div6_inc(x) rv = div6(x) if rv inc(x) else nil end en

    Rubyでモナドの練習メモ - llameradaの日記
  • About Haskell

  • howm wiki - モナド

    This Wiki is frozen. Use GitHub for reports, discussions, etc. 訳あって Haskell 試中. モナドって, こんなイメージでいいんでしょうか? (参考ページ) やさしい Haskell 入門 (バージョン98) モナドのすべて haskell-jp ML MonadicContinuationPassingStyle (英語) 2ch Haskell スレ過去ログの 500 前後 慣れない内容は, 頭がしんどい 慣れない表現も, 頭がしんどい 両方いっぺんだと, もう○×△□… なので, ひとまず haskell は置いといて, scheme にしてみます. Intro. ふつうの「値」を包んで, ふわふわした謎な外見の何か(以下「ふわふわ」) にするラッパー ret (return のつもり)を考えよう. (ret 3)

  • プログラム・プロムナード

    会誌「情報処理」連載の「プログラム・プロムナード」(2002年4月〜2005年3月掲載)と「Haskellプログラミング」(2005年4月〜2006年3月掲載)はどなたでもご覧になれます。ファイルはすべてPDF形式です。 「Haskellプログラミング」に掲載されたプログラムは http://www.sampou.org/haskell/ipsj/ から取ることができます.

  • Programming in Haskell

    Programming in Haskell ページへようこそ このサイトについて このサイトは、Haskell でプログラミングを楽しむためのサイトです。 現在のところ、WiLiKi というWiKiシステムで運用されています。WiLiKiの使い方は、 WiLiKi:WiLiKi:リファレンスマニュアルを参照してください。 メイリングリスト 「Haskellプログラミングを楽しむための」メーリングリストがあります. MailingListのページをご覧ください. チャット 「Haskellプログラミングを楽しむための」チャット・ルームがいくつか存在します. ChatRoomのページをご覧ください. サイトマップ Introduction Haskell とは Definition 仕様と標準ライブラリ Tutorial チュートリアル やさしいHaskell入門 モナドのすべて なぜ関数プ

  • OSS WEB|Haskell|SICP

  • 紫藤のページ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • Memoise

    Memoi[sz]e、Memoi[sz]ation、メモ化の話題 メモ化ってなぁに?関数のメモ化memoise は特殊な ($) かも?Memo モジュール実装を共有する魔法 メモ化ってなぁに? フィボナッチ関数を考えてみよう、定義は fib 0 = 0 fib 1 = 1 fib n = fib (n-1) + fib (n-2) これを使って、fib 7 を計算すると fib 7 -- fib 6 -- fib 5 -- fib 4 -- fib 3 -- fib 2 -- fib 1 -- 1 | | | | | | | | | | | fib 0 -- 0 | | | | | | | | | fib 1 -- 1 | | | | | | | fib 2 -- fib 1 -- 1 | | | | | | | fib 0 -- 0 | | | | | fib 3

  • http://mono.kmc.gr.jp/~oxy/hiki.cgi?rtype

    #!/usr/bin/env ruby # $Id: hiki.cgi,v 1.10.2.6 2004/06/26 14:11:23 fdiary Exp $ # Copyright (C) 2002-2004 TAKEUCHI Hitoshi BEGIN { $defout.binmode } $SAFE = 0 $KCODE = 'e' $path = File::dirname(__FILE__) HIKI_VERSION = '0.6.5' begin require 'cgi' require './hikiconf' require 'hiki/global' require 'hiki/command' require 'hiki/util' require "hiki/db/#{$database_type}" include Hiki::Util load_config

  • モナドのすべて Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド

    モナドのすべて Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド Version 1.1.0 このチュートリアルは、モナドの概念とその関数プログラミングにおける応用に ついて、初中級の Haskell プログラマにわかりやすく、利用価値があるような 解説をすることを旨としています。読者は Haskell になれていることを前提と しますが、モナドに関する経験は要求していません。このチュートリアルは、多 くの題材をカバーしています。後半のセクションでは、前半の題材をよく理解し ていることを前提とします。順をおって、モナドプログラミングを例示するため のサンプルコードがたくさん用意されています。一読で、すべての題材を吸収し ようというのはお勧めできません。 このチュートリアルは 3 つの部分で構成されています。最初の部分は、 関数プログラミングにおけるモナドの基