Programming-in-OCaml_1-4
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[プログラミング in OCaml]] > 第1章 はじめに
*1.4 OCamlの特徴 * [#a717ddf0]
-OCamlは関数型言語
-OCamlは強く型付けされた言語
~
***プログラミング言語の分類 [#t846d774]
([[プログラミング]]より引用)
#html{{
<style type="text/css">
table, td, th {
border: 1px #ccc solid;
}
td, th {
padding: 5px;
}
</style>
}}
| パラダイム | 分類 | 基礎となる計算モデル | 事例 |h
| 命令型 | 手続き型言語 | チューリングマシン | [[C]], [[J...
| 宣言型 | 問合せ型言語 | 関係モデル | [[SQL]] |
|~| 関数型言語 | ラムダ計算 | [[Lisp]], [[Haskell]] |
|~| 論理型言語 | 一階述語言語 | [[Prolog]] |
CENTER:(参考:日経ソフトウエア 2008年3月号 55ページ)
~
**OCamlは関数型言語 [#lf0fe86d]
関数(function)とは、高校の数学などで習った'''f'''(x)=2x...
関数型言語の特徴的な考え方は、「プログラムは関数を組み合...
プログラムの実行は式の値を求めることです。
実際のプログラミングの作業は、例えば上の'''f'''のような関...
~
***関数型言語、関数型プログラミングのメリット [#wa54022d]
-プログラムを書くために覚えることが少なくて楽
-プログラムから、その挙動を読み取ったり確かめたりするのが楽
~
特に二点目は非常に重要です。
ただし、関数型プログラミングで楽をするためには、ひとつだ...
それが「再帰」(recursion)という考え方です。
**OCamlは強く型付けされた言語 [#x302b339]
プログラミング言語は、データの型(Type)の扱い方の違いに...
-静的型付き言語(statically typed language)
-動的型付き言語(dynamically typed language)
の2つに分類できます。
~
プログラミング言語の用語としての「型」の意味は、「プログ...
(例)
-整数型:整数の1など
-文字列型:文字列"abc"など
~
かけ算や結合といった各種演算に対しては、
「かけ算は整数型のデータふたつに対して行われる」
「結合は文字列のふたつのデータに対して行われる」
といった、演算対象の型に関する約束事が決まっています。
~
***型エラー [#uc352929]
人間に作られたプログラムで、データの型に関する約束事が守...
~
-動的型付き言語では、型の約束事が守られているかを、プログ...
-静的型付き言語では、型の約束事が守られているかを、プログ...
~
***静的型検査 [#r6f5c1dd]
静的型付き言語におけるプログラム実行前のチェックのことを...
~
***強い型付けと弱い型付け [#zbdef26a]
静的型付き言語は、静的型検査の厳密さによって、
-強く型付けされる言語(strongly typed)
-弱く型付けされる言語(weakly typed)
に分けられます。
~
「強く型付けされる」というのは、静的型検査によってプログ...
(プログラム実行時に型エラーが起こらない)
「弱く型付けされる」というのは、静的型検査に通ったプログ...
~
C言語は弱く型付けされる言語ですが、JavaやOCamlは強く型付...
~
***多相的型システム [#k5db4501]
強く型付けされる言語は、実行できるプログラムの種類を制限...
この点、OCamlでは、「多相的型システム」(polymorphic type...
~
***型推論 [#kacae130]
強く型付けされる言語では、たいていプログラマーが「ここは○...
(例:Javaの型宣言)
int number; // int型の変数numberを宣言
String str; // String型の変数strを宣言
~
OCamlでは、プログラマーはこのような型宣言を省略することが...
その代わりにOCaml(の処理系)が「ここは○○型のはずですね」...
これが「型推論」(type inference)です。
~
OCamlでは、多相的型システムと型推論によって、できるだけ動...
終了行:
[[プログラミング in OCaml]] > 第1章 はじめに
*1.4 OCamlの特徴 * [#a717ddf0]
-OCamlは関数型言語
-OCamlは強く型付けされた言語
~
***プログラミング言語の分類 [#t846d774]
([[プログラミング]]より引用)
#html{{
<style type="text/css">
table, td, th {
border: 1px #ccc solid;
}
td, th {
padding: 5px;
}
</style>
}}
| パラダイム | 分類 | 基礎となる計算モデル | 事例 |h
| 命令型 | 手続き型言語 | チューリングマシン | [[C]], [[J...
| 宣言型 | 問合せ型言語 | 関係モデル | [[SQL]] |
|~| 関数型言語 | ラムダ計算 | [[Lisp]], [[Haskell]] |
|~| 論理型言語 | 一階述語言語 | [[Prolog]] |
CENTER:(参考:日経ソフトウエア 2008年3月号 55ページ)
~
**OCamlは関数型言語 [#lf0fe86d]
関数(function)とは、高校の数学などで習った'''f'''(x)=2x...
関数型言語の特徴的な考え方は、「プログラムは関数を組み合...
プログラムの実行は式の値を求めることです。
実際のプログラミングの作業は、例えば上の'''f'''のような関...
~
***関数型言語、関数型プログラミングのメリット [#wa54022d]
-プログラムを書くために覚えることが少なくて楽
-プログラムから、その挙動を読み取ったり確かめたりするのが楽
~
特に二点目は非常に重要です。
ただし、関数型プログラミングで楽をするためには、ひとつだ...
それが「再帰」(recursion)という考え方です。
**OCamlは強く型付けされた言語 [#x302b339]
プログラミング言語は、データの型(Type)の扱い方の違いに...
-静的型付き言語(statically typed language)
-動的型付き言語(dynamically typed language)
の2つに分類できます。
~
プログラミング言語の用語としての「型」の意味は、「プログ...
(例)
-整数型:整数の1など
-文字列型:文字列"abc"など
~
かけ算や結合といった各種演算に対しては、
「かけ算は整数型のデータふたつに対して行われる」
「結合は文字列のふたつのデータに対して行われる」
といった、演算対象の型に関する約束事が決まっています。
~
***型エラー [#uc352929]
人間に作られたプログラムで、データの型に関する約束事が守...
~
-動的型付き言語では、型の約束事が守られているかを、プログ...
-静的型付き言語では、型の約束事が守られているかを、プログ...
~
***静的型検査 [#r6f5c1dd]
静的型付き言語におけるプログラム実行前のチェックのことを...
~
***強い型付けと弱い型付け [#zbdef26a]
静的型付き言語は、静的型検査の厳密さによって、
-強く型付けされる言語(strongly typed)
-弱く型付けされる言語(weakly typed)
に分けられます。
~
「強く型付けされる」というのは、静的型検査によってプログ...
(プログラム実行時に型エラーが起こらない)
「弱く型付けされる」というのは、静的型検査に通ったプログ...
~
C言語は弱く型付けされる言語ですが、JavaやOCamlは強く型付...
~
***多相的型システム [#k5db4501]
強く型付けされる言語は、実行できるプログラムの種類を制限...
この点、OCamlでは、「多相的型システム」(polymorphic type...
~
***型推論 [#kacae130]
強く型付けされる言語では、たいていプログラマーが「ここは○...
(例:Javaの型宣言)
int number; // int型の変数numberを宣言
String str; // String型の変数strを宣言
~
OCamlでは、プログラマーはこのような型宣言を省略することが...
その代わりにOCaml(の処理系)が「ここは○○型のはずですね」...
これが「型推論」(type inference)です。
~
OCamlでは、多相的型システムと型推論によって、できるだけ動...
ページ名: