Requirements:
- Pull up bar
- Dumbells (mine had regulated weight: 40kg total)
- Rubber band (mine is 25kg)
- Workout 2 uses gymnastics rings
- Workouts 9 and 10 use bars with higher weights
namespace Demos | |
open System | |
type ReplicaId = String | |
[<RequireQualifiedAccess>] | |
module Array = | |
use crate::session::{SessionDeserialize, SessionSerialize}; | |
use serde::de::{Error, SeqAccess, Visitor}; | |
use serde::ser::SerializeStruct; | |
use serde::{Deserialize, Deserializer, Serialize, Serializer}; | |
use std::fmt::Formatter; | |
/// A sample record of time-series data. | |
#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)] | |
pub struct Record { | |
/// A number of milliseconds since UNIX_EPOCH. |
(* | |
An immutable R-Tree implementation in F#. | |
Based on: https://github.com/swimos/swim-rust/tree/main/swim_utilities/swim_rtree (licensed on Apache 2.0) | |
Author: Bartosz Sypytkowski <b.sypytkowski at gmail.com> | |
*) | |
namespace Demos.RTree |
module Demo.HashRings | |
open System | |
open System.Collections.Generic | |
/// Range is a tuple describing (s,e] - where `s` is start | |
/// (exclusive) index, while `e` is end (inclusive) index. | |
type Range = ValueTuple<int,int> | |
[<RequireQualifiedAccess>] |
module Demo.Dht | |
open System | |
open System.Collections.Generic | |
/// Range is a tuple describing (s,e] - where `s` is start | |
/// (exclusive) index, while `e` is end (inclusive) index. | |
type Range = ValueTuple<int,int> | |
[<RequireQualifiedAccess>] |
module Demo.Ramp | |
open System | |
open Akka.Actor | |
open Akkling | |
/// A Lamport clock timestamp used as transaction identifier - sequence number with unique node identifier. | |
/// Original paper implementation uses combination of hybrid logical clock with node id encoded together into uint64. | |
type TxnId = DateTime * int |
Requirements:
namespace Protocols | |
open System | |
open System.Runtime.ExceptionServices | |
type Endpoint = string | |
type TTL = int | |
type Binary = byte[] | |
type MessageId = Guid | |
type Round = uint64 |
// Reference: https://asc.di.fct.unl.pt/~jleitao/pdf/dsn07-leitao.pdf | |
module Protocols.Hyparview | |
open System | |
open System.Runtime.ExceptionServices | |
open System.Threading | |
type Endpoint = string | |
type TTL = int |
open System | |
[<Struct>] type Effect<'env, 'out> = Effect of ('env -> Async<'out>) | |
[<RequireQualifiedAccess>] | |
module Effect = | |
/// Create value with no dependency requirements. | |
let inline value (x: 'out): Effect<'env,'out> = Effect (fun _ -> async.Return x) | |
/// Create value which uses depenendency. |