The contents you are looking for have moved. You will be redirected to the new location automatically. Please bookmark the correct page at http://homes.soic.indiana.edu/jsiek/
The contents you are looking for have moved. You will be redirected to the new location automatically. Please bookmark the correct page at http://homes.soic.indiana.edu/jsiek/
最近考えていることを述べます. 代数的構造と準同型写像に関する考察です. 特に必要な知識は無いつもりですが, Haskellのコードを読めると嬉しいです. import Prelude hiding 以下のものを隠しておいて下さい. import Prelude hiding ((+), (++), length, True, False, Bool) 自然数とリストの定義 まず, 自然数(非負整数)とリストの定義からスタートします. data Nat = Zero | Succ Nat deriving (Show, Eq) 自然数はこんな感じです. ペアノの公理ですね. ここでは, 表示できるようにShowクラスのインスタンスとして自動導出しています. 更に, 同値であるか調べられる, という意味で, Eqクラスの自動導出もしています. ここで注意していただきたいのは, 名前が重要では
内容: 型宣言とホーアトリプル 関数定義とホーアトリプル ホーア論理とホーアセオリー 伴意順序 いろいろな概念を統合できるかな 型宣言とホーアトリプル fが関数だとして、f:X→Y という形はfの型宣言だとみなせます。話を簡単にするために、「型とは集合だ」と考えましょう。これから考える集合 A, B, C などは十分にに大きな集合Uの部分集合だとします。コンピュータで計算する関数に関しては、そんなUが存在します。 p, q などが論理式だとして、ホーアトリプルを p{f}q の形で書きます。pが事前条件、fが実行文(を表す関数)、qが事後条件です。ホーアトリプル p{f}q の意味は次のとおりです。 p(x) が成り立つ状況で f をすると、q(f(x)) が成り立つ。 論理記号で書けば、∀x.[p(x)⊃q(f(x))] です。ここで、「⊃」は「ならば」を意味する含意記号です。 ホーアト
Hideyuki Tanaka @tanakh 動的型のプログラミング言語がなぜ日本では軽量とみなされるようになったのか。これが一つの謎である。動的型はすなわちバグの発生を遅延しているに過ぎないのであるが、それを軽量というのであれば世の中のプログラムというものは正確さを必ずしも要求されないということだろうか。 極端流形式仕様 初代𝕍𝕚𝕖𝕟𝕟𝕒𝕋𝕒𝕝𝕜𝕖𝕣 @tomooda 正確さだけが絶対なら有限精度の数値型を使うべきではないですね。 RT @tanakh それを軽量というのであれば世の中のプログラムというものは正確さを必ずしも要求されないということだろうか。 極端流形式仕様 初代𝕍𝕚𝕖𝕟𝕟𝕒𝕋𝕒𝕝𝕜𝕖𝕣 @tomooda 動的型でも強い型付けをしているのであれば、型安全メモリ安全は確保されていると思うのですが。 RT @tanakh ええと
About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 米国の大学進学無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...More... 最近のコメント shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポのシューリンガン (2022/04/02)ベアトリーチェ on ハイポハ
これはMoritz Lenz氏のWebサイトPerlgeek.deで公開されているブログ記事"Perl 5 to 6" Lesson 16 - Enumsの日本語訳です。 原文はCreative Commons Attribution 3.0 Germanyに基づいて公開されています。 本エントリにはCreative Commons Attribution 3.0 Unportedを適用します。 Original text: Copyright© 2008-2010 Moritz Lenz Japanese translation: Copyright© 2011 SATOH Koichi NAME "Perl 5 to 6" Lesson 16 - 列挙型 SYNOPSIS enum bit Bool <False True>; my $value = $arbitrary_value
Twitter風URL自動リンクの話(関連: Kazuho@Cybozu Labs: (Twitter の XSS 脆弱性に関連して) 構造化テキストの正しいエスケープ手法について)。 あの問題では、関数のシグネチャを expandString(String):String 、「文字列を受け取って文字列を返す関数」としているが、これはあくまで実装上の都合。実際には「プレインテキストを受け取ってHTMLを返す関数」であって、引数と帰り値のドメインはまったく異なっている。ということを踏まえると以下のコードがどれだけひどいのかわかろうというもの。 module Twitter module AutoLink # (snip) def auto_link(text, options = {}) auto_link_usernames_or_lists( auto_link_urls_custom(
型を信じなさい Haskell が静的な型システムを持つことはすでに述べた。すべての式の型がコンパイル時に確定するのでより安全なコードとなる。もしブーリアン型を数値で割ろうとしてもコンパイルは通らない。 実行時にクラッシュするより、このようなエラーはコンパイル時に補足できるほうが良い。 Haskell ではあらゆるものに型があり、コンパイラは君が書いたプログラムについて様々な推論をコンパイルの前に実施する。 Java や Pascal とは違い、 Haskell には型推論というものがある。数値を書くときに、 Haskell に対してそのことを知らせてやる必要はない。 Haskell は自分でそれを 推論 してくれる。関数や式を書く際にわざわざ型を明記しなくても良いのだ。ここまで、型についてはごく表面的な部分しかみてこなかった。しかし、型システムについてきちんと知っておくことは Haske
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く