タグ

schemeに関するjjzakのブックマーク (287)

  • 関数型日記(仮)

    しょぼい組み込みHW屋の私が現実逃避のため関数型言語の勉強を始めました.それはそうと,VdGG観てきました.peter hammillが神すぎて困りました.次も観るぞ! Lat式ミク様を表示させるために,なにより目がないと怖いのでw テクスチャマッピングを実装しました.さらに,マルチテクスチャでトゥーンレンダリングもなんとなくそれっぽくなるように実装しました.どうもレンダリング結果が一部微妙なので今後デバッグしますが,まずはソレっぽい出来なのでひと段落させます. テクスチャ関連に関しては,完全に教科書どおりのコーディングになっています. glTexParameterxで,TEXTURE_WRAP_S/TをGL_REPEATに,GL_TEXTURE_MAG_FILTER/MIN_FILTERをGL_LINEARに設定 glPixelStoreiでGL_UNPACK_ALIGNMENTに1を指

    関数型日記(仮)
  • .mjtの日記復帰計画

    サブモニタに使っていたFlexScan S170が 45747時間の使用の末画素欠け等出てきたので。。 Amazonのタイムセールで3万円だった。 商品説明が変 https://www.amazon.co.jp/gp/product/B07SCZ5STT/ 商品URL http://e7e.co/Vc0r0 説明書への短縮URL (Dropbox上のPDF) 【ミニHDMIポート二つ搭載】普通のHDMI出力設備全て対応できます、パソコン、ノートPC、プレゼン用、一眼レフカメラ、 PS3/PS4/Xbox One/Nintendo Switchゲーム機、デスクトップPCなど ミニHDMI→HDMIケーブルは付属しております。 商品説明ではmini-HDMIが付いているように書かれているが、これは間違いで、結局のところ説明書が正しかった。実際には標準HDMI(2.0) + mini-DP +

    .mjtの日記復帰計画
  • 環境設定例集 - sicpstudygroup @ ウィキ

    SICPを読んでゆく上で必要なScheme実行環境についての設定例集です。 なんだか役に立ちそうな事柄を知っていたら誰でも書き込んでいってください。 Scheme処理系(R5RS準拠)とそれぞれの設定 GaucheGaucheは.gauchercというファイルを起動時に読み込む。なのであらかじめ読み込んでおきたいファイルなどがある場合、そのファイルに書き込んでおくと何かと便利。by iwk Mit Scheme TUT Scheme Guile Emacsの設定 viper-modeSchemeはvimよりもEmacsを使うほうが何かと便利であるので普段Vimを使う人であってもEmacsを使う必要が出てくる。しかし、EmacsとVimはなにかと根的に違うのでフラストレーションがたまりやすい。そのフラストレーションを少し解消するのがviper-mode。EmacsにViのモードのシステムを

    環境設定例集 - sicpstudygroup @ ウィキ
    jjzak
    jjzak 2009/02/15
    Scheme処理系(R5RS準拠)とそれぞれの設定
  • Yコンビネータ - Mae向きなブログ

    相変わらず,Yコンビネータについては理解できていないのですが,昨日に引き続き,Rubyの学習もかねて,Schemeで書かれたYコンビネータをRubyで書くことに挑戦しました。 http://d.hatena.ne.jp/kazu-yamamoto/20080402/1207127522 でYコンビネータは,以下のように紹介されています。 (lambda (le) ((lambda (f) (f f)) (lambda (g) (le (lambda (x) ((g g) x)))))) 昨日は,たくさん出てくるlambdaRubyでどう書けば良いのか分からなかったのですが,今日はなんとかYコンビネータをRubyで書くことができました。 y = lambda { |le| lambda { |f| f.call(f) }.call( lambda { |g| le.call(lambda

    Yコンビネータ - Mae向きなブログ
  • http://tips.lisp-users.org/scheme/index.cgi

  • Lispで中置記法 - リリカル☆Lisp開発日記

    jjzak
    jjzak 2008/12/22
    Lispで中置記法
  • みずぴー日記

    JSXの特徴は、トップページにも書いてあるとおり「faster, safer, easier」の3つです。安全性とか簡単さについては人とか状況によって様々な定義や意見がありますが、唯一Fasterだけは客観的に測れます。 しかしJSXと速度については、トップページにあるBox2Dとshootingのデータ*1とAOBench on JSXぐらいしかありません。 というわけでWebkitで使われているSunSpider 1.0.2 JavaScript BenchmarkをJSXに移植してJavascriptと速度を比較してみました。*2 環境 sunspider Benchmark for JSX - JSX版ベンチマーク Sunspider Benchmark for Javascript - Javascript版ベンチマーク GitHub - mzp/sunspider-jsx: s

    みずぴー日記
  • プログラミング言語/Scheme - プログラミングスレまとめ in VIP

    2017-04-13 test 2015-05-19 解答例/転置行列/Excel VBA 2015-05-17 英語 2015-05-09 練習問題/解答例/C++11/練習問題解答例 練習問題 2015-04-06 マのネタ帳 2015-04-01 練習問題/解答例/Scala 2015-01-31 アルゴリズムとデータ構造 2015-01-14 練習問題/解答例/シェルピンスキーのギャスレット/Python 2015-01-11 プログラミングスレまとめ in VIP 2015-01-03 数学 2014-12-22 練習問題/解答例/FizzBuzz/D 2014-12-21 オンラインジャッジ 2014-11-30 練習問題/解答例/回文判定プログラム/Python 2014-11-24 プログラマーハッカーが活躍する映画・ドラマとか 2014-11-23 MenuBar 20

  • cranebirdの日記

    data Reg = Zero | At | V0 | V1 | A0 | A1 | A2 | A3 | T0 | T1 | T2 | T3 | T4 | T5 | T6 | T7 | S0 | S1 | S2 | S3 | S4 | S5 | S6 | S7 | T8 | T9 | GP | SP | FP | RQ | PC deriving (Eq, Ord, Show, Enum, Bounded) data Insn = Add Reg Reg Reg | Sub Reg Reg Reg | J Word deriving (Eq, Ord, Show) data PseudoInsn = Pseudo [Insn] data Cell = W Word | I Insn deriving (Eq, Ord, Show) data VM = VM (Map.Map Reg Cel

    cranebirdの日記
  • cranebirdの日記

    data Reg = Zero | At | V0 | V1 | A0 | A1 | A2 | A3 | T0 | T1 | T2 | T3 | T4 | T5 | T6 | T7 | S0 | S1 | S2 | S3 | S4 | S5 | S6 | S7 | T8 | T9 | GP | SP | FP | RQ | PC deriving (Eq, Ord, Show, Enum, Bounded) data Insn = Add Reg Reg Reg | Sub Reg Reg Reg | J Word deriving (Eq, Ord, Show) data PseudoInsn = Pseudo [Insn] data Cell = W Word | I Insn deriving (Eq, Ord, Show) data VM = VM (Map.Map Reg Cel

    cranebirdの日記
    jjzak
    jjzak 2008/10/06
    Scheme Compiler の勉強
  • call/cc 入門 (Coroutine with call/cc) - MAYAH

    call/cc を使って簡単な Coroutine を作ります。call/cc 入門だと思ってもらえれば幸いです。 coroutine とは ここでは coroutine を「実行の途中でリターンでき、さらにそこ(実行の途中)から再開することが出来る何か」の意味で使用します。適当な疑似言語で書くと次の通り。関数の途中でのリターンを suspend(), 途中からの再開を resume() で表すことにします。 ここでは、これを scheme の call/cc を用いて表すことを目指します。 call/cc とは call/cc とは、call-with-current-continuation という scheme の関数で、「現在の継続(current continuation)を生成し、それを関数に渡してその関数を実行する」ものです。読者の殆どは「継続」についてよく知っているかもしれ

  • 大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係(その2)

    大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係(その2):プログラミング言語の進化を追え(1/3 ページ) 前回に引き続き、Scheme言語の処理系、Gaucheを開発している川合史朗氏が、クロージャの機能を検証し、関数型言語とオブジェクト指向言語の関係について解説していきます。今回は、クロージャとオブジェクトのより深淵を探求します。 抽象化ツールとしてのクロージャ C++的なオブジェクトの世界では、オブジェクトの実体とは「ひとかたまりの構造体としてメモリ上に置かれたインスタンス変数の値」にすぎません。オブジェクトのポインタを取れば、それは事実上、その構造体へのポインタを持っていることになります。クロージャを「関数」中心で見ていると、その実体は「オブジェクト」の実体とは異質なもののように思えるでしょう。 確かにクロージャのナイーブな「実装」は、関数ポインタと環

    大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係(その2)
  • レーベンシュタイン距離を求める - 主にアルゴリズムの実験日誌

    【内部主要記事】 【Abstruct的?】 【ToDoもしくは目次】 【参考文献】 【文】 レーベンシュタイン距離を使って個体の適合度を求めます。 gaucheの配列に関する資料 http://www.shiro.dreamhost.com/scheme/gauche/man/gauche-refj_71.html レーベンシュタイン距離に関する資料 http://ja.wikipedia.org/wiki/%E3%83%AC%E3%83%BC%E3%83%99%E3%83%B3%E3%82%B7%E3%83%A5%E3%82%BF%E3%82%A4%E3%83%B3%E8%B7%9D%E9%9B%A2 http://www-06.ibm.com/jp/developerworks/java/041217/j_j-jazzy.html#figure1 ; 以下の2つのリストのレーベンシュ

    レーベンシュタイン距離を求める - 主にアルゴリズムの実験日誌
  • Y.FUJITA::NOTEPAD::YPSILON

    いろいろ実験したいこともあり、WordPressでブログを作りました。新しく作った方は、個人的な軽い話題をメインにする予定ですが、よろしければどうぞお越し下さい m(_ _)m Y.FUJITA::NOTEPAD Mac App StoreでPinball Tristanが承認されたのでpromo codeでダウンロードしてテスト。すると・・・ xpchelper reply message validation: sandbox creation failed: 1002 Code identity not in ACL for container ~/Library/Containers/com.littlewingpinball.Pinball-Tristan-OSX/Data (if this is a self-signed app, see asctl(1) for how t

    Y.FUJITA::NOTEPAD::YPSILON
  • 83's : 属性リストへのアクセス

  • 「クロージャの定義」 - hidemonのブログ

    Java7のクロージャの提案者の一人,Neal Gafterのブログが大変参考になるので,ちょっと野良翻訳してみよう. クロージャの定義 Java 言語にクロージャを追加しようという我々の提案に関して混乱があるようだ.そもそも,Javaにはすでに無名インナークラスという形で,クロージャがあるのではないか? すでにあるものをなぜまた追加しようというのか? 一部の人々には,我々の提案には,クロージャとは関係ないものが含まれているように思われているようだ.例えば,control invocation 構文,null型,Unreachable, 型パラメータ付きthrows,関数インターフェイス型,「非ローカル」な returnなどがそうだ.Javapolisでの講演で,なぜこれらの機能が提案に含まれているのかを,これまで不可能だったことを可能にするための実用的な観点から説明したつもりだ.しかし,

    「クロージャの定義」 - hidemonのブログ
  • なんでも継続、Perl で。 : torus solutions!

    最近よくコンティニュエーション・パッシングだとか、 継続ベースの○○とか、 そういう話題を耳にします。 でも継続っていうのが何なのか良く分からなかったので、 お正月休みに Shiro Kawaiさんの なんでも継続 を読んでみました。 今までずっと難しいだろうと思って読んでなかったんだけど、 これがまたとても分かりやすくて面白かったので、 途中にあげられていたサンプルコードを Perl でも書いてみました。 普通の再帰形式 Scheme では (define (leaf-count tree) (if (pair? tree) (+ (leaf-count (car tree)) (leaf-count (cdr tree))) 1)) Perl では Perl にはペアがないので、 2 要素の配列でエミュレートすることにします。 それ以外はそのまんまです。 sub leaf_count

  • 反復的プロセス、末尾再帰、継続渡しスタイル : torus solutions!

    はてなリングの SICPで学びましょう というのに参加したので、 SICP に関係しそうなことを書いてみます。 SICP の第 1 章で、 再帰的プロセスの手続きを反復的プロセスに書き換えるという問題が出て来ますが、 これは慣れると自然に出来るようになります。 そこで出てくるのが末尾再帰というテクニックです。 しかし、 場合によっては末尾再帰にするのがちょっと難しい場合があります。 こういう時のとっておきの方法として、 継続渡しスタイルというのを紹介します。 簡単な書き換え 数値からなるリストを受け取って、 その要素の和を返す sum という関数を考えます。 まず、 普通に再帰を使って書くとこんな風になると思います。 (define (sum l) (if (null? l) 0 (+ (car l) (sum (cdr l))))) これを反復的プロセスの関数 sum-iter に書き換

  • Re: CPS を知るのによい参考文献 (Gauche-devel-jp) - Gauche - OSDN

    IRIYA, Kazunori iriya****@mcn***** 2004年 5月 7日 (金) 02:00:50 JST 前の記事 [Gauche-devel-jp] Re: 最後にメッセージを受け取るアクターと手続きの終りの意味 次の記事 [Gauche-devel-jp] Re: [kahua-dev:00648] Re: gauche package repository 計画 記事の並び順: [ 日付 ] [ スレッド ] [ 件名 ] [ 著者 ] みなさん、 さっそくいろいろとポインタ情報をありがとうございました!! WiLiKi に載せる場所がちょっとわからなかったので、とりあえず WiLiKi の書 式で教えていただいた URL をまとめました。そのままコピー&ペーストできま す。 - リファレンス -- [[WiLiKi:Scheme:CPS]] -- [http:

    Re: CPS を知るのによい参考文献 (Gauche-devel-jp) - Gauche - OSDN
  • Scheme:マクロの効用

    普通のやつらの上を行けでLispにおけるマクロの効用が述べられているが, 「じゃあ具体的にマクロを使って『こりゃ便利だ』っていう例を見せてよ」 と言われてもなかなかすぐに出て来ない。 そこで、なんかいいマクロの使用例を思い付いたら書いてってみるコーナー。 通りすがりのマクロ初心者です。便利なマクロの具体例はすごく知りたいので、この項、期待してます。 Paul Graham「On Lisp」を読書中でなかなか良いけど、日語の解説があった方が理解が早まるので。 もくじ マクロを使う局面定型パターンの簡略化関数呼び出しのインライン展開の代用新しい構文による抽象化ミニ言語の埋め込み宣言的なコードに見せるコンパイル時の処理具体例クラス定義でのリーダーの生成リストの内包表記 (List comprehension)リストの構築他の処理系の移植 関連:Scheme:マクロの危険 マクロを使う局面 なん

    Scheme:マクロの効用