Haskell: リスト内包表記とSQL

プログラミングHaskell」読んでます。


リスト内包表記の説明を見てたらなんかSQLっぽい感じがしてきたのでメモ。

fooTable = [0,1,2,3]

fooFunc = [ x * 3 | x <- fooTable, x >= 2 ]
main = print fooFunc
-- > [6,9]
create table foo_table (x int);
insert into foo_table (x) values (0), (1), (2), (3);

select x * 3 from foo_table where x >= 2;
--> [6,9]
  • リスト内包表記怖くない
  • 今まで select x * 3 を map として認識したことはなかったけど、そういうふうに見ると面白いかも