Skip to content

Instantly share code, notes, and snippets.

View windymelt's full-sized avatar
😄
Working from Home

Windymelt windymelt

😄
Working from Home
View GitHub Profile
object StreamT extends StreamTInstances {
// 略
def unfoldM[M[_],A,B](start: B)(f: B => M[Option[(A,B)]])(implicit M: Functor[M]): StreamT[M,A] =
StreamT[M,A](M.map(f(start)) {
case Some((a, b)) => Yield(a, unfoldM(b)(f))
case None => Done
})
@windymelt
windymelt / failable.scala
Last active August 29, 2015 13:56
unfold_example1
val failable: Int => Option[Int] = {
(n: Int) =>
n match {
case n if 0 until 100 contains n => Some(n + 1)
case otherwise => None
}
}
@windymelt
windymelt / gist:8886521
Created February 8, 2014 16:48
unfold_example1
import scalaz.std.stream._
import scalaz.syntax.id._
unfold(0)(failable(_).map(_.squared)).force // => Stream(1, 2, 3, 4, 5, ..., 99, 100)
unfold(0)(failable(_).map(n => (s"n=${n}", n))).force // => Stream("n=1", "n=2", ... "n=100")
@windymelt
windymelt / isFirstArgNumber.c
Created October 29, 2014 05:03
数値判定
#include <stdio.h>
/* 定数定義 */
#define CHAR_ZERO 0x30
#define CHAR_ONE 0x31
#define CHAR_NINE 0x39
#define CHAR_NULL 0x00
/* cが0から9までのcharのとき真 */
int isZeroToNine(char c) {
@windymelt
windymelt / .xmodmap
Last active August 29, 2015 14:13 — forked from anonymous/.xmodmap
Shellscript to use SandS and to assign Shift_R to "@"
pointer = default
! shift_r -> @
clear Shift
add Shift = Shift_L
!remove Shift = Shift_R
keycode 62 = at
@windymelt
windymelt / Application.scala
Last active August 29, 2015 14:17
Play 2.3.x でShift_JISのパーセントエンコーディングされたデータを受け取る
package controllers
import play.api._
import play.api.mvc._
import play.api.data._
object Application extends Controller {
def hoge = Action(parse.tolerantText) { request ⇒ // 生の文字列で受け取る。
// 修正したリクエストでimplicit宣言する。
// あたかも最初からパースされたフォームデータが渡されたような状態にする。
@windymelt
windymelt / summerVacationTodo2015.md
Created August 30, 2015 04:57
2015年最高の夏チェックリスト

最高の夏チェックリスト

夏をエンジョイするためにやりたいことをリストアップしよう!!!(だいぶ時期遅め)

実施時期

2015/10/1まで

ToDo

  • 読書
    • 『話し方入門』
  • 『ドキュメント戦争広告代理店』
@windymelt
windymelt / PGP Public Key
Created October 27, 2015 03:04
Public Key of windy.imlovinit AT gmail.com
-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: GPGTools - https://gpgtools.org
mQENBE9+pmUBCACwtdCHjz2/uFwl3ex/vmcQx7U2G7WFezxuC2b2yco4rUBFzPVW
VwtjJO6luueo2G50Nanm8a+Grdeymm+lQrJ+WmD7VveqK/qbHre43SVElbDvcV01
ocsus/rgrpVkZ/1ZHvm7jJN2OXStdnarxmfrAsbCELkDBmTSWyC4AW+lCDnrgGcE
ZhV7BrQyz9WyPiqXANiqh2a1F5tX5KOGfDymWtkmrBeQo5pn924FI+1QXJiCeB63
0EJXuilgesTSKpJ/lTPpbqY0RtPT7ogQwu7FAEUJFIejEQrX6JhrCxiuL2QQgmII
wael+hOd7L9t3Z8SzFnU9t9Ucrv7B23os0wrABEBAAG0K0tlaXN1a2UgTm9ndWNo
aSA8d2luZHkuaW1sb3Zpbml0QGdtYWlsLmNvbT6JATwEEwEKACYCGwMHCwkIBwMC
@windymelt
windymelt / README.md
Last active November 20, 2015 11:16
swi-prologを秀丸で走らせるマクロ

インストール

  1. 秀丸にこのマクロを登録する(登録方法はググってね)
    1. auto-install.batをダウンロード(拡張子は.batのまま:ファイルの種類を「すべてのファイル」とする)して起動する
    2. 秀丸を開き[マクロ]→[マクロ登録]を開く
    3. 空いている適当なスロットに適当な名前(例えば「run swipl」)をつける
    4. 「ファイル名」隣の[▼]をクリックするとrun-swipl.macが表示されているはず(されていなかったらそのフォルダにrun-swipl.macを持ってくる)ので選択する
    5. [OK]をクリックする

使い方

  1. マクロを登録する
@windymelt
windymelt / strich-nomo.py
Created December 12, 2015 11:11
シュトリヒ対応ノモグラム作成スクリプト
from pynomo.nomographer import *
N_params_1={
'u_min':0.0,
'u_max':10.0,
'function':lambda u:u,
'title':r'$width [m]$',
'tick_levels':3,
'tick_text_levels':1,
}