From 905395328bfe249feaef59f74950dc462af448f1 Mon Sep 17 00:00:00 2001 From: fmc Date: Wed, 10 Apr 2019 16:36:45 -0400 Subject: [PATCH] [chore] Fix some spelling and grammar errors --- _overviews/macros/typeproviders.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_overviews/macros/typeproviders.md b/_overviews/macros/typeproviders.md index db886a9c4b..f6fb1615b3 100644 --- a/_overviews/macros/typeproviders.md +++ b/_overviews/macros/typeproviders.md @@ -35,7 +35,7 @@ concrete examples. Slides and accompanying code can be found at [https://github. ## Introduction Type providers are a strongly-typed type-bridging mechanism, which enables information-rich programming in F# 3.0. -A type provider is a compile-time facility, which is capable of generating definitions and their implementations +A type provider is a compile-time facility which is capable of generating definitions and their implementations based on static parameters describing datasources. Type providers can operate in two modes: non-erased and erased. The former is similar to textual code generation in the sense that every generated type becomes bytecode, while in the latter case generated types only manifest themselves during type checking, but before bytecode generation @@ -70,7 +70,7 @@ takes a connection string and generates a module that encapsulates the given dat new Db {} } -It is true that noone outside the macro expansion block would be able to refer to the `Coffee` class directly, +It is true that no one outside the macro expansion block would be able to refer to the `Coffee` class directly, however if we inspect the type of `db`, we will find something fascinating. scala> val db = h2db("jdbc:h2:coffees.h2.db")