タグ

lispに関するWindymeltのブックマーク (10)

  • 本を読む SKK辞書で使われているLispの式を評価する最小限のインタプリターを実装した

    日本語入力システム「SKK」の辞書には、候補文字列として、Lisp(Emacs Lisp)の式が入っている項目があります。 now /(current-time-string)/ これはEmacs上のSKK由来のもので、SKKはこの式をEmacs上で評価してから候補文字列とします。 その仕組み上、Emacs上以外のSKK実装でこれを実現するには、Emacsの代わりにEmacs Lispを処理する機能が必要です。それぞれのSKK実装では、自前で実装したり、ある程度までであきらめたりしているようです。 ちなみに、SKK公式の辞書では、いまはこれらの項目は「SKK-JISYO.lisp」という辞書に分離されてます。一部、“/”をエスケープするためだけにconcat関数を呼んでいる項目もちらほらあって、これらは「SKK-JISYO.L」などの通常の辞書に残っています。 そんな背景から、動的ライブラ

  • ど素人のLISP入門 / SBCLで非同期ChatGPT呼び出しをしてみる|shi3z

    AIderを使うと対話的にプログラムを書くことができる。 やはり非同期処理をするためだけに自分で処理系を書くとか正気じゃないので既存のLISP処理系を使って同じことをできるようにしてみる。 色々すったもんだはあったが、とりあえずMacではSBCLを使うのが正しいらしいのでSBCLをセットアップする $ brew install sbclで、SBCLだけあってもパッケージが管理できないので、QuickLispというパッケージ管理ツールを読み込んで設定する。これがなんか原始的でわかりにくいが、これが伝統の味というやつなのだろうか。 $ wget https://beta.quicklisp.org/quicklisp.lisp $ sbcl This is SBCL 2.4.7, an implementation of ANSI Common Lisp. More information a

    ど素人のLISP入門 / SBCLで非同期ChatGPT呼び出しをしてみる|shi3z
    Windymelt
    Windymelt 2024/11/20
    SBCLだ。スクリプティングならRoswellがいいですよ。
  • ChatGPTのプロンプトをLispで書く

    ChatGPTのプロンプトをLispで書けることに気づきました。プロンプトによって処理系としてふるまってもらうという話は聞いたことがありましたが、Lispの場合はそのようなプロンプトがなくても解釈されました。 モデルはGPT-4です。言語としてはClojureをベースにした擬似コードを書いています。 ※いくつか例を追加しました。思った以上にプログラミング的なことができるみたいです。 単純な生成と変換の例 子供っぽくする 静かなヤンデレっぽくする (しっぽりやんでれ?) 対偶を返す 小説を作ってそれを要約する 鶏の唐揚げのレシピのJSONを生成する Lispについて執事っぽく説明する クラムチャウダーのレシピを妹として箇条書きにする お兄ちゃんとツンデレの妹の誕生日ケーキについての会話を生成する Clojureの関数を使う例 3つの文を元気にする 犬の名前を5個生成してひらがなにする キリン

    ChatGPTのプロンプトをLispで書く
    Windymelt
    Windymelt 2023/03/23
    勝手に認知されるの面白い
  • とほほのLISP入門 - とほほのWWW入門

    LISPとは インストール Hello world REPL (Read-Eval-Print Loop) スクリプト実行 FASLファイル 実行ファイル コメント S式 Lispで扱える型 出力 文字列出力(write, write-line) 文字列・数字出力(print, princ, prin1) 改行出力(terpri) フォーマット(format) アトム(atom) 数値(number) 整数(integer) 小数(float) 分数(ratio) 複素数(complex) 文字列(string) 文字(character) シンボル(symbol) 真偽値(t/nil) リスト(list) リスト(list) 空リスト(()/nil) 要素抽出(car, cdr, first, second, ..., rest) リストの長さ(length) リスト連結(append)

  • Lispはなぜ覇権を握らなかったのでしょうか?

    回答 (9件中の1件目) え?覇権ですか?とってますよ。 ご家庭での掃除ロボットの制御分野ですが。 * ルンバ一強に拍車、ロボット掃除機市場でシェア7割超え - BCN+R ルンバ (掃除機) - Wikipedia > ルンバのソースコードはカスタマイズされたLISPで書かれている[73]。 https://twitter.com/RainerJoswig/status/802642786168274944?s=19 掃除機ロボット「ルンバ」の動きが分かる長時間露光の写真 - NAVER まとめ 上記はルンバの軌跡ですが、それを描いているのがLispのコードです。 ルンバ...

    Lispはなぜ覇権を握らなかったのでしょうか?
    Windymelt
    Windymelt 2020/09/04
    Lispといえば柔軟で高度なカスタマイズ・最適化が話題に上がるけど,多くのエンジニアはそこまで求めてなくて,そこそこ動くそこそこのモノをそこそこ簡単に扱えさえすれば良いんだと思う.とっつきにくさが原因?
  • 変数

    データの保存 数値を一時的に保存するには変数を使います。 通常、変数に対して 10 や 512 という数値を定数と呼びます。 変数はプログラムの実行時に値が決定されますが、定数はプログラムコードを記述した時点でその値が決定しています。 変数は、コンピュータのメモリ領域を表す識別子(symbol)であると考えられます。 コンピュータは、その内部ではデータの保存領域を数値を用いた番地(アドレス)で表現しています。 しかし、人間にとってデータの保存場所を数値で表されても直観的には理解できないので、その代わりに文字を使ったものが識別子なのです。 データを変数に保存するには setq を用います。 setq {var form}* {var form}* には、変数の識別子と変数に保存する式を指定します。 何らかの式の結果を変数に保存することを代入すると呼びます。 例えば、変数に 10 を代入するに

  • GitHub - norvig/paip-lisp: Lisp code for the textbook "Paradigms of Artificial Intelligence Programming"

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - norvig/paip-lisp: Lisp code for the textbook "Paradigms of Artificial Intelligence Programming"
    Windymelt
    Windymelt 2018/09/05
    PAIPのコードがのっている
  • LispUser.net : 「なるほど!」と思った瞬間 in Lisp

    LISPUSERLISPMEMOQ: How can you tell when you've reached Lisp Enlightenment? A: The parentheses disappear. -- Anonymous ちょっと古いネタですが comp.lang.lisp での Zach Beane の投稿。途中まで 訳して、「後で訳す」になっていたのだがlemonador.com に取り上げられてい たので続きをやってみました。 From: Zach Beane Subject: Aha! moments 私が「なるほど!」と思うきっかけを与えてくれた事を思いつくままに列挙します。 cl-ppcre のソースを読む事は次のような事を見せてくれました。 COMPILE や COMPILE-FILE を使わない(クロージャを繋ぎ合わせた形式への) 実行時のコンパイル コンデ

    Windymelt
    Windymelt 2018/07/16
    "退屈に安定しないこと(もし貴方が、自分を標準以下であると感じる何かに ゆだねてしまったなら、突破口を見つける事は困難になる)"
  • State-Based Scripting in Uncharted 2: Among Thieves

    This document discusses state-based scripting in games. It provides an introduction and history of state scripts, including their use on the Uncharted series. The author discusses why scripts are used in games and characteristics of scripting languages. Extending game object models through scripting and Naughty Dog's approach are also covered.Read less

    State-Based Scripting in Uncharted 2: Among Thieves
    Windymelt
    Windymelt 2017/02/17
    クラッシュバンディクー,アンチャーテッドに使われているLISPベースのスクリプトエンジンについて
  • 百年の言語 --- The Hundred-Year Language

    百年の言語 --- The Hundred-Year Language Paul Graham, April 2003 これは、Paul Graham: The Hundred-Year Language を、原著者の許可を得て翻訳・公開するものです。 <版権表示> 和訳テキストの複製、変更、再配布は、この版権表示を残す限り、自由に行って結構です。 (「この版権表示」には上の文も含まれます。すなわち、再配布を禁止してはいけません)。 Copyright 2003 by Paul Graham 原文: http://www.paulgraham.com/hundred.html語訳:Shiro Kawai (shiro @ acm.org) <版権表示終り> Paul Graham氏のエッセイをまとめた『ハッカーと画家』の 邦訳版が出版されました。 出版社の案内ページ Amazon.

    百年の言語 --- The Hundred-Year Language
  • 1