タグ

2013年7月29日のブックマーク (12件)

  • Geekなぺーじ:Lispは神の言語

    神はLispで世界を創世したそうです。 歌詞を聴かなければ、普通のフォークソングに聞こえてしまうのが凄いと思いました。 Bob Kanefsky, "Eternal Flame" : MP3 歌詞 : 原文 gnu.org : Eternal Flame (song parody)より。 I was taught assembler in my second year of school. It's kinda like construction work -- with a toothpick for a tool. So when I made my senior year, I threw my code away, And learned the way to program that I still prefer today. Now, some folks on the Int

    labga
    labga 2013/07/29
  • Prolog - Wikipedia

    Prolog(プロログ)は論理プログラミング言語の一つであり、該当分野で最もよく知られている論理型言語の代表格である。主に人工知能研究や計算言語学との関連性を持つ。定理証明、エキスパートシステム、自動計画、自然言語処理とも繋がりが深い。形式論理である一階述語論理を基礎にして、事実群と規則群の表現および関係の観点に立った宣言型パラダイムに準拠しており、その関係に則った質問によって計算が開始されるという性質を持つ。 Prologは、1972年にマルセイユ大学のアラン・カルメラウアーとフィリップ・ラッセルによって開発された。フランス語の「programmation en logique」がその名の由来である[1]。Prologの誕生にはエディンバラ大学のロバート・コワルスキが考案したホーン節が大きく寄与している。カルメラウアーによる元祖版はマルセイユPrologと呼ばれている。その後、コワルスキ

    labga
    labga 2013/07/29
  • ディズニーが開発した複雑な機械仕掛けの動きが一目で分かるソフトウェアがスゴイ!!カラクリ仕掛けも簡単に作成可能!! | コモンポスト

    ディズニーが開発した複雑な機械仕掛けの動きが一目で分かるソフトウェアがスゴイ!!カラクリ仕掛けも簡単に作成可能!! Tweet ギアを組み合わせることで、機械に複雑の動きをさせられることは周知の事実ですが、今まではその動きを特定することは非常に手間が掛かりました。ところがディズニーが開発したこのソフトウェアを用いれば、機械設計の試行錯誤を必要とせず簡単に特定することができます。 このソフトウェアは、ギアを組み合わせることで起こる複雑な動きを可視化して、擬似的に自由に調節することができます。 歯車の大きさ、歯車の位置、接続されている棒の長さなどによって、その動きは微妙に変化しますが、このソフトウェアを使えば簡単に最適なメカニズムモデルを構築することができます。 このシステムの素晴らしい点は、1つのモーターの回転だけで動物の四肢を動かすような複雑な構造を簡単に作りだせる点にあります。このソフト

  • PS3 Linux Original Apps

    「ふみふみキック」へ戻る Language : <Japanese> English PS3 Linux で自作ソフトを楽しもう ~ 趣味プログラミングは公開してなんぼ ~ このページは rerofumi がPS3向け個人創作物ができたときに置いていくためのページ。 更新頻度は低いと思われ。 危険の無い様注意はしていますが、操作を誤ると手元のデータを紛失するような手順が混ざっています。 書いてある内容が難しいと思ったら無理にチャレンジせず、ゆっくりと調べていってください。 注意事項 ※必ずお読みください USB接続のキーボードを必ず用意してください。 お持ちでない方は実行しないでください。 Linux 起動モードから、通常の XMB Playstation3 OS モード(game-os)へと戻るにはキーボードが必要になります。 キーボードが無い場合でもシステムリセット(電源投入時に電源マ

  • NScripter - Wikipedia

    NScripter(エヌスクリプター)は、高橋直樹が開発・公開しているスクリプトエンジンである。動作環境はWindows。Nは作者の「直樹」から取られた。高橋の手によるScripter3 がその前身にあたる。後継エンジンとして、2009年12月よりNScripter2の公開が始まっている。 Windows以外のプラットフォームで動作する、非公式の互換エンジンが公開されている。 概要[編集] Windows環境上で動作するスクリプトエンジンである。特にアドベンチャーゲームやビジュアルノベルといった、テキスト表現を主体とするゲームの実行を得意とする。文法の平易さと高度な演出能力に加え、広範な利用実績によるエンジンの信頼性や安定性も、高く評価されている。 また、開発コンセプトとして、専属プログラマの存在しない中小零細ソフトハウスにおいても、ゲームシナリオライター自らが演出およびスクリプティングを

  • リリカル☆Lisp開発日記 » Blog Archive » 長さの情報を持つ配列型とか

    Common Lispでは変数の型を明示的に指定することができます。 (defun a3 (x) (declare (type (array * (3)) x)) x) こう書くと、関数a3の引数xの型は「長さ3の配列」という意味なります。 これをSBCLで動かしてやると (a3 123) ;=> ERROR ; The value 123 is not of type (VECTOR * 3). このように型の違うものでa3を呼び出すとエラーを検出できます。 このエラーの検出は実行時に行われています。 そのため、関数を挟むと、その関数を呼び出すまでエラーを検出できません。 ;;; a3に整数を渡す関数 (defun f1 (x) (declare (type integer x)) (a3 x)) ;=> 問題なく動作 (エラーを検出できない) こうなってしまう原因は「xの型は長さ3の配

    labga
    labga 2013/07/29
  • Clojure勉強日記(その8 3.1 Javaの呼び出し - 夢とガラクタの集積場

    こんにちは。とりあえず構文の説明が終わり、後は実際に機能をコードを書きながら確認していく形になりそうですね。 ClojureコードはJavaバイトコードに直接コンパイルされ、Javaを呼び出す際に変換が挟まれることはない。 Clojureは直接JavaAPIを活用できる。 普通、ClojureのコードはJavaAPIを生で実行し、Lisp風にすることはない。 → これは結構大きい要素ですね。LispっぽいけどやはりJVM言語と思えるのはこの要素があってこそ。 その他のポイント。 Javaの呼び出しは単純で直接的 プリミティブ型、配列についてのサポートと型ヒント(リードメタデータで定義)によってClojureのコンパイラにJavaのコンパイラの出力と同等のコードを出力させることができる JavaからClojureを呼び出すことも出来る。ClojureはJavaのクラスを動的に生成できる

    Clojure勉強日記(その8 3.1 Javaの呼び出し - 夢とガラクタの集積場
  • ちょっと変わったLisp入門 - @IT

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 「Gaucheでメタプログラミング」と題して、これからGaucheを使ったプログラミングの連載を書かせていただきます吉田裕美です。よろしくお願いいたします。 Gaucheとは 今回の連載で取り上げるGaucheはハワイ在住の日ハッカー、川合史朗さんが作った、Lispの一種であるSchemeのオープンソース処理系です。 Gaucheの特徴は、PerlRubyのように気軽に使える軽い処理系だということです。Perl同様に正規表現や文字列操作が行え、ちょっとしたツールの作成にも使えます。しかし、非常に強力なCommon Lisp風オブジェクトシステムを持ち、Lispならではのマクロに加え、Webやグラフィックスなどの豊富なライブラリも持っているので実用

    ちょっと変わったLisp入門 - @IT
    labga
    labga 2013/07/29
  • On Lisp --- マクロ

    Lispのマクロ機能を使うと,コードの変換によってオペレータを実装することができる. マクロ定義とは実質的にLispコードを生成する関数だ ---つまりプログラムを書くプログラムだ. この一歩から始めて,大きな可能性と予期せぬ危険に足を踏み入れていく. 第7章から第10章はマクロの基礎講座だ. この章ではマクロがどのように動作するのかを説明し, マクロを書いたり動作を確かめるときのテクニックを示し, マクロを書くスタイルについての話題に進む. マクロはどのように動作するか マクロは呼び出せるし値を返せるので,関数と一緒くたにされがちだ. マクロ定義は関数定義に似ていることもあるし, 実際はマクロであるdoを普段「組み込み関数」と呼ぶ人も多い. しかしこの喩えを突き詰めすぎると混乱の元になる. マクロの動作は普通の関数とは違っている. マクロはどのように,そしてなぜ違うのかを知ることは,マク

    labga
    labga 2013/07/29
  • How to eval strings in racket

  • はじめてのRacket(の#lang)

    Lisp Reader Macro Advent Calendar 2012 の5日目の記事です。 この記事では、プログラミング言語 Racket を簡単に紹介してみます。 Racket は、Scheme(Lisp)をベースとしたプログラミング言語です。 WindowsでもLinuxでも実行できて、GUIアプリケーションも作れます。 もともとPLT Schemeという名前でしたが、色々あってRacketという名前になったようです。 (参考:http://racket-lang.org/new-name.html) どうせならもっとググりやすい名前にしてほしかったなーと思わないでもないです。 インストール方法は公式サイトを見ていただくとして、 まず最初に典型的な入門プログラム、Hello Worldを書いてみましょう。 #lang algol60 begin printsln(`hello

  • GNU Emacs Lisp Reference Manual - Reading and Printing Lisp Objects

    labga
    labga 2013/07/29