タグ

型システムに関するkoroharoのブックマーク (6)

  • 古くて新しいGUI座標系の型の話

    こないだからの話題にちょっと関連する話として、さいきんChromeOSの仕事で手伝っていたマルチディスプレイ対応の機能について解説しよう。 現在販売されているChromebookには何らかのかたちで外部ディスプレイに接続する機能があるが、古いバージョンではミラーリングしかできなかった。それじゃ役に立たないので、複数のディスプレイをくっつけるような拡張デスクトップの機能をサポートした(まぁ、今時どんなOSにだってはじめっから入ってるような機能ではありますが)。Chromeのバージョン25以降でこの機能がオンになっている。ところが、この機能がなかなかの難産だった。 もともとChromeはブラウザだったから、そのGUI部分はウィンドウ基準の座標系だけを気にするようなつくりになっている。一方、ChromeOSではAuraという独自のウィンドウマネージャを実装したが、Auraにはデスクトップがあるの

    koroharo
    koroharo 2013/03/14
    『世の中には、インタフェースや実体は同じだが、意味が違うために異なる型になっているモノというのがある。静的型の検証は、そういう「意味」を表現できる』
  • L'eclat des jours(2013-03-04)

    _ 型付けと変更に対する強さ (時事解説) shiroさんが召喚されたという点が、今回の発端となった(と僕は読んだけど)『変数に型がないということの利点について考える』の一番の成果だったのではないだろうか。 最初にshiroさんは、変更に対する強さというものを、平衡状態の長短として考えることを提案する(『型付けと変更の時定数』)。強い型付けであれば、非平衡状態は比較的すぐに解消する(ただし非平衡状態では実行できない)。弱い型付けであれば、非平衡状態でもそれなりに実行できる。 読んで考えた。これは実体験としてわかる。 それまでchar buff[]だったものをstd::string buffに修正する必要が仮にあったとすれば、とにかく宣言を先に変えてしまう。そしてmake cleanしてmakeし直せば、少なくとも修正しなければならない箇所はその時点ですべて網羅できる(もっとも、表面的にしか

  • Island Life - システムの非平衡状態

    About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...ループを使わずに1から100までMore... 最近のコメント shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポのシューリンガン (2022/04/02)ベアトリーチ

    Island Life - システムの非平衡状態
  • 動的型とか静的型の話の前に「作者の気持ち」を考えろ - mizchi log

    自分の思考を整理する意味でも、件のアレについて考えたことを書いてみる。 変数に型がないということの利点について考える - サンプルコードによるPerl入門 http://d.hatena.ne.jp/perlcodesample/20130227/1361928810 この件に触れることはプログラマとしての中二病である。恥ずかしい。マジレス乙だ。 でも気づいたら5000文字も書いてしまったし、公開して酒のんで寝る。 型のフローは機械のためだけでなく、人間に対するものでもある 最近TypeScriptを書いている。こいつを使って、二次元座標上で二点間を求める関数、getDistanceを定義してみよう。 interface IPoint { x: Number; y: Number; } var getDistance = (a:IPoint, b:IPoint): Number => Ma

    動的型とか静的型の話の前に「作者の気持ち」を考えろ - mizchi log
  • 動的型付き言語と静的型付き言語 - Cube Lilac

    ここ数日、変数に型がないということの利点について考える - PerlならサンプルコードPerl入門 を発端として静的型付き言語と動的型付き言語の話題が盛んになっています。個人的にも、このトピックについていろいろググってみたので、考えの整理的な意味も含めて何か書いてみます*1。尚、この記事は元記事に対してどうこうと言った事は特に意図していません。 前提として、私がある程度「使える」と言うプログラミング言語は C++、C#、Ruby となります(C++ は この辺、C# は この辺)。Ruby に関しては趣味で触っているだけなので(プロジェクトっぽいものとしては、SoGap のバックエンドを書いたくらい)、知識・立ち位置としては静的型付き言語寄りと言う事になります。関数型言語は Web 上で盛り上がっているトピックを追う位なので、ほとんど分かりません。 動的型付き言語のメリットとデメリット こ

    動的型付き言語と静的型付き言語 - Cube Lilac
    koroharo
    koroharo 2013/03/03
    いい加減誰かこの議論を本にまとめて欲しくなってきた。
  • 言語機能としての型、概念としての型 - プログラマーの脳みそ

    某エントリが型について再考するきっかけになったのは事実だが、個々人の思想の成否を問う気がないのでとくにリンクはしない。ここでは型とは何かという点について僕なりの思想を記しておきたい。 データ型を区別しない世界 ごくシンプルなチューリングマシンを考えよう。 チューリングの仮想機械は、 無限に長いテープ その中に格納された情報を読み書きするヘッド 機械の内部状態を記憶するメモリ で構成され、内部状態とヘッドから読み出した情報の組み合わせに応じて、次の動作を実行する。 ヘッド位置のテープに情報を書き込む 機械の内部状態を変える ヘッドを右か左に一つ移動する 上の動作を、機械は内部状態が停止状態になるまで反復して実行し続ける。 チューリングマシン この原始的な世界において「型」はない。メモリは抽象的で全てのメモリは同等に扱われ区別する必要はない。 また、チューリングマシンに程近い原始的なプログラム

    言語機能としての型、概念としての型 - プログラマーの脳みそ
  • 1