Skip to content

Instantly share code, notes, and snippets.

package main
import (
"os"
"io"
)
func main() {
io.Copy(os.Stdout, os.Stdin)
}

Rust RFC読み会: 1558-closure-to-fn-coercion

RFC: 1558-closure-to-fn-coercion.md
Rustには1.19.0で導入

概要

moveやborrow、またはローカル変数にその他のアクセス(キャプチャ)をしないクロージャは、関数ポインタ(fn)に暗黙変換可能であるべき。

モチベーション

参考資料

ざっと調べた。言語を実装する時に疑問に思う細かい部分はまだ拾いきれていない(探せばありそう)。

Stackless coroutine

コルーチン内で別の関数を呼び出す場合、その関数の呼び出し中に現在のコルーチンをsuspend不可とする制限をもたせる(call stackが深い部分でsuspendを許可しない)。 その制限によって、コルーチンのsuspend時に関数のcall stackを全て保存する必要がなくなる。

def main() {
ref a = fib(10);
a.print();
}
import std.stdio;
def fib(v: int32): int32 {
return if ( v == 0 ) 0
else if ( v == 1 ) 1
@yutopp
yutopp / 温泉.md
Last active February 10, 2020 03:28

適当に感想を書くので、ググって行ってどうぞ。 多分全部日帰りで使えるところです。

北海道

名前 感想 行った回数 行った時期 オススメ感
第一滝本館 登別の地獄谷が窓から全部見られる。温泉の種類も多く、露天風呂からは季節によっては紅葉とかも見られそうだった。少し割高なものの、1日中居られそうな気がするくらい充実していると思う。 1 晩夏/昼 95点

会津(若松のほう)

|名前|感想|行った回数|行った時期|オススメ感|

import std.stdio;
import std.assert;
def main() {
val a = fib!(40)();
assert( a == 102334155 );
a.print();
}
def fib!(v: int32)(): int32 when v == 0 {
MENHIR_FLAGS_BASE = --infer -v
MENHIR_FLAGS = $(MENHIR_FLAGS_BASE) --only-tokens
MenhirMulti(tokens, tokens)
OCamlGeneratedFiles(tokens.ml)
MENHIR_FLAGS = $(MENHIR_FLAGS_BASE) --external-tokens Tokens
MenhirMulti(parser, tokens parser)
OCamlGeneratedFiles(parser.ml lexer.ml)
@yutopp
yutopp / miria.css
Last active November 12, 2015 12:58
.HeartAnimationContainer {
width: 28px;
height: 24px;
margin-bottom: -3px;
}
.HeartAnimation {
margin-top: 6px;
margin-left: 11px;
padding-top: 11px;
@yutopp
yutopp / input0.w
Last active November 2, 2015 07:41
definition of WHILE language with K-framework
x := 2 + 10;
x := 5;
skip;
x := 10;
y := x + 10;
x := x - 1;
skip
#!/bin/bash
# ref. https://www.parse.com/downloads/cloud_code/installer.sh
TMP_FILE=/tmp/parse.tmp
if [ -e ${TMP_FILE} ]; then
echo "Cleaning up from previous install failure"
rm -rf ${TMP_FILE}
fi
echo "Fetching latest version ..."