タグ

Lispとschemeに関するhikazohのブックマーク (8)

  • JavaScriptにSchemeを実装する - Qiita

    この記事は完成していません 更にコードに誤りがあったりして修正されていなかったりするので、一度整理されるまで落とすかもしれません この記事の内容 プログラマが美しい言語を求めて最終的にたどり着く言語、LISP。 プログラミング言語を作るということは、難しいと思われがちですが、実際のところ読み取った文字列を解釈するプログラムを作成するだけで独自の言語を作ることができます。 ただし、プログラミング言語として利便性を実用レベルまで持っていくのは通常、容易ではありません。しかし、Schemeであれば比較的実装が簡単かつ高度な言語を作ることができます。 Schemeはシンプルさとパワフルさの両方を兼ね備えたLISP方言の言語であり、ミニマルな仕様から世界で最も実装される言語です。今回はそんなSchemeをJavaScriptに実装します! 最終的な目標は、ブラウザにCUIを表示して対話形式でSche

    JavaScriptにSchemeを実装する - Qiita
  • リストの作成

  • Scheme で最速の Fizz Buzz を - 主題のない日記

    プログラマの最低限の能力を測る試験として Fizz Buzz という問題が知られている。 基的には 1 から 100 までの数値を表示するのだが、 数値が 3 で割りきれるときは数値のかわりに Fizz と表示する 数値が 5 で割りきれるときは数値のかわりに Buzz と表示する 数値が 3 と 5 の両方で割りきれるとき (つまり 3 と 5 の最小公倍数である 15 で割りきれるとき) は数値のかわりに FizzBuzz と表示する という規則を実現するプログラムを書くというものだ。 しばしば技巧的な要素を盛り込んで遊ぶ題材としても用いられる。 これを Common Lisp でなるべく高速に処理しようと試みている記事を先日読んだ。 Common Lispで最速のfizzbuzzを実装した話 - gos-k’s blog 要するに、実行するよりも前に文字列を組み立てておき、実行時に

    Scheme で最速の Fizz Buzz を - 主題のない日記
  • 非公式PDF版SICPの全訳を公開しました - minghaiの日記

    また1年振りの更新となりかけました。 Andres Raba氏により2011年から開発が続けられている、非公式PDF版SICPを全訳しました。 ファイル 恒例のgithubです。 https://github.com/minghai/sicp-pdf jsicp.pdfが日語版の体です。 ejsicp.pdfはデバッグ用の日語・英語併記となります。 ライセンスはCC BY-NC-SA 3.0です。商業使用は認められないことにご注意下さい。 SICPとは何か? SICPとはMITが作成した何も知らない新入生向けのプログラミングの教科書です。 プログラミングと強調したことには理由があります。このは良くあるプログラミング言語の教科書ではなく、あくまでもプログラミングを勉強するための教科書だからです。このことはこのの中でも、最初の前書き、序文にて何度でも繰り返し強調されています。筆者達が

    非公式PDF版SICPの全訳を公開しました - minghaiの日記
  • Unlispとか言うものを作って遊んでいた - Line 1: Error: Invalid Blog('by Esehara' )

    今日のまめ知識 ドヤにある扇風機のコンセントはこんな形をしている。 概要 言語処理的なものを作る上において、最小限のサブセットとして、TokenizeとParse、そしてそれに付随する環境について一通り学ぶことのできる最小のLispというものを考えていた。そして、それをプロトタイピングした結果、Unlispというものができたので、それを共有する。 はじめに いろんなをかいつまみながら勉強していたりしていると、「ウォー、言語を実装しなければ、じゃないと面倒だー」ということになったりするのだけれども、実際に作ってみると、だいたい付け焼き刃であったり、どうしようもないことで頓挫したりする。なので、「とりあえず最小の言語っぽいものを作るとしたらどんな風になるのか」みたいなことを、Rubyで考えたりしていた。できたのは、Specで見せるとこんな感じ。 上の画像、間違いがあって、正確にはfib 7の

    Unlispとか言うものを作って遊んでいた - Line 1: Error: Invalid Blog('by Esehara' )
  • 「Gaucheでメタプログラミング」関連の最新 ニュース・レビュー・解説 記事 まとめ - ITmedia Keywords

    Gaucheでメタプログラミング(5): 継続を使ったコントローラを作る Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部)(2009/2/20) Gaucheでメタプログラミング(4): Gaucheでテンプレートエンジンを作る Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部)(2009/2/19) Gaucheでメタプログラミング(3): GaucheでRDBプログラミング Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部)(2009/1/16) Gaucheでメタプログラミング(2): Gaucheでプログラミング Lis

  • ちょっと変わったLisp入門 - @IT

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 「Gaucheでメタプログラミング」と題して、これからGaucheを使ったプログラミングの連載を書かせていただきます吉田裕美です。よろしくお願いいたします。 Gaucheとは 今回の連載で取り上げるGaucheはハワイ在住の日ハッカー、川合史朗さんが作った、Lispの一種であるSchemeのオープンソース処理系です。 Gaucheの特徴は、PerlRubyのように気軽に使える軽い処理系だということです。Perl同様に正規表現や文字列操作が行え、ちょっとしたツールの作成にも使えます。しかし、非常に強力なCommon Lisp風オブジェクトシステムを持ち、Lispならではのマクロに加え、Webやグラフィックスなどの豊富なライブラリも持っているので実用

    ちょっと変わったLisp入門 - @IT
  • Island Life - クロージャの比較、あるいは「同じ」とはどういうことか

    About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...ループを使わずに1から100までMore... 最近のコメント shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポのシューリンガン (2022/04/02)ベアトリーチ

    Island Life - クロージャの比較、あるいは「同じ」とはどういうことか
  • 1