タグ 型システム
人気順 5 users 10 users 50 users 500 users 1000 usersTypeScriptの型を展開してホバー表示してくれるVSCode拡張「Prettify TypeScript」が便利
TypeScriptは強力な型システムが魅力です。 しかし、複雑な型定義は理解が難しいです。特にライブラリの型定義などはジェネリクスや交差型などがネストしていることも多く、すぐに把握するのが難しい場合があります。 Visual Studio Code(以下VSCode)でTypeScriptの開発をしている際、型にカーソルをホバーすると型情... 続きを読む
TypeScriptは型安全じゃないからすばらしい - まめめも
「TypeScriptではじめる型システム」という記事をn月刊ラムダノートに寄稿しました。 新刊を発売しました "『n月刊ラムダノート』Vol.4 No.3(2024)発行のお知らせ https://t.co/PGppk1aRRA— lambdanote (@lambdanote) 2024年10月4日 どんな内容? TypeScriptの極小サブセットに対する型検査器を書き、それを通して型シ... 続きを読む
エラーや非同期処理をより安全に扱うための TypeScript ライブラリ Effect-TS
TypeScript の型システムを活用して、本番のアプリケーションにおける実用的な問題を解決することを目指しています。Effect-TS は、以下のような特徴を備えています。 並行性(concurrency):Fiber ベースの並行モデルにより、高いスケーラビリティと低レイテンシを実現 コンポーザビリティ(composability):小さく再... 続きを読む
TypeScriptで知ってコードの安全性が上がったtips集
TypeScriptを用いた開発では、その型システムを活かしてランタイムエラーを事前に防いだり、実装漏れを防いだりとコードの安全性の向上を図ることができます。 本記事では、個人的に知ったおかげでコードの安全性が増した!と感じたtipsをまとめました。 ※ なお、linterを用いたコードの安全性向上も非常に有効ですが、... 続きを読む
関数型プログラミングと型システムのメンタルモデル
Qiita Conference 2023 Autumun での発表資料です 発表時間の見積もりが下手で後半全然説明できませんでした、すみません! 続きを読む
TypeScriptにおける配列の共変性
const animal: Animal = { animal: "string", }; const dog: Dog = { animal: "string", dog: "string", }; いま,Dog <: Animalです. <:という記号は2つの型のあいだに書いて,「左の型が右の型のサブタイプである」と読みます. TypeScriptの型システムは構造的なので,2つのオブジェクトがサブタイプ関係にあるには... 続きを読む
なぜRustなの?と言われた時のために
20 秒で概要 当記事では、Rust における以下の 4 つのいいところを特徴を紹介します。 他の言語と比較しながらコンセプトを学ぶことで、なぜ今 Rust を学ぶべきかを理解できます。 Rust はメモリ安全な言語です Rust はリッチな型システムがあります Rust はエラー処理が分かりやすい Rust は健全なコミュニティの有るエ... 続きを読む
ポケットモンスター ソード/シールドにHaxeが採用されていた - terurouメモ
顛末 昨日、こういう感じのツイートを見かけかました。 ポケモンほどの大規模なゲームでHaxe採用されるの初めてなのではhttps://t.co/i8lCJx0NWh— neguse (@neguse) 2019年11月14日 結果、このような形となりました。 これは、Haxeという高度な型システム及びマクロシステムを持つ静的型付き言語であり、マルチプラット... 続きを読む
型システム 〜プログラムの安全性を支える数学〜 - Laborify
京都大学大学院 情報学研究科 通信情報システム専攻 修士2回生の五十嵐雄です.大学では,プログラミング言語理論,その中でも特に型システムの研究をしています. この記事では,私が特に力を入れて研究している漸進的型付けという種類の型システムについて紹介します.プログラムや型システムといった基本的な概念から... 続きを読む
F*(F Star)の複雑な型システムの何が嬉しいのか? - Amosapientiam
マイクロソフトが開発中のF* という依存型プログラミング言語を少し触ってみました。 この言語には強力で複雑な型システムが組み込まれています。 現状、依存型言語は世間にはあまり広まっていませんので F*とは? 複雑な型ってなんだろう? 複雑な型システムを組み込んで何が嬉しいんだろう? 何が嬉しくないんだろう?... 続きを読む
漸進的型付け言語の時代に必要なもの - mizchi's blog
最近では、Gradual Typing、漸進的型付けと呼ばれる型システムを備えた言語(拡張)が増えてきています。 次のようなもの JavaScript: TypeScript / Flowtype Python: mypy / pyre-checker PHP: hack / php-storm flow/pyre-checker/hack と facebook 製が多いですね。 この記事は、それらを使う動機と運用について書きま... 続きを読む
私と型システムとポエム - The curse of λ
最近巷では俄に型システムについての言及が増え、型システムポエマーが増えてる気がするので自分もその時流に乗りたい。 完全にポエムだけどなんかあったら随時指摘ください。直します。 TL;DR 言いたいことはまとめると次 型システムは程度問題なのでちょうどいいところを探すべき 型は万能でも強さが正義でもない(だから未だに研究されてる) よく知りもしないくせに計算機科学を侮辱するのはやめろ 予防線 あくま... 続きを読む
Scalaで型レベル”だけ”でクイックソート | プログラミング | POSTD
この投稿では、Scalaの型システムのみを使ったクイックソートアルゴリズムの実装方法をご紹介したいと思います。全ての自然数に対応する型を作り、計算や不等式をそれらの間に実装し、クイックソートさせるに至るまで、全てを型システムのみで行っていきます。Scalaの型システムが先進的であることは、皆さんもご存じのことかと思います。この投稿では、Scalaの型システムのみを使ったクイックソートアルゴリズムの... 続きを読む
Python2とその時代 - AtsuoIshimoto's blog
宣伝が続いて恐縮だが、オライリージャパンよりPythonの解説書を上梓した。昔から、Python内部の仕組みも解説したPython解説書を書きたいと思っていて、ようやく実現した感じだ。 しかし、本書の執筆は、昔、構想を立てていたときに思っていたほどは楽しくはなかった。Python2ではなく、Python3.3以降を対象に書いてしまったからだ。Python3の型システムは綺麗に整理されてしまったし、... 続きを読む
型システム入門 プログラミング言語と型の理論 | オーム社eStore(β)
型システムとは、プログラミング言語の安全性や効率を高めるうえで重要な理論・手法です。本書は、その型システムについて基礎的な話題を網羅し、実装例を交えて丁寧に解説したThe MIT Press発行の解説書“Types And Programming Languages”(TAPL)を翻訳したものです。言語設計者や学生だけでなく、静的型付言語を深く理解して活用したいプログラマーにとっても貴重な情報とな... 続きを読む