2009-08-01から1ヶ月間の記事一覧

型レベル高階関数 (?)

id:eagletmt さんが Haskell の型レをやっているのでコメントをポチポチ書いています ただ,これだとちょっと残念なことがあって,例えば2つ足す場合, data Succ2F = Succ2F instance Apply Succ2F x (Succ (Succ x)) と,わざわざ書かなければならない. …

Ocsigenについて OCaml Meeting Tokyo 2009 で話しました!

ピンチヒッターとしてLTではなく普通のセッションをいただきました! スライドは以下: http://www.agusa.i.is.nagoya-u.ac.jp/person/sydney/ocaml/ocsigen-omt2009-black.pdf# slideshareがこのスライドを受けとってくれません

Ocsigen/Eliom と PG'OCaml を使った Web開発サンプル (OMakefile付き)

明日の OCaml Meeting Tokyo 2009 で Eliom/Ocsigen について LTします! これに備えて、 Eliom と PG'OCaml を使ったサンプルアプリを準備しました! Eliom は OCaml 用の Webプログラミングのライブラリです。 Ocsigen上で動作します。 OCaml の静的型付け…

findlibとMacOSX を使う時に通しておきたいパス?

Camlp4: Uncaught exception: DynLoader.Error ("/opt/local/lib/ocaml/site-lib/pcre/pcre.cma", "error loading shared library: dllpcre_stubs.so: dlopen(dllpcre_stubs.so, 138): image not found")と出た。 .bashrc に、 export DYLD_FALLBACK_LIBRARY…

PostgreSQL in MacOSX

いつも似たようなことをやっているのでいいかげんメモしておく。 (あとで追記するかも) サーバのインストール port install postgresql84 port install postgresql84-server mkdir /opt/local/var/db/postgresql84 chown postgres:postgres /opt/local/var/d…

Eliom/Ocsigen の XHTML型

EliomではXHTMLを表現する型でページを構成する.たとえば、 というタグは型 [>`Html ] XHTML.M.elt の値として扱う. このおかげで、Eliomが出力するXHTMLは必ずwell-formedかつ(ほぼ?)validだ. [>`Html ] XHTML.M.elt という型を見れば分かるように、 幽…

Eliomで入力値検査 (4) Eliom_parameters.regexp バグ?

以前 ここで書いた 電子メールアドレスを表現するリクエストパラメータの param_type で let email_string s = Eliom_parameters.regexp emailregex "$0" s と書くと、 なぜか 文字列 "ocsigen" が帰ってくる。 正規表現の $0 はマッチする文字列全体を指す…

Ocsigen/Eliomで開発中 - パラメータの山!

Eliomで、とある講義の受講申し込みアプリを作っている。こういうのにありがちだが、リクエストパラメータはすぐに増えてしまう。このパラメータの山はなんとかならないか。 フォームを作る関数 get_form や post_form は、パラメータの個数分ネストされた対…

Ocsigenでfindlibのパッケージをロード

例えばEliomでextlibを使う場合 <library findlib-package="extlib"/> とする。</library>

Eliomで入力値検査 (3) メールアドレスのチェック

よくある話、正規表現でメールアドレスっぽくない文字列を弾きたい. Eliom の, 正規表現で入力値を弾く param_type を生成する Eliom_parameters.regexp を使う OCamlには pcre-ocamlというPCREインタフェースがあるのでそれを使う. ソース (* どこかから…

Eliomで入力値検査 (2)

(Ocsigenは Webサーバーの名前なので フレームワークの名前 Eliom で呼ぶことにした) 昨日の記事で、 入力値バリデーションに失敗して元のページに戻るとテキストが消えてしまう問題 について書いた. 重要な機能が欠けている気がするのだが、こんなことでせ…

Ocsigen/EliomとPGOCamlを使ったサンプル

2年前に触ったときのソースをここに置いたのだった。 http://tsukimi.agusa.i.is.nagoya-u.ac.jp/~sydney/eliomsample.tar.gz しかしおそらく古すぎて動かないと思う。

Ocsigen/Eliomの入力値検査

Ocsigenで簡単なサンプルを書いた。 簡単すぎて悲しくなるけど、最初はこんなもんだろう。今週でこれをそこそこの規模に成長させる予定です。 足し算アプリ Struts にあるような入力値の検査機能(その業界ではバリデーションといいます)はOcsigenにはないの…

軽量言語のお手軽なWebプログラミングをHaskellで : Implicit Parameter を使って (未完)

与太話。 Haskell でもお手軽にWebアプリ書きたいんですが、 どうせならいま流行の軽量な感じに書けたら嬉しいのです。そしたら皆にも使ってもらえるよね。 型がうれしいHaskellで軽量にWebアプリが書けたらもう向かう所敵なしだと思う。 アイデア: リクエ…

OcsigenについてLTしました

オープンソースカンファレンス2009 Nagoya で OCaml の Webフレームワーク Ocsigen についてLTしてきました。 中身のあることは殆ど言ってませんがこちらにスライドを置きます:OCaml Webフレームワーク Ocsigen概説 @ OSC2009NagoyaView more documents fro…

Jakarta Commons Codec による Base64符号の末尾に改行が付加される件について

Amazon の Web API (Product Advertising API) が、最近 クエリーに署名を要求するようになったので、Javaで書かれた手元のアプリを修正した。 サンプルが与えられているのでまずはこれをコピペした。 http://docs.amazonwebservices.com/AWSECommerceServic…

Qtでハマったこと

C++

(8/17追記)この記事は間違っているような気がするので真に受けないで下さい。 手元で試しても再現しないし、 ソースを読むと QList::iterator::operator先日、某所のヘルプのため Qt (C++向けのクロスプラットフォームGUIツールキット)でほんの少しだけプロ…

メンテナンス中画面を出す本当に正しい作法?

メンテナンス中画面を出す正しい作法と.htaccessの書き方 | Web担当者Forum を見て設定してみたのだが、この通りにやると、 Apacheのエラーログに <<URL>>: RewriteRule: invalid HTTP response code for flag 'R'と出る。 コメント欄でも指摘されているね。 Rewr</url>…

Mac OS X における Ocsigenのインストール

OcsigenはOCamlのWebアプリケーションフレームワークです。 (2年前に触っていて記事も少し書いたのですが飽きてやめちゃいました。) Webアプリケーションの全てを型安全に構成できる素晴らしいこのフレームワークによる開発環境を Macで準備します。 とりあ…