Lisp

シーザー暗号をブルートフォースアタックしてみる

暗号技術入門を買ったのでちょっとずつ読んでます。 暗号技術入門 第3版作者: 結城浩出版社/メーカー: SBクリエイティブ発売日: 2015/08/26メディア: 単行本この商品を含むブログ (19件) を見る 第二章で シーザー暗号をブルートフォースアタックするクイズ…

はじめてのマクロ

こういう感じでマクロを作る (defmacro @@@ (car op cdr) `(,op ,car ,cdr)) (print (@@@ 1 + 2)) (print (macroexpand '(@@@ 1 + 2)))) 出力 3 (+ 1 2) へぇ。。。

roswellをインストールしてみる

あらすじ 前回、Roswellをインストールしてみようとしたらうまくいかなかったので ソースからコンパイルしてインストールしてみることにします 参考 ここを参考にインストールしていきます github.com インストール 事前準備 $ sudo apt update $ sudo apt i…

roswell をインストールしてみる(失敗)

パッケージマネージャってどれがいいんだろうか。。 diary.wshito.com Roswell がよさそうだな インストール方法はこんな感じだな。よしよし github.com debをDLしてインストールするんだな。 deb のインストールはここを参考にしてみました mickey-happygol…

銘柄同士の相関を取ってみるテスト

なんぞこれ? ↓ ここの株価データを使って、銘柄総当たりの相関を調べてみました http://softreed.la.coocan.jp/data.htm なんか面白い発見ないかな。って期待しながら 出てきたデータを眺めて楽しむことができます。 はい。それだけです。 前準備 gaushe を…

gaushe で共分散を計算してみる

数学苦手なワシ。以下のページを参考に共分散を学ぶ https://mathtrain.jp/covariance ;; 国語・数学 の点数セット (define lst '((50 50) (50 70) (80 60) (70 90) (90 100))) (define (sum lst) (cond ((null? lst) 0) (#t (+ (car lst) (sum (cdr lst))))…

言語処理100本ノックを Gauche でやってみる(1)

こんなの見つけましたのでGaucheでやってみようかと思いました www.cl.ecei.tohoku.ac.jp 第一章 4番までなんとかやってみました。 超時間かかっちゃった・・・ コード 以下コード。 汚いなぁ orz #!/usr/bin/env gosh (use srfi-1) (use srfi-13) (use gau…

gauche で スクリプト

下のように書くとスクリプトが作れるみたい ようやくお仕事中に Lispが使えそうだぞっ。ふひひ。 #!/usr/bin/env gosh (use gauche.process) (print "script run!") (run-process '(ls -la) :wait #t) (print "script end!") https://practical-scheme.net/g…

マクロの練習

マクロをうまく使いこなせるようになりたいので練習中。 イマイチ何に使えるのか理解してないけど、こんな感じかな・・・参考;マクロについて整理してみる | κeenのHappy Hacκing Blog (define (unless f val) (if (not f) val)) (define-macro (unless-m f…

完全数を探してみる

奇数の完全数ってないらしい。 探してみようかな。DrScheme で実行中・・・ (define (perfect-number num) (define (list-add lat) (cond ((null? lat) 0) (else (+ (car lat) (list-add (cdr lat)))))) (cond ((null? num) #f) ((number? num) (= (list-add…

B.6 継続

call/cc のお話し。幾ら調べても正直よくわからないLispの継続の話。 素数夜曲の目次を眺めてたら 継続って章があるじゃない! ということで読んでみました。素数夜曲―女王陛下のLISP作者: 吉田武出版社/メーカー: 東海大学出版会発売日: 2012/06/01メディア…

Gauche-makiki で ホストが使用している port を表示する

こないだから触っていた netstatツールコンテナができました。 Gauche に付属していた example をごにょごにょしました。実際に ポート情報を出力する部分(抜粋)はこんな感じ。 全体像は以下URLでコード見れます https://github.com/moremagic/docker-nets…

Gauche-makiki で netstatの結果を表示してみる

こないだからGaucheで遊んでいます。 さわり初めてとってもわかりやすい印象。 lambda を ^ でかけるとか知らなかった。 いろいろなライブラリが最初からたくさんあって楽。 ドキュメントがそろっていて初心者でも入りやすい いろいろ試行錯誤してこんな感じ…

Gaucheで外部コマンドの読み込み

netstat の結果を読み込みたいそんなときはこんな感じでやるそうです。 結構探し回ったけどこんなに簡単にできるのね。。。 (use gauche.process) (process-output->string-list '(netstat -a))■資料 この辺を一生懸命見てたけど http://practical-scheme.ne…

GaucheでWebサーバ 2 (gauche-makiki をインストールしてみる)

コメント欄で Gauche Makiki を教えてもらったので動かしてみました。 まず Gaucheのインストールから。 make を使うのと Gaushe の付随する(?)パッケージも全部インストールします。 apt-get install -y make git gauche* 次に makiki をClone して make、…

Gauche で Webサーバ

Gauche で Webアプリが作れないかと思い調査してみました。 いろいろな資料が見つかったので、半分以上写経してWebサーバが動作しました。スゴイ!web-server.scm (use gauche.net) (use srfi-13) (use rfc.uri) (use www.cgi) (use gauche.reload) (use gauch…

CommonLisp で Webサーバ(Clack)を動かしてみる

Clack というWebフレームワークがあるそうです http://clacklisp.org/ 以下のページを見ていたら簡単に入れられそうでしたので挑戦してみました。 わかりやすい記事に感謝。 http://d.hatena.ne.jp/peccu/20111108/clack_local昔、Dockerで準備したSBCL環境…

連想リストを操作する関数を作ってみた

Java でいう HashMap みたいなものが欲しいなと思って 連想リストとかいうものを作ってみた。なんだか SRFI-69 とやらで定義されているみたいなので 車輪の再発明をしただけ感満載。 Gosh で動かせます。 ;; Key-value 形式リストからデータを取得する ;; #?…

Ubuntu 15.04 SBCL環境を作成

以下の勉強会に出てみることにしました。 勉強会は久しぶり。緊張しちゃうなぁ。「人工知能プログラミングのための Common Lisp 入門」 http://peatix.com/event/115092 勉強会を受けるための環境を作る必要がありました。 環境構築手順はこちら。 http://bl…

CommonLispでWebサーバを作ってみる

Land of Lisp P247 Webサーバを作ろう をやってみました。Docker上で開発環境を構築。 いろんな実験や学習をするときにホストOSが汚れないのがいいなぁ。 core@localhost ~ $ docker run -ti ubuntu /bin/bash root@306141dac20c:/# apt-get update root@306…

Schemeプログラマのレベル10

http://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3AScheme%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%81%AE%E3%83%AC%E3%83%99%E3%83%AB10レベル2 でした ><; Lisperを名乗ることは まだまだ出来なそうです。

Land of Lisp

Land of Lisp作者: M.D. ConradBarski,Conrad Barski,川合史朗出版社/メーカー: オライリージャパン発売日: 2013/02/23メディア: 大型本購入: 1人 クリック: 18回この商品を含むブログ (19件) を見るまだ、手習いもSICPも終わってないのに 好奇心に負けてつ…

SECD 仮想マシン なんてものがあるらしい

http://www.geocities.jp/m_hiroi/func/abcscm33.htmlなんかすごい。 メモメモ。

本当に使いものになるシステムの間には天と地ほどの差があるんだよ

いい言葉だと思うのでメモ。 「どこかのハッカーが一週間ほど Lisp と格闘して、"みてくれ!! Lisp をモノにしたぞ!!" と叫ぶ、そんなことがしょっちゅうあるだろうさ。でも、それと本当に使いものになるシステムの間には天と地ほどの差があるんだよ」 ハッカ…

内部状態 の取り扱いで新たな発見

ココを見ていたら新たな新事実が。 http://www.shido.info/lisp/scheme_asg.html (define (make-bank-account amount) (lambda (n) (set! amount (+ amount n)) amount)) (define yamada-bank-account (make-bank-account 1000)) (yamada-bank-account 5000)…

ジョンマッカーシーって、最近までご存命だったのか。

http://jp.techcrunch.com/2011/10/25/20111024creator-of-lisp-john-mccarthy-dead-at-84/知らなかった。 自分の生きてた時代と同じ時代を生きていたことを。 うれしいけれども、気づいたのが遅くて悲しい。ずいぶん遅くなってしまいましたがご冥福をお祈り…

パースをやり直し中。

quote の 簡略?表現の ’ に対応すべく パースを直し中。直しているうちにやっつけだったところが綻びてきて うーーん。今後いろいろ弄りやすいように 作り直すことにしました。趣味だしね。

びっくり

Schemeと戯れていたら DrScheme に見慣れないボタンが。。。押してみるとびっくりw 誰だろう?このひとw

cond の挙動

DrScheme で cond の挙動を見てましたが 少し混乱してきました。。 (cond 1) ;cond: bad syntax (clause is not a test-value pair) in: 1 (cond (a b) (c d)) ;. . reference to undefined identifier: a (cond (#f 1) (else 2)) ;2 (cond (#f 1)) ; (cond …

 REPL , car , cdr に対応してみる

コツコツと実装中です。https://github.com/moremagic/MyLisp/wiki