浜松Ruby会議01 http://regional.rubykaigi.org/hamamatsu01/ の発表資料です。 http://mzp.hatenablog.com/entry/2015/03/29/213909 もあわせてご覧ください。
![Rubyistのための型入門](https://cdn-ak-scissors.b.st-hatena.com/image/square/e6d3b21703904b570737c36e9898443491390285/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F95821d390f1f43c9925f1b537eddf81e%2Fslide_0.jpg%3F4588031)
本稿は Python に型アノテーションを追加するという PEP 483 - The Theory of Type Hinting の提案で参照されている Jeremy Siek (@jeremysiek) 氏と Walid Taha 氏が開発した漸進的型付けについての入門記事の翻訳です。 What is Gradual Typing Python 3.5 で導入された型アノテーションについて興味がある方は以下を参考にしてください。 Python と型ヒント (Type Hints) と #pyconjp [翻訳] PEP 0484 -- 型ヒント (Type Hints) Revenge of the Types: 型の復讐 私自身、型システムに明るくないため、一部未訳の部分があったり、勘違いや誤訳もあると思います。そういった誤りを見つけたら編集リクエストを送ってもらえると助かります。
Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Efficient Nim generates native dependency-free executables, not dependent on a virtual machine, which are small and allow easy redistribution. The Nim compiler and the generated executables support all major platforms like Windows, Linux, BSD and macOS
Haskell benefits from one of the most sophisticated type systems of any widely used programming language. Unfortunately, it also suffers because there is no formal specification of what the type system should be. As a result: It is hard for Haskell implementors to be sure that their systems accept the same programs as other implementations. The informal specification in the Haskell report Peyton J
Haskell/Polymorphism - Wikibooks, open books for an open world 型システムはその表現力に関して、rank-1, rank-2, rank-n として分類されるのだそうだ。一般に rank-n type とは、少なくともひとつのrank-(n-1の引数を持ちかつそのランクより高い引数は持たない「函数」のことである。 高階型の理論基礎ははSystem Fであり、これは二階のラムダ計算(The second-order lambda calculus)としても知られている。 Haskell98は、Hindley-Miler 型システムに基づいている。Hindley-Miler 型システムはSystem Fの制限系であり、量子記号(Forall)とrank-2 types 以上の高階型はサポートしていない。System Fのフルパワーの
訳註 このウィキブックスのページでは、Haskellにおけるポリモーフィズムについて説明されています。ポリモーフィズムは、プログラミング言語において同じコードを複数の型に対して再利用するための技術です。 Haskellでは、ポリモーフィックな関数を定義する方法がいくつかあります。ジェネリック関数は、任意の型に対して機能する関数であり、型変数を使用して宣言されます。また、型クラスは、特定の操作をサポートする型のグループを定義する方法です。 このページでは、ポリモーフィズムの概念を詳しく説明し、Haskellでのポリモーフィズムの実装について説明しています。さらに、Haskellの型クラスシステムについても解説しています。 Section goal = short, enables reader to read code (ParseP) with ∀ and use libraries (S
24. ...... Lemma reduce_lemma : forall ctx (ctx' : seq (term * typ)) t ty, typing ([seq Some p.2 | p <- ctx'] ++ ctx) t ty -> Forall (fun p => reducible ctx p.1 p.2) ctx' -> reducible ctx (substitute_seq 0 [seq p.1 | p <- ctx'] t) ty. Proof. move => ctx ctx' t ty; elim: t ty ctx ctx'. - move => /= n ty ctx ctx'. rewrite /substitute_seqv typvar_seqindex subn0 size_map shiftzero. elim: ctx' n => [|
I am currently in the early stages of a new project, plhaskell. plhaskell is a language handler for PostgreSQL that will allow you to write PostgreSQL functions in Haskell. The project has already taught me a lot, but recently I’ve had a somewhat mind bending encounter with what is almost dependently typed programming in Haskell - and I’ve just got to share it with you. Here’s the problem. At runt
Based on a short graduate course on typed lambda-calculus given at the Université Paris VII in the autumn term of 1986-7. Published by Cambridge University Press (Cambridge Tracts in Theoretical Computer Science, 7), ISBN 0 521 37181 3; first published 1989, reprinted with corrections 1990. Here is the story of how the translation came about: Jean-Yves had mentioned the notes to Paul at a conferen
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く