wvogel日記

自分用の技術備忘録が多めです.

2011-10-01から1ヶ月間の記事一覧

Gauss Jordan

だめだめだ..... 関数型やりすぎて全く手続き型が書けなくなってる... というのも多次元配列の扱いが特に。 参照透明性が保たれているのを当然のこととして考えていて、 それで1時間ほど悩んだり。 なんとか完成。 多項式の行列表現から解を導く Gauss-Jorda…

Leksah

久々に更新する 最近忙しくて、なかなかPCいじる時間もとれない。 今日は、Haskell IDEを使ってみたよ、というだけの記事です。 Leksahです。 みると、これはYiライブラリを使用しているようですね。 それはなかなかに興味深い。 それはともかく、 前回(数…

Hanoi

Haskellでハノイの塔を解く。 書籍、「C言語によるはじめてのアルゴリズム入門」の内容をそのまま落とし込みました type Disk = Int type Disks = (Int,[Disk]) type Pillar = [Disks] hanoi :: Int -> Pillar ->IO() hanoi 0 _ = return () hanoi n [(a,p1)…

C# 入門

C#

F#とかやってる場合じゃなくなってきた。 C#とjava scriptを早急に習得せねばならなくなったので。 なので今日から暫くそれらの言語の練習 using System; class Test{ static void Main(){ Console.WriteLine("C# program"); double[] x = new[]{1.2 , 3.5…

Monoid

今も弄ってたのですが、gitHubの使い方が段々分かってきました。 どのPCからでもアクセスできるのが便利ですね。 まあ面倒なのでFedoraからしかcommitはしないですが。 で、前回(?)記事にした、ノベルゲームを作るための前段階としてセーブ関数ロード関数を…

gitHub登録完了

二ヶ月前、gitHubのアカウントをとったはいいんですが設定をめちゃくちゃにやりすぎてcommitが通らず、そのまま挫折してしまっていました。 しかしいい加減、開発PCの中のファイルも多くなってきて、作りかけのものもあるのにそれを忘れてしまうなど非常に管…

save and load 完成

昨日コンパイルエラーに悩まされて中断して寝てしまったLoad関数のパーサ。 今再挑戦したらすぐにできました。 よかったよかった。というわけで。 今朝書いた、parseRun及びparseListと、その他。 最後のreturn関数部分をどう書いたらいいか悩んでいたんです…

GUI入門 with F#

F#

F#は、.Netを標準で使えるわけだから、 もしかしてGUIアプリ作るの簡単なんじゃないか? と思った。 今までC/C++,Haskellと、GUI作成に関しては面倒なイメージしかない言語ばかり触ってきたので余計に.Netは気になる..... やってみた。 ①visual studioを起動…

save and load

いい加減、Haskellで何かまとまったものを作らないと、このもやっと感が消えてくれないのです。 というわけで。 GUIはまとまった時間が取れないとなかなか勉強する時間とれそうにないので、周辺パーツから揃えていくことに。 データをsaveするための関数を作…

save and load(2)

眠い...... 一度集中力がきれたらあとはダラダラになってしまうのが私の悪いところ。 Parsec使ってカリカリしてましたが、最後の詰めが書けない..... とりあえず今日、できあがったところまで import Text.Parsec import Text.Parsec.String import Types fa…

StorYBook

今日はいつもと趣旨を変えて。 昼間、急になにか書きものがしたくなって (特に書きたいテーマなんてないのに) ネットで調べてみたら、小説作成フリーソフトとして、StoryBookなるものがあることを知る。 ちょっとおもしろそうだったので触ってみた。 導入…

Yi導入失敗

今回学園祭でコント二つやりますが、 今後もそういう機会があるだろうし、ノベルゲームエンジンも作りたいなと思うし、 そのためのツールを何かHaskellで作ろうかと考えています .....が。 なにも構成が決まらない。 とりあえずエディタのような形式になるか…

start Coq

Coq

今日、知能や知識工学に関する授業がありました。 その中で、専門家の知識をどう利用するか、GAやGP、そしてAIの記述言語としてLispやPrologがあることなど、導入をききました。そして実際、コンピュータに知能を持たせることは可能か、という話にもなり。 …

delay

Haskellでの時間待ち、waitはどのようにしたらよいのでしょうか。 クイックソートの時間比較の際に使った、 正格評価関数 ($!)::(a->b)->a->b を使って何か意味のない計算をさせて遅延させることも可能ですが、 スマートではないですね。threadDelayという関…

instance宣言(2)

まずは誤りコード(正コードは下に) module ClassTest where data MyList a = List a (MyList a) | Nil deriving Show instance Monad MyList where return x = List x Nil Nil >>= f = Nil List x xs >>= f = f x fail s = Nil --おまけ myConcat :: Show …

型Class

今日は型クラスの勉強 というわけで。 図書館で見つけた本を参考に module ClassTest where import Prelude hiding ((==),(/=)) class MyEq a where (==),(/=) :: a -> a -> Bool a == b = not $ a /= b a /= b = not $ a == b instance MyEq Integer where …

card

トランプを分配する問題 ttp://ameblo.jp/programming/entry-10001721422.html import Data.List trampf :: Int -> String -> [String] trampf n cs | n > length cs = repeat "" | otherwise = zipWith (++) as $ trampf n bs where as = heads n cs bs = d…

部分和

与えられた値 a と数字列に対し、 数字列の部分和が a に等しくなることがあるかどうかを判定するという問題。 昔解いたときはタプルとか使ってややこしく解いた気がするけど、割合スマートに解けた気がするので main = do an <- getLine cs <- getContents …