タグ

closureに関するpcrdのブックマーク (1)

  • Emacs 29 の Oclosure について

    もうすぐリリースされる Emacs 29 には、従来の閉包 に「型」と「スロット」を付加したオープン閉包 (open closure) 機能が導入されるので紹介します。 従来の Emacs Lisp では、定義された関数における変数の値は実行時に動的に参照されていました(動的束縛)。しかし、2011年にリリースされた Emacs 24 からは、字句束縛 が導入され、 lexical-binding 変数が t のときに定義される関数は、関数定義時の字句環境を記録する閉包に変換されます。 しかし、従来の閉包は、外部から観測や操作ができない、不透明なオブジェクトでした。 Emacs 29 で導入された「オープン閉包 (Open Closure)」は、閉包にCLOSと同様の型とスロットを定義し、必要に応じてスロットの値を変更したり、関数の型をチェックすることを可能にします。 以下にオープン閉包の

    Emacs 29 の Oclosure について
    pcrd
    pcrd 2023/07/20
    “Emacs 29 で導入された「オープン閉包 (Open Closure)」は、閉包にCLOSと同様の型とスロットを定義し、必要に応じてスロットの値を変更したり、関数の型をチェックすることを可能にします。”
  • 1