Skip to content

Instantly share code, notes, and snippets.

@yuga
yuga / gitoliteインストールメモ
Created January 9, 2013 06:08
去年の2月に書いたメモらしい。 自分用メモのテキストファイルに記録されている文章だと思うんだけど、書いたこと自体を完全に思い出せなくなっているので、もしかすると誰かのコピペだったりして(ドキドキ)。
■2012/02/20
(15:32:48 +0900)
バージョン管理ソフト Git にアクセス制御機能を追加する gitolite というのを試してみました。
アクセス制御しても、Gitはリポジトリを簡単に clone できるので、
誰かが公開してしまうことが容易なことを考えるとあんまり意味ないような気がしますが、
みんなで共有リポジトリを立てて使う場合に、そこへのアクセスを容易に制御できるようになります。

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 / 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
@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
[読書メモ][PFAD]
Pearls of Functional Algorithm Design
1 The smallest free number
======================================
0からはじまる有限の連続した自然数の集合XがあってXからいくつか少数の
自然数を取り除いた集合Yを作る。
ここで集合Xに存在してYに存在しない一番小さな自然数を探そうというとき、
@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
@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 / gist:4087259
Created November 16, 2012 13:13
Windowsでregex-pcre-builtinのビルドに失敗するときの対処法

Windowsでregex-pcre-builtinのビルドに失敗するときの対処法

Windowsにpandocをインストールするとかするとはまります。

依存関係: pandoc -> highlighting-kate -> regex-pcre-builtin

regex-pcre-builtin-0.94.4.1.8.31 用の手順です。

エラー事象

@yuga
yuga / gist:3909984
Created October 18, 2012 05:19
GHCがpinned objectをどのようにGCで回収するか

山本和彦 ?@kazu_yamamoto 教えて詳しい人:GHC では ByteString が pinned object なんですが、どうやって GC に回収されるんでしょうか?

詳しくはないけど、ざっと追いかけてみる。

GHC 7.4.1 rts/sm/Storage.c:743

// If we don't have a block of pinned objects yet, or the current

// one isn't large enough to hold the new object, allocate a new one.

@yuga
yuga / ex0901_BinaryRandomAccessList.ml
Created September 30, 2012 15:19
a solution to Exercise 9.1 of "Purely Functional Data Structures (PFDS)"
(* a solution to Exercise 9.1 of "Purely Functional Data Structures (PFDS)" *)
module type ITEM =
sig
type t
val print : t -> unit
end
module Int : (ITEM with type t = int) =
struct