タグ

lisp*に関するsh19910711のブックマーク (123)

  • GitHub - ring-clojure/ring: Clojure HTTP server abstraction

    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 - ring-clojure/ring: Clojure HTTP server abstraction
  • Emacsの拡張を作るのに便利かもしれない関数集 - Qiita

    Emacs Advent Calender 2014 の 9日目の記事です。 ネタを思いつけなかったので、今までに溜め込んだ汎用性のありそうなプチelispの紹介をさせていただきます。 まとまりのない支離滅裂なコード羅列ですが、ひとつでもEmacs拡張を作る際の参考になればいいなと思います。 最小限、Emacs内臓の cl-lib ライブラリを呼び出して使用します。 (require 'cl-lib) ※忘れていしまいましたがどこからか参考にしたものもあるかもしれません。 Emacsの操作に関するもの 行頭/行の文字の始まる位置に移動 C-aを上書きし、連続して使うと行の一番最初、文字の始まっている位置とを行き来できます。おすすめ。 (defun my-goto-line-beginning-or-indent (&optional $position) (interactive) (or

    Emacsの拡張を作るのに便利かもしれない関数集 - Qiita
  • どこでCommon Lispの質問をしたらいいのか - 八発白中

    1週間ほど前、Quicklispの作者のZach Beaneがこんなブログ記事をポストしていて少し話題になりました。 Zach Beane's Blog - Where to get help with Common Lisp Common Lispの質問をする場所はいくつかある。 一般的な質問の場合、 Stack Overflowに「Common-Lisp」タグをつけて明瞭な質問をすれば、何人かの詳しい人が即座に回答してくれる。特にRainer Joswigは数百の質問に質の高い情報を提供しているし、他にも多くの人がすばやく回答をくれる。回答はスコア付けされ、一般的には良い回答はスコアが高く、悪い回答はそれなりになる。 redditの/r/lispや/r/learnlispに投稿された質問も同様に多数の回答がつけられる。経験上、redditにはより多くの人がいて回答をくれる。個人的には未

    どこでCommon Lispの質問をしたらいいのか - 八発白中
  • JPL(ジェット推進研究所)におけるLispの顛末 | POSTD

    この記事はジェット推進研究所(JPL)におけるLispの盛衰について、私の(しかもかなり偏った)個人的見地から書きました。JPLの所員としての立場で書いているのではなく、JPLの公的な立場を代弁するものでもないことをお断りしておきます(これについては読み進めていただければ分かります)。 1988-1991 ロボット工学の時代 私は1988年にJPLに入所し、自律移動ロボットの人工知能AI)グループに配属されました。当時は今と違って政府の財源から資金が潤沢に流入していました。「AIの冬」が始まりかけていましたが、まだJPLには到達していませんでした。研究所の技術動向は最先端から数年遅れになる傾向があるようです。 当時のJPLはマーズ・ローバー・サンプル・リターン(MRSR)と呼ばれるマーズ・ローバー・ミッションの初期計画段階にありました。あの時代、宇宙ミッションはあらゆる意味で巨大でした。

    JPL(ジェット推進研究所)におけるLispの顛末 | POSTD
  • パスワード問合せシステムを作る (clojureのreducers) - Qiita

    現在のパスワードを教えてくれるからといって、「平文で保存してる!くぁwせdrftgyふじこlp‎」と脊髄反射してはいけません。 JALの6桁数字パスワードがどう格納されているか? 古いシステムなのでMD5でハッシュ化していると想定しますが、もちろんsaltは付けているでしょう。 さて、そんなパスワード保管方式で、現在のパスワード問合せに応答するシステムを作ってみます。 パスワードを「567890」、saltを「hoge」として、データベースには"hoge$567890"のMD5値"4b364677946ccf79f841114e73ccaf4f"が格納されているとします。 総当りしてみましょう。 (ns six-length.core (:require [clojure.core.reducers :as r]) (:import [java.security MessageDigest

    パスワード問合せシステムを作る (clojureのreducers) - Qiita
  • REPL Driven Programming

    REPL Driven Programming Clojureの開発では、REPL (Read Eval Print Loop - その言語を直接入力して結果を即得られる、シェルのような環境)が重要な位置を占めるので、そのあたりの解説をします。 まずは環境設定の話チュートリアルを書いても仕方がないので細かい手順は検索してもらうとして、Clojureをインストールして最初にびっくりするのは、REPLがしょぼい(REPL自体の機能というよりも、シェルとしてのユーザインタフェースの問題)ってことです。 なにせコマンド履歴とか行編集とか、現代においてはシェルの最低限の機能と考えられているものがないので、すごく使いづらい。REPLはシェルじゃないといえばそうですけど、行編集もできないんじゃ、そもそも使う気が失せるじゃないですか。 しかし世の中でそれが大きく言われることもないのは、みんな対策してて、そ

    REPL Driven Programming
  • Clojureはじめました

    Clojureはじめました 最近、自分の開発ではClojureを使っています。今まで仕事で使っていた中心的な言語がJavaだったので、正反対の言語を使っているということになるけど、意外と違和感はありません。型チェックがないのがしんどいとか、名前の一発変換が安心してできない、とかいうありがちな不満はありますけども。 Clojureというと、LLというよりも「LISP」ってことで有名に思います。この、脳味噌の大シフト感が結構楽しいのです。もともと「Javaと似たような系統だけどもっと楽に書ける」というのには強い興味を持てなくて、もっと一気に考え方が異なるようなものに興味を持ってました。Haskellとか。Clojureというのは、今までの経験を生かしつつも、言語的には大移動ということで、相性は良かったのかもしれない。 Clojureに完全移行したのかというとそういうこともなくて、Javaベース

    Clojureはじめました
  • A REST API in Clojure - IMHO

    The true delight is in the finding out rather than in the knowing. -- Isaac Asimov Clojure is one of the most interesting new languages targeting the JVM. Initially only the JVM, in the meantime it is also available for JavaScript. Essentially, you can write Clojure and either execute it as Java program or JavaScript program, of course each flavor has its unique features as well. Clojure is a Lisp

  • ((Rubyで) 書く (Lisp) インタプリタ)

    Peter Norvigさんの((Pythonで) 書く (Lisp) インタプリタ)(青木靖さん訳)という記事がすごい。100行ほどのPythonコードで、Schemeのインタプリタの基部分を書いている。Pythonのコードは見た目がRubyのコードとよく似ているので、Rubyしか知らない僕でも何となく読める。 この記事を解読してRuby版Schemeインタプリタを書いたら、インタプリタ Pyhon Scheme それからRubyのことも、もう少し分かるようになるかもしれない。こんなお得な勉強方法はないぞ。きっと。 そんなわけで… 以下では上記記事を参照しながら、Ruby版Schemeインタプリタを書いていきます。文では適宜Norvigさんの解説およびコードを引用しつつ、自分の理解とRubyのコードをpythonのコードと対応させていきます。Rubyのインタプリタ名はlisr.rbと

  • なぜRubyは許容可能なLISPなのか - masatoi’s blog

    LISPの真実を読んでたら最後に出てきたので、かなり古い記事だけれども、Eric Kidd氏のWhy Ruby is an acceptable LISPを訳してみました。まつもとさんによる反応もあり、そのエントリの中で原文はほぼ要約されています。 一年前、私はRubyに注目してはいたものの、それを無視することにした。RubyPythonほどポピュラーではないし、LISPほど強力というわけでもない。なのに何故気にかけなければならないというのか。 もちろん、これらの評価基準は考えなおすこともできる。もしRubyがLISPよりもポピュラーで、Pythonよりも強力だったらどうなるだろうか?*1 それはRubyを興味深いものにするに足るのではないか? この疑問に答える前に、LISPを強力たらしめているものは何なのかを定義しておくべきだろう。Paul GrahamはLISPの美徳について雄弁に語

    なぜRubyは許容可能なLISPなのか - masatoi’s blog
  • Yabuki Taro’s Home Page

    なぜ Lisp なのか Quote...Unquote ダグラス・R. ホフスタッター著, 竹内郁雄ほか訳『メタマジック・ゲーム』 ミンスキー「ゲーデルは Lisp を思いついておくべきだった。もし彼が Lisp を思いついていたならば彼の不完全性定理の証明はもっと簡単なものになっていただろう」 ゲーデルの証明の一番難しいところは、数学的体系に自分自身を語らせるところにある。天才のひらめきが何段階か必要になる。しかし、Lisp は、少なくともゲーデルが必要としていた意味で、まさに自分自身を直接語ることができる。 ゲーデルは Lisp を発明した! ダイクストラ「謙虚なるプログラマ」 LISPは冗談まじりに「コンピュータを誤用するための、もっとも知的な方法」と言われることがありますが、私はこれはすばらしい褒め言葉だと思います。なぜならこれはあらゆる種類の自由を可能にしているからです。LISP

  • 竹内郁雄 最終講義 ―研究・開発は楽しく―

    Understanding the required skill levels across areas of expertise and business functions becomes a critical factor for driving effective social media programs that are efficient and deliver business value across an enterprise or within an agency. SME2 is the first-of-its-kind consultancy helping social media teams optimize skills, tools, processes and relationships to drive better business results

    竹内郁雄 最終講義 ―研究・開発は楽しく―
  • はてなブログ | 無料ブログを作成しよう

    粗大ゴミに車輪を付けて捨てに行く マンションで暮らしていると自宅から粗大ゴミ置き場まで若干の距離があったりします。手で持てるサイズ・重量の粗大ゴミなら手で運べばよいし、それよりも一回り大きいくらいのものならマンション共用設備から台車を借りられる場合があります。 今回、キッチンで 10 年…

    はてなブログ | 無料ブログを作成しよう
  • Emacs Lispを書くにあたり - Shohei Yoshida's Diary

    先の関西 Emacsで数名に聞かれたのでメモ. 読んだ方が良いかもしれないもの https://github.com/magnars/s.el https://github.com/magnars/dash.el https://github.com/rejeep/f.el 私自身がっつり読んだという経験がないので, 進められる立場では ないのですが, 上記に上げたものは関数的に使用できて, 各パーツが わりと短いので良いと思います. 体のコードだと, グローバル変数の 変更なども多く, 追っていくのが大変なのですが, 上記にあげたものは その類のものではないです. あとは Shingo Fukuyamaさんのov.elも良いと思います. https://github.com/ShingoFukuyama/ov.el ヘルプをひきやすくしておく 私は老害かつにわか Emacsユーザなので

    Emacs Lispを書くにあたり - Shohei Yoshida's Diary
  • Clojureによるログ収集と解析

    Common Lispのライブラリである clsqlを使ってRDBMSにアクセスする方法の基部分をお勉強します。意外と簡単にアクセスできちゃうし、clsqlはよく出来てるのでデータのハンドリングとかでも楽できちゃいますよ。あとはプログラマの工夫次第でいくらでも。

    Clojureによるログ収集と解析
  • 高機能なCommon LispのO/Rマッパー「Integral」を作りました - 八発白中

    「O/Rマッパー」や「ORM」と聞くだけで顔をしかめる人もいらっしゃいます。たぶん過去にひどい目にあったんでしょうね。その大きな理由の一つがパフォーマンスでしょう。 一昨年のYAPC::Asiaに参加したとき、ORMは使うなという話を4回くらい聞いたのが印象的でした。DBのデータはハッシュで返すか、DBIをそのまま使うほうが良いと。弊社でもパフォーマンス上の問題をわかりづらくしてしまうことから、ORMを使用しないプロジェクトがいくつかあります。 まあ、そりゃDBI使うほうが高速に動くとは思います。 しかし、僕が使っているのは実用的な言語であるCommon Lispです。実行効率と抽象化がとても得意な言語です。さらに優れたオブジェクトシステムであるCLOSも仕様に含まれています。 そこで、既存のO/RマッパーにCommon Lispらしさを加えてみるとどうだろう。 そう思って作ってみたのが、

    高機能なCommon LispのO/Rマッパー「Integral」を作りました - 八発白中
  • GitHub - nginx-clojure/nginx-clojure: Nginx module for embedding Clojure or Java or Groovy programs, typically those Ring based handlers.

    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 - nginx-clojure/nginx-clojure: Nginx module for embedding Clojure or Java or Groovy programs, typically those Ring based handlers.
  • Clojureをつくったわけ

    The original document appears at http://clojure.org/rationale. The translation is based on November 27, 2009 version of the page. 読みにくくて申し訳ないです。数多くの間違いがあると思いますので、ご指摘ください。 顧客や出資家は、業界標準のプラットフォームであるJava仮想マシン (Java Virtual Machine; JVM) に相当な投資をしており、そのパフォーマンス、セキュリティ、安定性などに満足している。Java開発者は、動的言語の簡潔さ、柔軟さ、生産性をうらやましく思うものの、顧客の環境で動かせるかどうか、既存のコードやライブラリが使えるかどうか、そして動作速度などについて心配するかもしれない。また、ネイティブ・スレッドやロッキングによる並行処理に

  • Emacsのモダンなライブラリ4+1選 (2013年版) - Qiita

    このライブラリ群はEmacsに不足している名前がわかりやすい関数、他の言語では提供されているデータ構造を操作する便利な関数を提供してくれます。このライブラリを使うと、プラグインや、スクリプトを作るのがすごく楽になります。 +1の部分であるCaskは、ライブラリというよりプラグインなので別にしてます。 それぞれどんなライブラリか、かいつまんで紹介します。 dash.el dash.elは、Emacsのリスト操作APIを提供するライブラリです。このライブラリは、かなりEmacsのリスト操作を分かりやすく、補完してくれるライブラリになっています。 リスト操作に関連してか、 Clojureのスレッディングマクロ On Lispで紹介されているアナフォリックマクロ バインドという機能 木構造の操作のAPI など様々なものを提供しています。 メリットとしては、 もっと関数型言語っぽく書ける リスト操作

    Emacsのモダンなライブラリ4+1選 (2013年版) - Qiita
  • ソフトバンク・テクノロジー子会社、iPadを活用した受付業務システム

    Excelで時短 Excelで今さら聞けない「前年比」、前年比120%と前年比20%プラスは同じこと? 2024.05.16

    ソフトバンク・テクノロジー子会社、iPadを活用した受付業務システム