タグ

lambdaに関するtaraoのブックマーク (31)

  • Project Overview ‹ λ-2D: An Exploration of Drawing as Programming Language, Featuring Ideas from Lambda Calculus – MIT Media Lab

    The area of non-verbal programming languages has not been unexplored. There are ASCII-based languages such as Befunge and asciidots, as well as image-based ones such as Piet, just to name a few. Both inspired and challenged by these work, I set the following goals for my new language: To take advantage of the fact that the program is drawn, to include features that is otherwise unfeasible with tex

    Project Overview ‹ λ-2D: An Exploration of Drawing as Programming Language, Featuring Ideas from Lambda Calculus – MIT Media Lab
    tarao
    tarao 2022/04/06
  • 依存型による単純型付きλ計算(STLC)のインタプリタ - opfer_10155’s diary

    PoPLの論文(Intrinsically-Typed Definitional Interpreters for Imperative Languages)についての輪講で、発表の際に使用したスライドの供養(ブログ用に多少修正は加えている) ソースコードはこれ github.com Agdaを知らなくても、Haskellの入門程度の知識と、コードを読む力と気合いがあればわかります。 この手の話に興味がある人は面白く感じることでしょう。 つぎのおはなし 参考: - What is Agda? -- Agda docs 型付きラムダ計算 -- 筑波大学 依存型について -- hatenablog 1. Introduction ある言語のインタプリタを他の言語を使って書く場合、 対象言語の評価規則をホスト言語で定義する。 scalaの例 // scala // 講義:プログラミング言語処理系

    依存型による単純型付きλ計算(STLC)のインタプリタ - opfer_10155’s diary
    tarao
    tarao 2022/03/25
  • 関数型プログラミング言語における関数適用構文の歴史的経緯についてのメモ - Arantium Maestum

    先日こういうツイートがあった: Haskellとかの関数型言語を使用しているプログラマの皆様にお聞きしたいんですけど、「関数名 引数 引数 ...」みたいな関数呼び出し構文って見にくくは無いですか?「関数名(引数, 引数, ...)」に慣れたこちらからすると、丸括弧が無いからコード中のどこが関数呼び出しなのかパット見で把握しにくい。— sounisi5011/プログラム (@sounisi5011Prog) February 22, 2022 「見にくくは無いですか?」と聞かれると、個人的には「全然大丈夫です」と答えざるを得ないのだが、次のツイートに関しては考えさせられた: 数式でも函数には丸括弧を使ってるのに、どこのタイミングで丸括弧が消失したのかわからないし、その選択をした理由も思いつかない。— sounisi5011/プログラム (@sounisi5011Prog) February

    関数型プログラミング言語における関数適用構文の歴史的経緯についてのメモ - Arantium Maestum
    tarao
    tarao 2022/02/25
  • 型付きラムダ計算 構文論 再入門 1/2: カリー/ハワード対応のために - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「カリー/ハワード対応への障壁」において、カリー/ハワード対応(Curry-Howard correspondence/isomorphism)をうまく説明するのは難しい、という話をしました。その記事の最後の一言は: いまだベストと思える説明に届かず。 その後も、ベスト(に近い)説明とはどんなものかと考えています。以前から僕は「大きなラムダ計算」という方法を使っているのですが、これをベースにするのがやはり良いように思えます。大きなラムダ計算は型付きラムダ計算の定式化のひとつです。大きなラムダ計算をまともに紹介したことがなかったので、この記事と引き続く記事の2回に分けて説明します(続く第2回もほぼ書き終えていますよ ^_^)。 この2回の記事で、大きなラムダ計算の構文的・証明論的側面を紹介します。ラムダ式への型付けアルゴリズムを形式的証明と捉えて、その証明系の性質を調べます。カリー/ハワード

    型付きラムダ計算 構文論 再入門 1/2: カリー/ハワード対応のために - 檜山正幸のキマイラ飼育記 (はてなBlog)
    tarao
    tarao 2017/06/06
  • Island Life - λの起源、2つの説

    About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...ループを使わずに1から100までMore... 最近のコメント shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポのシューリンガン (2022/04/02)ベアトリーチ

    Island Life - λの起源、2つの説
    tarao
    tarao 2016/08/27
  • コンピュータ科学や組み合わせ論を“微分幾何”とみなす:CADGの夢 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    『シン・ゴジラ』は僕のツボにはまったんですよね。コワ面白かった! 最近、もうひとつ「これは面白い!」と思っていることがあります。微分幾何の応用の話です。多くの人が「応用」という言葉から連想する内容とはちょっと違います。微分幾何を換骨奪胎して、その枠組を、微分とも幾何ともまったく無関係と思える分野にも適用するのです。 「微分とも幾何ともまったく無関係と思える分野」には、コンピュータ科学や組み合わせ論が含まれます。これには驚きました。好奇心を刺激されて、しばらく猿になって調べまくってました。 調べても理解できないことがたくさんあるので、断片的で中途半端な知識を推測(妄想?)でつなぎ合わせるという手法(いつものやり口)で語ってみます。圏と多様体の定義くらいは仮定しますが、それ以外の知識は要求しないオハナシ調です。 内容: リソース計算が微分計算だってぇぇ?! 微分の計算が出来る圏 組み合せ論とデ

    コンピュータ科学や組み合わせ論を“微分幾何”とみなす:CADGの夢 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    tarao
    tarao 2016/08/05
  • https://ifl2014.github.io/submissions/ifl2014_submission_13.pdf

    tarao
    tarao 2015/05/19
  • More Scala Typehackery

    Inspired by this page on the Haskell Wiki, here’s a stripped down version of the lambda calculus encoded in the Scala type system: trait Lambda { type subst[U <: Lambda] <: Lambda type apply[U <: Lambda] <: Lambda type eval <: Lambda } trait App[S <: Lambda, T <: Lambda] extends Lambda { type subst[U <: Lambda] = App[S#subst[U], T#subst[U]] type apply[U] = Nothing type eval = S#eval#apply[T] } tra

    More Scala Typehackery
  • Soft lambda-Calculus: A Language for Polynomial Time Computation

    tarao
    tarao 2015/03/29
  • 採択されればYAPCで話すつもりの型の話について - Pixel Pedals of Tomakomai

    今年のYAPC Asia 2013にはTypes and Perl Languageというタイトルで話をしようと申し込んだのだけど、リジェクトされそうな気しかしないので話そうとしていることの概要を書いておく。なお、トークのタイトルは名著TaPLのオマージュである*1。 以下のGoのコードをきちんと型付けされていると言って、異論を持つ人は少ないだろう。 func inc(x int) int { return x + 1 } では、以下のperlのコードはどうだろう? sub inc { $_[0] + 1; } 型がないという人もいれば、実行時に型を意識しているのだから型はあると反論する人もいるだろう。しかし、さらに別の見方として、このコードは先ほどの正しく型付けされたGoのコードから型の指定をとりはらったものだとも言える。という事は、もし、GoPerlでプログラムを実行するルールが大差

    採択されればYAPCで話すつもりの型の話について - Pixel Pedals of Tomakomai
  • Elmで始めるFunctional Reactive Programming

    ※注意 現在のElmは、これを書いた時とはかなり別物になっています。そのためElmを学ぶにはこの資料は適切ではありません。Functional Reactive Programmingの習得には参考になると思います。 ===== ElmはHaskellと同じく純粋関数型言語のひとつで、ブラウザ上で動くアプリケーションの作成に特化しています。目に見えるものがすぐに作れるなど、関数型プログラミングやFRP(Functional Reactive Programming)の入門によい面がいくつかあります。JavaScriptなど型のない手続き型言語に慣れた人向けに関数型プログラミングのイメージを掴んでもらうことを目的にしています。Read less

    Elmで始めるFunctional Reactive Programming
    tarao
    tarao 2013/02/23
  • 関数型言語の技術マップ

    要求開発アライアンスの定例会で『Object-Functional Analysis and Design: 次世代モデリングパラダイムへの道標』というタイトルでセッションを行うことになりました。 セッション時間が50分なので、かなり俯瞰した形での全体像の説明になりそうですが、関連する要素技術の数が多いのと、内容が込み入っているので、ブログで補足説明をすることにしました。 今回はその第一弾です。 「関数型言語の関連技術」として用意した以下の図を説明します。関数型プログラミング言語レベルの説明はScalaを対象にします。 Disclaimer2008年にScalaをはじめて足掛け4年、関数型プログラミングとは、どうも数学を使ってプログラミングしていくことらしい、ということが分かってきました。 ScalaをBetter Javaとして使うのであれば、そこまで頑張らなくてもよいのですが、関数型言

    関数型言語の技術マップ
    tarao
    tarao 2012/03/02
  • http://atnd.org/events/25812

    http://atnd.org/events/25812
    tarao
    tarao 2012/02/29
  • C++のテンプレートでラムダ計算と型推論 - 貳佰伍拾陸夜日記

    C++のテンプレートを, コンパイル時に走るプログラムを記述するための言語だと思うと, この言語はチューリング完全なので, 当然ラムダ計算のインタプリタを実装できるし, そのラムダ計算の項の型を推論することもできる. できるからと言って馬鹿みたいにやってしまったという話. ソースコードは末尾. テンプレートメタプログラミング テンプレートをプログラミング言語だと思うと, 構文はともかく, 副作用がなく関数(っぽいもの)を淡々と定義してパターンマッチして再帰呼出しして, という感じでとても関数型っぽい. 関数と返り値 テンプレートメタプログラミングではテンプレートクラスを関数だと思って使う. そして返り値はtypedefして返す. たとえば任意の型S, Tを受け取って前者を返す関数firstは template<typename S, typename T> struct first { t

    C++のテンプレートでラムダ計算と型推論 - 貳佰伍拾陸夜日記
  • A Walk in the Semantic Park

    A Walk in the Semantic Park Olivier Danvy, Jacob Johannsen, Ian Zerny Abstract To celebrate the 20th anniversary of PEPM, we are inviting you to a walk in the semantic park and to inter-derive reduction-based and reduction-free negational normalization functions. Olivier Danvy, Jacob Johannsen and Ian Zerny. A Walk in the Semantic Park. In Siau-Cheng Khoo and Jeremy Siek, editors, Proceedings of t

    tarao
    tarao 2011/10/23
  • Javaだって関数型言語に負けないぐらい魅力的:オブジェクト指向だけで計算してみる - ようじょと結婚したい

    HaskellやScalaなどで一躍大人気となった関数型言語には、その根底に型付きラムダ計算という計算体系の理論が存在しています。この型付きラムダ計算の理論のおかげで、関数型言語では型安全なプログラミングが出来るのです。 ではオブジェクト指向言語にはそのような理論は存在するのでしょうか。 Javaについては、割と最近ですが、Javaをモデル化した計算体系を扱った、 Featherweight Java: a minimal core calculus for Java and GJ [Igarashi et al., 2001] という論文が存在します。この論文では、JavaJava 5.0以降で採用されたジェネリクスという仕組みをモデル化したオブジェクト指向の体系を定義し、この体系上での型安全性の証明を行っています。 この論文の体系では構造化定理で言う条件分岐と反復が定義されていません

    Javaだって関数型言語に負けないぐらい魅力的:オブジェクト指向だけで計算してみる - ようじょと結婚したい
  • Rubyで関数型プログラミング - 貳佰伍拾陸夜日記

    Rubyでの快適関数型プログラミングライフを追求するあまり, 使えるのか使えないのかよくわからないものを作ってしまったという話. Rubyに不慣れな人や関数型プログラミングに不慣れな人に対して酷なのはまだわかるとしても, C++(というかboostでの関数型プログラミング)に不慣れな人も全力で置いてきぼりにする誰得記事になってしまった...... 経緯 そもそもRubyはだいぶLispっぽくて, ブロックとイテレータを使うだけで関数型プログラミングになってしまう. たとえばこんな感じで: %w|1 2 3 4 5|.map{|x| x.to_i} %w|1 2 3 4 5|は'1'から'5'までの文字列からなる配列で, その配列のメソッドArray#map*1に対して, 受け取った引数を整数化するブロックを渡してやると, 1から5までの整数からなる配列が得られる. たとえば関数型プログラミ

    Rubyで関数型プログラミング - 貳佰伍拾陸夜日記
    tarao
    tarao 2011/08/19
    たいへんなものをつくってしまった
  • ICFPC 2011 - d.y.d.

    22:15 11/06/27 ICFPC 2011 ここ 8 年くらいほぼ毎年参加していた ICFP Programming Contest ですが、今年は出題者側に回ってみました。 問題の原型決定の議論、画像に変なネタを仕込む、Windows版バイナリのビルドをする、対戦サーバの中身を突貫でどうにかする、 などなどをしていました。 ゲームのバランス調整が非常によくできていたとの評価を頂いているのですが、 肝心のその辺りは、出題チーム内の熟練者達の高度な議論に既についていけなくなっており、 私は全然貢献できていないという…。 詳しいことは 9 月の ICFP で発表があると思いますので、ここでは今年のテーマの紹介だけ。 公式の問題文はこちら です。 一言でいうと、関数を呪文に変えて撃ち合う、プログラミング魔法バトル。 Lambda: the Gathering L:tG という2人対戦ゲー

    tarao
    tarao 2011/06/29
  • lambda term の個数を数えてみる - kozima の雑記

    tarao
    tarao 2011/06/01
  • approx-search.el

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    tarao
    tarao 2011/02/09