Skip to content

Instantly share code, notes, and snippets.

View get_stacktrace.erl
-ifdef('GET_STACKTRACE_AVAILABLE').
-define(CATCH_MATCH(__R), __R).
-define(GET_STACKTRACE(), erlang:get_stacktrace()).
-else.
-define(CATCH_MATCH(__R), __R:__StackTrace).
-define(GET_STACKTRACE(), __StackTrace).
-endif.
View stackful_stackless_coroutineメモ.md

参考資料

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

Stackless coroutine

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

@soranoba
soranoba / aaa_srv.erl
Last active Jun 19, 2016
A -> B -> C
View aaa_srv.erl
-behaviour(gen_server).
init(_) ->
{ok, #state{member = undefined}}.
handle_call(_, _, #state{member = undefined} = State) -> {noreply, State}.
handle_cast({sync, Pids}, State) -> {noreply, #state{member = Pids}}.
View gist:d8c1b65e7dbd54ae4549

Epidemic Broadcast Trees: Plumtree

Push-Lazy-Push Multicast Tree.

高いスケーラビリティ、信頼性 (Reliability) 、回復力 (Resiliency) を達成するため、 流行性のブロードキャスト (Epidemic Broadcast) と、 決定論的なツリーに基づくブロードキャスト (Deterministic Tree-Based Broadcast) を統合する。

純粋な Gossip Protocol と異なり、ブロードキャスト用のツリーを構築するフェーズで、冗長な転送経路が取り除かれるので、重複するメッセージが大量に転送されることはない。

@voluntas
voluntas / shiguredo_product_ strategy.rst
Last active Aug 5, 2018
時雨堂を支える製品戦略
View shiguredo_product_ strategy.rst
View pfds8.md

8 Lazy Rebuilding

  • 1章: 導入
  • 2〜3章: 関数型データ構造の基本的な部分についての紹介
  • 4〜7章: 遅延評価と償却の関係 ← ここまでやった
  • 8〜11章: 関数型データ構造を設計するための汎用的なテクニック ← 残りはこの部分

この章でやること

  • batch rebuilding
@voluntas
voluntas / shiguredo_bot_system_kbkz.rst
Last active Apr 17, 2019
時雨堂 BOT サーバー (すごいErlangをゆかいに学ぶ会)
View shiguredo_bot_system_kbkz.rst
@staltz
staltz / introrx.md
Last active Sep 24, 2021
The introduction to Reactive Programming you've been missing
View introrx.md
@rxaviers
rxaviers / gist:7360908
Last active Sep 24, 2021
Complete list of github markdown emoji markup
View gist:7360908

People

:bowtie: :bowtie: 😄 :smile: 😆 :laughing:
😊 :blush: 😃 :smiley: ☺️ :relaxed:
😏 :smirk: 😍 :heart_eyes: 😘 :kissing_heart:
😚 :kissing_closed_eyes: 😳 :flushed: 😌 :relieved:
😆 :satisfied: 😁 :grin: 😉 :wink:
😜 :stuck_out_tongue_winking_eye: 😝 :stuck_out_tongue_closed_eyes: 😀 :grinning:
😗 :kissing: 😙 :kissing_smiling_eyes: 😛 :stuck_out_tongue: