Skip to content

Instantly share code, notes, and snippets.

View VitalyBrusentsev's full-sized avatar

Vitaly Brusentsev VitalyBrusentsev

View GitHub Profile
#r "nuget: FSToolkit.ErrorHandling.TaskResult"
#r "nuget: FSharp.Json"
#r "nuget: Microsoft.Azure.Cosmos"
open System
open System.Text.RegularExpressions
open FsToolkit.ErrorHandling
open FSharp.Json
// Primitives
@VitalyBrusentsev
VitalyBrusentsev / fable-repl.fs
Created November 10, 2019 07:28
Created with Fable REPL
module SpreadSheet
// Build your own Excel 365 in an hour with F# by Tomas Petricek!
// Watch the video of the talk here: https://www.youtube.com/watch?v=Bnm71YEt_lI
module Parsec =
type ParseStream<'T> = int * list<'T>
type Parser<'T, 'R> = Parser of (ParseStream<'T> -> option<ParseStream<'T> * 'R>)
/// Returned by the `slot` function to create a parser slot that is filled later
@VitalyBrusentsev
VitalyBrusentsev / fable-repl.fs
Created November 9, 2019 06:48
Created with Fable REPL
module SpreadSheet
// Build your own Excel 365 in an hour with F# by Tomas Petricek!
// Watch the video of the talk here: https://www.youtube.com/watch?v=Bnm71YEt_lI
module Parsec =
type ParseStream<'T> = int * list<'T>
type Parser<'T, 'R> = Parser of (ParseStream<'T> -> option<ParseStream<'T> * 'R>)
/// Returned by the `slot` function to create a parser slot that is filled later
@VitalyBrusentsev
VitalyBrusentsev / fable-repl.fs
Created November 3, 2019 04:53
Created with Fable REPL
module SpreadSheet
// Build your own Excel 365 in an hour with F# by Tomas Petricek!
// Watch the video of the talk here: https://www.youtube.com/watch?v=Bnm71YEt_lI
module Parsec =
type ParseStream<'T> = int * list<'T>
type Parser<'T, 'R> = Parser of (ParseStream<'T> -> option<ParseStream<'T> * 'R>)
/// Returned by the `slot` function to create a parser slot that is filled later