Skip to content

Instantly share code, notes, and snippets.

@LeifW
LeifW / NumType.idr
Last active May 23, 2020 07:57
A Num instance for Type
import Data.Vect
%default total
Num Type where
(+) = Either
(*) = Pair
fromInteger 0 = Void
fromInteger 1 = Unit
fromInteger 2 = Bool
@lotz84
lotz84 / lens.lhs
Last active February 21, 2016 16:56
レンズは余状態余モナドの余代数だった
===================================
余余余〜!別名`関数的参照`とも呼ばれる[レンズ](https://hackage.haskell.org/package/lens)はJavaのGetter, Setterと同等と[言われる](https://twitter.com/plt_borat/status/228009057670291456)関数型プログラミングのデザインパターンの一つです。
レンズは余状態余モナドの余代数だと[聞いて](https://twitter.com/hiratara/status/317602743219003392)そうなのかーと思ってたのですが、ふと自分で実装してみたくなったので **余状態余モナドの余代数** として実装してみることにしました。
ちなみにこの文章は`literate Haskell`という形式で書かれているのでダウンロードしてghciでロードすればすぐにでも自分で試すことができます。
まず最初におまじない
> {-# LANGUAGE RankNTypes #-}
@risgk
risgk / ruby-arduino-synth.md
Last active May 30, 2019 16:34
Ruby x Arduinoでシンセサイザーを作ってみた #hmrk01

Ruby x Arduinoでシンセサイザーを作ってみた

  • 2015/03/28 浜松Ruby会議01

  • Hamamatsu.rb 石垣 良

@miyakogi
miyakogi / compile.sh
Created March 5, 2015 03:54
Nim で DOM をさわる
nim js -o:hellonim.js hellonim.nim
@voluntas
voluntas / webrtc_stack.rst
Last active June 4, 2023 13:23
WebRTC スタックコトハジメ

WebRTC スタックコトハジメ

WebRTC スタックについて

@voluntas

バージョン

0.0.3

url

https://voluntas.github.io/

@daiiz
daiiz / get-flexible-width.js
Created February 4, 2015 17:47
get-flexible-width.js
/* Copyright 2015 daiz, app Ui design project. */
function getFlexibleWidth(column, margins, stage_width, min_width, max_width) {
/**
column: 標準カラム指定
margins: margin-left, margin-right を要素に持つ配列
stage_width: 表示領域の横幅
min_width: multi column の場合のcolumn横幅の最小値
この値より小さい横幅になる場合はカラムを減らす
max_width: multi column の場合のcolumn横幅の最大値
この値より大きい横幅になる場合はカラムを増やす
@daiiz
daiiz / sort.py
Created January 18, 2015 06:09
ソート詰め合わせパック
# -*- encoding: utf-8 -*-
# ソート詰め合わせパック
# * バブルソート(単純交換ソート)
# * 単純選択ソート
# * シャトルソート(単純挿入ソート)
# * シェルソート
# * クイックソート
# * ヒープソート
# Copyright 2015 daiz. All Rights Reserved.
@miyakogi
miyakogi / nim_syntax.md
Last active April 30, 2023 07:24
Syntax of Nim
@aphlysia
aphlysia / stfuawsc_itg_advent2014_4_conda.md
Last active June 16, 2023 01:05
conda で python の環境つくり

これは stfuawsc_itg Advent Calendar 2014 4日目の記事です。

プログラミングをしていると、いろいろなバージョンの環境を行ったり来たりしたくなることがあります。たとえば言語処理は python 2 へ nltk を入れてやりたい。シミュレーションは python 3 へ numpy 入れてやりたいとか。
そういうふうに言語やモジュールのバージョンをいろいろ組合せた環境を気軽に切り替えられると便利です。
実際そういうことを可能にするツールはたくさんあります。virtualenv, pyenv など。
ここで紹介する conda というツールもその1つです。
virtualenv などでは、モジュールを入れるときは通常の python の流儀でインストールするのですが、インストールがうまくいかないというのはよくあることです。conda ではあらかじめビルドされたものを入れるので、楽です。もちろん conda に用意されていないモジュールもありますが、そういうのは pip 等通常の方法で入れて共存できます。

ではさっそく conda で python の環境を作る方法です。

@7shi
7shi / gist:fc5e5c829f968c559b73
Last active January 23, 2016 02:50
[Haskell][F#]IORefと参照
import Control.Monad
import Data.IORef
main = do
a <- newIORef 0
let f = do
a' <- readIORef a
let a'' = a' + 1
print a''
writeIORef a a''