タグ

ブックマーク / tarao.hatenablog.com (4)

  • なぜ型ファーストで考えるのか - 貳佰伍拾陸夜日記

    How do you imagine a building? You consciously create each aspect, puzzling over it in stages. Inception 型なし言語に馴染みはあるものの型付言語をいざ使ってみたらどういう気持ちで書いたらいいのかわからなかったと同僚から相談があり, それをきっかけにして社内の勉強会で以下の話をしました. よく型なし vs. 型付の文脈では「型を書くのは面倒だ」「安全の方が大事だ」「でも面倒だ」「それは型推論を前提にしていないからだ」などの議論になりがちな気がしますが、これはあくまで「計算ありきの型」を考えているからで, 「型ありきの計算」だと全く見え方が違います. 「型はある種の仕様」とおもえば, 型ファーストであることと, 型なし言語でテスト駆動開発(TDD)するときに最初にテストを書くこととは, 同じ

    なぜ型ファーストで考えるのか - 貳佰伍拾陸夜日記
    Cherenkov
    Cherenkov 2021/09/01
    型を書くのはテストを書きながらやるのと同じてことか
  • JavaScriptで読む「ラムダ計算基礎文法最速マスター」 - 貳佰伍拾陸夜日記

    以前書いた「ラムダ計算基礎文法最速マスター」(以下「最速マスター」)は, 予想以上に多くの人に興味を持ってもらえたようですが, 同時に難しくてわからなかったという人も多かったようです. 反響から察するに, 構文を見慣れていない(と錯覚してしまう)ことが理解の妨げになっていたように思います. ラムダ計算の構文は, 実際には全く特殊なものではありません. このことがよくわかるように, 「最速マスター」のラムダ計算の簡約の例をすべてJavaScriptの構文で書いてみました. ......という内容になるはずでしたが, 気がついたらラムダ計算のインタプリタをJavaScriptで実装していました! 実際に動かせるものは下記URLにあります. https://tarao.github.io/LambdaJS/#js 動作確認と既知の問題 Firefox 3.6 Google Chrome 4.1

    JavaScriptで読む「ラムダ計算基礎文法最速マスター」 - 貳佰伍拾陸夜日記
    Cherenkov
    Cherenkov 2010/03/28
    ラムダ計算のインタプリタをJavaScriptで実装
  • location.hrefの挙動 - 貳佰伍拾陸夜日記

    Firefox 3.5.5で, location.hrefに値を代入したときの挙動が, 普通に実行した場合と動的に読み込まれたjsファイルで実行した場合で違う模様. 普通に実行した場合 location.hrefに代入したURIに移動する 移動前のページがhistoryに残る 動的に読み込まれたjsファイルで実行した場合 location.hrefに代入したURIに移動する 移動前のページがhistoryに残らない 検証用ページ: http://test.orezdnu.org/js/location/ さらに, about:blankにいる状態でロケーションバーにjavascript:を書くなどして, 動的にjsファイルを読み込んでlocation.hrefに代入すると, その後1回分のページ移動のhistoryがわれてしまう. 少し探したところこのバグ報告に似ている感じ: https

    location.hrefの挙動 - 貳佰伍拾陸夜日記
  • Kansai.pm #11 HTMLからの本文抽出 - taraoの日記

    CPANのHTML::ExtractContentについて発表。 発表資料: HTMLからの文抽出 from Lintaro Ina 記事の表示モードを変更したせいで表示されなくなってしまったブクマ:

    Kansai.pm #11 HTMLからの本文抽出 - taraoの日記
  • 1