タグ

lispに関するokagawaのブックマーク (117)

  • TeX 言語で LISP を実装したい人必読のアレを紹介しておく - マクロツイーター

    以前の記事で、「TeX 言語を学習するための資料」について紹介した。しかし、プログラミング言語というものは、ただ座学で資料を読んでいるだけではなかなか身につかないものであり、熟達には「実際にコードを書く」という作業が不可欠である。 「自分が必要なものを自分で実装して学習する」というアプローチは多くの場合に有効である。ところが、特に「LaTeX の機能拡張のために TeX 言語を学習している」という人の場合、実際に対処する要件はそれほど複雑なコーディングを必要としない場合がほとんどであり、それゆえ、TeX 言語の「高度な技術」は結局何時まで経っても習得できないという問題があるだろう。この問題を解決する有効な手段の一つとして「当該の言語で LISP 処理系を実装する」というアプローチが昔からよく知られている。*1 LISP 処理系の実装には十分慣れているが、TeX 言語については初心者だ、とい

    TeX 言語で LISP を実装したい人必読のアレを紹介しておく - マクロツイーター
  • Learn C • Build Your Own Lisp

    Build Your Own Lisp Learn C and build your own programming language in 1000 lines of code! If you're looking to learn C, or you've ever wondered how to build your own programming language, this is the book for you. In just a few lines of code, I'll teach you how to use C, and together, we'll start building your very own language. Along the way we'll learn about the weird and wonderful nature of Li

    okagawa
    okagawa 2014/04/12
  • 「Common Lisp で日本語処理」のシリーズをはじめます : セマンティックウェブ・ダイアリー

    Common Lisp で日語処理ができないということはありません.ただ Common Lisp の規格には多言語処理が含まれていないこと,また,マシンが決まれば処理系が事実上一つしかない PerlPython と異なって数多くある Common Lisp 処理系から日語処理に適したものを選ばなければならないということがあります.それは日語処理機能がベンダーや処理系によってちょっとづつ異なるからです. 日語処理のためのコードとしては,unicode とすることに異論はないでしょう.すでにほとんどの Linux と Common Lisp 処理系は unicode を前提としています.そしてセマンティックウェブの世界でもunicodeが文字コードの条件になっています. Common Lisp の日語処理については,「実践Common Lisp」の付録に訳者らによって書かれたも

    「Common Lisp で日本語処理」のシリーズをはじめます : セマンティックウェブ・ダイアリー
  • Island Life - Land of Lisp

    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 - Land of Lisp
    okagawa
    okagawa 2013/02/11
  • サービス終了のお知らせ - NAVER まとめ

    サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。

    サービス終了のお知らせ - NAVER まとめ
    okagawa
    okagawa 2012/04/28
  • http://shibuya.lisp-users.org/2011/10/23/tt73/

  • 48時間でSchemeを書こう - Wikibooks

    Web上にあるほとんどのHaskellチュートリアルは言語についてのマニュアルのような教え方をしようとしているようです。それらには言語の文法、概念が少し載っていて、読者に対話環境でいくつかの簡単な関数を作るように指示します。よく機能する有用なプログラムの書き方は大抵最後にまわされるか、そもそも省かれていたりします。 このチュートリアルは違う方針を取ります。コマンドライン引数解析から始めて、完全に機能するR5RS Schemeのかなり大きなサブセットの実装まで進みます。道すがら、Haskellの持つI/O、mutable state、dynamic typing、エラー処理、そして構文解析機能を学びます。このチュートリアルを終える頃には、あなたはHaskellとScheme両方がかなり良くわかるようになっているはずです。 このチュートリアルの対象読者は主に以下の2種類です。 LispかSch

  • 本の抄録とインタビュー : The Joy of Clojure

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    本の抄録とインタビュー : The Joy of Clojure
  • ((Pythonで) 書く ((さらに良い) Lisp) インタプリタ)

    ((Pythonで) 書く ((さらに良い) Lisp) インタプリタ) Peter Norvig / 青木靖 訳 前のエッセイでは、90行のPythonコードでシンプルなLispインタプリタを書く方法を示した(lis.py)。このエッセイでは、3倍込み入っているが、より完全なlispy.pyを実装しよう。それぞれの節で1つの機能追加を扱っている。 (1) 新しいデータ型 - 文字列、論理型、複素数、ポート Lispyへの新しいデータ型の追加は3つの部分からなる。データの内部表現、それを扱う手続き、読み書きのためのシンタックスだ。ここでは4つの型を追加する(入力ポート以外はPythonのネイティブ表現をそのまま使う)。 文字列 文字列リテラルはダブルクォーテーションで囲まれる。文字列の中で \n は改行を、\" はダブルクォーテーションを意味する。論理型  構文 #t と #f はTrue

  • ((Pythonで) 書く (Lisp) インタプリタ)

    Peter Norvig / 青木靖 訳 このページには2つの目的がある。コンピュータ言語の実装について一般的な記述をすることと、Lispの方言であるSchemeのサブセットをPythonで実装する具体的な方法を示すことである。私はこのインタプリタをLispy (lis.py)と呼ぶ。何年か前に私はJavaとCommon LispでSchemeインタプリタを書く方法を示した。今回の目標は、アラン・ケイが「ソフトウェアのマクスウェル方程式」と呼んだところの簡潔さと取っつきやすさを可能な限り実現するということだ。 SchemeのサブセットLispy の構文と意味論 コンピュータ言語の多くは様々な構文的な決まり(キーワード、中置演算子、カッコ、演算子優先順、ドット記法、セミコロンなど)を持っているが、Lisp族言語の1つとして、Schemeの構文はすべてカッコ付きの前置記法であるリストを基とし

  • 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
    okagawa
    okagawa 2010/10/25
  • Let Over Lambda

    Let Over Lambda (ISBN 978-1-4357-1275-1, 376+iv pp.) is one of the most hardcore computer programming books out there. Starting with the fundamentals, it describes the most advanced features of the most advanced language: COMMON LISP. The point of this book is to expose you to ideas that you might otherwise never be exposed to. This book is about macros, that is programs that write programs. Macro

    okagawa
    okagawa 2010/10/13
  • not found

    okagawa
    okagawa 2010/09/17
  • NuでMac GUIプログラミング Twitterクライアントを作ってみよう

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    NuでMac GUIプログラミング Twitterクライアントを作ってみよう
  • Common Lisp the Language, 2nd Edition

    CMU Artificial Intelligence Repository Common Lisp the Language, 2nd Edition This document contains the complete text of the book Common Lisp the Language, 2nd edition by Guy L. Steele, Thinking Machines, Inc. Digital Press 1990 paperbound 1029 pages ISBN 1-55558-041-6 $39.95 in html format. To use it, start with the Title Page or Table of Contents. A searchable index interface to the book is unde

    okagawa
    okagawa 2010/03/28
  • Clozure CL

    Important Notice Although this Trac will remain online for the foreseeable future, Clozure CL's source code and issue tracker are now on GitHub: ​http://github.com/Clozure/ccl Please don't make new tickets here on the Trac; use the GitHub site instead. Thank you. See OldWikiStart for the previous contents of this page.

    okagawa
    okagawa 2010/03/28
    Cocoaが使えるCommonLisp処理系
  • Higher-Order » Blog Archive » Understanding Clojure’s PersistentVector implementation

    One of the unique features of Clojure is that the core data structures are persistent (immutable with efficient structural sharing). This includes data structures Vector and Map that are mutable in most other languages. To be useful, operations on persistent data structures need to have performance characteristics that are similar to their mutating counterparts; e.g., the cost of random access on

  • 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 - マップリテラル
  • Buzz by Rui Ueyama from Buzz

    Lispはなんとなくすごそうというイメージがあるけど、実際にはそれほどでもない。90年代くらいまではGCがあるというだけで、生産性X倍といえたのかもしれないが、いまは良い他の言語がたくさんあって、言語の日常的な使用例で差が特にあるとは思えない。 現代のプログラミングでは充実したライブラリの存在がますます重要になってきている。その点マイナー言語は苦労することが多くて、PythonJavaでさっさと書けることにすごく時間がかかったりする。プログラミング言語はコンピュータに対する命令であると同時に、ほかのプログラマに読んでもらうための文字通りの言語だ。自分でいろいろ作るのも楽しいけど仕事でどっちを使うかというと、みんなが読み書きできて早く終わる方がいい。 プログラマの費やす労力のうちプログラミング言語そのものにかかっているのは一部にすぎない。プログラミング言語は一番目立つ位置にある――字面その

  • Clojure

    InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architect. View an example

    okagawa
    okagawa 2010/01/31
    Rich Hickey's presentation on Clojure at JVM language summit 2008