Scala
|
用語 |
Scala |
|
別名 |
- |
識別情報
-
Term ID:
src/main/doxsite/glossary/object-functional-programming/scala.dox -
English label: Scala
-
Japanese label: Scala
-
Category: Object-Functional Programming
-
Status: normative
-
Definition authority: SimpleModeling BoK
定義
Scalaとは、オブジェクト指向と関数型の構成要素を一つの静的型システムで扱うプログラミング言語であり、SimpleModelingではCMLのモデル構造を実行可能なプログラムへ実現する主要な接続先です。
オブジェクト関数パラダイム
Scalaは、class、trait、enumなどによるオブジェクト側の構造と、関数、値、作用、合成による関数側の構造を、共通の型システムで接続できます。この性質をSimpleModelingのオブジェクト関数パラダイムの実現に利用します。
CML
CMLのモデル要素は、CozyによってScalaのclass、trait、case class、enum、関数型などへ対応付けられます。この対応は意味に基づく変換であり、常に一対一ではありません。
Scala
この観点では、Scala固有のclass、trait、case class、enum、opaque type、union type、intersection type、関数型などを、モデルの実現に利用する言語構成要素として扱います。これらのScala構成要素は、UMLやCMLのType、Classifier、Classと対応付けられますが、同一概念でも固定的な一対一対応でもありません。
simplemodeling-lib
simplemodeling-lib はScala 3で実装され、Schema Data Type、Runtime Data Type、Value Domain、多重度、制約などの実行時契約を提供します。ライブラリの現在の構成をScalaという言語の定義と同一視しません。