タグ

lispに関するmukakenのブックマーク (43)

  • bug#70209: 30.0.50; describe key + lambda too poetic

    unofficial mirror of bug-gnu-emacs@gnu.org help / color / mirror / code / Atom feed* bug#70209: 30.0.50; describe key + lambda too poetic @ 2024-04-05 4:47 No Wayman 2024-04-05 5:07 ` No Wayman 0 siblings, 1 reply; 8+ messages in thread From: No Wayman @ 2024-04-05 4:47 UTC (permalink / raw) To: 70209 GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0) of 2

    mukaken
    mukaken 2024/04/06
    Emacs のバグ: 記述キーとラムダが詩的すぎる
  • Random Musings

    This question is always asked. My thoughts are a little bit different than what I've read online. I think the real reason may be because of the fact that there is a standard. Yes, you read that correctly. The great benefit of a standard is that no matter what implementation you use, if they follow the standard, and your code follows the standard, you should have portable code between implementatio

    mukaken
    mukaken 2024/02/15
    "Common Lisp が最も人気のあるプログラミング言語ではないのはなぜですか?"Why is Common Lisp not the Most Popular Programming Language?
  • Powerful Scheme interpreter in JavaScript | LIPS Scheme

    ;; &() is object literal used with quasiquote (let ((obj `&(:name "LIPS Scheme" :version ,lips.version))) ;; you can access JavaScript properties ;; with dot notation, print is display + newline (print (string-append obj.name " " obj.version)) ;; you can mix scheme and JavaScript (setTimeout (lambda () (alert (JSON.stringify obj))) 1000) #void) With LIPS you can mix Scheme and JavaScript. You can

    Powerful Scheme interpreter in JavaScript | LIPS Scheme
    mukaken
    mukaken 2023/12/31
    JavaScript で書かれた強力な Scheme ベースの Lisp インタープリタ
  • プログラミング言語における再帰の初出はLISPではなかった - Arantium Maestum

    ポール・グレハムの記事の一つにWhat Makes Lisp Different?というものがある: www.paulgraham.com ポール・グレハムらしくよく書かれていて、C言語などと比較した場合のLispの特徴をうまく捉えているように思う。 その中の一つが Recursion. Recursion existed as a mathematical concept before Lisp of course, but Lisp was the first programming language to support it. (It's arguably implicit in making functions first class objects.) こうある通り、私も今まで深く考えたこともなく「プログラミングにおける再帰はLispが由来」と考えていたのだが、前回の記事を書く

    プログラミング言語における再帰の初出はLISPではなかった - Arantium Maestum
    mukaken
    mukaken 2023/11/04
    “1950年代のAI研究の一環として、RAND CorpでLogic Theory Machineという定理証明系が実験的に開発されていた。そのLogic Theory Machineを実装するための言語として作られたIPL”
  • Lispを実装したくなったら読んでほしい本6選 - Arantium Maestum

    言語実装 Advent Calendar 2022の1日目の記事として書いた。 Lisp Advent Calendar 2022でも枠が空いていたのでダブル投稿。 プログラミング言語を実装してみたい!と思ったらまずは簡単なLispインタプリタから始めるというのは一つの王道だと思う。 複雑な構文解析は要らず最低限の再帰下降法パーサで手に入る構文木を、そのまま再帰的な関数で実行していくtree walking評価器。メモリ確保もヒープにそのまま置いていって、メモリ解放は実装言語のGCに任せるなりプログラムの終了時までやらなかったり。そんなインタプリタを作る経験から得られるものは非常に大きく、どんなプログラマでも一回は試してみてもいいのではないか?と思っている。(個人的な感想です) そんな簡易Lispを実装してみて沼にハマってしまい、より精緻な言語処理系を作りたいと思ったとする。その時点で:

    Lispを実装したくなったら読んでほしい本6選 - Arantium Maestum
    mukaken
    mukaken 2022/12/01
  • 新しいプログラミング言語を学ぶとき、簡単なLisp処理系を作るという話

    私は新たにプログラミング言語を学ぶとき、しばしば簡単なLisp処理系を作ってみます。いくつかの言語で取り組んでいるうちに、このLisp処理系群に小さな共通基盤も出来上がったりしているので、これを紹介しつつ、Lisp処理系の実装がプログラミング言語の学習にどう丁度いいのかを紹介します。 Rosetta Lisp 自作のLisp処理系群を、ロゼッタ・ストーンから名を借りてRosetta Lispと呼んでいます。Rosetta Lispは以下のような特徴を持ちます。 一定の共通した言語仕様・VMの仕様に基づいて動作する Rosetta Lispは (Rosetta Lispに準拠するLisp処理系群は)、いずれも共通した命令セットのVM上でLispプログラムを実行するように実装されています。 Lispの簡単な実装では、よくインタプリタ形式が採用されます。kanaka/malやrui314/min

    新しいプログラミング言語を学ぶとき、簡単なLisp処理系を作るという話
    mukaken
    mukaken 2022/11/24
  • Lisp Compiler

    Introduction This page examines the earliest surviving Lisp compiler, written by Timothy Hart and Michael Levin around 1961. To avoid repetition of phrases like “the compiler”, we will use the abbreviation “HLC” (for “Hart–Levin Compiler”) to refer to it. The HLC was introduced in M.I.T. AIM-039 and documented more fully in the LISP 1.5 Programmer's Manual by McCarthy et al. For information about

    mukaken
    mukaken 2022/06/02
  • PHP式プログラミング入門

    式、書いてますか? 私は書いています。この記事を書いているみなさまも、おそらく書いているのではないでしょうか。 稿では私が大好きな式プログラミングというスタイルのコーディングテクニックについて紹介します。 初めに申し上げたいのは、この記事の内容をお読みいただくことでPHPやプログラミング言語についての知識をある程度まで理解することはできますが、この記事が目指すポイントはある種のパズルであり、非実用的なテクニックでもあります。 しかし、私は思うのです。実用的なテクニックとは日常と過剰の間のどこかにあるのではないかと。 雑に眺めるPHPの風景 みなさまは普段、PHPのコードの規則について意識して書いてますでしょうか。 それをアバウトに表現すると、以下のように表現できるでしょうか。 .phpファイル内のテキストはそのままHTMLとして出力される スクリプトは<?php ... ?>または<?=

    PHP式プログラミング入門
    mukaken
    mukaken 2022/01/22
    おもしろかった〜!😆“表にするとPHPとLispはこんなにそっくり…「PHPはLispの一種!」”
  • LispKit Lisp処理系の実装 序 - Arantium Maestum

    純粋関数型Lisp方言であるLispKit LispのインタプリタとSECD抽象機械の機械語へのコンパイラを作成する。 タネはHendersonの「Functional Programming - Application & Interpretation」で、このに載っているISWIMやPASCALのコードを大体なぞるようにPythonで書いていく。(最近出た「コンパイラー原理と構造ー」でもSECDマシンへのコンパイルの話題が出ているらしいがまだ届いていないので未確認・・・) 例によって長くなるので複数の記事に分ける。 流れとしては以下のようになる: LispKit Lispの紹介 (記事) パーサとAST インタプリタ 前編 後編 SECD抽象機械の実装 1 2 3 SECD機械語へのコンパイラ SECD抽象機械ガベージコレクション LispKit Lisp LispKit Lis

    LispKit Lisp処理系の実装 序 - Arantium Maestum
    mukaken
    mukaken 2021/09/26
    “純粋関数型Lisp方言であるLispKit LispのインタプリタとSECD抽象機械の機械語へのコンパイラを作成”
  • シェルスクリプトでLISP処理系を作ってみた

    2022-01-22追記】簡易版のLISP処理系をPOSIX準拠シェル(+sed)で作成する様子の動画を作成してみました. この記事は,筆者がシェルスクリプトで簡易実装している純LISP処理系の開発についてまとめたものです.『PureLISP.sh』と呼んでおり,次のGitHubリポジトリでパブリックドメインとして開発・公開しています. 基的には,上記リポジトリのREADMEの内容を記事として膨らませたような構成です.このことから,今回の記事内容に関するコメント等だけでなく,『PureLISP.sh』そのものへの御意見等(GitHubのIssues/Forkを含む)も受け付けます.ただし,開発の経緯・目的から,次の3点は維持します. 最低限必要な要素で構成されたLISP処理系を志向すること POSIX準拠のシェルスクリプトで実装すること パブリックドメインにて開発・公開すること なお,

    シェルスクリプトでLISP処理系を作ってみた
    mukaken
    mukaken 2021/05/24
    新たなLISP処理系が!“筆者がシェルスクリプトで簡易実装している純LISP処理系の開発についてまとめたもの”
  • GitHub - phel-lang/phel-lang: Phel is a functional programming language that transpiles to PHP. A Lisp dialect inspired by Clojure and Janet.

    mukaken
    mukaken 2021/01/29
    “Phel is a functional programming language that compiles to PHP. It is a dialect of Lisp inspired by Clojure and Janet. ”
  • The Phel Language

    Phel is a functional programming language that compiles to PHP. It is a dialect of Lisp inspired by Clojure and Janet. Community Feel free to ask questions and join discussions on the Phel Gitter channel. Features Built on PHP's ecosystem Good error reporting Persistent Datastructures (Lists, Vectors, Maps and Sets) Macros Recursive functions Powerful but simple Syntax REPL Why Phel? Phel is a res

    The Phel Language
    mukaken
    mukaken 2021/01/29
    "functional programming language that compiles to PHP. It is a dialect of Lisp inspired by Clojure and Janet."PHPにコンパイルされる関数型言語。ClojureとJanetに影響をうけたLisp方言。
  • Lispはなぜ覇権を握らなかったのでしょうか?

    回答 (9件中の1件目) 広く普及しているとは言い難いですが、今でも新しい製品に採用されることはあります。 数年前、私はあるiOSとAndroid向けのゲーム開発に携わっていました。中でもAIの出来が面白さに大きな影響を与える種類のものでした。 プログラマーの同僚が1人、Lispに大変に強い思い入れがあり、そのAIは同僚の作ったLispインタプリタで動作しています。構文解析が簡単で、ゲームデザイナーのあーしたい、こーしたいの要望にもインタプリタの拡張で対応できる柔軟さがありました。 また別の同僚は、Lisp方言のClojureでゲーム開発の効率を高める特別なコンパイラを書いていまし...

    Lispはなぜ覇権を握らなかったのでしょうか?
    mukaken
    mukaken 2020/09/04
  • Realm of Racket

    Available in print and eBook now! Check out our latest news! Find us on No Starch and Amazon! View a sample chapter from our book!

    mukaken
    mukaken 2019/12/04
    “LISP系のプログラミング言語Racketの入門書”
  • Build Your Own Lisp

    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 Lisps, how to develop a real-world project, concisely solve problems, and write beautiful code!

    Build Your Own Lisp
    mukaken
    mukaken 2015/07/09
    “Learn C and build your own programming language in 1000 lines of code!”
  • 高速なCommon LispのWebサーバ「Woo」を作りました - 八発白中

    ここ一ヶ月ほど手掛けていたCommon LispのWebサーバ「Woo」が一応の完成に至りましたのでお知らせします。Clack-compatibleなAPIになっており、現状運用しているClackのWebアプリケーションでそのままお試しいただけます。 高速であることを最優先に設計しており、Hunchentootの4倍、Wookieの3.5倍高速に動きます。現状ではCommon Lispのサーバでは最速ではないでしょうか。*1 Woo by fukamachi | GitHub Benchmarks いくつかのCommon Lispのサーバと、Node.js、GoPythonのサーバを比較してみました。縦軸はreq/secで、高いほうが多くのリクエストを捌けることを意味します。 Wooは、PythonのTornadoより約9.5倍、Node.jsの約1.9倍のリクエストを捌けます。一方、G

    高速なCommon LispのWebサーバ「Woo」を作りました - 八発白中
    mukaken
    mukaken 2014/12/22
    "Hunchentootの4倍、Wookieの3.5倍高速"
  • Lisp for the Web

    When it comes to expressiveness and consistency, Lisp still holds an edge over the mainstream languages of today. Add the open-source ecosystem of Common Lisp, free high-quality environments, their optimizing compilers and we land at a technology well-suited for the productive programmer looking for a new power tool. The goal of this book is to identify the strengths of Lisp and what they can do f

    Lisp for the Web
    mukaken
    mukaken 2014/01/16
  • Common LispのWebフレームワーク「Caveman2」を作りました - 八発白中

    僕がClackを作ったのは2年9ヶ月前。Webフレームワークの「Caveman」をリリースしたのはその2ヶ月後だった。 Cavemanを作った頃、僕はアリエルネットワーク株式会社にいた。松山さんと開発していた試作プロダクトのために、並行して開発していたWebフレームワークがそれだった。そのときはCommon LispでのWebアプリケーション構築方法は洗練されておらず、アプリケーションを作りながら、手探りでフレームワークを作っていたことを今でも思い出す。 結局作っていた社内プロダクトは世に出なかったのだけど、それから1年後、会社が変わっても僕はCommon Lispでのプロダクトを作っていた。 ある日Cavemanを使っていたとき、一つのアイデアが浮かんできた。Cavemanは最初にプロジェクトのひな形を作る必要がある。けれど、PythonのFlaskのようなフレームワークではそれすら必要

    Common LispのWebフレームワーク「Caveman2」を作りました - 八発白中
    mukaken
    mukaken 2013/11/07
  • https://leanpub.com/readevalprintlove001

    mukaken
    mukaken 2013/10/06
    表紙に日本語が...日本好きのLisper?
  • Lisp講義1

    PFI社内セミナーで強力な型システムがもたらす様々な恩恵について発表した際の資料です。 補足的な記事はこちらをどうぞ: http://blog.konn-san.com/article/20120412/how-wonderful-to-be-typed また、発表の模様は以下の ustream からご覧になれます。 http://www.ustream.tv/recorded/21781769

    Lisp講義1
    mukaken
    mukaken 2013/09/18