タグ

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

  • Common Lisp製のブログはエンジニア求人に効果はあるか - アクトインディ開発者ブログ

    こんにちは、chiba です。 このtech.actindi.netブログもCommon Lisp化してから早6年半になります。 当時CTOのkomagataさんの求人戦略の一つで、尖ったブログで情報発信することにより尖った人への訴求効果を狙ったと記憶していますが※、Common Lispのウェブサーバーで運用するのに加え、デザインもmachidaさんの異様に尖ったデザインが入ったこともあり、周囲のエンジニアへの受けもかなり良かったと記憶しています。 勉強会等で知り合ったエンジニアさんと話をすると、『ああ、あの変なブログの会社』と言われたりすることは多かったですね。 ちなみに、当初は適当にCommon Lispのウェブサーバー上でhtmlのペライチで動かしているだけのものでした。 この怪しいブログの怪しい光に惹き寄せられてしまった現エンジニアとしてはtahara、akiyamaがおり、元は

    Common Lisp製のブログはエンジニア求人に効果はあるか - アクトインディ開発者ブログ
  • Lispにおける型推論 - Qiita

    はじめに 自作のISLisp処理系について型推論の機能を追加しました。この間、試行錯誤したこと、考えたことを書き記しました。 動機 下記のコードは有名な竹内関数、たらいまわし関数です。現在のコンピューターは高速になり(tarai 12 6 0)程度はたいていの処理系で1秒以内に計算を終えます。しかし、さらに高速にしたい、SBCL(よく利用されるLispの処理系)の速度を超えたいと私は考えました。そのためには効率のよいコードを生成する必要があります。自作の処理系Easy-ISLisp(以下「EISL」)はCへ変換するタイプのコンパイラをもっています。Lispは動的型付け言語であり、あらゆる型をもつデータを処理しなければなりません。このためコンパイラが生成するコードも冗長にならざるを得ません。しかし、データの型がわかっていればもっと効率のよいコードへ変換することができるはずです。かといって静的

    Lispにおける型推論 - Qiita
    sh19910711
    sh19910711 2020/09/20
    "1958年当時、Fortranなどバッチ処理が普通であった時代に敢えて対話型の処理系として登場しました。これはAIの研究がまだ知見を得られていない未知のものを研究することへの考慮だろうと思います"
  • マシな作り方の作り方を作る | 麦 Baku

    ここ最近、Glispというアプリをつくっています。Lisp ベースのベクタードローイングツールで、Creative Coding と伝統的なチマチマやるデザインとの合わせ技っぽい使い勝手を目指してます。 ひとまずCuusheさんのビデオに手入れ続けて止まらないのが気が済んでからなのですが(ごめんなさい…)、終わったら格的にこれに注力してみたいなと思っとります。だから助成金やファウンディング含めてみなさんに色々ご相談したいです。 #glisp – Twitter Search / Twitter これが実現したらようやく「こいつなんか意味分からん事言って Adobe に因縁つけてるな」みたいなんがもう少し多くの人に理解してもらえる気がしています。少なくともベクターグラフィックに関しては、ソフトの使い勝手に気が散ってツール開発をしないとしんどくなる体質が改善して実制作に集中出来るようになれま

    マシな作り方の作り方を作る | 麦 Baku
  • PythonでLispを実装した (evalつき)

    Pythonのリスト内包表記でLispを実装したことを、前後編に分けて話しました@lisp meetup #64

    PythonでLispを実装した (evalつき)
  • 年報 #vgadvent2014 - すずけんメモ

    気がつけばもうアドベントカレンダーの季節。今年も振り返りをしてみようと思う。 この記事はVOYAGE GROUP エンジニアブログ: Advent Calendar 2014の12/18分の記事です。 http://tech.voyagegroup.com/archives/7941760.html 去年も書いた振り返り記事: http://suzuken.hatenablog.jp/entry/2013/12/24/220213 書いていたら随分長くなってしまったし9割5分くらい自分の振り返りになってしまったしこれは最早ポエムに近いので、面白く無いかもしれない。3行に要約すると 分析チーム切り出した。課題多いけど着実に進んできている。 マネージャーっぽくなりつつ、相変わらず分析基盤を作るエンジニアをやっている。よりインフラよりのこともし始めた。 初めて技術書の執筆に携われて、大変だったけ

    年報 #vgadvent2014 - すずけんメモ
    sh19910711
    sh19910711 2020/05/30
    SICP / "評価とは何か、解釈とは何か。計算機科学を私は知らなかったということを正面から教えてくれた / 自分のコードの書き方、抽象の捉え方、そして計算機に対する見方が変わった"
  • C++にScheme処理系を楽して組み込みたい - Qiita

    はじめに C++のプログラムにスクリプト言語を組み込みたくなることはよくある。その用途は定型作業や動作確認の自動化のほか、より単純な初期設定であったり、あるいはシステムそのものの記述だったりすることもある。 組み込み用途のスクリプト言語は定番となっているものがいくつかある。LuaやPythonなどだ。またそういったスクリプト言語へのFFIを自動的にラッピングしてくれるプログラムもいくつかある。代表的なのはSWIGか。 しかし実際にスクリプト言語を組み込もうとすると、結構な量の文書を読まなければならず正直めんどい。セットアップの方法もOS毎に違うから、さらにめんどい。もっと楽に!頭を使わずに!できないもんかと思い探してみたところ、すごいいいのありましたw s7 https://ccrma.stanford.edu/software/snd/snd/s7.html ftp://ccrma-ft

    C++にScheme処理系を楽して組み込みたい - Qiita
  • なぜ Clojure なのか - Twisted Mind

    いつも告知ばかりなので、たまには。 始まり 最近 Clojure を勉強しています。Clojure というのは JVM 上で動く Lisp に影響を受けた言語です。 JVM 上で動く言語といえば Scala だと思いますが、なんか興味が持てなかったので一切手を出していません。 さて、なぜ Clojure かという話しですが、最初は単に新しい言語を覚えたいという理由からです。 仕事では Erlang/Python をメインで書いています。特に Erlang は商用製品で書いているので、かなりガッツリやっています。仕事で使う言語は上記に加えて C くらいです。ただ C は読めれば十分なのでそれ以上は困っていません。 個人的に仕事で使えない言語は覚える気が無いので。趣味で書くのであれば Python で十分でした。 Clojure との出会い Clojure が最初に気になった理由は Herok

    なぜ Clojure なのか - Twisted Mind
    sh19910711
    sh19910711 2019/10/27
    "Clojure が最初に気になった理由は Heroku が Clojure に対応したときです。もともと Ruby だけだった Heroku が Node.js の次?だったかその辺りで対応した"
  • WebAssembly のベンチマークとバイトコードと Lisp

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    WebAssembly のベンチマークとバイトコードと Lisp
  • Clojureコンパイラの型推論器をとりだしてみる - Homoiconic Days

    clojure.orgには,Clojureについて次のような説明がある。 Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection. http://clojure.org/ この型推論(type inference)は,Clojureの説明でたまに名前だけは出てくるものの,その実態についての説明にはほとんどお目にかかったことがない。そこで今回は,Clojureの型推論の機能をClojureから触れるようにして遊んでみよう。 Clojureになぜ型推論が必要か まずはじめに注意しておかないといけないのは,Clojureの型推論はMLやHaskellなどの静的

    Clojureコンパイラの型推論器をとりだしてみる - Homoiconic Days
  • Lispインタプリタを作った - 日常と進捗

    とうとうApple MusicPerfumeが追加されたので、ここ数日はワンルーム・ディスコを聞きながらコーディングをしている。 Perfume、良い。良すぎる。幸せになれる。 そう、幸せといえばLisp。 1週間労働を耐え抜いてまた週末にのんびりLispを書ける。 安定感がすごい。 そんな感じで週末Lisperとして今日もLispに向き合っていたのだけれど、そういえば前にLispでCのコンパイラを書く個人プロジェクトを立ち上げたものの完全に放置していたのを思い出した。 で、久しぶりに取り組もうと書きかけのコードを見ていたのだが、なんかグッとこない。 どうも自分のコードにときめかない... ということで中途半端な自分のクソコードをガチャガチャ触って気分の悪い土曜日にしてしまうくらいならまた別のプロジェクトをやった方がいいだろうと判断。 ただ、全く別の何かをやるのも少し気が引けたので、コン

    Lispインタプリタを作った - 日常と進捗
  • 変数束縛はLispのもう一つの本質である. : セマンティックウェブ・ダイアリー

    変数束縛とスコーピング私のような Winston の Lisp から入った Lisper は,再帰プログラムと並んで, Lispの各種変数の束縛について習熟することがLispプログラミングでは大事だと思うのですが,最近の Lisp 教科書は必ずしもそういう書き方ではないですね.たとえば Peter Seibel のはこれはこれで Common Lisp の教科書としては出色のものですけど (format 文やloop の書き方などは,CLtL2よりもこちらの方がずっとよく書いてあります),なんと再帰についての記述がない.ですから,「Peter Seibel のを最初に読んでLispがわかるようになるなんて,私にはとうてい信じられない」という思いになるのです.Paul Graham の(On Lisp) には,末尾再帰についても変数のスコーピングについても記述があって,一通り Lisp

    変数束縛はLispのもう一つの本質である. : セマンティックウェブ・ダイアリー
  • ClojureでSparkをはじめる - euphonictechnologies’s diary

    なぜSpark? ビッグデータでデータサイエンスでマシンラーニングのアーティフィシャルインテリジェンスだからです。ビッグデータ分析はHadoopがデファクトスタンダードです、ということを最近入社した会社で生まれて初めて知りました。 SparkがあればMapReduceだけでは難しい分析やデータ処理もパパッとできてしまいます。 なぜClojure? 私はOCamlが大好きです。つまりJavaとかちょっとしんどいです。しかしSparkはJVM言語かPython(PySpark)を使うこと前提となっています。OCamlは残念ながらJVMでは動かないしPythonでもありませんので使えません。 普通だったらJavaScalaなのですが、Javaを休日に使うのは勘弁して欲しいです。final List<String> someString = new ArrayList<String>();ってこ

    ClojureでSparkをはじめる - euphonictechnologies’s diary
  • 竹内 郁雄を中心とした機械語に超至近距離ユニット「LISP」始動! - 発声練習

    阿澄佳奈を中心とした超至近距離・声優ユニット「LISP」始動! 竹内御大を加えれば、燃え&萌え度アップ&ヒゲ度アップで、アニメファンだけでなくぬえファンも取り込めるのに。マーケティング甘いよ!デビュー曲は「かっこの数がワからなくって…」。カップリング曲は「破壊的代入はありえません。」 ごめんなさい「LISP」に脊髄反射しました。まだ、ご存命なのでジョン・マッカーシー氏で一ネタひねるべきでしたが、浅学にて思いつきません。 ちえの和webページ コンピュータ偉人伝:ジョン・マッカーシー そういえばWiredが選ぶ「最もセクシーなオタク」コンテスト、投票結果って毎年やっているんだろうか。 話が飛ぶけど、計算機科学系の教科書に載っている大家の皆様は、案外、ご存命中なのでたまに訃報を聞いてびっくりする。教科書に載っている人に会えやすい良い分野。会ったことないけど。 追記 はてなブックマークのコメント

    竹内 郁雄を中心とした機械語に超至近距離ユニット「LISP」始動! - 発声練習
  • Common Lispが機械学習に向いていると考えるこれだけの理由 - masatoi’s blog

    Lisp Advent Calendar 2016参加記事 ここ数年ディープラーニングの出現をきっかけにAIが再び盛り上がっているので、いよいよLispの復権があるかと思いきや、ないので(泣)、多少なりともLispに興味を持ってもらえるように、LispとAIの関係について私見を述べておこうと思う。Lispといっても色々あるが、この記事では主にCommon Lispの話になる。 Lispというとどうしても過去の記号処理的AIと結びつけられてしまい、機械学習を駆使するような現代のAIでは役に立たないように思われがちなのだが、これは大体誤解である。少なくともCommon Lispは現代的なAI開発に適した特徴を備えている。まず、AI実装のためのプログラミング言語に必要とされる特徴は何なのかを明らかにするために、AI歴史から考えてみたい。 AI歴史 初期の記号処理的AI(以降は記号AIと呼ぶ)

    Common Lispが機械学習に向いていると考えるこれだけの理由 - masatoi’s blog
  • Lisp in Small Piecesを読んだ - Homoiconic Days

    読み終わったのは3週間くらい前だけど、ゴールデンウィークで普段よりは時間があるので、読んだ感想など書いてみる。 Lisp in Small Pieces 作者: Christian Queinnec,Kathleen Callaway出版社/メーカー: Cambridge University Press発売日: 2003/12/04メディア: ペーパーバック購入: 2人 クリック: 61回この商品を含むブログ (4件) を見る Lisp in Small Pieces (LiSP) は、Lisp のインタプリタ/コンパイラの実装について説明したで、500ページ11章で12種類のインタプリタと2種類のコンパイラを紹介している。目次は以下のとおり。 The Basics of Interpretation Lisp, 1, 2, ... ω Escape & Return: Continu

    Lisp in Small Piecesを読んだ - Homoiconic Days
  • Clojureの作者が作ったデータベースDatomicが凄い

    プログラミング言語Clojureの作者Rich Hickey氏率いるClojure HackerのチームがDatomic(デートミックと発音するらしい)というデータベースをリリースしました。これが何やらとてつもないです。10年先を行ってる技術じゃないでしょうか。 まだ番サービスは始まっていませんが開発環境用のライブラリが配布されています。 Datomicは斬新なアーキテクチャなので一言で説明するのはとても難しいです。 私が理解できたことを簡単に説明します。 2014/1/20追記 ライセンスモデル、サポートストレージ、サービスとしてではなく独立して使用する形になるなど記事作成時の内容から色々変更が合った部分を更新しました。 変更不可なAppend-onlyデータベース 従来のデータベースで、あるレコードを変更するというのはそのレコードに対応した場所があり、そこのデータを書き換えるというこ

    sh19910711
    sh19910711 2019/05/25
    演繹的クエリ
  • Lispの真実

    Leon Bambrick / 青木靖 訳 2006年9月24日 日曜 ここにLispの真実が明らかにされ、いくつかの代替が提示される。 Lispを学ぶことはあなたの人生を変える。 あなたの脳はすごく大きくなり、そんなに大きくなるものだとは思わなかったほどになるだろう。 あなたは自分のアプリケーションをすべて、ほんの一握りのコードで書き換えるだろう。 社会はあなたを避けるようになる。あなたも社会を避けるようになる。 あなたは自分のまわりの物やまわりの人すべてに不満を感じるようになる。 Lispは非常にシンプルであり、ほんの数分で学ぶことができる。私はさっきバスを待っている間に学んだ。 Lispは非常にシンプルであり、どんな言語を使おうと数ページのコードで実装できる。しかしそんなことをすることはないだろう。ひとたびLispを学んだなら、あなたはLisp以外の言語で何かを書こうとは思わなくなる

    sh19910711
    sh19910711 2019/04/30
    “Paul Graham自身すべてLispで書かれている。書いたのは以前のバージョンの彼であり、その彼もまた、さらに前の彼によってLispで書かれていた。”
  • アセンブリ言語でフィボナッチ数 - sileのブログ

    前回は、C++で単純なVMを書いて、その上でのフィボナッチ数の計算時間を測定した。 そのVM部分をネイティブコードに置き換えたら、どの程度処理速度が改善するのかを測ってみたかったので、その前にまずネイティブコード(x86)の勉強も兼ねて、common lispでアセンブラを書くことにした。 現状はまだまだ未完成で、以下のような制限があるが、一応フィボナッチ数が計算できるくらいまでには出来たので、その計算時間を参考までに残しておく。 制限: 使用可能な命令は mov/ret/push/pop/add/sub/inc/dec/cmp/jmp/jcc/call のみ 64bitのみ対応 エラーチェックとか不十分 SBCLのみで動作 github: cl-asm-0.0.1 コード フィボナッチ数計算用のコード。 (use-package :sb-alien) ;; Fibonacci用のアセンブ

    アセンブリ言語でフィボナッチ数 - sileのブログ
  • 竹内関数が音楽的に聴こえる理由について考えてみた - aike’s blog

    前回のエントリーが予想以上に反響が大きくてびっくりしています。 プログラミング言語好きの僕にとってはヒーローみたいなすごいプログラマーたちにツイートしてもらってびびっていたところ、今日になって竹内先生ご人からのコメントをいただいてしまって気で腰抜かしそうになりました。せっかくなので自分なりに竹内関数が音楽的に聴こえる理由についての考えを書いてみます。 ■ちょっとした工夫 最初に少し種明かしをすると、より音楽的になるように以下のような工夫をしています。 ・ダイアトニックスケール(白鍵)だけを使用し調性の外れた音が出ないようにした ・最小値(-1)をレにわりあてることで少し寂しげなドリアンスケールにした (とはいえ-1の出現頻度が低いのでミからはじまるフリジアンスケール的かも) ・オートアルペジオ、テンポ、音色の設定でミニマルミュージック風にした 上記のことをおこなうと、ただの乱数でもわり

    竹内関数が音楽的に聴こえる理由について考えてみた - aike’s blog
  • キメるClojure高速開発 - Qiita

    この記事は TIS Advent Calendar 2017 16 日目の記事です。 Clojure を仕事で使い始めてから三年が経ちました。未だに学びが多いですが、年数的には中堅 Clojurian と言える域に達してしまったので、自分なりの Clojure 観を整理したいと思い立ちました。自分にとって Clojure の最大の魅力は高速開発です。そしてそれは Clojure 自体の習熟難度と秤にかけても十分魅力的だという話を書きます。 どちらかと言えば Clojure 勉強し始めで、このまま進んでいいか迷っている人向けの内容です。 この記事は2017年時点での内容です。更新版・続編 → キメる Clojure チーム開発 そもそも Clojure とは 時は 2053 年、Skynet が人類を虐げる世界。エージェント Meier は Skynet のログにアクセスすることに成功し、S

    キメるClojure高速開発 - Qiita