タグ

schemeに関するokhraのブックマーク (22)

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • GaucheによるSchemeプログラミング

    okhra
    okhra 2007/08/20
  • Gauche Night - traih.log

    5/9(水) 新宿 Naked Loft にて開催された Gauche Nightに参加しました。 適当にメモってたのをそのまま貼ります。 18:40 ごろについた。 1時間くらい御飯とお酒。味濃かった。。 19:30開始 GaucheFestの成果物を発表ということだったらしい。 司会とパネラー入場 えんどうさん、黒田さん、川合さん、小飼さん、野田さん、山下さん の順番で並ぶ。 色紙 始める前に、一番遠い人にサイン色紙が。 山口から来られたそうで。 パネラー全員の作者のサイン色紙をを贈呈。でかい。 OnLisp訳者の野田さん 若い。。 ジュンク堂3週連続1位 ググってよろこんでます カンパイ まつもとさんコール (テレビ電話) 伊東さんにOnLispの感想を、syntax-case と比較して考えるためになる。 山下さんHaskeller マクロは関数でかけば。 遅延評価があれば、95%

    Gauche Night - traih.log
  • kahua (Kahua Project) · GitHub

    Dismiss Create your own GitHub profile Sign up for your own profile on GitHub, the best place to host code, manage projects, and build software alongside 28 million developers. Sign up

    kahua (Kahua Project) · GitHub
  • ひげぽん OSとか作っちゃうかMona- - 末尾再帰

    最近一部で盛り上がっている「末尾再帰」について自分の理解を確認するのも兼ねて書いてみます。 (そもそも自分がふったのがきっかけっぽいので)。 上級者の方は間違い等に厳しくつっこんでもらえると助かります:-) 背景 自分が末尾再帰を知ったのは多分Schemeの勉強を始めた頃だったと思います。 例えばSICPというでは20ページあたりにこっそりと出てきます。 そのころの理解はかなり浅いもので「ふーん。」程度でした。 さて後日Schemeの処理系を実装することになりR5RSというSchemeの仕様書を読んだところ Scheme の実装は真正に末尾再帰的(properly tail-recursive) であることが要求されている。これは,たとえ繰返し計算が 構文的に再帰的手続きで記述されているときでも,定数空間 でその繰返し計算を実行することを可能にする とあり末尾再帰のことを詳しく知る必要性

  • Karetta|Gaucheプログラミング(立読み版)

    はじめに書の構成 (1)書の対象読者書の表記書の使い方執筆時点でのGaucheバージョン謝辞第1部: 思想LispとScheme (4)Gaucheの特徴 (1)すべて式であるすべてリストである (1)lambdaは空気のような存在である (2)プログラミングとは名前付け(bind)であるすべて再帰である (2) (2)Schemeのすごい点 (4)すべてオブジェクトである (もしそれがお望みなら)Gaucheの設計思想や誕生の背景Schemeの評価モデルとは? (3)「Lisp脳」の謎に迫る - Schemeプログラマの発想第2部: 実用Schemeスクリプトを書こうSchemeスクリプトを書く (1)コマンドライン引数の値を得るユニットテストを書く (1)CGIを書こうSchemeスクリプトをCGIとして実行するwww.cgiライブラリを利用する (1)手軽にHTMLを生成する

  • Karetta|Gaucheプログラミング|「Lisp脳」の謎に迫る - Schemeプログラマの発想

    この原稿の最新版について この原稿に加筆した最新版が書籍「プログラミングGauche」に収録されています。 引用や紹介をされる方はなるべく書籍収録版を参照してください。 他の言語のプログラマがSchemeプログラムを書くとき、 どうしても発想が手続き的(procedural)になりがちです。 LispプログラマやSchemeプログラマの発想は手続き的な発想とはどうも違うらしい、 ということは分かるのですが、具体的に何が違うのでしょうか? ここではこの謎に迫ってみましょう。 実例 例えばこんな例題があります。 1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。 どうしてプログラマに・・・プログラムが書けないのか? (原題: Why

  • JScheme: Scheme implemented in Java

    Jscheme is: Lisp: An interpreter for the Scheme dialect. Java: Written in Pure Java 1.1. Complete: meets the R4RS standard, except for three limitations. Compact: About 50KB source, 30KB classes.jar. Integrated: You can call any Java method. Open: Generous free license agreement. Learn More: Browse the Javadoc documentation. Browse the source code directory. See the Design document. Download the s

  • ソフトウェア特論 情報システム工学研究室(JSK)

    サイトに掲載の記事・写真の無断転載を禁じます. Copyright(C) 2005 JSK. All rights reserved. No reproduction or republication without written permission. お問い合わせ等はまでお願いします.

  • サスペンドから復帰したら再接続ってのを Gauche で書く - higepon blog

    /etc/acpi/resume.d にサスペンドから復帰後に実行してほしいスクリプトがいろいろある。 これに、無線 LAN 自動接続スクリプトを足しておけば幸せなんじゃね?と思いつく。 練習がてら Gauche で書いてみよう。 仕様はシンプル。 辞書に自分が知っている ESSID を登録しておく。 iwlist ath0 scanning を実行しその中に知っている ESSID があったら専用の起動スクリプトを起動する 知っている ESSID がなかったら何もしない。 こんな感じでしょうか。 filter-map みたいなのがあるはずだ!と思って探したらあった。何ともいえずうれしかった。 #!/usr/bin/gosh (use gauche.process) (use srfi-1) (use util.list) (define my-essids (list '("home-es

    サスペンドから復帰したら再接続ってのを Gauche で書く - higepon blog
  • 紫藤のページ

    紫藤のページにようこそ! Lisp, Haskell, Python, Sather などの関数型言語の解説、小品プログラムを載せています。 ここでは関数型プログラミング言語をものすごく広い意味で使っており、 手続きをデータとして扱える言語を指します。 (Python, Sather などは普通はオブジェクト指向言語に分類されます。) また、xyzzy のマクロに関するメモもあります。 面白そうな割りに、web 上に文書が少ない題材を取り上げています。 リンクはご自由にお張りください。 更新ログ [Sep 15, 2014](Python) Set を用いたライフゲームの実装 を作成 [Jul 21, 2014]デコレータを用いた bottle.py のアクセスコントロール を作成 [Jul 13, 2014]Maildir のバックアップ を作成 [Jun 28, 2014]自宅サーバの

  • R5RS (Revised^5 Report on Algorithmic Language Scheme) 日本語訳

    back これは Suzuki Hisao さん (suzuki@otsl.oki.co.jp) による、 Scheme の仕様書 R5RS (Revised^5 Report on Algorithmic Language Scheme) の日語訳です。新山が訳したわけではありません。 1999年 3月に fj.comp.lang.lisp に投稿されたものを、新山が コンパイル、変換しました。 R5RS の日語訳としては、犬飼 大さんによる日語訳が多く出回っていますが、 新山は Suzuki さんによる版のほうが読みやすいと思います。 [Gzipped tar, 97k] r5rs-ja.tar.gz Suzuki さんによって最初に fj に投稿された TeX ソースのアーカイブ。 以下のファイルはすべてここから生成しました。 [PDF, 430k] r5rs-ja.pdf P

  • 11. 継続 | Schemeへの道

    継続(continuation)とは,式を評価している途中のある時点で,『いま得られた 値を使って,この後は何を計算するのか』を表すものである.たとえば,Scheme の関数呼びだしの式を評価する際には,まず関数とその引数を評価して,その 後で関数に引数を適用する. ==> (+ (* 1 2) (* 3 4)) ;; ==> (+ 2 12) ;; ==> 14 14 この式の場合,まず「+」,「(* 1 2)」,「(* 3 4)」を評 価したのち,「(+ 2 12)」を評価する. 各部分式の評価が左から右へ進むものとすると, たとえば,「(* 3 4)」を評価した後にするべき計算,つまり継続は, 『いま得られた値に2を加える』 である.この式の評価を完了するためには, Schemeのシステムは,この継続を知っていなければならない. 継続は,「何を評価して,その値によって次には何を行う」

  • call/cc 入門 (Coroutine with call/cc) — MAYAH.JP

    call/cc を使って簡単な Coroutine を作ります。call/cc 入門だと思ってもらえれば幸いです。 coroutine とは ここでは coroutine を「実行の途中でリターンでき、さらにそこ(実行の途中)から再開することが出来る何か」の意味で使用します。適当な疑似言語で書くと次の通り。関数の途中でのリターンを suspend(), 途中からの再開を resume() で表すことにします。 void f(co) { // co は coroutine object の意味 int i = 0; while (true) { printf("=> %d\n", ++i); co.suspend(); } } co = coroutine.create(f); co.start(); // f(co) を呼び出す => 1 co.resume(); // suspend()

  • Schemeを作ろう 第1回

    Last update 1999/08/07 Scheme処理系の制作 第1回 (C)平山直之 無断転載は禁止、リンクはフリー 誤字脱字の指摘は歓迎 ゲームとスクリプト はい、また例によって行き当たりばったりな企画です。 といっても、相当長い間私の心の大きな部分を占めていた問題ではあります。 それは言語の処理系の必要性についての問題です。 ゲーム制作、特にRPG・アドベンチャーなどの「シナリオ」の重要性が高いものを作るのに必要不可欠なものに、「イベントスクリプトの処理系」というものがあります。ネットでもこうした「イベントスクリプトの処理系」について考える人が少なくないのも、こうした必要性の表われと言えるでしょう。 しかし、こうした処理系は、それぞれのプログラマが独自の文法でプロジェクトごとに作り直しているのが現状です。これが、コードの再利用、ひいては「気楽にゲームを作る」上での大きな障害に

  • ひげぽん OSとか作っちゃうかMona- Effective C++

    プライベートなことは Notion に書いた。 Kaggle コンペ参加は1回のみ。 バレエを始めた。 週2-3回の筋トレはよく続いた。 8月にコロナに罹った。熱を出して寝込んだ。家族はほぼ無症状。後遺症はなし。 息子は中学生になり、子育ての負荷がぐっと下がった。 仕事は新しいプロジェクト。比較的忙しい1年だった。 ロシアウクライナ戦争を始めた。 肋骨を骨折した。 帯状疱疹になった。 Mosh の M1 対応。Rust で書き直す実験など。 ダッシュして膝を痛めた。老後に膝が痛いというのはこのような感じなんだろうか。確かに出不精になりそう。 ELSA Speak 始めた。 新しい習い事を始める勇気がなかった。 ceronman/loxido: Rust implementation of the Lox programming language. How to allocate obj

    ひげぽん OSとか作っちゃうかMona- Effective C++
    okhra
    okhra 2006/12/24
    継続マラソン
  • Rucheme / Scheme(subset) interpreter on Ruby

    What's Rucheme? How to get Rucheme? How to install Rucheme? How to use Rucheme?with File with Interpreter How to use Rucheme in other Ruby application? How much implemented in Rucheme? Mailing list ToDo Bibliography another... $Id: readme.txt,v 1.2 2003/09/10 10:22:32 ko1 Exp $ Wed, 10 Sep 2003 08:55:38 +0900 初稿 ChangeLog 旧 Rucheme What's Rucheme? Scheme のインタプリタです。R5RS のフルセットを目指しています。現状ではまだまだ遠いです。

  • Game Oriented Assembly Lisp - Wikipedia

    Game Oriented Assembly Lisp (GOAL, also known as Game Object Assembly Lisp) is a programming language, a dialect of the language Lisp, made for video games developed by Andy Gavin and the Jak and Daxter team at the company Naughty Dog. It was written using Allegro Common Lisp and used in the development of the entire Jak and Daxter series of games. Design[edit] GOAL's syntax resembles the Lisp dia

  • なんでも継続

    Shiro Kawai まだ下書き Schemeの特徴をあげるときに、「継続」や「call/cc」が出て来ないことはない。 でも、R5RSのcall/ccの項をいくら読んでも、どうもよくわからない。 call/ccを使えばC言語のbreakみたいなのとか、コルーチンとかいう スレッドもどきとかが書ける、というのはわかったけど、一体そういうのが書けて 何が嬉しいのか、そこんとこがピンと来ないんだ。 今、そこにある継続 プログラミングの世界の概念には、禅の公案のようなものがある。 それを説明する文章はほんの一文なのに、最初に目にする時、 その文は全く意味をなさない、暗号のように感じられる。 だがひとたびその概念を理解すると、 その概念の説明は確かにその一文で説明されているのがわかるのだ。 そんな、「分かれば分かる」という禅問答の中でも 「継続」は最も謎めいたものの一つと言えるだろう。 文献を