In the language specification, the translation rule of do! e; is defined as follows:
T(do! e;, V, C, q) = T(let! () = src(e) in b.Return(), V, C, q)
And the signature of Return is 'a -> M<'a>, so the type of do! e; results M<unit>.
| let rot n (s:string) = (s + s).Substring(n, s.Length) | |
| let tonum (c:char) = ((int c - int 'A') * 5 + 15) % 26 | |
| let conv s = s |> rot 2 |> Seq.map tonum |> Seq.fold (fun a c -> a + (sprintf "%02d" c)) "" | |
| let test s = | |
| printfn "%s -> %s" s (conv s) | |
| test "CAT" | |
| test "DOG" | |
| test "EULER" |
| Chars | |
| Length | |
| Clone | |
| CompareTo | |
| Contains | |
| CopyTo | |
| EndsWith | |
| Equals | |
| GetEnumerator | |
| GetHashCode |
| .assembly extern mscorlib { auto } | |
| .assembly YDD { } | |
| .module YDD.dll | |
| .corflags 0x00000002 | |
| .vtfixup [1] int32 fromunmanaged at VT_01 // First v-table fixup | |
| .vtfixup [1] int32 fromunmanaged at VT_02 // Second v-table fixup | |
| .vtfixup [1] int32 fromunmanaged at VT_03 // Third v-table fixup | |
| .data VT_01 = int32(0) // First v-table entry | |
| .data VT_02 = int32(0) // Second v-table entry | |
| .data VT_03 = int32(0) // Third v-table entry |
FSDN is a web application that uses F# API Search library. F# API Search library supports the standard signature of F# with some extentions as its criteria. This document describes the F# API Search library specific formats.
| [4B2C:2DC8][2015-12-01T21:40:22]i338: Acquiring package: netfx_46mtpacklp_enu, payload: cab7896C7D6E9FB44EFA16EB57DED6BDB85, download from: bits://go.microsoft.com/fwlink/?prd=12514&pver=Dev14&sbp=d14rel&plcid=0x409&clcid=0x409&ar=24720.00&sar=S80_RCPrep&o1=D49EE7CB38851D80AE3F6CE7544656845EE3B426 | |
| [4980:4198][2015-12-01T21:40:30]i304: Verified existing payload: cab7896C7D6E9FB44EFA16EB57DED6BDB85 at path: C:\ProgramData\Package Cache\.unverified\cab7896C7D6E9FB44EFA16EB57DED6BDB85. | |
| [4980:4198][2015-12-01T21:40:30]i305: Verified acquired payload: cab7896C7D6E9FB44EFA16EB57DED6BDB85 at path: C:\ProgramData\Package Cache\.unverified\cab7896C7D6E9FB44EFA16EB57DED6BDB85, moving to: C:\ProgramData\Package Cache\{034547E9-D8FA-49E7-8B9C-4C9861FB9146}v4.6.00127\packages\netfx_46mtpack\enu\cab1.cab. | |
| [4B2C:2DC8][2015-12-01T21:40:30]i000: MUX: Source confirmed | |
| [4980:3D44][2015-12-02T07:34:01]i400: Received system request to shut down the process: critical: No, elevated: Yes, allowed: No | |
| [4B2C:5CB4][2015-12-02T07:34:01] |
| type IFizzBuzz = | |
| abstract member check : int -> bool | |
| abstract member getVal : unit -> string | |
| type Fizz() = | |
| interface IFizzBuzz with | |
| member x.check n = (n % 3 = 0) | |
| member x.getVal() = "Fizz" | |
| type Buzz() = |
| class Program | |
| { | |
| static void Main() | |
| { | |
| var result = | |
| Expr.If(DateTime.Now.Second % 2 == 0) | |
| .Then(() => | |
| { | |
| Console.WriteLine("Then clause handled."); | |
| return 0; |
| // (snip) | |
| let endCol = | |
| if r.StartLine = r.EndLine then | |
| r.EndColumn | |
| else | |
| buffer.CurrentSnapshot.GetLineFromLineNumber(r.StartLine).End.Position |
| namespace Persimmon.Runner.Wrapper | |
| open Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging | |
| open System | |
| open System.Collections.Generic | |
| open System.Reflection | |
| module private TestCollectorImpl = | |
| open Persimmon |