Skip to content

Instantly share code, notes, and snippets.

@GnicoJP
GnicoJP / main.fs
Created September 28, 2022 05:06
Benchmark of F#'s computation expression using InlineIfLambda
// For more information see https://aka.ms/fsharp-console-apps
open BenchmarkDotNet.Attributes
type OptionCode<'T> = unit -> 'T voption
type NewOptionBuilder () =
member inline __.Run<'T>([<InlineIfLambda>]code : 'T OptionCode) : 'T voption = code ()
member inline __.Bind<'T, 'T2>(x : 'T voption, [<InlineIfLambda>] code : 'T -> 'T2 OptionCode) : 'T2 OptionCode =
(fun () -> match x with
| ValueNone -> ValueNone
| ValueSome v -> (code v) ()) // let!
@GnicoJP
GnicoJP / stdjareport2.satyh
Last active May 12, 2020 13:51
SATySFi2段組み
% -*- coding: utf-8 -*-
@require: pervasives
@require: gr
@require: list
@require: math
@require: code
@require: color
@require: option
@require: annot
@require: footnote-scheme
@GnicoJP
GnicoJP / my-profile.md
Last active March 30, 2023 09:57
Profile