type Environment = static member CommandLine : string static member CurrentDirectory : string with get, set static member CurrentManagedThreadId : int 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 ... nested type SpecialFolder nested type SpecialFolderOption
Full name: System.Environment
property Environment.CurrentDirectory: string
val parentDir : string
Full name: Index.parentDir
val dir : IO.DirectoryInfo
namespace System.IO
Multiple items type DirectoryInfo = inherit FileSystemInfo new : path:string -> DirectoryInfo member Create : unit -> unit + 1 overload member CreateSubdirectory : path:string -> DirectoryInfo + 1 overload member Delete : unit -> unit + 1 overload member EnumerateDirectories : unit -> IEnumerable<DirectoryInfo> + 2 overloads member EnumerateFileSystemInfos : unit -> IEnumerable<FileSystemInfo> + 2 overloads member EnumerateFiles : unit -> IEnumerable<FileInfo> + 2 overloads member Exists : bool member GetAccessControl : unit -> DirectorySecurity + 1 overload member GetDirectories : unit -> DirectoryInfo[] + 2 overloads ...
Full name: System.IO.DirectoryInfo
-------------------- IO.DirectoryInfo(path: string) : unit
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<_>
val set : elements:seq<'T> -> Set<'T> (requires comparison)
Full name: Microsoft.FSharp.Core.ExtraTopLevelOperators.set
type unit = Unit
Full name: Microsoft.FSharp.Core.unit
Multiple items val string : value:'T -> string
Full name: Microsoft.FSharp.Core.Operators.string
-------------------- type string = System.String
Full name: Microsoft.FSharp.Core.string
Multiple items type MyClass = new : unit -> MyClass member Sum : x:int * y:int -> int member Name : string member Name : string with set
Full name: Index.MyClass
-------------------- new : unit -> MyClass
val this : MyClass
member MyClass.Sum : x:int * y:int -> int
Full name: Index.MyClass.Sum
val x : int
val y : int
val x : MyClass
Full name: Index.x
val result : int
Full name: Index.result
member MyClass.Sum : x:int * y:int -> int
val printfn : format:Printf.TextWriterFormat<'T> -> 'T
Full name: Microsoft.FSharp.Core.ExtraTopLevelOperators.printfn
property MyClass.Name: string
namespace System.Configuration
namespace System.Collections
namespace System.Collections.Specialized
Multiple items type NameValueCollection = inherit NameObjectCollectionBase new : unit -> NameValueCollection + 7 overloads member Add : c:NameValueCollection -> unit + 1 overload member AllKeys : string[] member Clear : unit -> unit member CopyTo : dest:Array * index:int -> unit member Get : name:string -> string + 1 overload member GetKey : index:int -> string member GetValues : name:string -> string[] + 1 overload member HasKeys : unit -> bool member Item : string -> string with get, set ...
Full name: System.Collections.Specialized.NameValueCollection
-------------------- System.Collections.Specialized.NameValueCollection() : unit System.Collections.Specialized.NameValueCollection(col: System.Collections.Specialized.NameValueCollection) : unit System.Collections.Specialized.NameValueCollection(capacity: int) : unit System.Collections.Specialized.NameValueCollection(equalityComparer: System.Collections.IEqualityComparer) : unit System.Collections.Specialized.NameValueCollection(capacity: int, equalityComparer: System.Collections.IEqualityComparer) : unit System.Collections.Specialized.NameValueCollection(capacity: int, col: System.Collections.Specialized.NameValueCollection) : unit
Multiple items val seq : sequence:seq<'T> -> seq<'T>
Full name: Microsoft.FSharp.Core.Operators.seq
-------------------- type seq<'T> = System.Collections.Generic.IEnumerable<'T>
Full name: Microsoft.FSharp.Collections.seq<_>
val not : value:bool -> bool
Full name: Microsoft.FSharp.Core.Operators.not
namespace Microsoft.FSharp
namespace Microsoft.FSharp.Data
type ConfigurationManager = static member AppSettings : NameValueCollection static member ConnectionStrings : ConnectionStringSettingsCollection static member GetSection : sectionName:string -> obj static member OpenExeConfiguration : userLevel:ConfigurationUserLevel -> Configuration + 1 overload static member OpenMachineConfiguration : unit -> Configuration static member OpenMappedExeConfiguration : fileMap:ExeConfigurationFileMap * userLevel:ConfigurationUserLevel -> Configuration static member OpenMappedMachineConfiguration : fileMap:ConfigurationFileMap -> Configuration static member RefreshSection : sectionName:string -> unit
Full name: System.Configuration.ConfigurationManager
AppSettings<...>.SelectExecutableFile(pathOfExe: string) : Unit
Property to change the executable file that is read for configurations. This idea is that you can manage other executables also (e.g. from script).
type Settings2 = AppSettings<...>
Full name: Index.Settings2
Multiple items type LiteralAttribute = inherit Attribute new : unit -> LiteralAttribute
Full name: Microsoft.FSharp.Core.LiteralAttribute
-------------------- new : unit -> LiteralAttribute
val AppSettingsConfig : string
Full name: Index.AppSettingsConfig
type Settings = AppSettings<...>
Full name: Index.Settings
val AppSettingsExe : string
Full name: Index.AppSettingsExe
val Config : string
Full name: Index.Config
type ScriptSettings = AppSettings<...>
Full name: Index.ScriptSettings
val Exec : string
Full name: Index.Exec
val appKey1 : Guid
Full name: Index.appKey1
property AppSettings<...>.AppKey: Guid
Returns the value from /Users/admin/Code/scripting-workshop/slides/index.fsx.config with key AppKey
namespace System.Xml
namespace System.Xml.Linq
val AppSettingsPath : string
Full name: Index.AppSettingsPath
Multiple items type ConfigurationManager = new : unit -> ConfigurationManager static member AppSettings : IDictionary<string,string> static member ConnectionStrings : IDictionary<string,string>
Full name: Index.ConfigurationManager
-------------------- new : unit -> ConfigurationManager
val config : XDocument
Multiple items type XDocument = inherit XContainer new : unit -> XDocument + 3 overloads member Declaration : XDeclaration with get, set member DocumentType : XDocumentType member NodeType : XmlNodeType member Root : XElement member Save : fileName:string -> unit + 6 overloads member WriteTo : writer:XmlWriter -> unit static member Load : uri:string -> XDocument + 7 overloads static member Parse : text:string -> XDocument + 1 overload
Full name: System.Xml.Linq.XDocument
-------------------- XDocument() : unit XDocument([<ParamArray>] content: obj []) : unit XDocument(other: XDocument) : unit XDocument(declaration: XDeclaration, [<ParamArray>] content: obj []) : unit
type XName = member Equals : obj:obj -> bool member GetHashCode : unit -> int member LocalName : string member Namespace : XNamespace member NamespaceName : string member ToString : unit -> string static member Get : expandedName:string -> XName + 1 overload
val dict : keyValuePairs:seq<'Key * 'Value> -> Collections.Generic.IDictionary<'Key,'Value> (requires equality)
Full name: Microsoft.FSharp.Core.ExtraTopLevelOperators.dict
val appSettings : Collections.Generic.IDictionary<string,string>
val connectionStrings : Collections.Generic.IDictionary<string,string>
Multiple items static member ConfigurationManager.AppSettings : Collections.Generic.IDictionary<string,string>
Full name: Index.ConfigurationManager.AppSettings
-------------------- type AppSettings
Full name: FSharp.Configuration.AppSettings
static member ConfigurationManager.ConnectionStrings : Collections.Generic.IDictionary<string,string>
Full name: Index.ConfigurationManager.ConnectionStrings
type Configuration = member AppSettings : AppSettingsSection member ConnectionStrings : ConnectionStringsSection member EvaluationContext : ContextInformation member FilePath : string member GetSection : path:string -> ConfigurationSection member GetSectionGroup : path:string -> ConfigurationSectionGroup member HasFile : bool member Locations : ConfigurationLocationCollection member NamespaceDeclared : bool with get, set member RootSectionGroup : ConfigurationSectionGroup ...
<summary>Typed representation of a JSON document.</summary>
<param name='Sample'>Location of a JSON sample file or a string containing a sample JSON document.</param>
<param name='SampleIsList'>If true, sample should be a list of individual samples for the inference.</param>
<param name='RootName'>The name to be used to the root type. Defaults to `Root`.</param>
<param name='Culture'>The culture used for parsing numbers and dates. Defaults to the invariant culture.</param>
<param name='Encoding'>The encoding used to read the sample. You can specify either the character set name or the codepage number. Defaults to UTF8 for files, and to ISO-8859-1 the for HTTP requests, unless `charset` is specified in the `Content-Type` response header.</param>
<param name='ResolutionFolder'>A directory that is used when resolving relative file references (at design time and in hosted execution).</param>
<param name='EmbeddedResource'>When specified, the type provider first attempts to load the sample from the specified resource
(e.g. 'MyCompany.MyAssembly, resource_name.json'). This is useful when exposing types generated by the type provider.</param>
<param name='InferTypesFromValues'>If true, turns on additional type inference from values.
(e.g. type inference infers string values such as "123" as ints and values constrained to 0 and 1 as booleans.)</param>
type Indicator = interface IEnumerable interface seq<int * float> private new : connection:ServiceConnection * countryOrRegionCode:string * indicatorCode:string -> Indicator member TryGetValueAt : year:int -> float option member Code : string member Description : string member IndicatorCode : string member Item : year:int -> float with get member Name : string member Source : string ...
Full name: FSharp.Data.Runtime.WorldBank.Indicator
type 'T option = Option<'T>
Full name: Microsoft.FSharp.Core.option<_>
val transformSimple : source:'a -> LocationResult list
Full name: Index.transformSimple
val source : 'a
type 'T list = List<'T>
Full name: Microsoft.FSharp.Collections.list<_>
val result : obj
union case Option.None: Option<'T>
val extractEnergyUse : result:'a -> wb:WorldBankData.ServiceTypes.WorldBankDataService -> Runtime.WorldBank.Indicator option
Full name: Index.extractEnergyUse
val result : 'a
Multiple items module Result
from Microsoft.FSharp.Core
-------------------- type Result<'T,'TError> = | Ok of ResultValue: 'T | Error of ErrorValue: 'TError
Full name: Microsoft.FSharp.Core.Result<_,_>
val wb : WorldBankData.ServiceTypes.WorldBankDataService
type WorldBankData = static member GetDataContext : unit -> WorldBankDataService nested type ServiceTypes
Full name: FSharp.Data.WorldBankData
<summary>Typed representation of WorldBank data. See http://www.worldbank.org for terms and conditions.</summary>
type ServiceTypes = nested type Countries nested type Country nested type Indicators nested type IndicatorsDescriptions nested type Region nested type Regions nested type Topic nested type Topics nested type WorldBankDataService
Full name: FSharp.Data.WorldBankData.ServiceTypes
<summary>Contains the types that describe the data service</summary>
type WorldBankDataService = inherit WorldBankData member Countries : Countries member Regions : Regions member Topics : Topics
Full name: FSharp.Data.WorldBankData.ServiceTypes.WorldBankDataService
val energyUse : Runtime.WorldBank.Indicator option
type LocationSink = CsvProvider<...>
Full name: Index.LocationSink
type CsvProvider
Full name: FSharp.Data.CsvProvider
<summary>Typed representation of a CSV file.</summary>
<param name='Sample'>Location of a CSV sample file or a string containing a sample CSV document.</param>
<param name='Separators'>Column delimiter(s). Defaults to `,`.</param>
<param name='InferRows'>Number of rows to use for inference. Defaults to `1000`. If this is zero, all rows are used.</param>
<param name='Schema'>Optional column types, in a comma separated list. Valid types are `int`, `int64`, `bool`, `float`, `decimal`, `date`, `guid`, `string`, `int?`, `int64?`, `bool?`, `float?`, `decimal?`, `date?`, `guid?`, `int option`, `int64 option`, `bool option`, `float option`, `decimal option`, `date option`, `guid option` and `string option`.
You can also specify a unit and the name of the column like this: `Name (type<unit>)`, or you can override only the name. If you don't want to specify all the columns, you can reference the columns by name like this: `ColumnName=type`.</param>
<param name='HasHeaders'>Whether the sample contains the names of the columns as its first line.</param>
<param name='IgnoreErrors'>Whether to ignore rows that have the wrong number of columns or which can't be parsed using the inferred or specified schema. Otherwise an exception is thrown when these rows are encountered.</param>
<param name='SkipRows'>Skips the first n rows of the CSV file.</param>
<param name='AssumeMissingValues'>When set to true, the type provider will assume all columns can have missing values, even if in the provided sample all values are present. Defaults to false.</param>
<param name='PreferOptionals'>When set to true, inference will prefer to use the option type instead of nullable types, `double.NaN` or `""` for missing values. Defaults to false.</param>
<param name='Quote'>The quotation mark (for surrounding values containing the delimiter). Defaults to `"`.</param>
<param name='MissingValues'>The set of strings recogized as missing values. Defaults to `NaN,NA,N/A,#N/A,:,-,TBA,TBD`.</param>
<param name='CacheRows'>Whether the rows should be caches so they can be iterated multiple times. Defaults to true. Disable for large datasets.</param>
<param name='Culture'>The culture used for parsing numbers and dates. Defaults to the invariant culture.</param>
<param name='Encoding'>The encoding used to read the sample. You can specify either the character set name or the codepage number. Defaults to UTF8 for files, and to ISO-8859-1 the for HTTP requests, unless `charset` is specified in the `Content-Type` response header.</param>
<param name='ResolutionFolder'>A directory that is used when resolving relative file references (at design time and in hosted execution).</param>
<param name='EmbeddedResource'>When specified, the type provider first attempts to load the sample from the specified resource
(e.g. 'MyCompany.MyAssembly, resource_name.csv'). This is useful when exposing types generated by the type provider.</param>
type EnergyUseSink = CsvProvider<...>
Full name: Index.EnergyUseSink
val load : data:LocationResult list -> unit
Full name: Index.load
val data : LocationResult list
val locations : CsvProvider<...>.Row list
val energyUse : LocationResult list list
val row : LocationResult
val location : CsvProvider<...>.Row
type Row = inherit string * float * float * string * string * string * string new : location: string * latitude: float * longitude: float * city: string * state: string * country: string * countryCode: string -> Row member City : string member Country : string member CountryCode : string member Latitude : float member Location : string member Longitude : float member State : string
Full name: FSharp.Data.CsvProvider,Sample="Location (string),Latitude (float),Longitude (float),City (string),State (string),Country (string),CountryCode (string)".Row
val usage : LocationResult list
union case Option.Some: Value: 'T -> Option<'T>
val i : Runtime.WorldBank.Indicator
type Row = inherit string * int * float new : countryCode: string * year: int * energyUse: float -> Row member CountryCode : string member EnergyUse : float member Year : int
Full name: FSharp.Data.CsvProvider,Sample="CountryCode (string),Year (int),EnergyUse (float)".Row
Multiple items module List
from Microsoft.FSharp.Collections
-------------------- type List<'T> = | ( [] ) | ( :: ) of Head: 'T * Tail: 'T list interface IReadOnlyCollection<'T> interface IEnumerable interface IEnumerable<'T> member GetSlice : startIndex:int option * endIndex:int option -> 'T list member Head : 'T member IsEmpty : bool member Item : index:int -> 'T with get member Length : int member Tail : 'T list static member Cons : head:'T * tail:'T list -> 'T list static member Empty : 'T list
Full name: Microsoft.FSharp.Collections.List<_>
val unzip : list:('T1 * 'T2) list -> 'T1 list * 'T2 list
Full name: Microsoft.FSharp.Collections.List.unzip
val locationSink : LocationSink
member Runtime.CsvFile.Save : path:string * ?separator:char * ?quote:char -> unit member Runtime.CsvFile.Save : stream:IO.Stream * ?separator:char * ?quote:char -> unit member Runtime.CsvFile.Save : writer:IO.TextWriter * ?separator:char * ?quote:char -> unit
val distinct : LocationResult list
val concat : lists:seq<'T list> -> 'T list
Full name: Microsoft.FSharp.Collections.List.concat
val distinctBy : projection:('T -> 'Key) -> list:'T list -> 'T list (requires equality)
Full name: Microsoft.FSharp.Collections.List.distinctBy
val x : LocationResult
val energyUseSink : EnergyUseSink
val run : city:string -> unit
Full name: Index.run
namespace Expecto
val addTest : Test
Full name: Index.addTest
val testCase : name:string -> test:(unit -> unit) -> Test
Full name: Expecto.Tests.testCase
val expected : int
module Expect
from Expecto
val equal : actual:'a -> expected:'a -> message:string -> unit (requires equality)
Full name: Expecto.Expect.equal
Multiple items module Tests
from Expecto
-------------------- type TestsAttribute = inherit Attribute new : unit -> TestsAttribute
Full name: Expecto.TestsAttribute
-------------------- new : unit -> TestsAttribute
val runTests : config:Impl.ExpectoConfig -> tests:Test -> int
Full name: Expecto.Tests.runTests
val defaultConfig : Impl.ExpectoConfig
Full name: Expecto.Tests.defaultConfig
val failTest : Test
Full name: Index.failTest
val multTest : Test
Full name: Index.multTest
val intTests : Test
Full name: Index.intTests
val testList : name:string -> tests:Test list -> Test
Full name: Expecto.Tests.testList
val config : FsCheckConfig
Full name: Index.config
type FsCheckConfig = {maxTest: int; startSize: int; endSize: int; replay: (int * int) option; arbitrary: Type list; receivedArgs: FsCheckConfig -> string -> int -> obj list -> Async<unit>; successfulShrink: FsCheckConfig -> string -> obj list -> Async<unit>; finishedTest: FsCheckConfig -> string -> Async<unit>;} static member defaultConfig : FsCheckConfig
static member Chart.WithOptions : options:Options -> chart:GoogleChart -> GoogleChart
Multiple items type Options = new : unit -> Options member ShouldSerializeaggregationTarget : unit -> bool member ShouldSerializeallValuesSuffix : unit -> bool member ShouldSerializeallowHtml : unit -> bool member ShouldSerializealternatingRowStyle : unit -> bool member ShouldSerializeanimation : unit -> bool member ShouldSerializeannotations : unit -> bool member ShouldSerializeannotationsWidth : unit -> bool member ShouldSerializeareaOpacity : unit -> bool member ShouldSerializeavoidOverlappingGridLines : unit -> bool ...
Full name: XPlot.GoogleCharts.Configuration.Options
-------------------- new : unit -> Options
static member Chart.WithHeight : height:int -> chart:GoogleChart -> GoogleChart
static member Chart.Show : chart:GoogleChart -> unit
val showEnergyUse : data:LocationResult list -> unit
Full name: Index.showEnergyUse
val labels : string list
val plots : (string * float) list list
val choose : chooser:('T -> 'U option) -> list:'T list -> 'U list
Full name: Microsoft.FSharp.Collections.List.choose
static member Chart.WithLabels : labels:seq<string> -> chart:GoogleChart -> GoogleChart
val fsi : Compiler.Interactive.InteractiveSession
Full name: Microsoft.FSharp.Compiler.Interactive.Settings.fsi
member Compiler.Interactive.InteractiveSession.AddPrinter : ('T -> string) -> unit
val chart : GoogleChart
Multiple items type GoogleChart = new : unit -> GoogleChart val mutable private dataTable: DataTable val mutable private options: Options val mutable private type: ChartGallery member GetHtml : unit -> string member GetInlineHtml : unit -> string member GetInlineJS : unit -> string member Show : unit -> unit member WithHeight : height:int -> unit member WithId : newId:string -> unit ...
Full name: XPlot.GoogleCharts.GoogleChart
-------------------- new : unit -> GoogleChart
namespace Argu
type Arguments = | City of string interface IArgParserTemplate
Full name: Index.Arguments
Multiple items type MandatoryAttribute = inherit Attribute new : unit -> MandatoryAttribute
Full name: Argu.ArguAttributes.MandatoryAttribute
-------------------- new : unit -> MandatoryAttribute
union case Arguments.City: string -> Arguments
type IArgParserTemplate = interface abstract member Usage : string end
Full name: Argu.IArgParserTemplate
val this : Arguments
override Arguments.Usage : string
Full name: Index.Arguments.Usage
val runCLI : args:string [] -> unit
Full name: Index.runCLI
val args : string []
val argParser : ArgumentParser<Arguments>
Multiple items type ArgumentParser = private new : argInfo:UnionArgInfo * _programName:string * helpTextMessage:string option * _usageStringCharacterWidth:int * errorHandler:IExiter -> ArgumentParser abstract member Accept : visitor:IArgumentParserVisitor<'R> -> 'R member GetArgumentCases : unit -> ArgumentCaseInfo list member GetSubCommandParsers : unit -> ArgumentParser list member PrintCommandLineSyntax : ?programName:string * ?usageStringCharacterWidth:int -> string member PrintUsage : ?message:string * ?programName:string * ?hideSyntax:bool * ?usageStringCharacterWidth:int -> string member ErrorHandler : IExiter member HelpDescription : string member HelpFlags : string list member HelpTextMessage : string option ...
<?xmlversion="1.0"encoding="utf-8"?><configuration><appSettings><addkey="AppKey"value="7B7EB384FEBA4409B56066FF63F1E8D0"/><addkey="test2"value="Some Test Value 5"/><addkey="TestInt"value="102"/><addkey="TestBool"value="True"/><addkey="TestDouble"value="10.01"/><addkey="TestTimeSpan"value="2.01:02:03.444"/><addkey="TestDateTime"value="02/01/2014 03:04:05.777"/><addkey="TestUri"value="http://fsharp.org"/><addkey="TestGuid"value="{7B7EB384-FEBA-4409-B560-66FF63F1E8D0}"/></appSettings><connectionStrings><addname="Test1"connectionString="Server=.;Database=myDataBase;Integrated Security=True;"/><addname="Test2"connectionString="Server=.;Database=myDataBase2;Integrated Security=True;"/></connectionStrings></configuration>
let [<Literal>] AppSettingsConfig=__SOURCE_DIRECTORY__+"/AppSettings.fsx.config"typeSettings=AppSettings<AppSettingsConfig>let [<Literal>] AppSettingsExe=__SOURCE_DIRECTORY__+"/AppSettings.fsx"Settings.SelectExecutableFileAppSettingsExeSettings.Test2
openFSharp.DataletappKey=ConfigurationManager.AppSettings.["AppKey"]
let [<Literal>] ``geocoding.json``=__SOURCE_DIRECTORY__+"/geocoding.json"typeLocation=JsonProvider<``geocoding.json``>letextractcity=leturi="https://api.opencagedata.com/geocode/v1/json?q="+city+"&pretty=1&no_annotations=1&key="+appKeyLocation.Load(uri)
letconfig= { FsCheckConfig.defaultConfigwithmaxTest=10000 }
letproperties=testList"FsCheck samples" [
testProperty"Addition is commutative"<|funab->a+b=b+atestProperty"Reverse of reverse of a list is the original list"<|fun (xs:list<int>) ->List.rev (List.revxs) =xs// you can also override the FsCheck configtestPropertyWithConfigconfig"Product is distributive over addition"<|funabc->a* (b+c) =a*b+a*c
]
Tests.runTestsdefaultConfigproperties