サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
コーヒー沼
www.fos.kuis.kyoto-u.ac.jp
な? プログラミング言語もね 来年までにライブラリまで揃えて処理系完成させてねってなったら荷が重いよあれ
www.fos.kuis.kyoto-u.ac.jp/~igarashi
[ 講義ホームページ・トップ ] 「プログラミング言語」で用いる開発環境の整備方法 「プログラミング言語」では、主に以下の3つの言語について学習します。 Java OCaml C このページでは、OCamlおよびCの開発環境の整備方法について説明します。 最新のOCamlの環境を整えるために、ここではOPAMというOCamlのパッケージマネージャを利用します。 Cの開発環境として、ここではGCC(macOSではClang)を用います。 Javaの開発環境の整備方法については、情報学科計算機科学コースの過去の実験の資料を参照してください。 計算機科学コース計算機室のパソコンの開発環境の整備方法はUbuntuを参照してください。 わからないことがあれば、 に質問してください。 開発環境のセットアップ Windows WSL(Windows Subsystem for Linux)をインストール
プログラミング in OCaml 〜関数型プログラミングの基礎からGUI構築まで〜 (GIHYO Digital Publishing, amazon, 楽天Kobo, yahoo, cbook24.com) PDF/EPUB 版を販売しているGIHYO Digital Publishing のページ おしらせ EPUB版が GIHYO Digital Publishing, Amazon, 楽天Koboで販売開始です.GIHYO Digital Publishing だと pdf とのセット販売(価格は同じ)です. (2014.12.10) 長い間,出版社在庫切れとなっていましたが,この度,細かい修正を施した pdf 版の販売を GIHYO Digital Publishing にて開始しました.価格は 1,400 円と冊子体の半額です! (2012.08.29) 第16章のプログラム
[ 前の資料 | 講義ホームページ・トップ | 次の資料 ] 2018年度未改訂 Lisp Lisp は John McCarthy1 によって提案されたFORTRAN についで古い高水準プログラミング言語である.数々の方言とその実装があるが,特に有名なものは Common Lisp と Scheme である."Lisp" は,ひとつのプログラミング言語というよりも,以下のような共通の特徴を持った言語族を表す名前といったほうがよいかもしれない. S式に基づく括弧を多用した前置記法構文 動的型付け: (ふつうは)コンパイラによる型検査がないが,実行時にデータの種類(これも型と呼ばれる)を調べることができる 自動メモリ管理(ガーベジコレクション) コンスセルを使った汎用的なデータ構造表現 ここでは Scheme の簡単な紹介をしながら2分探索木のプログラムまで見ていく.Scheme の処理系も
[ 前の資料 | 講義ホームページ・トップ | 次の資料 ] Java Java の主要概念の復習(超特急版) オブジェクト インスタンス変数の集まりからなるデータとそのデータに対する操作(メソッド)の集まり. インスタンス変数 オブジェクトに格納されるデータを表すための変数. メソッド オブジェクト内のデータに対する操作.メソッドが呼出されると,呼出し元から与えられる引数とインスタンス変数を使って計算を行う.場合によってはインスタンス変数の値を代入によって更新する.最終的に何らかの計算結果を呼出し元に返す(ことが多い). シグネチャ メソッドの名前,引数の個数とそれぞれの型,返り値の型をまとめて,メソッドのシグネチャと呼ぶ.シグネチャさえわかれば,そのメソッドをどういう形式で呼出せばよいかわかる. クラス オブジェクトの定義を与えるプログラム構成単位.インスタンス変数の宣言,インスタンス
gdbのコマンド一覧 上の例で紹介したコマンドのほとんどは省略形を持つ.例えばrunコマン ドはrだけで実行できる.
www.fos.kuis.kyoto-u.ac.jp/~umatani
担当教員・TA 平石 拓 (教員) 馬谷 誠二 (教員,7号館225室,内線 5968) 五十嵐 雄 (TA,7号館227室) 連絡用メールアドレス le4comp@fos.kuis.kyoto-u.ac.jp (担当教員とTA全員に届きます) お知らせ (別ページ) 必ず定期的に確認すること. 内容 MiniMLというML言語のサブセット言語を対象としたコンパイラをOCaml言語を用いて作成する. コンパイラのターゲット言語はARMアセンブリ言語とする(動作確認にはRaspberry Pi 3を用いる). 一人で一つのコンパイラを作成する. 実験の進め方 表紙 から始まる実験資料を読み進めながら,資料中の課題を順にこなしていけば良い. 全課題は課題リストで確認できる. 任意は必須ではない(達成すれば加点する). その他の資料 配布コード一式 Raspberry Pi 3 Model Bセ
[ 前の資料 | 講義ホームページ・トップ | 次の資料 ] OCaml OCaml (旧名称: Objective Caml)は INRIA というフランスの国立の計算機科学の研究所でデザイン・開発された言語である.歴史的には,証明支援系と呼ばれる,計算機によって数学的証明を行うためのソフトウェアを操作するための言語の研究から発展してきたもので,当初は ML (Meta Language) と呼ばれていたが,研究が進展し,また方言が派生していく過程で OCaml ができあがった.Standard ML などの方言をまとめて ML と呼ぶことが多い.(興味があったら Caml の歴史, Standard MLの歴史 などを見よ.) ML は関数型プログラミング(functional programming)と呼ばれるプログラミングスタイルをサポートしている.MLは核となる部分が小さくシンプ
五十嵐 淳 (京都大学大学院情報学研究科 通信情報システム専攻) 2017年11月17日 モジュールと実装の隠蔽 階層的名前空間の提供 実装の隠蔽 分割コンパイル (ocaml/bstModule2) 講義範囲を越えて [ 前の資料 | 講義ホームページ・トップ | 次の資料 ] モジュールと実装の隠蔽 モジュール(module) とは,工業製品などにおける規格化された構成単位を指すための用語である.要するに部品のことなのだが,この「規格化」というのは重要な点で,これによって例えば様々な会社が製造した部品を集めてひとつの大きな製品を作ることができるし.一部が故障しても簡単に交換することが可能になる.ソフトウェアにおいても,モジュールという用語はプログラム部品の構成単位を指していて,多くのプログラミング言語が,プログラムをモジュールの集まりとして構成するための支援機構を用意している.工業製品
3.11 いろいろな引数渡しの方式 — 値呼び・参照呼び・名前呼び・必要呼び 参照呼出し 遅延評価と call-by-need, call-by-name 前節までの言語では,値呼び出しに基づいて関数呼び出しの際の引数渡しを実 現してきた.本節では,FORTRAN, Pascal などに見られる 参照呼出し(call-by-reference)と,遅延評価(lazy evaluation)を使った, Algol60 に見られる 名前呼出し(call-by-name),Haskell などに見 られる,必要呼出し(call-by-need)といった引数渡しの方法をみてい く. 3.11.1 参照呼出し 前節で説明したように,値呼出しの下では,関数のパラメータに対する代入は 関数呼出し側に影響をおよぼすことはない.つまり,関数呼出しの前後で,あ る変数の内容が変わることがなく,呼出し側・関
ここでは <式> の代わりに e という記号(メタ変数),<識別子> の代わりに x という記号(メタ変数)を用いている. また,型(メタ変数 τ)として,整数を表す int, 真偽値を表す boolを考える. さて,型推論のアルゴリズムを考える前に,そもそも「式 e が型 τ を持つ」という関係がどのような時に成立するかを正確に記述したい. 例えば「式 1+1 は型 int を持つ」だろうが, 「式 if 1 then 2+3 else 4 は型 int を持つ」は 成立しないと思われる.この,「式 e が型 τ を持つ」 という判断を型判断(type judgment)と呼び,e : τ と略記する. しかし,一般に式には変数が現れるため,例えば単に x が int を持つか,といわれても判断することができない.このため,変数に対しては,そ れが持つ型を何か仮定しないと型判断は下せない
Computer Software Group Department of Communications and Computer Engineering, Graduate School of Informatics, Kyoto University Japanese Index Contact Address Members Research Activity Publication List Asian Logic Mailing-List Links KUIS (Department of Information Science, Faculty of Engineering) Faculty of Engineering/Graduate School of Engineering Kyoto University Japan Society for Software Scie
www.fos.kuis.kyoto-u.ac.jp/~t-sekiym
ML型推論の光と影影 @@平成廿一年東都大駱駝会平成廿一年東都大駱駝会 京都大学 五十嵐 淳 自己紹介 情報科学の研究をしています 専門はプログラミング言語とか型理論とか 研究のひとつはJavaの改良ですが、Javaでプログラ ムは書きません(けません) ML歴16年、OCaml歴は11年くらい の著者です 小学生の解法 全員ラクダだとすると足の数は 4 x 7 = 28 本 実際には20本あるから8本分ラクダが多い ラクダ一匹をOCamlプログラマに置き換えると 足は2本減るから4人置き換えれば丁度よい OCamlプログラマ 4匹、ラクダ 3 匹 いきなり鶴亀算 OCamlプログラマとラクダが合わせて7匹いる。 足の数が合わせて20本である時、 OCamlプログラマとラクダはそれぞれ何匹いるか。 中学生の解法 OCamlプログラマの数を x、ラクダの数を y とすると、 x + y =
2012年1月14日のジュンク堂書店池袋本店トークセッション「新春座談会 このコンピュータ書がすごい! 2012年版〜2011年に出たコンピュータ書ならこれを読め!〜」にて本書が紹介された模様です.(2012/1/14記)補助資料正誤表演習システムガイド継続(EvalContML1)第一級継続(EvalContML4)参照(EvalRefML3)本演習システムを使っている講義京都大学 大学院情報学研究科 通信情報システム専攻 専門科目「プログラム意味論」(2013年度〜)京都大学 大学院情報学研究科 知能情報学専攻 専門科目「ソフトウェア基礎論」(2008年度〜2012年度)お茶の水女子大学 大学院人間文化創成科学研究科 理学専攻 情報科学コース「言語意味論」(2012年度)お茶の水女子大学 理学部 情報科学科「計算モデル論」(2012年度)Updated on 2022-05-25 21
Objective Caml 入門五十嵐 淳 京都大学 工学部情報学科計算機科学コース 大学院情報学研究科知能情報学専攻 e-mail: igarashi@kuis.kyoto-u.ac.jp September24, 2007 Contents Chapter1 1.1関数型言語 ML と Objective Camlについて 1.1.1ML・Objective Caml の特徴 1.2参考書,資料,マニュアル 1.3環境設定 Chapter2 2.1インタラクティブコンパイラを使う 2.1.1簡単な使い方 2.1.2その他: ファイルからのプログラムの読み込み・コメント 2.2基本データ型とその演算 2.2.1unit型 2.2.2int型 2.2.3float型 2.2.4char型 2.2.5string型 2.2.6bool型 2.2.7型システムと安全性 2.2.8練習問
自習の進め方(宿題について) 教科書の該当する章のファイルを Proof General (もしくは CoqIDE) で読み込む. Coq への読み込みコマンドを使いながら教科書を読み進める. 練習問題の指示に従ってファイルを書き換える(解答を埋める). (* FILL IN HERE *) Admitted. の行を消して,証明を書く. (最初の方の問題について書くべき「証明」は決まっている.) わからない問題については,Admitted. を残しておく.(証明途中で詰まった場合でも, 全部消さずに,最後に Admitted. を書いておく.) Coq に読み込ませてみて,背景が青(緑)になれば無事に Coq のチェックに通った,ということ.ただし, Proof General, CoqIDE は Qed. の打ち忘れ(よくある!)を関知してくれないので,make XXXX.vo (XX
What's New 2012年度ページ立ち上げ(2012.9.24) FAQ Q: (コメントに)日本語を混ぜると #use で読み込めません. A: ファイルの文字コードを EUC-JP にしてください.Emacs であれば, C-x RET f euc-jp-unix としてください. 部屋割り
HaskellでWebアプリ作成 ~Webアプリケーションフレームワーク Yesod~ 島崎 清山 (株式会社ワークスアプリケーションズ) ならびに実習サポートスタッフ(@nobsun,@shtaag,@khibino,@kazu_yamamoto各氏) HaskellでWebアプリ作成 ~Webアプリケーションフレームワーク Yesod~ 島崎 清山 (株式会社ワークスアプリケーションズ) 概要: 関数型言語でのWebアプリケーション作成、と言うと想像が難しいと思う方もいらっしゃるかもしれません。 しかし実はHaskellでは手続き型言語と似た感覚でWebアプリケーションを手軽に作れます。 これを可能にするのがYesodという、Haskell製のWebアプリケーションフレームワークです。 他の有力なフレームワークと同様に、コマンド一回でアプリケーションの雛形が生成され、 作法にのっとっ
このページを最初にブックマークしてみませんか?
『Computer Software Group』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く