stanford-oval/wikipedia huggingface dataset:
型システム

型システム（かたシステム、英: type system）は、コンピュータプログラミングの数々の構成要素および値に対して、型（type）と呼ばれる特性を付与するための数々の規則群から成立している形式体系である。型の付与は、型付け（typing）と言われる。例えば、変数・式・関数・モジュール・オブジェクトなどが型の付与対象になり、それらの型付け要素を規則的な関係でまとめたデータ構造にも型は付与されてカテゴライズされる。
型システムの目的は、プログラムエラーとバグの発生を抑止することである。そのための型安全性とは、各計算および各オペレーションでの型エラー（不正計算、ロジックエラー、バッファオーバーフロー、不正ポインタなど）の発生を防止することと同義になる。
型システムは、一般的に型理論をベースにしている。
定義と性質 > 型とは

→「データ型」も参照
プログラミング言語はさまざまな値を扱う。代表的かつ最も原始的なものは数値や文字列だが、一般的に有限の資源制約があるコンピュータにとって都合のよい内部表現が使われ、例えば数値には32ビットや64ビットといった固定サイズの整数型や浮動小数点数型が、文字列には特定の文字コード集合によって符号化された整数値の羅列（文字配列）が使われることが多い。文字列の表現には最後の文字（番兵）に0を使用するゼロ終端文字列（ヌル終端文字列）が使われることもあれば、長さ情報を別途整数値で保持する複合データ構造が使われることもある。三角関数は浮動小数点数を引数にとり浮動小数点数を返す。先頭の文字を大文字にする関数は文字列を引数にとり文字列を返す。ユーザーからの入力を数値として扱うためには、文字列を解釈して数値を返す関数が必要である。ここで、3.14 や "hoge" といった値について「浮動小数点数」や「文字列」といった種類に分類して扱っているが、同じ種類の値であれば同じ操作（演算）が可能である。この「値の種類」が型（データ型）である。
定義と性質 > 型検査

プログラムにおけるエラーはさまざまだが、型に基づく一連のエラーがある。単純な例としては、浮動小数点数を表現しているワードを（一般的なコンピュータのハードウェアでは、メモリ上のワードとしては区別がつかないため）整数型として扱ってしまう、といったようなものである。この例では 0 と +0.0 のような特別な場合を除いてたいていの場合は得られる結果は無意味であり、より複雑な構造を持った値の場合は構造を壊して不正にしてしまうかもしれない。このような異常をプログラムが起こさないことを検査するのが型検査（英: type checking）である。
定義と性質 > 型の安全性

型にまつわるものに限らず、プログラムの安全性（safety）とは、プログラミング言語や文脈によって定義が異なる場合があり、一概に述べることはできない。ひとつの指標として、プログラムが言語仕様で定義されていない「未定義」の状態に陥らない、という性質のことを指すことがある。たとえばC言語やC++の標準では、NULLポインタのデリファレンスや、配列の範囲外アクセスによるバッファオーバーランなど、そういった「未定義」の動作を引き起こすケースが決められている。大抵の実行環境では、NULLポインタのデリファレンスによってセグメンテーション違反（アクセス違反）が引き起こされ、オペレーティングシステムによってプログラムが異常終了させられることになるが、必ずしもそうなるとは限らず、実際には何が起こるか分からない。「安全な」プログラムを記述するためには、言語未定義の動作を避けるように注意深くコーディングしなければならない。この指標の観点では、プログラムのエラーを、言語未定義や処理系依存の異常動作によってではなく、ランタイムやインタプリタが検出して仕様通りに異常終了するような場合は「安全」の側に含まれることになる。一般的に仮想マシン上で動作するJavaやC#のような言語は、ランタイムによって検証され、信頼されたコードのみを実行する仕組みが用意されているため、C/C++よりも安全である。未定義動作はコンピュータセキュリティと密接な関係があり、例えばバッファオーバーランが引き起こされると悪意のある不正なコードを実行できてしまったりするセキュリティホールにつながることがある。ただし安全なチェック機構のある言語ほどオーバーヘッドが大きくなるため、安全性は実行速度とのトレードオフの関係にある。
例えば、JavaではNullオブジェクトを参照した場合、実行時にNullPointerException例外がスローされると言語仕様で規定されており、この点でC言語やC++よりも安全であると言える。しかし、JavaではNullオブジェクトを参照するコードを記述しても言語構文上は合法とみなされるため、コンパイラによるチェック機構は働かず、実行時にNullPointerExceptionがスローされるまでプログラミングミスに気づかない可能性がある。さらに進んだKotlinのように「Null安全」な言語では、Nullの状態を許容しない型を定義することができ、このNull非許容型を使う限りはNullオブジェクトを参照することはないことが保証される。また、Kotlinでは主にJavaとの相互運用のためにNullの状態を許容する型も定義できるが、このNull許容型を使う場合は、事前にNullチェックコードを記述することを言語仕様によって強制されるため、安全性が増す。
そして型にまつわる安全性のことを型安全性（英: type safety）と呼ぶが、一般的に型安全性とは、データ（オブジェクト）の本来の型に従ってプログラムを正しく実行できる性質のことを指す。前述のように型安全性が具体的にどのようなものであるかはプログラミング言語や文脈に依存する。
一般的にコンピュータでは整数と浮動小数点数のように異なる型の値同士の演算はできず、いったん同じ型に揃えて演算する必要がある。プログラマがコード上で型変換（キャスト）を明示する必要のある厳しい言語もあれば、コンパイラによってある程度の暗黙の型変換や型昇格がなされるようなゆるい言語もある。さらにCにおいては、キャスト（型変換）構文を使うと、互換性のない型同士でも強制変換できてしまう。例えば整数とポインタとの間で相互変換することや、整数へのポインタを浮動小数点数へのポインタに無理やり変換することもできてしまい、簡単に型安全性が破壊される。誤った型へのポインタ経由で領域にアクセスした場合の動作は未定義である。型検査によって型安全性を確保するために、互換性のない型同士の変換は明示的・暗黙的問わず一切できないようになっている言語や、間違った型変換をすると実行時に例外をスローする言語もある。
型安全でない例としては、C/C++において、可変長引数の関数を利用する場面が挙げられる。代表的なものがprintfやscanfで、これらの関数は任意の数のあらゆる型のデータ（オブジェクト）を可変長引数として統一的に渡せるように、いったん引数オブジェクトの型情報を消去し、別途入力として与えられた書式文字列をもとに型情報を関数内部で復元する仕組みになっている。しかし書式文字列の指定にミスがあると、本来のオブジェクトの型とは異なる誤った型として取り出すことになってしまうが、型が消去されてしまっているためにコンパイラはミスを検出することができない。結果として、想定されたものとは異なるでたらめな値が出力されてしまったり、間違った型へのポインタを経由することで誤った領域にデータを書き込んでしまいクラッシュしたり、といった未定義の異常動作を引き起こす。一方、JavaやC#の可変長引数では、実引数として渡される個々のオブジェクト自身が型情報を保持しており、書式指定ミスによる型の不一致があった場合は例外をスローして安全にプログラムを中断・異常終了させることができるため、C/C++よりも型安全性が高い。
別の例として、ジェネリックプログラミング（ジェネリクス）をサポートしていなかった初期のJavaやC#では、可変長の動的配列や双方向リストなどのコレクションに型Tのオブジェクトを格納する場合はいったん基底型であるjava.lang.ObjectやSystem.Objectにアップキャストし、またコレクションからオブジェクトを取り出す場合は型Tにダウンキャストしなければならず、正しい型のオブジェクトとして取り出すためには注意深くコーディングする必要があった。ジェネリクスをサポートすることで、コレクションに格納する型Tを静的に決めることができるようになり、誤ったキャストにより実行時エラーを引き起こす可能性を排除できるようになった。このような改善も型安全性の向上とみなされる。
定義と性質 > 型の互換性

静的型付き言語の型検査では、すべての式の型がその式が現れた文脈で期待される型と一貫しているか、検証しなければならない。たとえば、x := eという代入文では式eの推論される型は変数xの宣言型または推論型と一貫していなければならない。この一貫性の概念を互換性といい、プログラミング言語ごとに固有のものである。
明らかなように、eとxの型が同一でかつその型への代入操作が許可されているなら、これは正当な式である。したがって最も単純な型システムでは、2つの型が互換であるかどうかは2つの型が同一である（または等価である）かどうか（等価性）という単純な問題に置き換えることができる。別の言語では2つの式が同じ型を持つと理解されるのに別の基準を採用している。これら、型の「同一性理論」は非常に多岐にわたっており、2つの対極の例は構造的型システムと名前的型システムとである。構造的型システムとは外部に見せている構造（インタフェース、特に暗黙的なもの）が同じものを持つ値を同じ型であるとするもので、名前的型システムとは型宣言の構文からのみ型の同一性を判定する（型が同じ「名前」を持たなければならない）ものである。
オブジェクト指向言語のように基底型と派生型の関係がある言語では、互換性の関係はより複雑なものとなる。型Derivedが型Baseの派生型であるとすると、Derived型の値はBase型の値が必要とされる文脈で使用することができる（リスコフの置換原則）。しかし逆は真ではない。等価性と同様に派生型の関係はプログラミング言語によって異なった方法で定義され、多くのバリエーションが存在しうる。パラメータ付けされたまたはアドホックなポリモーフィズムを持つ言語の存在は型の互換性に何らかの意味を持つのかもしれない。[要説明]
型付けの分類 > 静的な型付けと動的な型付け

→詳細は「静的型付け」および「動的型付け」を参照
静的（static）と動的（dynamic）は、プログラム要素の型を検査（check）する際の性質である。これは検査タイミングを示している。
プログラムの実行前（コンパイル時、インタプリタ開始時）に型検査を行うのが静的型付けであり、プログラムを実行しながら型検査を行うのが動的型付けである。Javaは一般に静的型付け（静的型付き言語）であるが、ダウンキャストは明示する必要があり実行時に型検査を受ける。Common Lispは一般に動的型付け（動的型付き言語）だが、type specifierという静的に型を指定する文法も持っている。このように、ある程度は混在している言語もある。さらに、静的検査が行われるタイミングについても、コンパイル時の他リンク時やインタプリタのソースコード読み込み時といった場合もありえるため、簡単に見た目では分類できないこともある。
型付けの分類 > 型なし

型付けを更に厳密に定義した区分として型なし（英: untyped）という区分が存在する。代表的な言語としてはSmalltalk、BCPL、B言語、アセンブリ言語などがある。Smalltalkでは高速化のため処理系依存で実行時に型検査することがあるものの言語的には型検査がなく、動的型付け言語のように文字列に割り算をするといった不正な操作をしても処理系が型検査して停止する事は無い。
BCPL、B言語、アセンブリ言語などオブジェクト指向とは関係なく型を持たない言語では、ハードウェアのワード長に依存した1種類の型のみを持つか、言語を使う側でデータを参照するときにデータ幅や種類の解釈を決定することとなる。
オブジェクト指向型の型なしの言語では処理系が型検査をしない代わり、ライブラリで例外を投げて停止する。例えばSmalltalkではオブジェクトに対し対応するメソッドが存在しないメッセージを投げると、最終的にクラスごとに定義した#doesNotUnderstand:メソッドに至る。このメソッドが例外を投げるようになっていれば停止するが、そうでなければ停止することなく走り続ける。対照的に動的型付け言語では、演算子のような一部の操作について値の型に応じた型検査を処理系が行いエラーとしてしまう。エラー発生時の挙動については言語によって異なり、例えば数値を文字列値で割るという2 / 'A'のような無意味な演算に対して、PythonはTypeError例外をスローし、JavaScriptはNaNを返す。型なしのオブジェクト指向言語は最適化がしづらい反面、オブジェクトの操作を処理系に制限されないため使用者が後から自由にオブジェクトの操作を追加できる利点がある。
型付けの分類 > 強い型付けと弱い型付け

強い（strong）と弱い（weak）は、静的/動的型付けでのプログラム要素の型を解釈（interpret）する際の性質である。
強い型付けとは、プログラミング言語仕様内でデータ値の型を解釈するという全く普通の方法に従ったものである。暗黙的型変換（implicit type conversion）と型強制（type coercion）と型ジャグリング（type juggling）は、言語仕様内なので、こちら側になる。基底型を派生型にするなど一定の型制約での実行時型チェック付きの型キャスト（type casting）も、こちら側になる。特殊な例では、LISP風の潜在的型付けやダックタイピングによる型解釈も言語仕様内なので、こちら側である。
弱い型付けとは、言語仕様外になる明示的型変換（explicit type conversion）と型キャスト（type casting）の使用によって、データ値の型を様々に解釈できる変則的な方法を大幅に許容したものである。型安全性は保証されなくなる。具体例としては以下がある：
型付けの分類 > 明示的な型付けと暗黙的な型付け

→詳細は「型推論」を参照
明示的（explicit）と暗黙的（implicit）は、静的型付けでのプログラム要素の型を宣言（declare）する際の性質である。
明示的な型付けとは、プログラマがその型を指名して変数を定義（宣言）するスタイルである。これはFORTRANやC言語などの手続き型プログラミングに適したものであり、大抵のプログラミング言語はこちらを採用している。
暗黙的な型付けとは、型を指名しないで変数を定義（宣言）するスタイルである。その変数の型は、等号式で結び付けられたリテラル、他の変数、リテラルと他の変数を引数にした関数、関数の組み合わせなどを再帰的に辿って解釈することで、コンパイラによって自動的に導き出される。これは型推論と呼ばれる。型推論は、関数型プログラミングの参照透過性に準拠したatom（初期リテラル）とvalue（評価値）によるデータ値表現に適したものであり、MLやHaskellなどで採用されている。従来の手続き型やオブジェクト指向プログラミング言語においても、型推論の機能を導入するケースが増えている。
コード中の数値や文字列のリテラルおよび式は型を暗示する。例えば、式 3.14 はおそらく浮動小数点数を暗示し、式 1, 2, 3 はおそらく整数のリスト（主に配列）を暗示する。リテラルがどのような型になるかは言語によって異なる。ユーザー定義のリテラルを記述することができる言語もある。リテラル自体がオブジェクトであり、変数に束縛することなくメソッドやプロパティを使用できる言語もある。
型付けの分類 > 名前的型付けと構造的型付け

→「en:Nominal type system」および「en:Structural type system」も参照
名前的（nominal）と構造的（structural）は、静的/動的型付けでのプログラム要素の型を識別（identify）する際の性質である。
名前的型付けとは、システムが保持しているプログラム要素の参照情報上の型の名前を見て、データ値の型を識別するスタイルである。
構造的型付けとは、参照情報上の型の名前を見ないで、データ値本体の分析でデータ値の型を識別するスタイルである。ただし、データ集合を分解して行き着くリテラルの型識別は事実上の名前的型付けになる。例えば構造体では、フィールド構造（各フィールドの型の種類と順序）が一致しているならばフィールド名が違っても同じ型と判定される。構造的型付けは、部分型の判定にも多用される。例えばオブジェクトでは、特定の関数/手続きの構造を双方が所持しているならば、その部分型での等価と見なされる。特定のフィールド構造を双方が所持している場合も同様である。
型付けの分類 > ダックタイピング

ダックタイピングは、構造的型付けに類似した型付けのスタイルであり、オブジェクトが対象になることが多い。例えばオブジェクトが特定のプロパティ/フィールド/変数を所持しているか、または特定のメソッド/関数/手続きを所持しているならば等価判定される。これも部分型（サブタイプ）視点である。この等価判定は、エラー発生のないプロパティ参照またはメソッド実行に直結している。ダックタイピングの名称は、帰納法の一種であるダックテストに由来している。
『もしアヒル (a duck) のように歩いて、アヒルのように鳴くなら、それはおそらくアヒルだ』
さらに動的型付けに基づく動的ダックタイピングと、静的型付けに基づく静的ダックタイピングがある。特にC++のテンプレートは静的ダックタイピング機能の典型であり、例えば関数呼び出し演算子をオーバーロードした関数オブジェクトを定義することで、関数ポインタと区別することなく統一的にアルゴリズムの述語オブジェクトとして扱うこともできる。適切な演算子オーバーロードを定義することで、組み込みの数値型やポインタ型と同じ記法で扱える型をユーザー定義することもできる。
分類には諸説あり、「ダックタイピングは実行時の動的な型付けであり、構造的型付けはコンパイル時の静的な型付けである」とみなす者もいれば、「構造的型付けはコンパイル時の静的なダックタイピングである」とみなす者もいる。
型推論

→詳細は「型推論」を参照
静的な型システムの言語では型宣言を必要とし、基本的にプログラマはすべての変数に特定の型を明示的に関連付けなければならない。しかし、変数の初期化時の右辺値や変数の使われ方など、プログラマが型を明示せずともコードの文脈から型を自動的に決定する型推論（type inference）の機能を持つ言語もある。例として、Haskellにおいて変数 x と y を加算する関数 f を定義してみる。
f x y = x + y
ここで、x と y の型を特に明示していないが、+による加算は数値のみに定義されているので、コンパイラは x と y は共に数値型であると推論できる。ゆえにプログラム中で f の引数として数値でない型（文字列やリストなど）の値を渡して呼び出すとエラーを報告する。
main = do
  print (f 1 2) -- 3
  print (f 1.0 2.0) -- 3.0
  --print (f "hoge" "fuga") -- コンパイルエラー。
型推論の目的は、単にコードの記述効率を向上したり、型のミスマッチに起因するエラーを軽減したりすることだけではない。ラムダ式や匿名型など、コンパイラが内部で型を自動生成し、プログラマが具体的な型の名前をコード上で書き下すことができない場合もあり、そういった機能に対応しなければならないという目的もあって型推論を導入した言語もある（C++やC#など）。
議論 > 型付けについて

静的型付き言語はいわゆるコンパイラ言語に、動的型付き言語はいわゆる動的プログラミング言語によくみられる。
型検査がどのように働くのかを見るために、次の擬似コードを考える。
var x;
x := 5;
x := "hi";
この例では、1行目でxという名の変数を宣言し、2行目でxに整数5を代入し、3行目でxに文字列"hi"を代入している。ほとんどの静的型付けの処理系ではこのようなコードは不正（型エラー）となる。なぜなら2行目と3行目でxに一貫性のない型の値を代入しているからである。
対照的に動的型付けの処理系では、型は変数ではなく値に付けられるので、上のようなコードが実行できる。動的型付けの処理系は間違った文や式を実行したときに、値の誤用に関するエラーを型エラーとして捕捉する。つまり、動的型付けはエラーをプログラムの実行中に捕捉する。動的型付けの典型的な実装ではプログラム中のすべての値が型情報を持ち、演算に値を使う前に型情報を確かめる。例を挙げる。
var x := 5;
var y := "hi";
var z := x + y;
このコードでは、1行目でxを値5で束縛し、2行目でyを値"hi"で束縛し、3行目でxとyを足そうとしている。動的型付き言語ではxを束縛した値は(整数, 5)というペアとして表すことができ、yを束縛した値は(文字列, "hi")というペアで表すことができる。プログラムが3行目を実行しようとしたとき、処理系は整数と文字列という型情報を検査し、もし演算+（加算）がその2つの型について定義されていなかったら、エラーを出す。
プログラミング言語の中には、静的に型検査されないコードをプログラマが書けてしまう「バックドア」を持つものもある。例として、JavaやC風の言語には「キャスト」がある。
プログラミング言語が静的型付けをもつことは必ずしも動的型付けをもたないことを意味するわけではない。例えばJavaは静的型付けを採用しているが、処理によっては動的な型情報の取得を必要とするものもあり、それらは動的型付けの一形態とみなせる。静的型付けと動的型付けの違いについては様々な議論がある。
静的および強い型付けの支持者と動的および自由な型付けの支持者の間では衝突が度々おきる。前者のグループは厳密な型付けの使用によって、処理系がより多くのエラーを問題が大きくなる前に発見できるようになると主張している。後者のグループはより気軽な型付けによってコードはよりシンプルなものになり、そのようなコードは解析しやすいとされるので、エラーは減少すると主張している。型推論がある言語では型を手で宣言する必要はほとんどないので、強い型付けに伴う開発のオーバーヘッドは低減される。
個人がどのグループに分かれるかは、開発しているソフトウェアの種類やチームのメンバーの能力、他のシステムとの対話性の度合い、開発チームの規模などに依ることが多い。少人数で小回りのきくプロジェクトには気軽な型付けがより合い、フォーマルで大人数で仕事が分断されている（プログラマ、アナリスト、テスト部隊、など）プロジェクトは厳密な型付けのほうがうまくいくことが多い、と結論づける者もいる。
TypeScriptのように、JavaScriptの持つ動的型付けにまつわる問題点を回避して大規模アプリケーション開発にも耐えうるようにするため、静的型付けをサポートするよう改良された言語もある。
議論 > 型の利点について > 最適化

静的な型検査によってコンパイラは最適化に有用な情報を得ることがある。例えばデータ構造アライメントの指定によって、ある型の値が16の倍数のアドレスに配置されることが保証されていれば、コンパイラはより効率の良いマシン命令を選択できる。
議論 > 型の利点について > 可読性の向上

より表現力の高い型システムでは、型はプログラマの意図を説明することができるので、型自身がドキュメントの役割を果たし、可読性の向上に寄与することもある。例として、何らかの時刻情報（タイムスタンプ）を返す関数を定義するとき、単なる64ビットの組み込み整数型ではなく専用のタイムスタンプ型（構造体型など）を返す関数として宣言すると、その型情報が関数の意味を記述していることになる。
議論 > 型の利点について > 抽象性/モジュール性の確立

型によってプログラマは低レベルでの実装に煩わされずにより高レベルで考えることができるようになる。これはプログラム設計に適切な抽象化をもたらす。例えば文字列型によってプログラマは文字列を文字列として、単なるバイトの列ではないものとして考えることができる。
また型によって複数のデータ構造の間の依存関係を明確にすることができ、さらに上位レベルでは複数のサブシステム間のインタフェースを表現することができる。これはサブシステムの相互運用性に必要な定義を局所化し、それらのサブシステムが通信する際に起きる矛盾を防止するなど、モジュール性の向上に貢献する。
議論 > 型のトレードオフについて

静的型付けか動的型付けかの選択はいくつかのトレードオフを必要とする。
静的型付けは型エラーをコンパイル時にある程度確実に発見する。よって最終的なプログラムの信頼性を上げるはずである。しかしながら、型エラーがどれほど犯しやすい間違いなのか、その内の何割が静的型付けで検出できるのか、という点についてプログラマの意見は割れている。静的型付けの支持者は型検査されたプログラムの方が信頼性が高いと信じており、それに対して動的型付けの支持者は実際に流通しているソフトウェアの信頼性では大差ない点を指摘している。
静的型付けは大抵、より高速に実行可能なコンパイル済みコードを生成する。コンパイラが正確なデータ型を知っていれば、最適化されたコードを生成できる。さらに、静的型付き言語のコンパイラではショートカットをみつけるのもより簡単になる。この理由からCommon Lispなどのいくつかの動的型付き言語では随意で型宣言ができるようになっている。最適化のための型付けは静的型付けの影響で普及した。
対照的に、動的型付けのほうがコンパイラやインタプリタの動作が高速になることがある。動的型付けの言語ではソースコードが変更されてもやり直すべき解析が少ないためである。これは「編集-コンパイル-テスト-デバッグ」というサイクルの時間を減らす。
型推論のない静的型付き言語ではプログラマがメソッドや関数の型を宣言しなければならない。これはプログラムの追加的なドキュメントとして機能することがあり、コンパイラによってコードと同期させることが強制される。しかし型宣言のない静的型付き言語もあるので、これは静的型付けのというよりは型宣言の報酬である。言語が型推論の機能を持っていたとしても、型推論による暗黙的型付けを多用しすぎると可読性やメンテナンス性がかえって低下することがある。型推論を使用することが適切ではないケースについて一定のガイドラインが示されていることもある。
動的型付けはいくつかの静的型付けでは不正となり実現できない仕組みを可能にする。例えばデータをコードとして実行するeval関数である。さらに動的型付けでは、具体的なデータ構造の代わりに文字列を暫定的に用いることなどがやりやすく、プロトタイピングとの相性も良い。
動的型付き言語のメタプログラミング機能はより強力で使いやすいことが多い。例を挙げると、C++のテンプレートはRubyやPythonでの等価なコードより、書くのが煩わしい。またイントロスペクションのような、より高度な実行時の仕組みを静的型付き言語で使うのは、さらに困難になることが多い。
議論 > 型のバリエーション

典型的には、プログラム中ではすべての値には1つの特定の型が付けられる（1つの型が複数の派生型を持つ場合でも）。オブジェクトやモジュール、通信路、依存関係、及び型自身にさえ型が付けられることもある。
また、型システムの理念であるコンパイル時に重点を置いたフォールトアヴォイダンスを更に推し進めている拡張的な形式体系にエフェクトシステム（英語版）というものがある。こちらではプログラム副作用をも体系化して一種の型として扱っている。
議論 > 型とポリモーフィズム

→詳細は「ポリモーフィズム」を参照
ポリモーフィズム（多相）という語は、コード（具体的には関数やクラス）が複数の型の値に基づいて動作できること、または同じデータ構造の異なるインスタンスが異なった型の要素を持てることを指す。型システムによってはコードの再利用性を改善するためにポリモーフィズムを持つものもある。ポリモーフィズムのある言語ではプログラマはリストや連想配列のようなデータ構造を使用される要素の型ごとにではなく、単に一度だけ実装すればよい。この理由から計算機科学ではこの種のポリモーフィズムの利用はジェネリックプログラミングと呼ばれることがある。ポリモーフィズムの型理論における基礎は抽象化やモジュール、また（場合によっては）派生型についての研究と密接な関連がある。
参考資料

Benjamin C. Pierce (2005). Advanced Topics in Types and Programming Languages. MIT Press. ISBN 0-262-16228-8. http://www.cis.upenn.edu/~bcpierce/attapl/main.html
Type System Terminology
Meijer, Erik. “Static Typing Where Possible, Dynamic Typing When Needed: The End of the Cold War Between Programming Languages” (PDF).  Microsoft Corporation. 2007年2月16日時点のオリジナルよりアーカイブ。2007年3月8日閲覧。
Pierce, Benjamin C. 著、遠藤侑介・ほか共 訳『型システム入門 : プログラミング言語と型の理論』オーム社、2013年3月。ISBN 9784274069116。
型の例
UFC Fight Night: Condit vs. Kampmann

| UFC Fight Night: Condit vs>  Kampmann.イベント詳細 |
| --- | --- | --- |
シリーズ: UFC（UFC Fight Night）
主催: ズッファ
開催年月日: 2009年4月1日
開催地:  アメリカ合衆国 テネシー州ナッシュビル
会場: ソメット・センター
開始時刻: 午後8時（ET / PT） 午後7時（CT）
試合数: 全11試合
放送局: Spike
入場者数: 10,267人
入場収益: 626,077USドル
イベント時系列
| UFC 96: Jackson vs. Jardine | UFC Fight Night: Condit vs. Kampmann | UFC 97: Redemption |
UFC Fight Night: Condit vs. Kampmann（ユーエフシー・ファイトナイト：コンディット・ヴァーサス・カンプマン、別名UFC Fight Night 18）は、アメリカ合衆国の総合格闘技団体「UFC」の大会の一つ。2009年4月1日、テネシー州ナッシュビルのソメット・センターで開催された。
UFC初のテネシー州大会であり、メインイベントではカーロス・コンディットとマルティン・カンプマンによるウェルター級マッチが行われた。
大会概要

WECの軽量級特化に伴うライトヘビー級・ミドル級・ウェルター級の選手のUFCへの移管を受けて、多くのWEC選手が参加する大会となった。
メインイベントのウェルター級マッチでは、カンプマンがコンディットを2-1の判定で下した。
プロデビュー以来7連勝中であったニック・カトーネは、ティム・クレデューにギロチンチョークで一本負けでキャリア初黒星を喫した。
WEC世界ウェルター級王者カーロス・コンディット、キャリア5戦全勝のアーロン・シンプソンがUFCデビュー。
宮窪漁港

| 宮窪漁港 |
| --- | --- |
 2016年11月撮影
所在地
国:   日本
所在地:  愛媛県今治市宮窪町宮窪
座標:  北緯34度10分32秒 東経133度4分37.5秒﻿ / ﻿北緯34.17556度 東経133.077083度﻿ / 34.17556; 133.077083座標: 北緯34度10分32秒 東経133度4分37.5秒﻿ / ﻿北緯34.17556度 東経133.077083度﻿ / 34.17556; 133.077083
詳細
管理者:  今治市
種類:  第2種漁港
 この表について この表はテンプレートを用いて表示しています。編集の仕方はTemplate:Infobox 港をごらんください。 
宮窪漁港（みやくぼぎょこう）は、愛媛県今治市宮窪町宮窪にある漁港。管理者は今治市。
瀬戸内しまなみ海道振興協議会の船便案内では「宮窪港」と表記されている。
航路

シーセブン
宮窪（大島） - 鵜島 - 尾浦（伯方島）
集集鎮

| --- | --- |
 別称: 集集社
 集集駅
地理
 
位置:  北緯23°49' 東経120°47'
面積::  49.7268 km²
各種表記
繁体字::  集集鎮
日本語読み::  しゅうしゅう
拼音::  Jíjí
注音符号::  ㄐㄧˊㄐㄧˊ
片仮名転写::  ジージー
台湾語::  Tsi̍p-tsi̍p
客家語::  Si̍p-si̍p
行政
行政区分::  鎮
上位行政区画::   南投県
下位行政区画::  11里127鄰
集集鎮長::  陳紀衡
公式サイト::  集集鎮公所
情報
総人口::  11,223 人（2016年1月）
世帯数::  4,346 戸（2016年1月）
郵便番号::  552
市外局番::  049
集集鎮の木::  -
集集鎮の花::  -
集集鎮の鳥::  -
テンプレートを表示
台湾水資源館（集集堰管理センター）
武昌宮
集集鎮（ジージー/しゅうしゅう-ちん）は台湾南投県の鎮。台湾でもっとも小さい行政区のひとつである。台中市に近く、自然が豊かで美しく、集集駅には日本時代の古い木造駅舎も残されていることなどから、人気の観光スポットのひとつになっている。旧正月のランタン祭りも有名。台湾最大湖の日月潭にも近い。
地理

町の南を濁水渓が横切っている。土地は海抜230mで、標高1392mの山をはじめ、周囲を山で囲まれている。台湾最高峰の玉山（日本統治時代は富士山より高いことから新高山と呼ばれた）の北方の長い尾根のふもとに位置し、登山口としても知られている。
歴史

台湾原住民はこの地を「チブチブ」と呼んでいた。
1771年から中国の漳州からの漢民族が多く住むようになった。
1895年に台湾の日本統治時代が始まると、樟脳の集積地として発展した。
1999年、当地を震源地とする921大地震が起こった。
教育 > 国民中学

南投県立集集国民中学
教育 > 国民小学

南投県立永昌国民小学
南投県立和平国民小学
南投県立富山国民小学
南投県立集集国民小学
南投県立隘寮国民小学
交通

| 種別 | 路線名称 | その他 |
| --- | --- | --- |
| 鉄道 | 集集線 | 集集駅 龍泉駅 |
| 省道 | 台16甲線 |  |
観光

集集駅
集集大山
緑色隧道
開闢鴻荒石碣（中国語版）
大樟樹
集集攔河堰（中国語版）
集集広盛宮（中国語版）
特有生物保育中心
添興窯陶芸中心
明新書院（中国語版）
集集武昌宮（中国語版）
神仙瀑布（中国語版）
集集軍史公園（中国語版）
KMT-2020-BLG-0414L

| KMT-2020-BLG-0414L |
| --- | --- |
星座: いて座
分類: 白色矮星
位置 元期:J2000
赤経 (RA, α):  18h 07m 39.60s
赤緯 (Dec, δ): −28° 29′ 06.8″

距離: 4340+520 −390 ly 1330+160 −120 pc
軌道要素と性質
惑星の数: 1
物理的性質
質量: 0.49+0.06 −0.03 M☉
■Template （■ノート ■解説） ■Project 
KMT-2020-BLG-0414Lとは、いて座の方向に存在する約4,000光年離れた白色矮星で、地球質量の太陽系外惑星と褐色矮星が周囲を公転していることが知られている。
発見

この系は、背景の恒星の前を通過した重力マイクロレンズ現象KMT-2020-BLG-0414によって発見された。発見観測は、COVID-19の世界的流行のために多くの観測所（KMTNetの施設の3か所のうち2か所を含む）が閉鎖されていた2020年に、韓国マイクロレンジング望遠鏡ネットワーク（KMTNet）によって行われた。発見は2021年に発表された。
重力マイクロレンズ法で検出されたため、当初この天体についてわかっていたものは位置と質量のみであった。2024年までに行われたフォローアップ観測により主系列星である可能性は排除されたため、質量を考えるとKMT-2020-BLG-0414Lは白色矮星であるに違いないとされた。
惑星系

太陽系外惑星であるKMT-2020-BLG-0414Lbは質量が地球に近く、重力マイクロレンズ法で検出された太陽系外惑星の中で最も質量の小さいものの1つである。KMT-2020-BLG-0414Lbの軌道長半径は2.07天文単位であり、つまり太陽から地球までの距離の2倍主星から離れていることになる。2番目の伴星であるKMT-2020-BLG-0414Lcは、質量が木星の約30倍の褐色矮星である。主星から約22天文単位（太陽系では天王星軌道と海王星軌道の間）離れていると考えられている。
KMT-2020-BLG-0414Lbは、白色矮星の周囲を公転している最初の地球型惑星として確認されている。以前までは、巨大ガス惑星と小惑星のみが知られていた。そのため、KMT-2020-BLG-0414Lbは遠い将来太陽が白色矮星になったときの地球と似たものとなっている可能性がある。
| 名称 （恒星に近い順） | 質量 | 軌道長半径 （天文単位） | 公転周期 (日) | 軌道離心率 | 軌道傾斜角 | 半径 |
| --- | --- | --- | --- | --- | --- | --- |
| b | 1.87+0.27 −0.16 M⊕ | 2.07+0.22 −0.11 | — | — | — | — |
| c（褐色矮星） | 27.0+4.0 −3.1 MJ | 22.3+2.4 −1.5 | — | — | — | — |
蒲生八幡神社 (北九州市)

| 蒲生八幡神社 |
| --- | --- |
  拝殿
所在地:  福岡県北九州市小倉南区蒲生5-6
位置:  北緯33度50分13.85秒 東経130度51分30.5秒﻿ / ﻿北緯33.8371806度 東経130.858472度﻿ / 33.8371806; 130.858472座標: 北緯33度50分13.85秒 東経130度51分30.5秒﻿ / ﻿北緯33.8371806度 東経130.858472度﻿ / 33.8371806; 130.858472
主祭神:  応神天皇、神功皇后、宗像三女神、大山祇命、細川幽斎、細川忠興　
社格等:  県社
地図:  蒲生八幡神社蒲生八幡神社 (北九州市)北九州市の地図を表示蒲生八幡神社蒲生八幡神社 (福岡県)福岡県の地図を表示蒲生八幡神社蒲生八幡神社 (日本)日本の地図を表示
テンプレートを表示
第三の鳥居と楼門
蒲生八幡神社（かもうはちまんじんじゃ）は、福岡県北九州市小倉南区蒲生（がもう）に鎮座する神社。旧社格は県社。
御祭神

応神天皇
神功皇后
宗像三女神
大山祇命
細川幽斎
細川忠興
歴史

往昔、蒲生村虹山（巣山）の峯に多紀理比売命・多岐都比売命・市寸島比売命の三神が天降り、「我、永く此地を守らん」と告げる。そこで、里人は紫の池の辺に多紀理比売命を祀り、虹山の山頂に多岐都比売命を祀り（蒲生宮）、紫の池の北に市寸島比売命を祀った。後に、蒲生宮に応神天皇・神功皇后を祀り、蒲生八幡宮とした。
元暦元年甲辰年に壇ノ浦の戦いで平氏が敗戦。安徳帝は入水し、三種の神器も海中に沈む。源頼朝はこのことに嘆き、規矩郡（企救郡）高浜浦の漁人の長、岩松与三に神器を探し出すよう命じた。岩松は蒲生八幡宮に神器発見・安全を祈願したのち海に入り、鏡と勾玉を網に得ることができ、源頼朝に献上。岩松はこの功績により、規矩一郡を与えられるが、蒲生の神々の御神徳によるものとし、一郡すべてを神社に寄進した。
元弘・正慶・建武年間、虹山城主・規矩氏に崇敬を受け、多くの神領を与えられる。応永年間には、規矩親忠が神殿を建立。大永2年4月に小倉城主・小野田種尚より、規矩郡大野庄平田二反を与えられる。
天正のはじめに、大友宗麟の兵火に罹り、神社焼失。このことを憂いた、岩松弥兵衛（三郎兵衛）は高浜（現在の井筒屋付近）に神社を造立し、社号を規矩（企救）八幡宮（高浜八幡宮）とした。小倉城主・高橋鑑種が社殿造営し、鳥居を建立する。天正年間、小倉城主・毛利成儀（勝信）からも篤い崇敬を受ける。慶長7年、小倉城築城に伴い、細川忠興は神社が鎮座する高浜を東曲輪とするために規矩八幡宮をもとの蒲生の地（中島山）に遷し、社号を再び蒲生八幡宮とした。寛永9年に入国した小笠原藩からも篤い崇敬を受け、社殿造営等がなされた。
2011年（平成23年）12月27日、北九州市教育委員会は社殿を北九州市の有形文化財に指定した。
特徴

小倉で最古の歴史を有する神社。
中世、小倉一円の産土神となる。（小倉郷土会）
氏子の多さが県下屈指である。その範囲は近郷のほか、小倉中心街にまでわたる。
厄祓い・厄除の神社として信仰を集める。
御社殿建築　御幣殿は北九州市で最古であり、御本殿は旧豊前国で最古である。
氏子地域 > 小倉北区

室町1－3丁目
魚町
京町
堺町
鍛冶町
米町
船頭町
紺屋町
船場町
浅野
長浜
末広
藍島
蒲生八幡宮は、1570年代に兵火に罹り社殿が焼失する。その後、蒲生から鎮座の地を遷し、高浜（現在の井筒屋付近）に再造立され、小倉城主・城下周辺の氏神となる。以後、現在も小倉中心街、長浜、末広、藍島の氏神神社は蒲生八幡宮となる。
境内には1923年（大正12年）に京町・宮地嶽神社（現在コレット屋上に鎮座。瘡守稲荷）の氏子から奉納された昇格記念碑や、江戸・明治・大正・昭和時代に八百屋町（室町）・寶町　（京町船場町）・京町・魚町・鍛冶町・長浜・船場町・舟町（浅野）など、小倉北区氏子から奉納された燈籠・狛犬等が数多く残る。
蒲生八幡宮が管掌する神社のなかに、瑜伽神社（小倉北区船場町鎮座 小倉発祥の地）、貴布祢神社（小倉北区長浜鎮座 細川忠興から小笠原家に譲られ、400年以上の歴史をもつ神輿が残る）、祇園社（小倉南区長尾鎮座 小倉地区祇園祭発祥の社であり、小倉城下八坂神社の本宮）など小倉の歴史において重要な神社が残る。
氏子地域 > 小倉南区

蒲生
南方
高野
徳力
守恒
石田
企救丘
山手
星和台
日の出町
南丘（旧・蒲生村内、現・小倉北区）
長尾1・2丁目（旧・祇園町）
葉山町
北方
交通

西鉄バス北九州南方バス停下車、徒歩約6分
百貫港

| 百貫港 |
| --- | --- |
  画像をアップロード
所在地
国:   日本
所在地:  西区
詳細
開港:  1953年9月30日（港湾区域認可）
管理者:  熊本県
種類:  地方港湾
面積:  約600ha
統計
統計年度:  2015年度
発着数:  15隻（3,870総トン）
公式サイト:  熊本県港湾協会
 この表について この表はテンプレートを用いて表示しています。編集の仕方はTemplate:Infobox 港をごらんください。 
百貫港（ひゃっかんこう）は、熊本県熊本市西区にある地方港湾。熊本県が管理している。
概要

熊本市の市街地から西方約10km離れた坪井川の河口に設けられた河口港で、加藤清正により16世紀末ごろに築港され、三角西港が明治初頭に開港されるまで、熊本の外港として栄えた。
1912年は熊本軌道が田崎 - 百貫石間を軌間762mmで開業（非電化）、1916年に高麗門まで延伸され、当港と熊本市中心部が鉄道で結ばれた。1920年に電化工事のため休止となるが、合併により熊本電気軌道へ経営権が移行した後、1923年10月1日、田崎 - 百貫石間が軌間1067mmで電化開業した。電化後は5時台から23時台まで12分毎の高頻度で運転されていた。
1945年3月1日、太平洋戦争の影響により休止となり、終戦後の1945年11月30日には熊本市に買収され、熊本市電百貫線となるが、運行を再開することなく、1965年2月11日に廃止された。
1967年には九州商船により当港と島原港および本渡港を結ぶ日本初のホバークラフト定期航路が運行された。
現在は、熊本都市圏で使用される砂・砂利を主に扱う工業港となっており、定期旅客航路の発着はない。
2015年度の発着数は15隻（3,870総トン）。
港湾施設

-1.0m物揚場（L=119m）
-0.5m物揚場（L=626m）
野積場・荷捌地（14,970m2）
日本直販

| --- | --- |
: 「総通」はこの項目へ転送されています。総通と略される無線従事者免許については「総合無線通信士」を、読みが同じ広告代理店の創通については「創通」をご覧ください。
| --- | --- |
種類:  株式会社
本社所在地:   日本 〒105-0003 東京都港区西新橋二丁目11番6号  北緯35度39分59.1秒 東経139度45分7.3秒﻿ / ﻿北緯35.666417度 東経139.752028度﻿ / 35.666417; 139.752028座標: 北緯35度39分59.1秒 東経139度45分7.3秒﻿ / ﻿北緯35.666417度 東経139.752028度﻿ / 35.666417; 139.752028
設立:  2022年7月1日
業種:  小売業
法人番号:  1120001247115 
事業内容:  総合通信販売事業
代表者:  代表取締役社長 村田峰人
資本金:  1億円
従業員数:  35人（2023年10月31日現在）
主要株主:  ギグワークス 100%
外部リンク:  https://corporate.666-666.jp/
テンプレートを表示
日本直販株式会社（にほんちょくはん）は、東京都港区に本社を置く通信販売を手がける企業。ギグワークスの子会社。
なお、本項目では、1977年に「日本直販」ブランドで通信販売事業を開始した株式会社総通（そうつう、英: Sotsu Corp.、大阪府大阪市中央区）、ならびに2013年1月25日付で同社の事業を継承し、2015年6月30日までこれを運営していた日本直販株式会社（にほんちょくはん、旧社名「トランスコスモスダイレクト」）、同社を合併したトランスコスモスの日本直販事業についても述べる。
概要

「日本直販」を称する通信販売は、1977年に株式会社総通が開始、平日午後のテレビの情報番組を中心にテレビショッピングのCMを放送。ラジオの生放送番組、新聞・雑誌の広告、公式サイト上でも通信販売事業を展開し、日本文化センターと共に日本国内に「通信販売」の形態を広めることに寄与した。
その後、総通は2012年11月16日から、民事再生法の適用によって経営の再建を図り、2013年1月25日付けでトランスコスモスが設立した通信販売会社「トランスコスモスダイレクト」に事業譲渡し、同社が「日本直販株式会社」に改称して事業を継続。総通は2017年7月13日に法人格が消滅した。
トランスコスモスは2015年に日本直販を合併し、以降はトランスコスモスの一部門となっていたが、2022年にギグワークスが同部門を譲受して、新たに「日本直販株式会社」を設立して事業を行っている。
沿革 > 総通時代

| --- | --- |
種類:  株式会社
本社所在地:   日本 〒541-0041 大阪府大阪市中央区北浜3丁目6番13号
設立:  1972年10月16日
業種:  小売業
法人番号:  4120001082930
事業内容:  テレビ等のメディアによる通信販売業
代表者:  代表取締役 喜多俊憲
資本金:  1000万円
従業員数:  300人
特記事項：日本クレジット産業協会・日本通信販売協会・日本通信教育振興協会会員 2017年7月13日に法人格消滅。 東京支社は東京都豊島区駒込一丁目3番1号に所在した。2012年閉鎖。
テンプレートを表示
株式会社総通は1961年5月にペン習字の通信教育を展開する目的で創業した。
1972年までの社名は「東洋ペン字学会」で、創業後にはペン習字以外の通信教育の講座も開講していた。同年、社名を「総合通信教育センター」に変更するとともに、ヒット曲のレコードやカセットテープを扱う通信販売事業会社として「フェーマスレコードクラブ」を創設した（後の「日本直販レコードクラブ」）。
1975年には雑誌広告による通信販売事業会社の「日本メールサービス」を設立。1977年には「日本直販」を創設すると共に、同社の名義でラジオ・テレビでの通信販売事業に進出した。通信販売事業進出当時の日本直販のライバルは日本文化センター（1975年設立）と二光（1976年通信販売業務の全国展開を開始）であり、この2社と日本直販との大手通信販売事業者の老舗3大会社が1970年代後半からバブル景気の崩壊する1990年代前半までしのぎを削っていた。
1985年に社名を「日本直販」から「総通」に改称する。「総通」は、前社名の「総合通信教育センター」（そうごうつうしんきょういくセンター）の略称でもあったため、「通」には通信教育の意味も込めている。
1992年には大阪市中央区に本社ビルを建設した。
新聞では、毎日新聞に毎日広告を掲載していた他、他の全国紙でも、月に数日のペースで広告を掲載していた。また、近年は雑誌広告による通信販売事業の名義を「日本直販」へ統一する傍ら、公式サイト上でも通信販売事業を展開していた。ただし、2012年12月までJFN系列で放送されていた『FM Radio Shopping』（FMラジオ局の広告枠を買い取る形式で放送している「日本直販」のラジオショッピング番組）では放送上「総通」の名義を使用していた。
テレビショッピングのCMでは、長年にわたって男女1名ずつのコンビで商品を紹介。「日本直販テレビ・ショップ」をCMの最初に、CMの最後に「（お電話）お待ちしています」と歌った女声のコーラスを最後に挿入していた。1970年代後半から1990年代中半は左登村信介、久保田ひろみ、川野太郎、1990年代後半以降は、コーラスを流さない一方で、やのぱん・高橋知裕（本社のある関西地方を中心に活動する松竹芸能所属のタレント）が実演を交えながら商品を紹介するバージョンを多く放送していた。また、電話番号は1990年代のフリーダイヤル化までは日本文化センターのように放送地域ごとに異なっており、本社のある大阪以外にも、東京、名古屋、福岡、札幌、仙台などのバージョンが存在した。
1980年代以降は、「日本直販」名義での通信販売から「高枝切りばさみ」「スーパーはぼき」などのヒット商品を輩出。1995年9月期には年間売上高として約525億円を計上していた。
しかし、バブル崩壊以降はそれによる消費の低迷や、Amazon.co.jpなどの日本国外資本の参入やインターネット専門の通信販売業者の出現、新興勢力のジャパネットたかたの台頭など、日本国内の通信販売事業をめぐる競争が激化。その影響などから、2011年9月期の売上高は最盛期の半分程度（約256億円）にまで落ち込んだ。また、これらの影響は他の通信販売事業者にも及び、ライバルである日本文化センターも大きく売上を落とした他、もう1つのライバルであった二光は2008年に通信販売事業から撤退し、人材派遣事業に専念することになった。
そして、2012年11月9日に大阪地方裁判所へ民事再生法の適用を申請。これを受けて、同裁判所では同月16日に民事再生手続きの開始を決定した。負債総額は約175億円。また、申請を機に、業務請負業のトランスコスモスとの間で再建支援に関する基本合意書を締結した。
総通を巡っては、民事再生法の適用開始後に、少なくとも10年前から粉飾決算を続けられてきた疑いが一部報道などで指摘されたが、「日本直販」名義の通信販売事業では、民事再生法の適用申請後も、商品の受注・発送業務を継続していた。
総通では、2013年3月中旬を目途に、再生計画案を同裁判所へ提出する方針を打ち出した。大阪市中央区内久宝寺町二丁目2番1号にあった自社ビルは、2014年3月20日に積水ハウスへ売却された。旧本社の建物は解体され、跡地には38階建てのタワーマンションが建設される。
総通自体も、事業譲渡後は本社を大阪市中央区内久宝寺町から大阪市中央区北浜3丁目へ移転し、2017年7月13日に法人格が消滅した。
沿革 > トランスコスモス傘下

| --- | --- |
種類:  株式会社
本社所在地:   日本 〒540-0012 大阪府大阪市中央区谷町2丁目9番3号 ガレリア大手前ビル11F
設立:  2012年12月5日（トランスコスモスダイレクト株式会社）
業種:  小売業
事業内容:  テレビ等のメディアによる通信販売業
代表者:  代表取締役 森山雅勝
主要株主:  トランスコスモス 100%
特記事項：2013年1月25日に日本直販株式会社へ商号変更。2015年7月1日トランスコスモス株式会社に吸収合併され解散。
テンプレートを表示
2012年12月5日に、トランスコスモスが全額出資の子会社「トランスコスモスダイレクト株式会社」を設立。同月19日には、総通が「日本直販」名義の通信販売事業並びにそれに関連する商標権・資産などをトランスコスモスダイレクトへ譲渡する旨の契約を締結した。2013年1月25日に大阪地方裁判所の許可を得られたことから、トランスコスモスダイレクトが日本直販事業を正式に譲受するとともに、同日付で商号を日本直販株式会社に変更。親会社・トランスコスモスの森山雅勝上席常務取締役が、社長を兼務することになった。2014年1月には、総通時代と同じ大阪市中央区内ながら、本社を移転した。
以降、日本直販株式会社が「日本直販」ブランドによる商品の受注・発送業務を担当。総通時代からテレビ・ラジオで放送してきたショッピング番組のうち、「日本直販」ブランドの番組については、放送を続けている。
2015年7月1日をもってトランスコスモスに吸収合併され、同社の「日本直販事業」部門となった。トランスコスモスは登記上の本店は東京都にあるが、上記経緯の名残により「日本直販事業」部門の本部は従来と同じ大阪市の大阪駅前第2ビル内に置かれている。
沿革 > ギグワークス傘下

2022年、トランスコスモスの本業への経営資源集中に伴い、事業をギグワークスグループに譲渡、同7月1日付をもって改めて「日本直販」を分社化し、それをギグワークスの子会社・悠遊生活に事業譲渡を行う。
日本直販名義の事業

日本直販（生活用品全般）
日本直販レコードクラブ（音楽・映像ソフト）
日本直販アートクラブ（美術・工芸品）
日本直販フーズ（食品）
総合通信教育センター（通信教育）
提供番組

2025年2月現在
提供番組 > ラジオ

全て一社提供
日本直販 presents WHITE SCORPIONのトリセツ(Tokyo FM、2024年4月6日 - ）
昭和探求バラエティ 日本直販プレゼンツ ラフ×ラフ族（ラジオ大阪、2024年4月3日 - ）
和田秀樹・尾崎明日香 ラジオの壁（西日本放送ラジオ、2024年4月2日 - ）
以上の番組は、番組内でのCM枠の通販キャスターを、フリーアナウンサーの市野瀬瞳が実際に出演して担当している。
総通時代の提供番組（2012年11月時点）