Skip to content

Instantly share code, notes, and snippets.

@dypsilon
dypsilon / frontendDevlopmentBookmarks.md
Last active March 18, 2026 22:54
A badass list of frontend development resources I collected over time.
{------------------------------------------------
A Haskell solution to: http://www.coinheist.com/rubik/a_regular_crossword/grid.pdf
using the Z3 SMT solver.
Z3 finds the following solution in about 7 mins
on my Mac Core-i5, and another 7 mins to prove
it's unique.
NHPEHAS
DIOMOMTH
@nebuta
nebuta / haskell_advent_2012_26.md
Last active June 4, 2025 02:40
HaskellでWebスクレイピング - Haskell Advent Calendar 2012

HaskellでWebスクレイピング

この記事はHaskell Advent Calendar 2012の26日目の記事です。Haskell Advent Calendar初参加です。コメントなどお待ちしております。

前提知識 - Haskellでの文字列処理

HaskellではString([Char]の別名)が文字列の基本型で、これはリストであるためにパターンマッチ・再帰やPreludeやData.Listにあるリスト用の関数を使って処理ができるという利点があります。ただし、実用上はパフォーマンスが低いため、TextByteStringが代わりに用いられます。Textはいわゆるユニコード文字列、ByteStringはバイト列という区別です。この使い分けに関してはちょうどAdvent Calendarの@brain_appleさんのこの記事で解説されました。StackOverflowでの質問も参考になります。

HaskellでのHTMLパーシング用ライブラリの概観

Hackageを見ると、

@7shi
7shi / label.cpp
Created November 26, 2012 08:37
PE generation with labels
// public domain
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <vector>
#include <map>
#include <memory>
#include <windows.h>
@konn
konn / TuringMachine.hs
Created October 11, 2012 13:35
A simple turing machine simulator.
{-# OPTIONS_GHC -fwarn-incomplete-patterns #-}
module TuringMachine where
import Control.Applicative
import Control.Arrow hiding (left, right)
import Control.Lens hiding (Tape, Zipper, left, right)
import Data.List.Lens
import qualified Data.Map as M
import Data.Maybe
data Instruction s = GoLeft
@shogo82148
shogo82148 / gist:3769139
Created September 23, 2012 06:50
6さいカンファレンス #6saiconf 第3回目「アルゴリズムを自力で生み出すプログラムを作ろう!」 9/20 21:00~22:30 過去ログ
[12/09/20 20:11:44] くいなちゃん: くいなちゃん が新規ピクチャを設定しました
[12/09/20 20:27:37] くいなちゃん が tooms32 を会話に追加しました
[12/09/20 20:27:39] くいなちゃん が cat_mask を会話に追加しました
[12/09/20 20:27:41] くいなちゃん が shindex00 を会話に追加しました
[12/09/20 20:27:43] くいなちゃん が minto-ziru を会話に追加しました
[12/09/20 20:27:45] くいなちゃん が moriken-www を会話に追加しました
[12/09/20 20:27:47] くいなちゃん が kurisaka_konabe を会話に追加しました
[12/09/20 20:27:49] くいなちゃん が tsukiyo_rosette を会話に追加しました
[12/09/20 20:27:50] くいなちゃん が daisukeegg を会話に追加しました
[12/09/20 20:27:52] くいなちゃん が basshi-13 を会話に追加しました
@snoyberg
snoyberg / overloaded-lists.md
Created September 21, 2012 12:42
Overloaded lists proposal

Many of us use the OverloadedStrings language extension on a regular basis. It provides the ability to keep the ease-of-use of string literal syntax, while getting the performance and correctness advantages of specialized datatypes like ByteString and Text. I think we can get the same kind of benefit by allowing another literal syntax to be overloaded, namely lists.

Overly simple approach

The simplest example I can think of is allowing easier usage of Vector:

[1, 2, 3] :: Vector Int

In order to allow this, we could use a typeclass approach similar to how OverloadedStrings works:

@gintenlabo
gintenlabo / Proc.hs
Created September 16, 2012 11:53
Procedural Haskell Sample
import qualified Data.Foldable as F
import Data.Foldable (Foldable)
import Control.Monad
import Control.Monad.Trans
import Control.Applicative
-- for main
import System.Random
data Proc' r a = Return r | Break | Continue | Transitional a
@shangaslammi
shangaslammi / hello-ski.hs
Created August 23, 2012 16:53
Hello World using SKI combinator calculus
s x y z = x z (y z)
k x y = x
i = s k k
c = s (s (k (s (k s) k)) s) (k k)
b = s (k s) k
hello =
s(s(k s)(s(k k)(s(k s)(s(k(s(k s)))(s(s(k s)(s(k k)(s(k b)i)))(k(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s
b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(c k))))))))))))))))))))))))))))))))))))))))))
)))))))))))))))))))))))))))(s(s(k s)(s(k k)(s(k s)(s(k(s(k s)))(s(s(k s)(s(k k)(s(k b)i)))(k(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s b(s
@qnighy
qnighy / dprintf.h
Created August 21, 2012 13:19
よくあるデバッグ用マクロ
// #define DEBUG
#ifdef DEBUG
#define dprintf(format, ...) fprintf(stderr, format, __VA_ARGS__)
// #define dprintf(format, ...) do{ fprintf(stderr, format, __VA_ARGS__); fflush(stderr); } while(0)
// 後者はfflushも同時に行うバージョン
#else
#define dprintf(format, ...)
#endif