タグ

Lambdaに関するnozomのブックマーク (3)

  • Chapter 6. Boost.Lambda

    Use, modification and distribution is subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) The Boost Lambda Library (BLL in the sequel) is a C++ template library, which implements a form of lambda abstractions for C++. The term originates from functional programming and lambda calculus, where a lambda abstractio

  • λx.(x+1) - d.y.d.

    19:52 06/03/30 反応とか Schemeのマクロは 自分も好きなので、人間コンパイラコンパイラ的に楽しいっていうのは同意です。 ただ、マクロはともかく言語自体が、「なんでもS式」と「型宣言がない」のコンボのおかげな 気がするのですが、Schemeで書いてるとどうもコードが10KB越える辺りで自分の頭の把握能力が 追っつかなくなってしまうもので、最近は敬遠してました。 これは経験と修行でなんとかなるような気がするのでなんとかしたいなーと思い中です。 頑張るます。 テンプレートの型検査は、最低限、実行される可能性のあるinstanceにはコンパイル時にC++の型検査が入るので、 まあなんとか…。そもそもマクロやアセンブリではせいぜいパラメタ多相もどき までしかできなくて別の意味で困るような。module typeもどきになるとPOPL06のアレや例によってそのテンプレートでの実現(

  • Lambdacamels! : 404 Blog Not Found

    2005年09月04日13:06 カテゴリLightweight LanguagesMath Lambdacamels! λ calculusのファンなら、Perl6が気に入ることうけあいだ。 諸般の事情で今Lambda::Calculusというモジュールを書いているのだが、Perl5だとこれがいまいち面倒なのだ。こんな感じ。 our $ZERO = sub { my $f = shift; sub { my $x = shift; $x }}; our $SUCC = sub { my $n = shift; sub { my $f = shift; sub { my $x = shift; $f->($n->($f)($x)) }}}; our $ADD = sub{ my $m = shift; sub { my $n = shift; sub { my $f = shift; su

    Lambdacamels! : 404 Blog Not Found
    nozom
    nozom 2005/09/05
    Perl6でlambda計算
  • 1