Skip to content

Instantly share code, notes, and snippets.

@yuga
yuga / gist:4094702
Created November 17, 2012 10:22
How to fix the failure of building regex-pcre-builtin on Windows

How to fix the failure of building regex-pcre-builtin on Windows

Q. What is the issue?

A. Let's do the clean installation of pandoc on Windows. Cabal tell us that something went wrong

>cabal install regex-pcre-builtin

Resolving dependencies...

@yuga
yuga / MinPrint.hs
Created December 12, 2012 13:03
HaskellでMonad使ったDSL書く練習 #1 未テスト
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE OverloadedStrings #-}
module MinPrint (
MinPrint, Doc,
text, br, nest,
execMinPrint, printDoc
) where
import qualified Data.ByteString.Char8 as S
[読書メモ][PFAD]
Pearls of Functional Algorithm Design
1 The smallest free number
======================================
0からはじまる有限の連続した自然数の集合XがあってXからいくつか少数の
自然数を取り除いた集合Yを作る。
ここで集合Xに存在してYに存在しない一番小さな自然数を探そうというとき、
@yuga
yuga / fold.md
Last active December 9, 2015 19:18
今朝流行ってた

Haskell:

fold_left f i []      -> i
fold_left f i (x:xs') -> fold_left  f (f i x) xs'

fold_right f []      i = i
fold_right f (x:xs') i -> f x (fold_right f xs' i)

fold_right' f xs i = go id xs
@yuga
yuga / redblacktree.py
Last active June 9, 2018 20:52
CLRS 2ndのRed-Black Tree あってるかどうか... 番兵のparent, left, right, keyは操作の都合上値置場として活用することがある(日本語版第二版P269)。
#!/bin/env python
# -*- coding: utf-8 -*-
class Color:
RED = 1
BLACK = 2
class Element:
def __init__(self, key):
self.key = key

GHC/Haskell Platform 独自RPM作成手順

注意: あくまで独自仕様です。Fedoraなどで提供されているものとは著しく異なります。

ディレクトリ作成

mkdir -p /home/yuga/haskell/rpmbuild/BUILD
mkdir -p /home/yuga/haskell/rpmbuild/BUILDROOT
mkdir -p /home/yuga/haskell/rpmbuild/SOURCES
mkdir -p /home/yuga/haskell/rpmbuild/SPECS

mkdir -p /home/yuga/haskell/rpmbuild/SRPMS

@yuga
yuga / gitoliteインストールメモ
Created January 9, 2013 06:08
去年の2月に書いたメモらしい。 自分用メモのテキストファイルに記録されている文章だと思うんだけど、書いたこと自体を完全に思い出せなくなっているので、もしかすると誰かのコピペだったりして(ドキドキ)。
■2012/02/20
(15:32:48 +0900)
バージョン管理ソフト Git にアクセス制御機能を追加する gitolite というのを試してみました。
アクセス制御しても、Gitはリポジトリを簡単に clone できるので、
誰かが公開してしまうことが容易なことを考えるとあんまり意味ないような気がしますが、
みんなで共有リポジトリを立てて使う場合に、そこへのアクセスを容易に制御できるようになります。
@yuga
yuga / Lines.hs
Created January 20, 2013 15:21
改行でstring分割
lines' :: String -> [String]
lines' s = go id s
where
go ac [] = [ac ""]
go ac ('\r':'\n':cs) = ac "" : go id cs
go ac ('\r' :cs) = ac "" : go id cs
go ac ( '\n':cs) = ac "" : go id cs
go ac ( c:cs) = go (ac . (c:)) cs
@yuga
yuga / [読書メモ] #2 A surpassing problem from Pearls of Functional Algorithm Design.lhs
Last active December 11, 2015 15:18
[読書メモ] #2 A surpassing problem from Pearls of Functional Algorithm Design
[読書メモ][PFAD]
Pearls of Functional Algorithm Design
2 A surpassing problem
======================================
Introduction
--------------------------
@yuga
yuga / haskelldb_hdbc_lazy_query.patch
Created February 7, 2013 07:05
HaskellDBのquery関数がstrictなので無理やりlazyにしてみるpatch。HDBC専用。HSQLはどうするのがよいのやら。
--- haskelldb-2.2.2/src/Database/HaskellDB/Database.hs 2012-10-26 02:19:38.000000000 +0900
+++ haskelldb-2.2.2/src/Database/HaskellDB/Database.hs 2013-01-17 09:21:06.501451400 +0900
@@ -24,7 +24,7 @@
(!.)
-- * Type declarations
, Database(..)
- , GetRec(..), GetInstances(..)
+ , GetRec(..), GetInstances(..), GetInstancesIO
, GetValue(..)
-- * Function declarations