タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

tech-技術とlispに関するWindymeltのブックマーク (4)

  • 本を読む 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)

  • 1