タグ

Common Lispに関するsupermomongaのブックマーク (33)

  • GitHub - cxxxr/cl-lsp: An implementation of the Language Server Protocol for Common Lisp

    supermomonga
    supermomonga 2017/04/21
    Common Lisp 用の Language Server Protocol 実装
  • S-XML-RPC

  • Lisp/基本からさらに一歩進んで/文字列 - Wikibooks

    Common Lisp での文字列の扱いについて知らなければならない最も重要なことは、文字列は配列であり、したがって連続している順序でもあるということです。これは配列と順序に適用される全ての概念が文字列に利用することも出来る、ということを意味します。もし、特定の文字列操作関数が見つからなければ、必ずもっと一般的な配列か順序に関する関数を探した方がいいでしょう。ここでは文字列に対して出来ることをほんの少しだけ取り扱います。 部分文字列の取り出し[編集] 文字列は連続しているので、部分文字列を取り出すには SUBSEQ 関数を使用します。文字列の添え字(index)は常に 0 から始まります。三番目の引数は任意で、ここから部分文字列を構成しない最初の文字の添え字です。部分文字列の終端の1個後の添え字と憶えてもいいかもしれません。部分文字列の長さを指定するものではないので注意しましょう。 (de

  • Fernando Borretti

    Personal website of Fernando Borretti.

  • How to write a modern Lisp library with ASDF3 and Package Inferred System

    If you are a novice Lisp programmer and you are confused about the difference between systems and packages, I recommend you to read the Packages, systems, modules, libraries - WTF? before you continue. Introduction The most common way that people use packages nowadays is by adding a packages.lisp or package.lisp file. This file is usually the first file to be loaded and define the packages that th

  • オレオレlisp入門 - CL-USER> (start-up (the engine *bp-ze*))

    Lispでプログラミングをはじめるには何をすればいいのか、まさに直接的な チュートリアルをつくろうと思い立ち、この記事を書き始めました。 Common Lisp入門というともう今まで何度も何度も書かれてきたはずなので、今 更何を書くことがあるかと考えるのが当然なんですが、残念ながら、それらの 入門書が多数あるのにも関わらず使用者が少ない。 自分の実体験からしても、やはりLispには何らかの情報不足の壁があって、参 加者を拒んでいるような感じです。実際、自分がアクティブにCommon Lispの活 動をできるようになったのはつい最近です。CLについて勉強し始めたのは2年前 の夏でしたから、どうにもちょっと時間がかかりすぎている。 これはまったくまとまった記事ではありません。ただ、ダラダラと書くうちに、 やはり自分が詰まったところが思い出されました。これがcl初心者への道標 になればと思います

    supermomonga
    supermomonga 2016/01/25
    めっちゃよい…
  • 第2回 Quicklispによるライブラリ環境

    Common Lispのライブラリを利用するのに、以前はASDF-Installを使っていました。しかし、ASDF-Installは外部のシェルコマンドに依存するためWindowsでの利用が面倒だったり、接続先のサーバが落ちていてダウンロードできなかったり、ダウンロードできたとしてもビルドできないといったことが多くありました。 これを解決するためにZach Beaneが開発したのがQuicklispです。現在BETA公開中で、いくつか制限事項はありますが、誰でも利用できるようになっています。 Quicklisp BETA セットアップ まずはQuicklisp自身をインストールします。以下のリンクからQuicklispをダウンロードしてください。 Quicklispをダウンロードする あなたのLisp処理系 (きっとSBCL以外でしょうね) を起動し、以下のコードを実行してください。 (l

  • 第6回 Common Lispライブラリを書く

    僕のブログで「Modern Common Lispはターゲットをどこに置いているのか」という質問をいただきました。最初は環境構築から始まっており、初心者向けに見えますが、次はHello, Worldもせずにライブラリの解説をしています。 Modern Common Lispのターゲットは、これからのCommon Lispを学びたい人です。当初はこの連載を読めばCommon Lispについてのすべてを学べるAll-In-One形式にしようと考えていたのですが、それでは時間がかかりすぎてしまうため、いくつかの過程を省いて進めます。たとえば、Lispでは必要なリスト処理などはここでは解説しません。理由は、それを学ぶための書籍が既に多く存在するからです。Common Lispの基文法はそれらの書籍を参照してください。この連載は、Common Lispの入門書と並行、または読了後に読むことをおすす

  • Common Lisp用のメッセージキュー「Psychiq」を作りました - 八発白中

    2年前にLesqueという、Common Lisp向けにRubyのResqueクローンを作りました。 メッセージキューやジョブキューという種類のプロダクトで、非同期処理を別のプロセスに移譲してバックグラウンドで行うものです。Redisをバックエンドとしています。 ある程度の規模のWebアプリケーションなんかを運用しているところなら必要になってくるだろうものですが、Common Lispでそういうプロダクトを作っているところがあるのかどうかも怪しいです。弊社サムライトはどうなんだと言われると苦しい。 ブログでLesqueの紹介記事は書いたんですが、その後使うことも無いしQuicklispにも申請せずメンテナンスもしていませんでした。特にせっつくようなコメントももらってないので需要もないのかもしれません。 blog.8arrow.org 物好きな僕のフォロワーがRedditにも投稿しています。

    Common Lisp用のメッセージキュー「Psychiq」を作りました - 八発白中
  • GitHub - tpapp/lla: Lisp Linear Algebra

    High-level, user friendly interface that hides the details. (solve a b) should return $X$, from $AX=B$, regardless of whether $A$ is a dense matrix, an $LU$ decomposition, or something else; similarly, $X$ should be a vector/matrix when $B$ is. Users should not need to memorize names like DGESV, especially when CLOS makes it so easy to deal with these things. Also, you don't need to make sure that

    GitHub - tpapp/lla: Lisp Linear Algebra
  • Modern Common Lisp

    僕のブログで「Modern Common Lispはターゲットをどこに置いているのか」という質問をいただきました。最初は環境構築から始まっており、初心者向けに見えますが、次はHello, Worldもせずにライブラリの解説をしています。 Modern Common Lispのターゲットは、これからのCommon Lispを学びたい人です。当初はこの連載を読めばCommon Lispについてのすべてを学べるAll-In-One形式にしようと考えていたのですが、それでは時間がかかりすぎてしまうため、いくつかの過程を省いて進めます。たとえば、Lispでは必要なリスト処理などはここでは解説しません。理由は、それを学ぶための書籍が既に多く存在するからです。Common Lispの基文法はそれらの書籍を参照してください。この連載は、Common Lispの入門書と並行、または読了後に読むことをおすす

  • WindowsでSBCLをビルド - Readme sometime

    SBCLは, Common Lisp処理系の中では早いらしい でも, 公式に配布されているWindows用バイナリは This is experimental prerelease support for the Windows platform: use at your own risk. "Your Kitten of Death awaits!"というメッセージが(--noinformしても)必ず表示されてうっとうしい それにせっかくだから新しいものを使いたいので, 以下のサイトを参考にcygwinでビルドしてみた http://sbcl-internals.cliki.net/Build%20on%20Windows http://www.sbcl.org/getting.html http://www.rhinocerus.net/forum/lang-lisp/436971-s

    WindowsでSBCLをビルド - Readme sometime
  • 型宣言を付けたら遅くなった話

    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

    型宣言を付けたら遅くなった話
  • M.Hiroi's Home Page / xyzzy Lisp Programming

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • Common Lispの勉強をするには、あるいは情報を得るには | κeenのHappy Hacκing Blog

    深町さんのブログで日語でCommon Lispの質問をする方法が載ってましたが質問じゃなくて単に情報を得たい、勉強をしたいという場合が書かれてなかったので勝手に補遺。 処理系選び 処理系:選び方の目安 - Common LISP users jpや Common Lisp 処理系 - 紫藤のWikiが参考になるかと思います。 開発環境構築 Modern Common Lispあたりですかね。著者がちょっと古くなってきたので更新するって言ってました。 処理系のインストールなら*nix環境で使える拙作のCIMもあります。解説はこちら。 入門 Web 私の一番のおすすめはM.HiroiさんのWebページです。一応Common Lispではなくxyzzyですがここで紹介されている内容であればCommon Lispにも共通します。 M.Hiroi’s Home Page / xyzzy Lisp

    Common Lispの勉強をするには、あるいは情報を得るには | κeenのHappy Hacκing Blog
  • HubotスクリプトをCommon Lispで書く - 八発白中

    いい加減ChatOpsにも手を付けたいなぁ、と思って、試しに家庭内SlackにHubotを導入してみました。 HubotはGitHub社製のチャットボットフレームワークです。CoffeeScriptで書かれていてNode.jsで動きます。挙動を追加するにはCoffeeScriptでスクリプトを書きます。 これを利用して、チャットというインターフェイスを使って様々な日常タスクを処理させることができます。最近の流行りでは、hubot deployなどと唱えるとチャットからサーバのデプロイをしたりできるようです。 今年もChatOps Advent Calendarでチャットボットを使ったテクニックが投稿されているようです。 ChatOps Advent Calendar 2015 - Qiita さて、導入したのはいいのですが、CoffeeScriptを書くのがどうにもダルい。JavaScri

    HubotスクリプトをCommon Lispで書く - 八発白中
  • 処理系:実行ファイルの作り方 - Common LISP users jp

    Tags: 処理系, CCL, CLISP, SBCL 実行ファイルの作り方の、仕組みと処理系ごとの詳しい方法について説明します。 実行ファイルの作り方の仕組みランタイムイメージランタイムとイメージの組み合わせトップレベルの処理Tree-shakingPurifying処理系ごとの詳細Steel Bank Common LispCLISPClozure CL参考文献 実行ファイルの作り方の仕組み ランタイム ランタイムとは、Lispのプログラムを動かすために必要なもののことです。S式を読んだり、評価したり、といった中核の部分(カーネルと呼ばれたりします)と、その中核の部分を利用して動かす、基的なライブラリなどが含まれる部分を合わせて、ランタイムと呼びます。 ANSI Common Lispで決められている、処理に必要な振る舞いのうち、どこまでを中核の部分に含めるか、どこまでをどの言語で書

  • SBCL 実行バイナリの作成方法メモ

    やっとまともに動かせるCLのバイナリが作れたので、 UNIXのlsコマンド風なものをCommon Lispで実装する手順を例にメモっておく。 環境は、Windows7+SBCL 1. とりあえず、REPLでも何でもよいので実行する処理を記述する。 ls.lisp (defun ls-current () (loop for i in (directory (make-pathname :type :wild :name :wild :defaults (truename "./"))) do (format t "~a~%" i))) 2. SBCLを単体で起動する。 c:\> set HOME=c:\emacs\home c:\> set SBCL_HOME=C:\Program Files (x86)\Steel Bank Common Lisp\1.0.37\ c:\> sbcl s

  • CLiki: Creating Executables

  • roswellの進捗 - Qiita

    一年たってもCommon Lisp管理のソフトを書いている。 昨年のadvent calendar から1年たったのでこの一年でのアップデートを書く。 スクリプティングができるようになった。 昨年はただコマンドラインオプションの処理系毎の違いを吸収するツールでファイルを実行させる機能を持たなかった。 common lispのアプリケーションやツールはcommon lispの関数として、提供される事が多く、実際にツールを使う際にはreplから叩く必要があった。慣れた人には良いが、例え慣れていたとしても操作手順書を書いたり読んだりする際にはreplから叩くのかコマンドラインから叩くのかをかきわけたり判断してなくてはいけないのは面倒だった。これにより面倒な操作をラップしやすくなった。(参考:深町さんの記事 と wiki)

    roswellの進捗 - Qiita