TypeScriptをはじめとするいくつかのプログラミング言語には、never型という型がある。この型は典型的には「制御を返さない関数」の返り値として使われる:
function f(x: string): never {
console.error(x);
throw new Error();
}
never型は型システム的には「値を持たない型」「任意の型の部分型」として特徴づけられる。
他のプログラミング言語、例えば私が作っているLunarMLにもnever型があると便利だろうか?
続きを読む