- Raftという分散合意アルゴリズムの紹介
- 論文: In Search of an Understandable Consensus ALgorithm (Extended Version)
- Raft三日目くらいの人が自分の理解をもとに(適当に)書いています
更新: | 2017-05-09 |
---|---|
作者: | @voluntas |
バージョン: | 3.14 |
URL: | http://voluntas.github.io/ |
MQTT をググって調べた人向け
Scalaz | Cats |
---|---|
Cobind | CoflatMap |
Bind | FlatMap |
MonadPlus | MonadCombine |
PlusEmpty | MonoidK |
Foldable1 | Reducible |
Plus | SemigroupK |
These | Ior |
Validation | Validated |
更新: | 2022-03-18 |
---|---|
作者: | @voluntas |
バージョン: | 2022.1 |
URL: | http://voluntas.github.io/ |
;;;; Freer monad in Scheme | |
;;;; See also | |
;;;; * "Freer monads, more extensible effects" | |
;;;; http://dl.acm.org/citation.cfm?doid=2804302.2804319 | |
;;;; * Free monad in Scheme https://gist.github.com/wasabiz/951b2f0b22643a59aeb2 | |
(use gauche.record) | |
(use util.match) | |
;;; data Freer f a where | |
;;; Pure :: a -> Freer f a |
(* | |
Requirement: higher, ppx_deriving.show | |
*) | |
(* | |
Lightweight higher-kinded polymorphism | |
https://ocamllabs.github.io/higher/lightweight-higher-kinded-polymorphism.pdf | |
*) | |
open Higher |
namespace Persimmon.Runner.Wrapper | |
open Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging | |
open System | |
open System.Collections.Generic | |
open System.Reflection | |
module private TestCollectorImpl = | |
open Persimmon |
import scalaz._, Scalaz._ | |
case class KnightPos(c: Int, r: Int) { | |
def move: List[KnightPos] = | |
for { | |
KnightPos(c2, r2) <- List(KnightPos(c + 2, r - 1), KnightPos(c + 2, r + 1), | |
KnightPos(c - 2, r - 1), KnightPos(c - 2, r + 1), | |
KnightPos(c + 1, r - 2), KnightPos(c + 1, r + 2), | |
KnightPos(c - 1, r - 2), KnightPos(c - 1, r + 2)) if ( | |
((1 |-> 8) element c2) && ((1 |-> 8) contains r2)) |