Redditを眺めていたらHaskellでRayTracingをしてみたよ的な記事が流れてきました。 So I (kind of) made a Haskell clone of the business card Ray Tracer : haskellその説明を眺めてみると何やら名刺サイズのレイトレーシングというものが話題になっていた…
結城先生がCodeIQに定期的に出題なさっているのですが、今回のナムドット問題をやってみました。 挑戦者求む!【アルゴリズム】古代文献を復元しよう! by The Essence of Programming 結城 浩│CodeIQ 問題の出力に着目してみると、ドットでくぎられている数…
Ozという言語マルチパラダイム言語があるようで、あまり僕の周囲にはユーザーがいないように 見えるのですが、それでもOzはすごいすごいと聞くので、体験してみねばという事で開発環境の 整備をしました。最近iOS関連の開発をする事になってMacOSXを使ってい…
PerlでWebAppの開発に必要なN個のこと - Islands in the byte streamのClojure版です。あるプログラミング言語で実際にWebAppを開発できるようになるまで、何が必要だろうか。言語仕様の習得は終えているとしよう。おそらく、最低限以下のような知識が必要だ…
更新が非常に空きました。久々にアセンブラです。 %include "stdio.inc" section .bss array0: resb 8 array1: resb 8 flag: resb 1 section .text global start start: mov rcx,flag mov byte [rcx],0 mov rax,1 mov rbx,0 mov rcx,1 call setCell mov rax,…
;; List Utilities (defun head (lst) (car lst)) (defun tail (list) (cdr list)) ;; Lambda Expression (defun lam-expr (var body) `(lambda ,var ,body)) (defun is-lambda (list) (and (listp list) (eql 'lambda (car list)))) (defun bv (lam) (cadr …
ちょっとした物です。 ちょっとした物その2、オートマトンをDOT言語に。
以前の構文木では、途中のスタックの状態を保存していなかったので、出力される構文木では どのような途中のスタックの経過をたどったのかが不明瞭でした。 そこで、すこし更新して、スタックの途中経過を構文木中に保存するようにしたので、 どのようなルー…
前回はXML風に木を出力するという機能をつけていましたが、本命はDOT言語に出力する事です。 そっちのほうが確認しやすいからね。というわけで付けてみました。 以下は変更した部分だけ -- ParseTreeをDOT言語として出力 type IndentLevel = Int --- インデ…
自然言語処理のGeneralized LR法をHaskellで書いてみました。 {-# LANGUAGE TemplateHaskell #-} module Main where import Data.List import Control.Monad import Control.Lens import Text.Printf -- 終端記号と非終端記号(行末も終端記号としておく) dat…
文字列の検索アルゴリズムについてしらべていたら、良いチュートリアルを発見したので やってみました。 簡単なWebサーチエンジンの作り方 (defun all-suffix-node (str) (loop for s from 1 to (length str) collect (cons s (subseq str (1- s))))) (defun…
何度かプログラムを書いてるので、自分のためのまとめ記事(自分への記事なのでけっこうはしょっています) ルービックキューブの各セルの面に番号をわりあてる ルービックキューブの表面には全部で 9x6 = 54個のセルの表面が見えています。 この面の事をセル…