タグ

Lispに関するpoad1010のブックマーク (8)

  • Overview - Lisp interpreter in Rust

    Overview The lisp-rs project implements an interpreter, in Rust, for a small subset of Scheme, a Lisp dialect. The main goal of this document is to make sure the reader understands the inner details of how the interpreter was implemented. The project was inspired by Peter Norvig's article (How to Write a (Lisp) Interpreter (in Python)) and the book Writing An Interpreter In Go. This document serve

  • Lispの広い普及を願って - Qiita

    はじめに 私はLispからは引退、老兵は去るべきと思っていました。カレンダーも満杯となっているのを見て安堵していました。しかし、なぜか1日分だけ未投稿のまま残ってしまっています。どうも放置できずにしゃしゃり出ることにしました。 親しみやすいLispを目指して まつもとさんに悪気はないのでしょう。単なる例だと思います。しかし、Lispがマイナーな状況にあることは認めざるを得ません。多くの人に知ってもらい親しみを感じてもらうこと、そして若い新規ユーザー数が増加していく必要があるように思います。中学生、高校生くらいの人たちにLispの面白さを知ってもらうのが近道だろうと考えました。そしてラズパイに注目しています。安価ですのでお小遣いでも買うことができます。2016年から開発を継続しているEasy-ISLispはラズパイをメインと考えています。 簡単なインストール Easy-ISLispはOSSで

    Lispの広い普及を願って - Qiita
  • JVM (Java Virtual Machine) on Emacs - Thanks Driven Life

    メリークリスマス!記事は Emacs Advent Calendar 2019 の25日目の記事です。 まずはこちらをご覧ください。 java コマンドと同様、Emacs でも "Hello, World!" を出力していますね。 HelloWorld.java を書き換えてコンパイルしたあとも、java コマンドの結果と同じ文字列を出力しています。 これはどういうことかというと、 純度 100% Emacs Lisp で .class ファイルを解析・実行しています。 つまり Emacs が JVM となった瞬間です。おめでとうございます 🎉 当然ながら JVM 全てをカバーできているわけではなく、基的な部分だけを実装してあります。 今後も開発は続くかもしれないし、続かないかもしれません。 記事の概要 開発に至った経緯 開発のおはなし 1. .class ファイルの解析 1-1.

    JVM (Java Virtual Machine) on Emacs - Thanks Driven Life
  • XMLのつぶし方 - golden-luckyの日記

    昨日までの話を整理します。 ドキュメントのXMLによる表現は、プログラムの抽象構文木に相当し、ドキュメントの意味構造を示したものであった なので、XMLの構文をS式で表せた すると、XMLの要素名がLispにおける関数、要素がその関数への引数に見えた そこで、要素を材料としてシリアライズした文字列を返すように、要素名で関数を定義した。その際、要素の中には別の要素名を持つ要素が入れ子になっていることがあるので、それらは再帰的に処理するように定義した。 こうして、ドキュメントのXMLをLispの評価器で直接実行できた そして、そのためのフレームワークとして、xml2texという自作のアプリケーションを紹介しました。 XMLからTeXを生成する専用機に見える名前が付いているけど、これは命名を失敗したと思っていて、xml2texは、いわば、XMLをつぶす機械を作る機械です。 XMLをつぶして好きな

    XMLのつぶし方 - golden-luckyの日記
  • SKK Openlab - トップ

    SKK Openlab とは 佐藤雅彦氏 (現京都大学名誉教授) によって 1987 年に設計、開発された Emacs 用の日本語入力プログラム SKK を GPL に基づき更に拡張しようとするラボです。 SKK は `Simple Kana to Kanji conversion program' の略であり、その名前に `Simple' が付いていることから、これを拡張しようとする動きには批判が付いて回りますが、このラボではこういう批判に捕われずに `Simple, but optionally expandable and still fast!' を目標に開発を行います。 主なニュース SKK Tools 1.3.4 リリース (2018-08-09) elisp: Daredevil SKK 16.2 (蕨岱 Warabitai) をリリースしました。(2017-03-04) e

  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

  • カリー化 - Wikipedia

    カリー化 (currying, カリー化された=curried) とは、複数の引数をとる関数を、引数が「もとの関数の最初の引数」で戻り値が「もとの関数の残りの引数を取り結果を返す関数」であるような関数にすること(あるいはその関数のこと)である。クリストファー・ストレイチーにより論理学者ハスケル・カリーにちなんで名付けられたが、実際に考案したのはMoses Schönfinkelとゴットロープ・フレーゲである。 ごく簡単な例として、f(a, b) = c という関数 f があるときに、F(a) = g(ここで、g は g(b) = c となる関数である)という関数 F が、f のカリー化である。 関数 f が の形のとき、 をカリー化したものを とすると、 の形を取る。uncurryingは、これの逆の変換である。 理論計算機科学の分野では、カリー化を利用すると、複数の引数をとる関数を、一つ

  • 凄い。JavaScript上で動作するLisp·Javathcript MOONGIFT

    JavathcriptはJavaScript上で簡単なLispを実行するプロジェクトです。 最近、Webブラウザ上でJavaScript以外の言語を動かそうとするプロジェクトが熱くなっています。DartやCoffeeScript、RubyPHPなどがありますがそこに新しい仲間の登場です。JavathcriptはJavaScriptで実装されたLispエンジンです。 デモコードです。 実行結果です。 Canvasを使うデモです。 Emacsに慣れ親しんでいる人であればしょっちゅう目にする言語と思われますが、括弧が多く特徴的なので最初はとっつきが悪く感じるかも知れません。関数、スコープ、文字列、数字、オブジェクト、Lisp in Lisp、グラフィックスの描画といった機能があります。 JavathcriptはJavaScript製のソフトウェア(ソースコードは公開されていますがライセンスは明

    凄い。JavaScript上で動作するLisp·Javathcript MOONGIFT
  • 1