タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

typeとlanguageとdocに関するmasterqのブックマーク (8)

  • Introduction - Typechecker Zoo

    Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help Typechecker Zoo This is a pet project of mine I’ve been working on for a while. We’re going to create minimal implementations of the most successful static type systems of the last 50 years. This will involve making toy implementations of programming languages and the

  • Zig の文書読んで所感を記す - Qiita

    これは何? Zig を学ぼうと 公式文書 (0.91時点) を読んでいるんだけど、読みながら思ったことを記していく。 続編は Zig の文書読んで所感を記す #2 へ。 その前に Zig への言及が最近多いなぁ、でもシンプルな言語だって言うしまあどうでもいいかなぁ、ぐらいの気持ちでいたんだけど、ZigはCMakeの代替となるか を読んで、俄然興味が湧いてきて、じゃあ読んでみるか、と思った。 数値 i32 とか u16 のような名前で型が提供されている。 整数は 128bit まである。そればかりか、 3bit とか 53bit のような中途半端な幅の整数も使える模様。面白い。 さらに。何に使うのかわかってないけど、 i0 u0 のようなゼロビットの整数もある。 ちなみに0ビット整数には 0 が代入できる。 u1 は、 0 または 1。 i1 は、 0 または -1 が代入可能。 浮動小数点

    Zig の文書読んで所感を記す - Qiita
  • translate/Web/cs.likai.org/ats/ml-programmers-guide-to-ats.md at master · jats-ug/translate

    ATSでは、3つの世界でプログラミングをすることを覚えておくと良いでしょう。 Dynamics(動的な世界): プログラムを実行した時に評価される部分です。これは既存のプログラミング言語に馴染んだプログラマにとってもっとも親しみ深い部分でしょう。 Proofs(証明の世界): 動的な特性を静的な特性に結びつけます。Proofs(証明)はプログラムの動的な部分と考えることができます。しかし証明はコンパイル後では消滅してしまい、実行時には存在しません。コンパイラはあなたが書いた証明を検査し、動作可能なコードを生成する前に削除するのです。 Statics(静的な世界): 型検査時にコンパイラによって評価される部分です。静的な部分では静的な式の評価は常に終了しなければなりません。そのため型検査は決定可能です。 ATSの前身であるDependent MLでは、静的な世界からは依存型を通して動的な世界

    translate/Web/cs.likai.org/ats/ml-programmers-guide-to-ats.md at master · jats-ug/translate
    masterq
    masterq 2021/04/01
    fgets(3)を最終的に題材としてMLプログラミング経験のある人材にATS1言語を入門してもらう記事。細かい点では差異があるか考え方そのものはATS2でも有効。願わくばATS3でも通用すれば
  • 型付けは難しい

    ベン・フィードラーのブログより。 型検査と型推論 型検査とは、あるプログラミング言語で与えられたプログラムを実行し、すべての変数や式が正しい型を持っているかどうかを調べるプロセスです。例えば、文字列は文字列に代入され、算術式は数値のみを使用するなどです。一部の言語では型推論を提供しており、コンパイラに自分で正しい型を見つけるタスクも提供します。言語の特徴に応じて、型検査と型推論の問題は、些細なものから決定不能なものまで様々です。 一般的な用語 完全性 正しく入力されたプログラムを全てチェックできれば、タイプチェッカーは完了です。 健全性 正しく型付けされたプログラムのみを受け付けるものであれば、型検査は健全です。 決定可能性 任意の入力に対して、その入力が問題を満足するかどうかを有限時間で計算できる場合、決定問題は決定可能です。決定可能な問題の例としては、素数判定や充足可能性などがあります

  • Ruby 3 の静的解析ツール TypeProf の使い方 - クックパッド開発者ブログ

    こんにちは、フルタイムRubyコミッタとして働いてる遠藤(@mametter)です。昨日、Ruby 3.0.0-preview2がリリースされました! このリリースには、遠藤が開発している Ruby の静的型解析ツール TypeProf が初めて同梱されています。これの使い方をかんたんにご紹介したいと思います。 デモ TypeProf は、型注釈のない Ruby コードを無理やり型解析するツールです。とりあえずデモ。 # user.rb class User def initialize(name:, age:) @name = name @age = age end attr_reader :name, :age end User.new(name: "John", age: 20) typeprof コマンドは、Ruby 2.7 で gem install typeprof でインスト

    Ruby 3 の静的解析ツール TypeProf の使い方 - クックパッド開発者ブログ
  • マイクロソフト発のオープンソース言語「TypeScript」、生みの親が語る開発当初や背景

    Ballmer氏は2001年に、LinuxMicrosoftの知的財産すべてを脅かす「ガン」だと発言しており、Microsoftの幹部らは2010年時点でも、オープンソースが依然として厄介な存在だと考えていた。 Hejlsberg氏は「Linuxは『Windows』にとって脅威だ(と捉えられていた)。しかし、今ではまったく逆の状況になっている」と述べた。 2014年にCEOの座を降りたBallmer氏はその後、自らの考えを改めている。また今日、CEOであるSatya Nadella氏の下でクラウドに注力しているMicrosoftは、オープンソースへの愛を示すとともに、オープンソースプロジェクトに対して無料アカウントをも提供するコードリポジトリーGitHubを傘下に収めている。 Microsoftの主なオープンソースプロジェクトには、人気のコードエディター「Visual Studio Co

    マイクロソフト発のオープンソース言語「TypeScript」、生みの親が語る開発当初や背景
    masterq
    masterq 2020/09/28
    まともなことを言っていて心が洗われる
  • Rustの型推論の概略 - 簡潔なQ

    概要: Rustの型推論の大枠を説明する。 なお、筆者もRustの型推論の動作を詳細に把握しているわけではない。 短くまとめると Rustの型推論はHindley-Milner型推論ベースである。したがって後方の式や文の内容から手前の型が推論されることもある。しかし以下に挙げるようなRust独自の特徴をもつ。 型推論は原則として関数定義の中で閉じており、関数の引数型や戻り値型は推論されない。これは、関数を抽象化の境界とするための意図的なものである。この意味で「局所的」というのであれば間違いではない。 ただし、let多相を含む型推論を避ける意図もあるかもしれない。 関数呼び出しや一部の演算子などは、その部分の制約を立てる段階で、型の一部分が判明している必要がある。この動作は推論順序の影響を受ける。 トレイトによりオーバーロード可能になっている関数や演算子は、射影型を使っている場合、ボトムアッ

    Rustの型推論の概略 - 簡潔なQ
  • http://www.ats-lang.org/MYDATA/Xanadu-lics00.pdf

  • 1