-------------------- type Freya<'T> = FreyaState -> Async<'T * FreyaState>
Full name: Freya.Core.Types.Freya<_>
namespace Freya.Machine
namespace Freya.Machine.Extensions
namespace Freya.Machine.Extensions.Http
namespace Microsoft
namespace Owin
namespace System
namespace System.IO
val freya : FreyaBuilder
Full name: Freya.Core.Syntax.freya
module State
from Freya.Core.Freya
val get : state:'a -> Async<'a * 'a>
Full name: Freya.Core.Freya.State.get
type Environment = static member CommandLine : string static member CurrentDirectory : string with get, set static member Exit : exitCode:int -> unit static member ExitCode : int with get, set static member ExpandEnvironmentVariables : name:string -> string static member FailFast : message:string -> unit + 1 overload static member GetCommandLineArgs : unit -> string[] static member GetEnvironmentVariable : variable:string -> string + 1 overload static member GetEnvironmentVariables : unit -> IDictionary + 1 overload static member GetFolderPath : folder:SpecialFolder -> string + 1 overload ... nested type SpecialFolder nested type SpecialFolderOption
Full name: System.Environment
Multiple items namespace System.Configuration
-------------------- module Configuration
from Freya.Machine.Extensions.Http.Syntax
-------------------- module Configuration
from Freya.Machine
Multiple items module OwinAppFunc
from Freya.Core.Integration
-------------------- type OwinAppFunc = Func<OwinEnvironment,Threading.Tasks.Task>
Full name: Freya.Core.Integration.OwinAppFunc
val ofFreya : freya:'a -> OwinAppFunc (requires member Freya)
Full name: Freya.Core.Integration.OwinAppFunc.ofFreya
Multiple items type EntryPointAttribute = inherit Attribute new : unit -> EntryPointAttribute
Full name: Microsoft.FSharp.Core.EntryPointAttribute
-------------------- new : unit -> EntryPointAttribute
union case FreyaMachineNode.Start: FreyaMachineNode
val ignore : value:'T -> unit
Full name: Microsoft.FSharp.Core.Operators.ignore
type Console = static member BackgroundColor : ConsoleColor with get, set static member Beep : unit -> unit + 1 overload static member BufferHeight : int with get, set static member BufferWidth : int with get, set static member CapsLock : bool static member Clear : unit -> unit static member CursorLeft : int with get, set static member CursorSize : int with get, set static member CursorTop : int with get, set static member CursorVisible : bool with get, set ...
Full name: System.Console
Console.WriteLine() : unit (+0 other overloads) Console.WriteLine(value: string) : unit (+0 other overloads) Console.WriteLine(value: obj) : unit (+0 other overloads) Console.WriteLine(value: uint64) : unit (+0 other overloads) Console.WriteLine(value: int64) : unit (+0 other overloads) Console.WriteLine(value: uint32) : unit (+0 other overloads) Console.WriteLine(value: int) : unit (+0 other overloads) Console.WriteLine(value: float32) : unit (+0 other overloads) Console.WriteLine(value: float) : unit (+0 other overloads) Console.WriteLine(value: decimal) : unit (+0 other overloads)
Console.ReadLine() : string
namespace Freya.Lenses
namespace Freya.Lenses.Http
Multiple items val string : value:'T -> string
Full name: Microsoft.FSharp.Core.Operators.string
-------------------- type string = String
Full name: Microsoft.FSharp.Core.string
union case Option.Some: Value: 'T -> Option<'T>
Multiple items module Map
from Microsoft.FSharp.Collections
-------------------- type Map<'Key,'Value (requires comparison)> = interface IEnumerable interface IComparable interface IEnumerable<KeyValuePair<'Key,'Value>> interface ICollection<KeyValuePair<'Key,'Value>> interface IDictionary<'Key,'Value> new : elements:seq<'Key * 'Value> -> Map<'Key,'Value> member Add : key:'Key * value:'Value -> Map<'Key,'Value> member ContainsKey : key:'Key -> bool override Equals : obj -> bool member Remove : key:'Key -> Map<'Key,'Value> ...
Full name: Microsoft.FSharp.Collections.Map<_,_>
-------------------- new : elements:seq<'Key * 'Value> -> Map<'Key,'Value>
val empty<'Key,'T (requires comparison)> : Map<'Key,'T> (requires comparison)
Full name: Microsoft.FSharp.Collections.Map.empty
type Type = inherit MemberInfo member Assembly : Assembly member AssemblyQualifiedName : string member Attributes : TypeAttributes member BaseType : Type member ContainsGenericParameters : bool member DeclaringMethod : MethodBase member DeclaringType : Type member Equals : o:obj -> bool + 1 overload member FindInterfaces : filter:TypeFilter * filterCriteria:obj -> Type[] member FindMembers : memberType:MemberTypes * bindingAttr:BindingFlags * filter:MemberFilter * filterCriteria:obj -> MemberInfo[] ...
Full name: System.Type
Multiple items val int : value:'T -> int (requires member op_Explicit)
Full name: Microsoft.FSharp.Core.Operators.int
-------------------- type int = int32
Full name: Microsoft.FSharp.Core.int
-------------------- type int<'Measure> = int
Full name: Microsoft.FSharp.Core.int<_>
namespace System.Text
val init : x:'T -> state:FreyaState -> Async<'T * FreyaState>
// Working with Freya lensesopenFreya.Lenses.Http// Working directly with the types if requiredopenArachne.Http// The previous way, using raw access to the stateletreadPathRaw=freya {
let!state=Freya.getStatereturnstate.Environment.["owin.RequestPath"] :?>string }
// The lens wayletreadPathLens=freya {
return!Freya.getRequest.path_ }
typePage= { Number:int; Footnote:string; Content:string }
typeBook= { Title:string; Page:Page }
typeAuthor= { Name:string; Book:Book }
// Given a Book we can trivially retrieve its page's content:letpageContent=author.Book.Page.Content// Setting the page nummber is a bit more problematic though. //If this were mutable, we could just do:author.Book.Page.Number<-15// But it's not, so we use F# copy-and-update syntax:letauthor2= { authorwithBook=
{ author.BookwithPage=
{ author.Book.PagewithNumber=15 } } }