Facebook
From Abrupt Hornbill, 7 Years ago, written in F#.
This paste is a reply to Re: Untitled from Silly Human - view diff
Embed
Download Paste or View Raw
Hits: 394
  1. module Utils =
  2.         type MaybeBuilder() =
  3.         member this.Bind(x,f) = Option.bind f x
  4.         member this.Return(x) = Some x
  5.     let maybe = new MaybeBuilder()
  6.  
  7. // inny moduł
  8. type FileViewModel =
  9.     member this.OriginalNumSamples
  10.         with get() = Utils.maybe {
  11.             let! f = file
  12.             return Signal.length f.spectrogram.samples
  13.        
  14. // alternatywą by było
  15. type FileViewModel =
  16.     member this.OriginalNumSamples
  17.         with get() = Option.map ( fun (f: File.Raw) -> Signal.length f.spectrogram.samples ) file