この本は Introduction to Programming in ATS の日本語訳です。 日本語訳の維持管理は JATS-UG - Japan ATS User Group が行なっています。 翻訳に参加するには ATS2公式マニュアルの日本語訳 を参照してください。 プログラミング言語としての ATS は豊かな構文と機能を両立しています。 この本では ATS の中心となる機能を読者に解説します。 それらは基本的な関数型プログラミング、単純な型、(再帰的に定義された) データ型、多相型、依存型、線形型、定理証明、定理証明によるプログラミング (PwTP)、そしてテンプレートを使ったプログラミングなどです。 一般的なプログラミングに馴染みのある読者を仮定してませんが、この本は相当のプログラミング経験のない読者には少し難しいかもしれません。 All rights are reserve
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015. * Some parts of this feature may have varying levels of support. Learn moreSee full compatibilityReport feedback 一般的に言うと、関数とは外部 (再帰の場合は内部) から 呼び出す ことのできる「サブプログラム」です。プログラムそのもののように、関数は関数本体 (function body) と呼ばれる連続した文で構成されます。値を関数に渡すことができ、関数は値を返すことができます。 JavaScript に
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0064 号 バックナンバー Rubyist Magazine 0064 号 Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist
2. 自己紹介 • 名前:安田裕介 • Trifortに今年4月入社の新卒1年生 • JavaScript, Scala, C++が好き • Webフロントエンジニアやってます • GitHubアカウント: TanUkkii007 この資料に出てくるサンプルコードはhttps://github.com/TanUkkii007/js_pitch_sample_codeにあります /46 2 3. Webアプリケーション開発の 現状 /46 より大規模に • クライアントマシンのパフォーマンスの向上 • WebブラウザのAPIの充実 • ランタイムの強化 • SPAやMVCの導入 • JavaScriptのサーバーサイドへの進出 3
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
この記事には複数の問題があります。改善やノートページでの議論にご協力ください。 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。(2024年4月) 脚注による出典や参考文献の参照が不十分です。脚注を追加してください。(2024年4月) 独自研究が含まれているおそれがあります。(2024年4月) 出典検索?: "関数オブジェクト" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL 関数オブジェクト(かんすうオブジェクト、英: function object)は、プログラミング言語において、関数(サブルーチンまたはプロシージャ)を、オブジェクトとしたものである。手続きオブジェクトとも言う(プロシージャ=手続き)[要出典]。なお、ここでのオブジェクトの語は、いわゆるオブジェクト指
出典は列挙するだけでなく、脚注などを用いてどの記述の情報源であるかを明記してください。 記事の信頼性向上にご協力をお願いいたします。(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ページを開く