はてブログ

はてなブックマーク新着エントリーの過去ログサイトです。



タグ 型システム

新着順 人気順 5 users 10 users 50 users 100 users 500 users 1000 users
 
(1 - 25 / 39件)

漸進的型付け言語の時代に必要なもの - mizchi's blog

2018/07/05 このエントリーをはてなブックマークに追加 417 users Instapaper Pocket Tweet Facebook Share Evernote Clip mizchi's blog 言語 時代 Facebook 動機

最近では、Gradual Typing、漸進的型付けと呼ばれる型システムを備えた言語(拡張)が増えてきています。 次のようなもの JavaScript: TypeScript / Flowtype Python: mypy / pyre-checker PHP: hack / php-storm flow/pyre-checker/hack と facebook 製が多いですね。 この記事は、それらを使う動機と運用について書きま... 続きを読む

型システム 〜プログラムの安全性を支える数学〜 - Laborify

2018/12/09 このエントリーをはてなブックマークに追加 410 users Instapaper Pocket Tweet Facebook Share Evernote Clip 概念 京都大学大学院 Laborify 種類 大学

京都大学大学院 情報学研究科 通信情報システム専攻 修士2回生の五十嵐雄です.大学では,プログラミング言語理論,その中でも特に型システムの研究をしています. この記事では,私が特に力を入れて研究している漸進的型付けという種類の型システムについて紹介します.プログラムや型システムといった基本的な概念から... 続きを読む

関数型プログラミングと型システムのメンタルモデル

2023/10/26 このエントリーをはてなブックマークに追加 276 users Instapaper Pocket Tweet Facebook Share Evernote Clip メンタルモデル 関数型プログラミング

Qiita Conference 2023 Autumun での発表資料です 発表時間の見積もりが下手で後半全然説明できませんでした、すみません! 続きを読む

私と型システムとポエム - The curse of λ

2018/06/02 このエントリーをはてなブックマークに追加 271 users Instapaper Pocket Tweet Facebook Share Evernote Clip ポエム あくま 時流 tl;dr 言及

最近巷では俄に型システムについての言及が増え、型システムポエマーが増えてる気がするので自分もその時流に乗りたい。 完全にポエムだけどなんかあったら随時指摘ください。直します。 TL;DR 言いたいことはまとめると次 型システムは程度問題なのでちょうどいいところを探すべき 型は万能でも強さが正義でもない(だから未だに研究されてる) よく知りもしないくせに計算機科学を侮辱するのはやめろ 予防線 あくま... 続きを読む

ポケットモンスター ソード/シールドにHaxeが採用されていた - terurouメモ

2019/11/16 このエントリーをはてなブックマークに追加 249 users Instapaper Pocket Tweet Facebook Share Evernote Clip haXe 顛末 シールド terurouメモ ポケモン

顛末 昨日、こういう感じのツイートを見かけかました。 ポケモンほどの大規模なゲームでHaxe採用されるの初めてなのではhttps://t.co/i8lCJx0NWh— neguse (@neguse) 2019年11月14日 結果、このような形となりました。 これは、Haxeという高度な型システム及びマクロシステムを持つ静的型付き言語であり、マルチプラット... 続きを読む

TypeScriptで知ってコードの安全性が上がったtips集

2024/03/20 このエントリーをはてなブックマークに追加 241 users Instapaper Pocket Tweet Facebook Share Evernote Clip Linter TypeScript Tips TIPS集 向上

TypeScriptを用いた開発では、その型システムを活かしてランタイムエラーを事前に防いだり、実装漏れを防いだりとコードの安全性の向上を図ることができます。 本記事では、個人的に知ったおかげでコードの安全性が増した!と感じたtipsをまとめました。 ※ なお、linterを用いたコードの安全性向上も非常に有効ですが、... 続きを読む

なぜRustなの?と言われた時のために

2022/02/13 このエントリーをはてなブックマークに追加 202 users Instapaper Pocket Tweet Facebook Share Evernote Clip rust メモリ 言語 コミュニティ コンセプト

20 秒で概要 当記事では、Rust における以下の 4 つのいいところを特徴を紹介します。 他の言語と比較しながらコンセプトを学ぶことで、なぜ今 Rust を学ぶべきかを理解できます。 Rust はメモリ安全な言語です Rust はリッチな型システムがあります Rust はエラー処理が分かりやすい Rust は健全なコミュニティの有るエ... 続きを読む

F*(F Star)の複雑な型システムの何が嬉しいのか? - Amosapientiam

2018/07/07 このエントリーをはてなブックマークに追加 170 users Instapaper Pocket Tweet Facebook Share Evernote Clip マイクロソフト 世間 言語 Amosapientiam 現状

マイクロソフトが開発中のF* という依存型プログラミング言語を少し触ってみました。 この言語には強力で複雑な型システムが組み込まれています。 現状、依存型言語は世間にはあまり広まっていませんので F*とは? 複雑な型ってなんだろう? 複雑な型システムを組み込んで何が嬉しいんだろう? 何が嬉しくないんだろう?... 続きを読む

Python2とその時代 - AtsuoIshimoto's blog

2014/09/15 このエントリーをはてなブックマークに追加 147 users Instapaper Pocket Tweet Facebook Share Evernote Clip Python2 時代 オライリージャパン Python 本書

宣伝が続いて恐縮だが、オライリージャパンよりPythonの解説書を上梓した。昔から、Python内部の仕組みも解説したPython解説書を書きたいと思っていて、ようやく実現した感じだ。 しかし、本書の執筆は、昔、構想を立てていたときに思っていたほどは楽しくはなかった。Python2ではなく、Python3.3以降を対象に書いてしまったからだ。Python3の型システムは綺麗に整理されてしまったし、... 続きを読む

TypeScriptにおける配列の共変性

2022/12/15 このエントリーをはてなブックマークに追加 130 users Instapaper Pocket Tweet Facebook Share Evernote Clip TypeScript ANIMAL String 配列 Dog

const animal: Animal = { animal: "string", }; const dog: Dog = { animal: "string", dog: "string", }; いま,Dog <: Animalです. <:という記号は2つの型のあいだに書いて,「左の型が右の型のサブタイプである」と読みます. TypeScriptの型システムは構造的なので,2つのオブジェクトがサブタイプ関係にあるには... 続きを読む

型システム入門 プログラミング言語と型の理論 | オーム社eStore(β)

2013/03/29 このエントリーをはてなブックマークに追加 130 users Instapaper Pocket Tweet Facebook Share Evernote Clip オーム社eStore TAPL プログラマー 理論 本書

型システムとは、プログラミング言語の安全性や効率を高めるうえで重要な理論・手法です。本書は、その型システムについて基礎的な話題を網羅し、実装例を交えて丁寧に解説したThe MIT Press発行の解説書“Types And Programming Languages”(TAPL)を翻訳したものです。言語設計者や学生だけでなく、静的型付言語を深く理解して活用したいプログラマーにとっても貴重な情報とな... 続きを読む

エラーや非同期処理をより安全に扱うための TypeScript ライブラリ Effect-TS

2024/04/29 このエントリーをはてなブックマークに追加 122 users Instapaper Pocket Tweet Facebook Share Evernote Clip TypeScript concurrency 低レイテンシ

TypeScript の型システムを活用して、本番のアプリケーションにおける実用的な問題を解決することを目指しています。Effect-TS は、以下のような特徴を備えています。 並行性(concurrency):Fiber ベースの並行モデルにより、高いスケーラビリティと低レイテンシを実現 コンポーザビリティ(composability):小さく再... 続きを読む

Scalaで型レベル”だけ”でクイックソート | プログラミング | POSTD

2015/07/02 このエントリーをはてなブックマークに追加 110 users Instapaper Pocket Tweet Facebook Share Evernote Clip クイックソート ご存じ POSTD Scala 計算

この投稿では、Scalaの型システムのみを使ったクイックソートアルゴリズムの実装方法をご紹介したいと思います。全ての自然数に対応する型を作り、計算や不等式をそれらの間に実装し、クイックソートさせるに至るまで、全てを型システムのみで行っていきます。Scalaの型システムが先進的であることは、皆さんもご存じのことかと思います。この投稿では、Scalaの型システムのみを使ったクイックソートアルゴリズムの... 続きを読む

「後付の型システム」の活用についてFlowtypeとReduxから考える - Qiita

2017/01/23 このエントリーをはてなブックマークに追加 93 users Instapaper Pocket Tweet Facebook Share Evernote Clip redux Qiita TypeScript Lintツール

FlowtypeやTypeScriptは静的解析によって事前に型違反を検知することができる。JavaScriptは動的型付けの言語であり、本来はランタイムにしか型が出現しない。 FlowtypeとTypeScript、ともに「それ自身がランタイムではない」というのが特徴であり、一種のLintツールだと言うことができる。ランタイムではないがゆえに、嘘の事前条件を与えることでそれらを騙すことができるし... 続きを読む

Java5の型システムを理解するにはリフレクションAPIを使ってみるのが最短の近道になる - 達人プログラマーを目指して

2011/03/27 このエントリーをはてなブックマークに追加 89 users Instapaper Pocket Tweet Facebook Share Evernote Clip 達人プログラマー 近道 最短 generics Java5

プログラミングの勉強, プログラミング言語, JavaJava5における総称型(generics)の導入に伴い、Javaの型システムは以前と比べて高機能になった反面、理解するためのハードルが高くなっています。もちろん、Javaの型についてきちんと理解するためには言語仕様を勉強すればよいのですが、手っ取り早く理解するための方法としてリフレクションAPIを使ってみるというのが有効です。リフレクションA... 続きを読む

Python の型システムの上で Immutable な Python プログラムを作る - 病みつきエンジニアブログ

2020/08/23 このエントリーをはてなブックマークに追加 86 users Instapaper Pocket Tweet Facebook Share Evernote Clip プログラ まえがき immutable 補足 本稿

まえがき 今年の PyCon JP 2020 にて「Python 3.9 時代の型安全な Python の極め方」というタイトルで登壇させていただきます。本稿は、発表の補足となる「型ヒントを使って Immutable な Python を実現する方法」について紹介したものです。 Python の型ヒント Python には「型ヒント」という機能があり、型をプログラ... 続きを読む

型システム入門」の先へ:TypeScriptの型システムのいくつかの側面 | 雑記帳

2023/12/08 このエントリーをはてなブックマークに追加 80 users Instapaper Pocket Tweet Facebook Share Evernote Clip TypeScript 側面 言語実装 雑記帳 型システム入門

この記事は TypeScript Advent Calendar 2023 の8日目の記事です。言語実装勢にも役立つ内容を含んでいるかもしれないので、 言語実装 Advent Calendar 2023 にも登録しています。 TypeScriptで型システムに興味を持った人が「型システム入門」を読んだという話を時々聞きます。「型システム入門」は、Types and Program... 続きを読む

ジェネリクスと配列 - プログラマーの脳みそ

2018/02/14 このエントリーをはてなブックマークに追加 69 users Instapaper Pocket Tweet Facebook Share Evernote Clip ジェネリクス 脳みそ Java プログラマー 配列

Javaのジェネリクスは一般に配列と混ぜてはいけないとされるが、混ぜて用いた場合に何が問題となるのか。 歴史的な問題 Javaが1995年に登場した当時、Javaに配列はあったがジェネリクスはなかった。 1990年代から2000年代にかけてJavaのバージョンアップの時期に並行して、ジェネリクスを含む型システムの理論的な整備が行われていた。これはJavaが産まれた当初時点1995年になぜより良いジ... 続きを読む

型レベルプログラミング in Scala(Type-Level Programming in Scala) — Japanese translation of Apocalisp v1.0 documentation

2011/06/14 このエントリーをはてなブックマークに追加 61 users Instapaper Pocket Tweet Facebook Share Evernote Clip Scala 型レベルプログラミング 著者 前提 連載

型レベルプログラミング in Scala(Type-Level Programming in Scala)¶ この連載はScalaにおける型レベルプログラミングの紹介です。解説は、コードと例とすこしばかりの説明で成り立ちます。また、読者はScalaの一般的な型システムについての知識があることを前提にしています。これは著者の傲慢ではないので(もちろん読者のでもなく)、質問は歓迎します。 連載は10の... 続きを読む

Javaの型パラメーターに対してstaticメソッドを呼び出した場合の挙動 - 達人プログラマーを目指して

2011/11/25 このエントリーをはてなブックマークに追加 59 users Instapaper Pocket Tweet Facebook Share Evernote Clip Java 挙動 達人プログラマー 近道 Java言語

プログラミング言語, Java以前にJavaの配列関連で調べたことがあったのですが、Javaの総称型は型消去によって直感的でない挙動をする場合があります。Java言語のClassクラスが持つちょっと不思議な性質について - 達人プログラマーを目指してJava5の型システムを理解するにはリフレクションAPIを使ってみるのが最短の近道になる - 達人プログラマーを目指して特に、総称型の型パラメーターT... 続きを読む

初めてのTypeScript

2023/05/31 このエントリーをはてなブックマークに追加 52 users Instapaper Pocket Tweet Facebook Share Evernote Clip TypeScript プログラマー 本書 パク 入門書

TypeScriptの本格的な入門書。TypeScriptは、世界で最もよく使われ、かつ最も好まれているプログラミング言語の1つです。本書では、JavaScriptの基礎的な知識のあるプログラマーを対象に、「型」や「型システム」の基本から、明快かつ包括的にTypeScriptを解説します。TypeScriptはバグやタイプミスを防ぎ、コードを読み... 続きを読む

第4章 標準パッケージ―JSON,ファイル,HTTP,HTMLを扱う:はじめてのGo―シンプルな言語仕様,型システム,並行処理|gihyo.jp … 技術評論社

2015/04/23 このエントリーをはてなブックマークに追加 52 users Instapaper Pocket Tweet Facebook Share Evernote Clip gihyo.jp 並行処理 標準パッケージ 言語仕様 JSON

1章の表1で紹介したように,Goは標準パッケージが充実しています。本章では代表的な標準パッケージをとりあげて,JSON,ファイル,HTTP,テンプレートの扱いを解説します。最後はそれらを組み合わせて簡単なHTTPサーバを作成します。 encoding/jsonパッケージ JSONを扱うためにはencoding/jsonパッケージを用います。主なAPIとして,構造体をJSONに変換するMarshal... 続きを読む

Haskell でのデバッグ手法あれこれ | 雑記帳

2018/01/24 このエントリーをはてなブックマークに追加 48 users Instapaper Pocket Tweet Facebook Share Evernote Clip Haskell GHC デバッグ手法 関数 パク

プログラムにバグはつきものです。強力な型システムを備えている Haskell でもそれは同じです。この記事では、 Haskell プログラムのデバッグ手法をいくつか挙げてみます。 なお、使用している GHC は 8.2.2 です。より新しいバージョンで追加されるであろうより便利な機能は、この記事の対象外です。 心構え:処理を分割せよ Haskell は純粋な言語です。IOが絡まない関数であれば、同... 続きを読む

Swiftの型システムに入門する - iOSDC Japan 2018 - Speaker Deck

2018/08/31 このエントリーをはてなブックマークに追加 43 users Instapaper Pocket Tweet Facebook Share Evernote Clip Swift Speaker Deck

All slide content and descriptions are owned by their creators. 続きを読む

JavaScriptの2014年

2015/01/09 このエントリーをはてなブックマークに追加 39 users Instapaper Pocket Tweet Facebook Share Evernote Clip JavaScript Gulp TypeScript YUI

2014年はJavaScriptとウェブにとって印象的な年だった。MVCフレームワークからちいさな特殊なライブラリまで、私たちInfoQはたくさんの記事を書いた。 多くの開発者がJavaScriptにTypeScriptやFlowを使って型システムを導入しようとした。Yahooは8年開発し続けたYUIを捨てた。Gulpという新しいビルドシステムがGruntの地位を奪った。Node.jsは年の始めに... 続きを読む

 
(1 - 25 / 39件)