Table of Contents In Part 1 (this article): Introduction Noise Generation Getting Started Generating the Height Map In Part 2: Wrapping the Map on One Axis Wrapping the Map on Both Axis Finding Neighbors Bitmasking Flood Filling In Part 3: Generating the Heat Map Generating the Moisture Map Generating Rivers In Part 4: Generating Biomes Generating Spherical Maps Introduction I always like to start
タイトルは煽りではありません。もちろん、Scalaを実用的に使う上では「直接」Genericsを扱えないのは困ります。しかし、記述の冗長ささえ我慢すればGenericsのほぼ全ての機能をAbstract Type Membersによって表現できます。このことを指して、GenericsはAbstract Type Membersでエンコードできると言ったりします。とりあえずコード出せやといわれそうなので、実際のコードを貼りつけてみます。 gist.github.com このコードでは、不変Listと、その上の高階関数mapとforeachをGenericsなしで構築しています。 ポイント: Genericな型 => Abstract Type Memberを持った型 Genericなメソッド => Abstract Type Memberとメソッドを持った型 関数 => Abstract T
hmatrixはBLAS/LAPACKをベースにしたHaskellで行列を扱うライブラリです 調べるとlinearという線形代数のためのライブラリがありますが依存関係を見ているとlinearはlinearはOpenGL等のグラフィックの処理に使われることが多く数値計算にはhmatrixが使われているみたいです。 http://packdeps.haskellers.com/reverse/linear http://packdeps.haskellers.com/reverse/hmatrix ベクトルと行列 hmatrixでのベクトルと行列の作り方と簡単な使い方を紹介します。 ghciでNumeric.LinearAlgebraをimportした前提で書いていきます。
CodeforcesやProject Eulerの問題には、無限リストをうまく使うと綺麗に解くことができる問題がたくさんあります。 数列の性質から探索範囲の上界を決めて解を探索することが多いのですが、きちんとした根拠を持って上界を決めることができることは少なく、余裕を持って十分に広い範囲で計算して解を求める解法がよく取られます。 Haskellの特徴である遅延評価とその洗練された糖衣構文を用いると、無限リストを簡単に扱うことができます。 上界を適当に定める解法よりも、より宣言的で美しく、時に効率的なコードで同じ解を得ることができます。 しかし、無限リストをきちんと、それも無限個の無限リストをきちんと扱うとなると、意外と苦労します。 この記事では、無限個の無限リストをソートされた形で結合する方法について説明します。 一般的な無限リストではなく、条件はかなり絞っていてます (そうでないと原理的
# Boring preliminaries %pylab inline import re import math import string from collections import Counter from __future__ import division Statistical Natural Language Processing in Python. or How To Do Things With Words. And Counters. or Everything I Needed to Know About NLP I learned From Sesame Street. Except Kneser-Ney Smoothing. The Count Didn't Cover That. *One, two, three, ah, ah, ah!* — The
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く