タグ

schemeとlispに関するjjzakのブックマーク (116)

  • SCSH(Scheme Shell)スクリプト入門 | OSDN Magazine

    先月Daryl Leeが「It’s time to learn Scheme」という記事の中で、C++のコードを生成する例を挙げてScheme言語の紹介をしていた。稿では、SCSH(Scheme Shell)で書いた実用的な例――複数のファイル内のテキスト検索/置換、ファイルのソート、CSVファイルからHTMLファイルへのデータ変換――を紹介する。 SCSHは、Schemeプログラミング言語をベースとしたスクリプト言語だ。shやbashの長いスクリプトに置き換わることと、Scheme言語をシェルスクリプト作成により向いたものに拡張することを目的として、Olin Shivers氏によって作成された。 SCSHはUnixシステム(Linux、BSD、Cygwin)にLisp的なインターフェースを持たせるもので、SCSHでは正規表現のDSL(ドメイン固有言語)とawkのDSLを利用することがで

    SCSH(Scheme Shell)スクリプト入門 | OSDN Magazine
    jjzak
    jjzak 2008/06/04
    SCSH(Scheme Shell)スクリプト入門
  • Gaucheをはじめてみませんか?

    Gaucheとは 連載では、今注目のプログラミング言語「Gauche」について解説しながら、簡単なWebアプリを作っていきます。Gaucheとは、ハワイ在住の日ハッカー「川合 史朗」さんが作ったLispの一種である、Schemeの処理系です。オープンソースで開発されています。 Gaucheの特徴は、Perlのように気軽に使える軽い処理系でありながら、正規表現、CommonLisp風オブジェクトシステムなど、Scheme標準にはない拡張機能や豊富なライブラリを持ち、実用的なプログラミングが行える点です。 最近「Gauche」に関するも出版され、「第4回:都内大手3書店の3月ベスト3発表!(http://www.thinkit.co.jp/article/49/4/2.html)」でも紹介されているように売れ行きも好評です。それは、なぜでしょうか? 筆者はLisp、特にSchemeの持

  • MapReduceの本質 - 中しまのメモ

    また一つ、『計算機プログラムの構造と解釈』から面白いネタが飛び出してきた。 計算機プログラムの構造と解釈 一見なんでもないようなschemeの例題から、GoogleのIndex生成アルゴリズムとして名高いMapReduceの概要を理解するための機会を得た。 あの例題の質は何だったのか? きっかけは、先日の「プロセスの抽象化(シーケンスへの作用)」というエントリーに関して、会社の先輩から興味深い指摘をいただいたことだった。エントリーの内容は、抽象化によって「木構造の要素に対して作用する手続き」を改善するという話だが、その改善前後の手続きをもう一度掲載する。 【A】改善前の実装 (define (sum-odd-squares tree) (cond ((null? tree) 0) ((not (pair? tree)) (if (odd? tree) (square tree) 0))

    MapReduceの本質 - 中しまのメモ
  • Lua/組み込み - assari

    Captcha security check mokehehe.com is for sale Please prove you're not a robot View Price Processing

  • Lua/組み込み - assari

    Make 24 monthly payments Pay 0% interest Start using the domain today. See details

    Lua/組み込み - assari
  • Lua/組み込み - assari

    Captcha security check mokehehe.com is for sale Please prove you're not a robot View Price Processing

  • はてなブログ | 無料ブログを作成しよう

    仲春はゆっくりと通り過ぎる 寝て起きたら3月である。今日の東京の最高気温は20度を超えている。正月のインフルエンザが完治して、これでやっと健康で文化的な年度を始められるぞ、と意気込んだのも束の間、今度は原因不明の高熱を出して1週間寝込んだ。 脳がグツグツ煮える音が聴こえそうなほど…

    はてなブログ | 無料ブログを作成しよう
  • Arc: Table of Contents

    Table of Contents Basics The foundation: a guide to the core axioms of the language. Assignment and places: how places (generalized variables) are used in Arc. Boolean operations Iteration: Looping and iteration Conditionals Evaluation List operations Macros Math Predicates String operations Table operations Type operations Variable operations OS functions Networking Atomic operations: performing

  • Arcに関する手短なチュートリアル:okshirai:So-net blog

    [これはArcに関する手短なチュートリアルである。プログラミングの経験はあ まりなく、Lispの経験はまったくない読者を想定している。したがって、Lisp に対するイントロダクションでもある。] http://www010.upp.so-net.ne.jp/okshirai/tut-j.txt

    jjzak
    jjzak 2008/03/24
    Arcに関する手短なチュートリアル
  • SXML

    この文書は Oleg Kiselyov 氏による SXML revision 3.0 仕様書を勝手に翻訳したものです。 原著の最新版は http://okmij.org/ftp/Scheme/SXML.html にあります。 仕様として正式なのはあくまで原著です。 この文書には翻訳上のあやまりがあるかもしれません。 御自身の責任で御利用ください。 このページは SXML revision 3.0 の仕様を定める。 SXML は XML 文書の抽象構文木であり、 XML Infoset の S 式による具象表現でもある。 SXML は、一般的な木構造をしていることにより、 問い合わせ、変換用のコンパクトなコンビネーターライブラリを備えることができた。 SXML の仕様書の原はそれ自体 SXML で書かれている。 この Web ページはその SXML コードを適当な「スタイルシート」で 変換

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

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • http://ocw.kyoto-u.ac.jp/jp/engineering/course07/index.htm

    国際交流センター 日語入門初級 日仏交流150周年・京都大学創立111周年国際フォーラム 国際フォーラム ビデオ→ 動画で見る京都大学 ・What is Life? The Next 100 Years of Yukawa's Dream Nishinomiya-Yukawa International & Interdisciplinary Symposium 2007 October 15(Mon)〜20(Sat) 2007 CO-OP Inn Kyoto Conference Hall →詳細 →シンポジウム詳細PDF →シンポジウム ビデオとPDF OCW関連講義 全学共通科目 生命とは何か?(村瀬雅俊准教授) 京都大学オープンコースウェア総長懇談会 日時2007年10月30日(火) 場所:京大会館

    jjzak
    jjzak 2008/02/28
    京都大学のオープンコースウェアの講座
  • コンビネータメモ - ボクノス

    メモメモ。 Z Yをη変換するとZ Y f = f (Y f) Z f = f (λy.Z f y)η変換ってなんだかよくわからんけど、λを一個追加(削除?)することらしい。 とりあえずη変換してみよう。 (lambda (x) x) ; ↓ η変換 (lambda (y) ((lambda (x) x) y)) 一回lambdaで囲んでも意味は変わらない。 η変換すると、理論上での計算の意味合いは全く一緒だけど、計算機上では評価順序が変わるのがポイントらしい。 不動点オペレータ - ボクノスコレネ。 これが純粋なYコンビネータ。 Y = λf.(λx.f (x x)) (λx.f (x x))外側は意味が無いので、一番内側の(x x)をaでη変換すると、(λa.(x x) a)。 代入する。 Z = λf.(λx.f (λa.(x x) a)) (λx.f (λa.(x x) a))おぉ

    コンビネータメモ - ボクノス
  • http://kaiunix.cs.shinshu-u.ac.jp/Lesson/ProgLangT/2007/LambdaCaluculus.html

  • 2008-02-01

    id:poco_ryun の似顔絵を想像しながら書いてみた。 節子それ似顔絵やない、ただの妄想や。 ポイント 大きくてクリクリした目 長いまつげ マスカラでおめかし アイラインのなんとか セクシーな唇 どうですか > テスト期間だし、なんか作っとかないとね。 ということで、最近話題のYコンビネータとかそこらへんの話に絡めて、ラムダ計算のインタプリタ作ってYコンビネータ動かそうぜ、っていう。前に書いたラムダ計算インタプリタは、データの形式を入力形式そのままで引き回していたので、割とカオスなことになったので、今回はパーサ、構文木、など適当に部品化してみた。 記法 λxyz. xz(yz) <==> '(λ (x y z) x z (y z)) Gaucheは全角文字がシンボルとして使えるのでスバラシイですね! β簡約 Pでラムダ式をパースして、BBでいけるところまでベータ簡約しつづける(発散す

    2008-02-01
  • 2008-02-01

    Haskell のリストはシンタックスシュガーだらけ a = [] b = [1] c = [1,2] d = [1..10] e = [1..] f = [1,3..] g = [ x * x | x <- f ] 逆に分かりにくいので書き直す a = [] b = (:) 1 [] c = (:) 1 ((:) 2 []) d = ff 10 where ff 0 = [] ff i = (:) 1 (map (+1) (ff ((-) i 1))) e = (:) 1 (map (+1) e) f = (:) 1 (map ((+) ((-) 3 1) f) g = map (\x->x*x) f うん、なるほど ついでに map と同じ事をする関数 mymap を作ってみる mymap f [] = [] mymap f ((:) x xs) = (:) (f x) (mymap

    2008-02-01
  • Arc Forum | Arc

    install | tutorial | forum This site is about Arc, a new dialect of Lisp. Arc is designed for exploratory programming: the kind where you decide what to write by writing it. A good medium for exploratory programming is one that makes programs brief and malleable, so that's what we've aimed for. This is a medium for sketching software. Arc is unfinished. It's missing things you'd need to solve some

  • archackerの日記

    >>aaa<< ddddd green thread, immutable, Operating System..... ぐるぐる回る。 beamとかいうVMが萌えの対象か??? だとすればその上に言語を構築すればいいのか??? こないだツンドクしてたガウディをぱらぱらみてたら、MOZARTって、Lispと同等の力を持っていそうだ。 カーネル言語とその拡張という形でいろいろなモデルを実現しているので、自由にDSLがかけそう。 ただ、記述したDSLはMOZARTではないかもしれないので、そうだとすればLispより弱いかも。 Lispはどう転んでもLispだし。 Erlangの処理系を少し勉強してみるか。後アクターモデルと。 モデルとパフォーマンスの肝さえわかれば、LispかHaskellが最強だと思える。 OSと言語って、行き着く先の2大巨頭で、それぞれ一応別分野に扱われていた気がするのだ

    archackerの日記
  • Schemeでラムダ計算

    Schemeとか関数型言語を使う人は、ラムダ計算が好きだったりする。 実際にラムダ計算をするのは別に好きではないと思うけど。 日にも、 ラムダ算法騎士団の 総山 があったりする。 Schemeのlambdaでも実際のlambda計算みたいな事ができる。 ; *** car、cdr、cons *** ; car、cdr、consが、lambdaだけで書ける事は、わりと有名。 ; (car、cdr、consが書けるというのは、 ; (eq? x (car (cons x y))) ; (eq? y (cdr (cons x y))) ; が成立するという事。) ; 次のようになる。 (define _cons (lambda (x y) (lambda (z) (z x y)))) (define _car (lambda (z) (z (lambda (x y) x)))) (defin

  • 新千葉 ガーベージ・コレクション

    高位合成コンパイラ から データ・フロー・コンパイラへ Polyphony では pipeline というキーワード(もっと正確な単語を考えないと)、で処理をパイプライン化することが出来るようになった。これはいつ入ったか忘れたけど、v0.3.6 からか?v0.3.5 が 2019/5/9 で v0.3.6 が 2019/5/30 でそもそも現バージョンはパンデミック前の 4年前。そろそろちゃんと v0.3.7 出さないとね。 pipeline Polyphony は単なる高位合成ではなく、データ・フローをかなりしっかりおっている。なので、データ・フロー・コンパイラと呼びたい(勝手に呼んでいるだけ)。どれくらいしっかりおっているかというと、pipeline 化する時に for 文の展開をかなり真面目にやっている。 例えば、for 文による多重ループ。これがあると単純には pipeline

    新千葉 ガーベージ・コレクション