この本は Introduction to Programming in ATS の日本語訳です。 日本語訳の維持管理は JATS-UG - Japan ATS User Group が行なっています。 翻訳に参加するには ATS2公式マニュアルの日本語訳 を参照してください。 プログラミング言語としての ATS は豊かな構文と機能を両立しています。 この本では ATS の中心となる機能を読者に解説します。 それらは基本的な関数型プログラミング、単純な型、(再帰的に定義された) データ型、多相型、依存型、線形型、定理証明、定理証明によるプログラミング (PwTP)、そしてテンプレートを使ったプログラミングなどです。 一般的なプログラミングに馴染みのある読者を仮定してませんが、この本は相当のプログラミング経験のない読者には少し難しいかもしれません。 All rights are reserve
JavaScript チュートリアル 初級編 JavaScript の基礎 JavaScript の第一歩 JavaScript の構成要素 JavaScript オブジェクト入門 JavaScript ガイド 入門編 文法とデータ型 制御フローとエラー処理 ループとイテレーター 関数 式と演算子 数と日付 テキスト処理 正規表現 インデックス付きコレクション キー付きコレクション オブジェクトを利用する Using classes プロミスの使用 JavaScript 型付き配列 イテレーターとジェネレーター メタプログラミング JavaScript モジュール 中級編 クライアントサイド JavaScript フレームワーク クライアントサイド Web API Language overview JavaScript のデータ構造 等値比較と同一性 プロパティの列挙可能性と所有権 クロ
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist
ATSは何に向いているのか ATSは現実的なプログラミングの正確さを強化できます。 ATSは改良に基づくソフトウェア開発を促進します。 ATSでは効率的な関数型プログラミングをすることができます。 にもかかわらず生のアンボックス化されたデータ表現を直接操作できます。 ATSの線形型を使うことでプログラムのメモリのフットプリントを削減できます。 ATSでは証明器を使うことでプログラマがプログラムの安全性と効率を向上させることができます。 ATSを使えばOSのkernelのような低レイヤーのコードを安全に書くことができます。 ATSは型理論を教えたり、高品質なソフトウェアを構築する際の型の力と可能性を教えるのを助けます。 ATSの学習に際しての提案 ATSは (C++のように) 機能豊富です。 MLをベースにした関数型プログラミングとC言語をベースにした命令型プログラミングの知識はATSの学習
'* Core 標準モジュール *' Option Explicit Private xList As List Private xProgram As Program Property Get List() As List Set List = xList End Property Property Get Program() As Program Set Program = xProgram End Property Function Box(ByVal v As Variant) As Box Set Box = New Box Box.Value = v End Function Sub Init() Set xList = New List Set xProgram = New Program End Sub '* List クラス モジュール *' Option Explici
@dico_lequeさんが書く(予定の)モナドのの薄い本のイメージキャラクターです。 ただし、それ以外の用途にも自由に利用できます。 名前の読み方は『たかしな ことり』です。
数学や形式言語に関連する分野(数理論理学と計算機科学)において、自由変数(または自由変項、英: free variable)は数式や論理式で置換が行われる場所を指示する記法である。この考え方はプレースホルダーやワイルドカードにも関連する。 変数x は、例えば次のように書くと 束縛変数(または束縛変項、英: bound variable)になる。 全ての について が成り立つ。 あるいは となるような が存在する。 これらの命題では、x の代わりに別の文字を使っても論理的には全く変化しない。しかし、複雑な命題で同じ文字を別の意味で再利用すると混乱が生じる。すなわち、自由変数が束縛されると、ある意味ではその後の数式の構成をサポートする作業に関与しなくなる。 プログラミングにおいては、自由変数とは関数の中で参照される局所変数や引数以外の変数を意味する。 例[編集] 自由変数と束縛変数を正確に定義
Scalaの素晴らしい機能のひとつである「プレースホルダー構文による部分適用」についてSmalltalkerにも分かりやすく説明します この記事は Scala Advent Calendar 2011 の11日目の記事です。 この記事は、Scala入門と言っておきながら、 Scalaの細かい文法の説明はしません。 雰囲気だけ分かってもらえればと思います。 プレースホルダー構文 Scalaは関数型言語とJava的なオブジェクト指向を融合した新しいタイプの言語です。 Scalaは多くの関数型言語と同じようにカリー化された関数を定義することもできますが、 Javaと同じようなカリー化されていない形式もサポートしています。 カリー化された関数は1引数ずつ渡して、部分適用をすることができます。 // カリー化されている形式 def funcCurried(x: String)(y: Int) = x
関数オブジェクト(かんすうオブジェクト、英: function object)は、プログラミング言語において、関数(サブルーチンないしプロシージャ)を、オブジェクトとしたものである。手続きオブジェクトとも言う(プロシージャ=手続き)[要出典]。なお、ここでのオブジェクトの語は、いわゆるオブジェクト指向のそれに限らず、「第一級オブジェクト」という語におけるのと同じ、メモリ上に領域を確保されたもの、といった意味である。関数が第一級オブジェクトである場合は特に第一級関数と言う。 関数と変数の名前空間が共通である言語の場合[要追加記述]、構文の設計によっては、y = f(x) といったような、通常のサブルーチン呼び出しと全く同じ構文で、関数オブジェクトが保持しているサブルーチンを呼び出せる言語もある。一方、通常のサブルーチンのように呼び出すことはできず、applyといった特別な名前のメソッドを経由
出典は列挙するだけでなく、脚注などを用いてどの記述の情報源であるかを明記してください。記事の信頼性向上にご協力をお願いいたします。(2014年9月) 評価戦略(ひょうかせんりゃく、英: evaluation strategy)とは、プログラミング言語や、ラムダ計算のような式から成る計算模型において、如何なる手順で、評価すなわち式から値を得るか、という(通常決定的な)規則群である。 概要[編集] プログラミング言語では、その意味のうち、サブルーチン呼び出しや演算子式の評価において引数をいつどういう順序で評価し、仮引数は実引数にどう置換されるのか、サブルーチン呼び出しや演算子式の値への置換はどうなのかといったことが、言語仕様によって、あるいは実装によって定義される(あるいは未定義とされる)。 ラムダ計算(など)における評価すなわち簡約(reduction)においては「(1)入れ子状になった式の
これはMoritz Lenz氏のWebサイトPerlgeek.deで公開されているブログ記事"Perl 5 to 6" Lesson 28 - Curryingの日本語訳です。 原文はCreative Commons Attribution 3.0 Germanyに基づいて公開されています。 本エントリにはCreative Commons Attribution 3.0 Unportedを適用します。 Original text: Copyright© 2008-2010 Moritz Lenz Japanese translation: Copyright© 2011 SATOH Koichi NAME "Perl 5 to 6" Lesson 28 - カリー化 SYNOPSIS use v6; my &f := &substr.assuming('Hello, World'); sa
カリー化 (currying, カリー化された=curried) とは、複数の引数をとる関数を、引数が「もとの関数の最初の引数」で戻り値が「もとの関数の残りの引数を取り結果を返す関数」であるような関数にすること(あるいはその関数のこと)である。クリストファー・ストレイチーにより論理学者ハスケル・カリーにちなんで名付けられたが、実際に考案したのはMoses Schönfinkelとゴットロープ・フレーゲである。 ごく簡単な例として、f(a, b) = c という関数 f があるときに、F(a) = g(ここで、g は g(b) = c となる関数である)という関数 F が、f のカリー化である。 関数 f が の形のとき、 をカリー化したものを とすると、 の形を取る。uncurryingは、これの逆の変換である。 理論計算機科学の分野では、カリー化を利用すると、複数の引数をとる関数を、一つ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く