2012-01-01から1年間の記事一覧

Haskell の GC を比較してみる

GC Advent Calendar 22日目の記事です。同じ言語に対する異なる処理系があれば、GCを比べてみたくなるのは人間のサガですよね。 今回はHaskellの2つの処理系のGCを比べて見ることにします。 ■ GHC(the Glasgow Haskell Compiler) Haskellの実行系といえばこ…

GHCソースコードリーディング勉強会 第1回 行ってきた

第0回に続いて、 GHCソースコードリーディング勉強会 第1回 #readghc に行ってきた。というか発表しました。発表資料: GCをみればRTSが見えてくる、かも。。。まー、ちょっと読み込み不足なところもあって、メンバー見たらかなりこわい人達だったので、これ…

Miller-Rabin法で擬素数を探す

Miller-Rabbin法による擬素数探索をHaskellで書いてみた。感想 1. 多倍長計算を気にせずできるInteger型素晴らしい! 2. とりあえず乱択のパラメーターを乱数にしているけど、IOモナド破壊しても大して困らなそうなので破壊したいと思います。改善点 1. 実際…

Euler 4 を Haskell で高速化してみたが、、、

下記のような記事があって、HaskellとOCamlの速度を比較してみた - let start programming = fun life -> life * 100;;キャミバ様とガリグ先生がOCamlでコードを戦わせていたようだったので、こりゃ勝てないと思ってHaskellで高速化をしてみた。 結果、ぼく…

for による組み合わせ回路

昨日の回路を少し改善してみた。 functionとforを組み合わせることで超シンプルな回路として書けた。 wireで実装するよりシミュレーション速度も速い。(仕方ないか。。。) 合成後の速度は分からないが、、、コードなぜ自分がわざわざこんなことをやっている…

組み合わせ回路に挑戦

自作回路を作ってみた。 使用したのはicarus-verilog。このicarusシミュレータはWindowsでも動作するのだが、ためしてみるとシミュレーションにめっちゃ時間が掛かる。実装してみたのは冪剰余演算。512bit整数で3回ほど回すシミュレーションをしてみたのだが…

はてな記法

いままで使ってなかった。。。。 ちょっとはてな固有でやだけど楽にハイライトできるから使ってみるかな。。。 -- Simple example for Bang-Patterns leak import Control.Monad import Data.Foldable ( foldr' ) import System.IO main :: IO () main = do …

世界一難しい数独@Alloy(cont'd)

下記のような記事を見つけた。 星11個の数独の問題をAlloyで なんと以前の記事を見てdisktnkさんという方が「遅すぎる」と検証してくださったようだ。。。 Lets's Compare! ぼくの実行結果 Executing "Run run$1 for 13" Solver=sat4j Bitwidth=0 MaxSeq=0 S…

入門 Verilog

長らく堪えていたが、耐え切れなくなってポチってしまった。夏休みの積ん読リスト入り。 【送料無料】入門Verilog HDL記述改訂 [ 小林優 ]

世界一難しい数独、Alloyで解いてみたよ(RocketNews24から)

RocketNews24さんで 本当に解ける人いるの? フィンランド人数学者が作った “世界一難しい数独” が発表されるという記事があったんで以前のAlloyの記事で使ったモデルを流用して解いてみた。 about alloy Alloy is a language for describing structures and…

Control.DeepSeqを使って正格評価(訂正版)

何が酷いって、記事を見なおしてみたらfoldrとfoldlのロジックを間違えてる。コレは死ねる。。。ただ、Bangについてはそれでもちょっと怪しいので訂正版の記事を作り直したいと思います。 古い記事 は自戒の意味も込めて残しておきます。(なんの意味があるの…

Control.DeepSeq を使用して正格評価

本記事はfoldのアルゴリズムに対する理解がめちゃくちゃだったんで修正記事作りました。(2012/06/25) モンテカルロ法で円周率を計算するために多数のIOから取り出した結果の集計を行おうとした。 しかし未評価thunkによるメモリオーバーフローが発生し、イン…

正格評価がうまく動かない?

モンテカルロ法で円周率計算、みたいな話がちょろっと降ってきたので任意精度で計算できるようなコードをHaskellで書いてみたのだがループの中でどうもスペースリークしている。もう少しいうと、集計用の畳み込み関数が未評価のまま残ってしまうようだ。 mai…

ガベージコレクタのアルゴリズムと実装(アルゴリズム編)のメモ

一章 ガベージコレクタの評価項目 ・スループット ・停止時間 ・使用効率 ・局所性二章 マークスウィープはメモリ全体を舐める フラグメントがたまる →BiBOP法(BigBagOfPages) phkmallocみたいなやり方 チャンク検索のコストが上がる →サイズ別チャンク単…

さっそく移行

はてなダイアリーを開いて直ぐなのだがさっそく移行してきた。 http://d.hatena.ne.jp/dec9ue/ 最初からブログで開けと。

BEAST attack

あまりよく理解していなかったことではあるが、、、、 CBCモードってのは選択平文攻撃にとても弱いらしい。CSRFとかで乗っかられちゃうと、セッション内で攻撃成功すればcookieが盗まれるとおもわれる。これって暗号強度の観点から言うと暗号の効果を否定す…

Alloyでナンプレ

nishioさんのAlloyネタを追っかけてナンプレ(数独)をAlloyで写経してみた。 sig Col extends Index とか one sig One,Two,Three,Four,Five,Six,Seven,Eight,Nine あたりがダサさが極まっていてたまらない。 abstract sig Index {} sig Col extends Index { c…

開設

まー、ほそぼそとやります。