From 353e9eca654bd81a3268c8e4f30b5c23b9d36d45 Mon Sep 17 00:00:00 2001 From: Dag Brattli Date: Tue, 27 Sep 2022 07:51:14 +0200 Subject: [PATCH] Porting of 2-steps docs --- docs-src/2-steps/setup.md | 25 + docs-src/2-steps/your-first-fable-project.md | 52 ++ docs-src/_toc.yml | 2 + docs-src/your-fable-project/testing.md | 33 +- docs/2-steps/setup.html | 515 +++++++++++++++++ docs/2-steps/your-first-fable-project.html | 540 ++++++++++++++++++ docs/communicate/fable-from-py.html | 16 +- docs/communicate/py-from-fable.html | 10 + docs/dotnet/compatibility.html | 10 + docs/dotnet/numbers.html | 10 + docs/genindex.html | 10 + docs/index.html | 10 + docs/intro.html | 10 + docs/introduction/dotnet-users-read-this.html | 10 + docs/introduction/py-users-read-this.html | 10 + docs/new-to-fsharp/learning-the-language.html | 10 + docs/new-to-fsharp/let-keyword.html | 16 +- docs/objects.inv | Bin 584 -> 626 bytes docs/search.html | 10 + docs/searchindex.js | 2 +- .../author-a-fable-library.html | 10 + docs/your-fable-project/build-and-run.html | 10 + docs/your-fable-project/project-file.html | 10 + docs/your-fable-project/testing.html | 10 + .../use-a-fable-library.html | 10 + 25 files changed, 1339 insertions(+), 12 deletions(-) create mode 100644 docs-src/2-steps/setup.md create mode 100644 docs-src/2-steps/your-first-fable-project.md create mode 100644 docs/2-steps/setup.html create mode 100644 docs/2-steps/your-first-fable-project.html diff --git a/docs-src/2-steps/setup.md b/docs-src/2-steps/setup.md new file mode 100644 index 0000000..a3c637c --- /dev/null +++ b/docs-src/2-steps/setup.md @@ -0,0 +1,25 @@ +# Setup + +## Prerequisites + +In order to use Fable you will need the following tools: + +- [.NET Core SDK](https://dotnet.microsoft.com/) to work with F# files and dependencies +- [Python](https://python.org/) to execute Python code +- A Python package manager, like [poetry](https://python-poetry.org/) + +Having the above tools, you may consider using [Femto](https://fable.io/blog/2019/2019-06-29-Introducing-Femto.html) to +ease package management. + +## Development tools + +Basically you will need an editor that lets you code in F# with features like hints on hover, autocomplete, syntax +highlighting and so on... and there are many of them to suit your code styling! + +- [Visual Studio Code](https://code.visualstudio.com/) with [Ionide](http://ionide.io/) +- [JetBrains Rider](https://www.jetbrains.com/rider/) +- [Visual Studio For Windows](https://visualstudio.microsoft.com/) +- [Visual Studio For Mac](https://visualstudio.microsoft.com/vs/mac/) +- [Vim](https://www.vim.org/) with [F# bindings](https://github.com/fsharp/vim-fsharp) +- [Emacs](https://www.gnu.org/software/emacs/)/[spacemacs](http://spacemacs.org/) with + [fsharp-mode](https://github.com/fsharp/emacs-fsharp-mode) diff --git a/docs-src/2-steps/your-first-fable-project.md b/docs-src/2-steps/your-first-fable-project.md new file mode 100644 index 0000000..8a2f6ef --- /dev/null +++ b/docs-src/2-steps/your-first-fable-project.md @@ -0,0 +1,52 @@ +# Start a new project + +Now we're ready, let's start a new project using Fable! + +## Use a Fable template + +The easiest way to get started with Fable is to use a template (learn more about [dotnet +templates](https://docs.microsoft.com/en-us/dotnet/core/tools/custom-templates#installing-a-template)). For a minimal +Fable project, create and navigate to a new directory and run the following commands (first one is only needed if you +haven't installed the template yet in your system). + +1. `dotnet new --install Fable.Template` +2. `dotnet new fable` + +The rest of this document applies to Fable.Template. Alternatively, if you want specific examples or a more +comprehensive template with more tooling and libraries installed, please check one of the following: + +- Clone the [Fable 3 samples](https://github.com/fable-compiler/fable3-samples) repository to learn how to use Fable + with different kinds of apps (browser, nodejs, testing, etc) +- Build a [React](https://reactjs.org/) app in F# with [Feliz + template](https://zaid-ajaj.github.io/Feliz/#/Feliz/ProjectTemplate) +- Write a frontend app fully in F# without JS dependencies with + [Sutil](https://davedawkins.github.io/Sutil/#documentation-installation) +- Get up to speed with [SAFE Template](https://safe-stack.github.io/docs/quickstart/) which covers both the frontend and + backend sides of your app + +## Install dependencies + +**Python dependencies** are listed in the `pyproject.toml` file. You can run `poetry install`, which will download the +needed packages to the `.venv` folder and create a lock file. + +**.NET dependencies** are listed in the `src/App.fsproj` file. You can install them by running `dotnet restore src`, but +this is already automatically done by Fable. + +:::{note} +Lock files (like `poetry.lock` if you're using poetry) should be committed to ensure reproducible builds whenever +anybody clones your repo. For .NET dependencies you can create a lock file by using [Paket](https://fsprojects.github.io/Paket/). +::: + +## Build & run the app + +Here we go. If you've already installed Python dependencies, just run `python app.py` (or `poetry run python app.py` if +you are using poetry). After a few seconds, your web server app will be running in the background until you kill it. + +- You can access your project at [http://localhost:8080/](http://localhost:8080/) with your favorite browser. +- The server is in “watch” mode. Each time you save an `.fs` F# source file, Fable rebuilds the project automatically. + If the build succeeds, you will see your changes in the browser without refreshing the page; if not, nothing changes + in the browser, and you can see the build errors in the server’s console output. + +:::{note} The `npm start` command is just an alias for `dotnet fable watch src --run webpack-dev-server`, check the +"scripts" section of the `package.json` file. Please also check the `README.md` file shipped with the template to get +up-to-date instructions. ::: diff --git a/docs-src/_toc.yml b/docs-src/_toc.yml index 0a59ea3..cecdbb1 100644 --- a/docs-src/_toc.yml +++ b/docs-src/_toc.yml @@ -9,6 +9,8 @@ chapters: - file: introduction/py-users-read-this - file: new-to-fsharp/learning-the-language - file: new-to-fsharp/let-keyword +- file: 2-steps/setup +- file: 2-steps/your-first-fable-project - file: communicate/fable-from-py - file: communicate/py-from-fable - file: dotnet/compatibility diff --git a/docs-src/your-fable-project/testing.md b/docs-src/your-fable-project/testing.md index 329f295..af526a6 100644 --- a/docs-src/your-fable-project/testing.md +++ b/docs-src/your-fable-project/testing.md @@ -2,17 +2,22 @@ You can use all tools of the Python ecosystem. -Several js libs already have a Fable binding: +Several Python libs already have a Fable binding: - mocha: [https://github.com/Zaid-Ajaj/Fable.Mocha](https://github.com/Zaid-Ajaj/Fable.Mocha) - jest: [https://github.com/Shmew/Fable.Jester](https://github.com/Shmew/Fable.Jester) -# Example with jest +## Example with pytest + ## Setup -You should install js test runner : + +You should install pytest: + ```sh - npm install jest --save-dev +poetry add --dev pytest ``` + And Fable binding : + ```sh # nuget dotnet add package Fable.Jester @@ -21,7 +26,9 @@ And Fable binding : ``` ## Write tests + Now, you can write your first test : + ```fsharp open Fable.Jester @@ -31,16 +38,21 @@ Jest.describe("can run basic tests", fun () -> ) ) ``` + See Jester documentation to more informations : [https://shmew.github.io/Fable.Jester/](https://shmew.github.io/Fable.Jester/) ## Run -Before running the tests, you have to convert your project to JS, but you don't need to bundle with Webpack, because test runners generally prefer to have small files rather than a single big file. So we only need to run the Fable compiler and put the generated code in an output dir. + +Before running the tests, you have to convert your project to Python, but you don't need to bundle with Webpack, because +test runners generally prefer to have small files rather than a single big file. So we only need to run the Fable +compiler and put the generated code in an output dir. ```sh dotnet fable src -o output ``` You should config Jest with a config file `jest.config.js` : + ```js module.exports = { moduleFileExtensions: ['js'], @@ -51,12 +63,14 @@ module.exports = { transform: {} }; ``` + `roots` should be equal to the `outDir` of the compiler. `testMatch` indicate file pattern name with test. `coveragePathIgnorePatterns`, `testEnvironment`, `transform` improve performance of runner. You can read Jest doc to see more : [https://jestjs.io/docs/en/configuration](https://jestjs.io/docs/en/configuration) Now, you can run then tests: + ```sh npx jest --config=jest.config.js ``` @@ -64,6 +78,7 @@ Now, you can run then tests: Youhou! You can see the test result :) You can specify this command on npm in `package.json` : + ```json { "scripts": { @@ -71,23 +86,28 @@ You can specify this command on npm in `package.json` : }, } ``` + And now run with a single command: + ```sh npm test ``` ## Watch mode + Running tests each time is slow. You can use the watch feature to take advantage of the compiler and runner cache, and run tests whenever a file changes. Currently, Fable doesn't have official plugins for the different runners. So you have to execute these two commands in parallel: + ```sh dotnet fable watch src -o output npx jest --config=jest.config.js --watchAll ``` You add an npm script in `package.json` : + ```json { "scripts": { @@ -98,12 +118,15 @@ You add an npm script in `package.json` : }, } ``` + I use `npm-run-all` to run several commands in parallel. You should install with: + ```sh npm install --save-dev npm-run-all ``` Now, run + ```sh npm run-script watch-test ``` diff --git a/docs/2-steps/setup.html b/docs/2-steps/setup.html new file mode 100644 index 0000000..0986bdc --- /dev/null +++ b/docs/2-steps/setup.html @@ -0,0 +1,515 @@ + + + + + + + + + Setup — Fable Python + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+ + + + + + + + + + +
+ +
+ +
+ + + + +
+
+ + + + +
+
+ + + + + + + +
+
+ + +
+
+ Contents +
+ +
+
+
+
+ +
+

Setup

+ +
+
+ +
+

Contents

+
+ +
+
+
+
+ +
+ +
+

Setup#

+
+

Prerequisites#

+

In order to use Fable you will need the following tools:

+
    +
  • .NET Core SDK to work with F# files and dependencies

  • +
  • Node.js to execute JS code

  • +
  • A JS package manager, like npm (which comes with Node) or yarn

  • +
+

Having the above tools, you may consider using Femto to ease package management.

+
+
+

Development tools#

+

Basically you will need an editor that lets you code in F# with features like hints on hover, autocomplete, syntax highlighting and so on… and there are many of them to suit your code styling!

+ +
+
+ + + + +
+ +
+ +
+
+ + +
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/2-steps/your-first-fable-project.html b/docs/2-steps/your-first-fable-project.html new file mode 100644 index 0000000..f2fc5b0 --- /dev/null +++ b/docs/2-steps/your-first-fable-project.html @@ -0,0 +1,540 @@ + + + + + + + + + Start a new project — Fable Python + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+ + + + + + + + + + +
+ +
+ +
+ + + + +
+
+ + + + +
+
+ + + + + + + +
+
+ + + +
+
+
+ +
+

Start a new project

+ +
+ +
+
+
+ +
+ +
+

Start a new project#

+

Now we’re ready, let’s start a new project using Fable!

+
+

Use a Fable template#

+

The easiest way to get started with Fable is to use a template (learn more about dotnet templates). For a minimal Fable project, create and navigate to a new directory and run the following commands (first one is only needed if you haven’t installed the template yet in your system).

+
    +
  1. dotnet new --install Fable.Template

  2. +
  3. dotnet new fable

  4. +
+

The rest of this document applies to Fable.Template. Alternatively, if you want specific examples or a more comprehensive template with more tooling and libraries installed, please check one of the following:

+
    +
  • Clone the Fable 3 samples repository to learn how to use Fable with different kinds of apps (browser, nodejs, testing, etc)

  • +
  • Build a React app in F# with Feliz template

  • +
  • Write a frontend app fully in F# without JS dependencies with Sutil

  • +
  • Get up to speed with SAFE Template which covers both the frontend and backend sides of your app

  • +
+
+
+

Install dependencies#

+

JS dependencies are listed in the package.json file. You can run npm install, which will download the needed packages to the node_modules folder and create a lock file.

+

.NET dependencies are listed in the src/App.fsproj file. You can install them by running dotnet restore src, but this is already automatically done by Fable.

+
+

Note

+

Lock files (like package-lock.json if you’re using npm) should be committed to ensure reproducible builds whenever anybody clones your repo. For .NET dependencies you can create a lock file by using Paket.

+
+
+
+

Build & run the app#

+

Here we go. If you’ve already installed JS dependencies, just run npm start. After a few seconds, your web server app will be running in the background until you kill it.

+
    +
  • You can access your project at http://localhost:8080/ with your favorite browser.

  • +
  • The server is in “watch” mode. Each time you save an .fs F# source file, Fable rebuilds the project automatically. If the build succeeds, you will see your changes in the browser without refreshing the page; if not, nothing changes in the browser, and you can see the build errors in the server’s console output.

  • +
+
+

Note

+

The npm start command is just an alias for dotnet fable watch src --run webpack-dev-server, check the “scripts” section of the package.json file. Please also check the README.md file shipped with the template to get up-to-date instructions.

+
+
+
+ + + + +
+ +
+ +
+
+ + +
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/communicate/fable-from-py.html b/docs/communicate/fable-from-py.html index 4adb9ed..a496dbe 100644 --- a/docs/communicate/fable-from-py.html +++ b/docs/communicate/fable-from-py.html @@ -53,7 +53,7 @@ - + @@ -139,6 +139,16 @@

Fable Python

The let keyword +
  • + + Setup + +
  • +
  • + + Start a new project + +
  • Call Fable from Python @@ -658,11 +668,11 @@

    Using delegates for disambiguation +

    previous

    -

    The let keyword

    +

    Start a new project

    diff --git a/docs/communicate/py-from-fable.html b/docs/communicate/py-from-fable.html index c02524f..b470aa1 100644 --- a/docs/communicate/py-from-fable.html +++ b/docs/communicate/py-from-fable.html @@ -139,6 +139,16 @@

    Fable Python

    The let keyword

  • +
  • + + Setup + +
  • +
  • + + Start a new project + +
  • Call Fable from Python diff --git a/docs/dotnet/compatibility.html b/docs/dotnet/compatibility.html index 9cb0628..d040c54 100644 --- a/docs/dotnet/compatibility.html +++ b/docs/dotnet/compatibility.html @@ -139,6 +139,16 @@

    Fable Python

    The let keyword
  • +
  • + + Setup + +
  • +
  • + + Start a new project + +
  • Call Fable from Python diff --git a/docs/dotnet/numbers.html b/docs/dotnet/numbers.html index 1433685..1a8fde2 100644 --- a/docs/dotnet/numbers.html +++ b/docs/dotnet/numbers.html @@ -139,6 +139,16 @@

    Fable Python

    The let keyword
  • +
  • + + Setup + +
  • +
  • + + Start a new project + +
  • Call Fable from Python diff --git a/docs/genindex.html b/docs/genindex.html index fef834f..140e284 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -136,6 +136,16 @@

    Fable Python

    The let keyword
  • +
  • + + Setup + +
  • +
  • + + Start a new project + +
  • Call Fable from Python diff --git a/docs/index.html b/docs/index.html index 9d6ef40..7f91e19 100644 --- a/docs/index.html +++ b/docs/index.html @@ -138,6 +138,16 @@

    Fable Python

    The let keyword
  • +
  • + + Setup + +
  • +
  • + + Start a new project + +
  • Call Fable from Python diff --git a/docs/intro.html b/docs/intro.html index 756ff80..f02b31e 100644 --- a/docs/intro.html +++ b/docs/intro.html @@ -139,6 +139,16 @@

    Fable Python

    The let keyword
  • +
  • + + Setup + +
  • +
  • + + Start a new project + +
  • Call Fable from Python diff --git a/docs/introduction/dotnet-users-read-this.html b/docs/introduction/dotnet-users-read-this.html index 98bb0b6..8a0741b 100644 --- a/docs/introduction/dotnet-users-read-this.html +++ b/docs/introduction/dotnet-users-read-this.html @@ -139,6 +139,16 @@

    Fable Python

    The let keyword
  • +
  • + + Setup + +
  • +
  • + + Start a new project + +
  • Call Fable from Python diff --git a/docs/introduction/py-users-read-this.html b/docs/introduction/py-users-read-this.html index dea9df5..759239a 100644 --- a/docs/introduction/py-users-read-this.html +++ b/docs/introduction/py-users-read-this.html @@ -139,6 +139,16 @@

    Fable Python

    The let keyword
  • +
  • + + Setup + +
  • +
  • + + Start a new project + +
  • Call Fable from Python diff --git a/docs/new-to-fsharp/learning-the-language.html b/docs/new-to-fsharp/learning-the-language.html index 601e531..de60cbf 100644 --- a/docs/new-to-fsharp/learning-the-language.html +++ b/docs/new-to-fsharp/learning-the-language.html @@ -139,6 +139,16 @@

    Fable Python

    The let keyword
  • +
  • + + Setup + +
  • +
  • + + Start a new project + +
  • Call Fable from Python diff --git a/docs/new-to-fsharp/let-keyword.html b/docs/new-to-fsharp/let-keyword.html index 60a8ce1..0c8f152 100644 --- a/docs/new-to-fsharp/let-keyword.html +++ b/docs/new-to-fsharp/let-keyword.html @@ -52,7 +52,7 @@ - + @@ -139,6 +139,16 @@

    Fable Python

    The let keyword
  • +
  • + + Setup + +
  • +
  • + + Start a new project + +
  • Call Fable from Python @@ -525,10 +535,10 @@

    ReferencesLearning the language

    - +

    next

    -

    Call Fable from Python

    +

    Setup

    diff --git a/docs/objects.inv b/docs/objects.inv index 5b3a3d50c5f5a755b0dfc2e819607f0c4da97788..64365dd23fd143ce3b6a48b8b54a9fd387d3a407 100644 GIT binary patch delta 518 zcmV+h0{Q*O1o8xsc7IKe)G!Ra_g7d#;+C!0BNqgSm5^Yy5{o#ejXMpbNtHM({r9AG z$~HTl4^GqZ^Lx*+6W@wJIEFeP#SsFjx5~93-oWh^xanyy@NNFAR$y|`i%$DMqLYn5 zF?#nCTiO#jm78@*dIAX+pCAKO>xLm(-AclmDV=wN7^kiL$$uo){V0uryEzVX93Cd> zoh_uti75;Flys4_k!C&CUTiAm$RgE=JWA4yHkyip_iz@xx&QPC(ki%n1qHln+Bh`m z!;V@;Sm!wpf;M7j1lhO*X#Mfk!E*ked-FHDwbfK4itPM(^=5k1eD2%j+ zC=bPzyds@VzGMgz1S@ppM&cJvPtL1z9{-Y9`EeFRf`1&WHs`x=@Z7QD{2|rZ_9c;H z>%Lj=hq-#*Aluzh%a|m+kU4C0i IFD~9@f=Dd|%>V!Z delta 476 zcmV<20VDqM1jq!Cc7IEc(=ZUe=U0q`#LXLV<$?gQ5)!OdVi9M@o-_u>j{IQBzh{zh z*?606%c<=*-(x&uSNUP+i6@y%XRJw8!+(2qHoUp}^Z?RnxP1jx z`RM8L*kOn}Zl%ILcX`BM6r_2=*c{Lqr}59Kva&Y+pFv3n z9l{iR*5G@RrQmBB0WAA5$OI?=a}~a*VZJ@ zP~&g3e!}o9k$;wWZQ3dIc~Y6kCTsM1XVTWWjQ=l=BrqXuC+|c6 diff --git a/docs/search.html b/docs/search.html index 644a922..516c75f 100644 --- a/docs/search.html +++ b/docs/search.html @@ -142,6 +142,16 @@

    Fable Python

    The let keyword

  • +
  • + + Setup + +
  • +
  • + + Start a new project + +
  • Call Fable from Python diff --git a/docs/searchindex.js b/docs/searchindex.js index cb82401..f3a2c38 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["communicate/fable-from-py","communicate/py-from-fable","dotnet/compatibility","dotnet/numbers","index","intro","introduction/dotnet-users-read-this","introduction/py-users-read-this","new-to-fsharp/learning-the-language","new-to-fsharp/let-keyword","your-fable-project/author-a-fable-library","your-fable-project/build-and-run","your-fable-project/project-file","your-fable-project/testing","your-fable-project/use-a-fable-library"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinxcontrib.bibtex":9,sphinx:56},filenames:["communicate/fable-from-py.md","communicate/py-from-fable.md","dotnet/compatibility.md","dotnet/numbers.md","index.md","intro.md","introduction/dotnet-users-read-this.md","introduction/py-users-read-this.md","new-to-fsharp/learning-the-language.md","new-to-fsharp/let-keyword.md","your-fable-project/author-a-fable-library.md","your-fable-project/build-and-run.md","your-fable-project/project-file.md","your-fable-project/testing.md","your-fable-project/use-a-fable-library.md"],objects:{},objnames:{},objtypes:{},terms:{"0":[1,3,4,5,9,12,14],"0u":3,"0x0100_0000_2000_0000":3,"0x2000_0000":3,"0x2000_0001":3,"1":[0,1,3,13],"10":4,"10001":3,"12":4,"12345":3,"14":1,"15":0,"16":3,"2":[0,1,3,5,13],"24":1,"25":0,"28":3,"3":[0,1,4,7],"32":3,"4":[0,1],"40":1,"42":[1,9],"480":1,"5":[0,1,2],"500":2,"53":3,"6":[1,4,14],"64":[2,3],"7":1,"768":1,"8":[1,3],"9":[4,7],"99":1,"\u5bb6":0,"abstract":[0,1,2],"boolean":[0,2],"break":2,"byte":2,"case":[0,1,2,4,7,9,14],"catch":4,"char":[0,2],"class":[0,4,6],"const":9,"default":[0,1,2,4,5,9],"do":[2,9,10,12,14],"export":[1,13],"float":[0,1,2,3],"function":[1,2,4,5,9],"import":[0,6,12],"int":[0,1,2,4,9],"long":[0,1,3,9],"new":[0,1,9,11,12],"public":1,"return":[0,1,4],"static":[1,2],"switch":0,"true":1,"try":[0,4,6,7,9],"typeof":[1,2],"var":[0,1,9],"voil\u00e0":7,"while":14,A:[0,1,4],And:[1,5,7,9,13,14],As:[0,1],But:[0,7,14],By:1,For:[0,1,4,6,9,12,14],If:[0,1,8,11,14],In:[0,1,3,7,9,10],It:[0,1,2,5,10],No:2,Of:[4,9],One:3,That:[1,10,14],The:[0,1,2,3,4,5,6,10,14],Then:11,There:[0,1,2,4,6,7,8,14],These:[1,4,6],To:[0,1,10,12],Will:9,_:[0,1,4,12],__:[0,1,4],__all__:1,__init__:1,_awesom:1,_valu:1,abc:1,abl:[1,13],about:[2,8],abov:[0,1,4,9,12],abus:1,ac:4,accept:[0,1],access:[1,2],account:0,accur:3,aceofheart:4,achiev:1,activ:2,actual:[0,1,2],ad:[10,12,14],add:[0,1,6,9,10,13,14],addit:4,adifferentnam:1,adjust:1,advantag:[0,12,13],advis:1,affect:6,after:[1,9],against:[1,2,14],ajaj:13,ajax:4,alert:1,alia:1,all:[0,1,2,3,6,7,10,12,13,14],allow:[0,1],alreadi:[1,5,8,9,12,13],also:[0,1,2,4,5,6,8,9,10,14],altern:[3,10],although:[1,3,6],alwai:1,ambigu:0,amongst:1,an:[0,2,6,9,11,13],anativepyfunct:1,andyettrysomethingels:4,ani:[0,1,6,9,12],anonym:1,anoth:[0,1,7,9,12],answer:9,apart:[0,1,7],api:[1,2,10],app:[0,4,5,6,12],appli:1,applic:[1,5,6],appropri:3,ar:[0,1,2,3,4,8,9,10,11,12,14],area:[5,6],arg:1,argument:[0,1,2,9],arithmet:3,ariti:0,arrai:[0,1,2,9],assert:[2,9],assign:[1,9],assum:1,async:[2,4],asynchron:4,asyncrx:14,attach:[0,1,2],attachmemb:0,attribut:0,authent:12,author:6,automat:[1,14],avail:[1,2,7,8],avoid:0,awai:7,await:2,awar:[0,1,12],awesom:1,b:1,backgroundimageurl:4,backgroundposit:4,backgrounds:4,bake:[4,5],banner:4,bar1:1,bar2:1,bar:[0,1],base:[1,6],basic:[1,7,8,12,13,14],batteri:4,baz:1,bcl:[0,2,10],beauti:5,becaus:[0,1,5,9,13],becom:[2,12],been:6,befor:[1,3,10,13,14],behav:0,behavior:[0,5,6,12],being:9,below:[1,12],better:1,between:[0,1,2,3],big:13,bigint:0,bind:[1,4,9,13],binder:4,bit:[0,2,3,12],bitwis:3,bodi:[4,9],book:8,bool:[1,2],both:[0,1],bound:[2,9],browser:[5,14],bug:[1,4],build:[1,4,5,6,7,13,14],built:4,bulid:11,bulma:4,bundl:[0,13],button:1,bypass:1,bytearrai:2,c:[1,9],cach:13,call:[4,7,9,12,14],can:[0,1,2,3,6,7,8,9,10,12,13,14],cancellationtoken:2,cannot:0,canva:1,capabl:5,card:4,case1:1,case2:1,case3:1,caserul:1,caus:0,cdnj:4,center:4,chain:1,chanc:1,chang:[0,1,3,4,9,13],chart:1,cheap:1,check:[0,1,2,4,6,8,10,14],checker:1,children:4,choic:[1,2,5,14],choos:4,clash:0,clean:0,clearli:14,cli:14,cloud:5,cloudflar:4,club:4,code:[0,1,2,4,5,6,7,9,13,14],collect:[0,2],color:4,com:[4,13],combin:1,come:[0,1,5,7],command:[10,12,13,14],commerci:5,common:[1,4,6,7],compani:5,companion:14,compar:5,compat:[3,4,6,10,14],compil:[0,1,2,4,5,12,13,14],compilednam:1,complement:3,complet:1,complex:[5,9],complic:10,compon:1,compulsori:14,concept:1,condit:[1,2,4,10],conf:1,config:[1,13],configur:13,conflict:0,confus:0,consequ:3,consid:[0,9],consol:[1,2],constant:[1,9],constructor:1,contain:[0,1,4,12,14],content:[1,10],continu:4,contract:1,contribut:8,control:14,conveni:1,convent:1,convers:[0,2,3],convert:[2,13],core:[0,1,4,6,10,14],correct:[1,3,4],correctli:[0,1,3],correspond:[1,2],cost:4,could:1,count:0,counterpart:0,coupl:10,cours:9,cover:4,coveragepathignorepattern:13,creat:[1,7,9,14],create_class:0,create_record:0,createclass:0,createempti:1,createinst:2,createmyclass:1,createobj:1,createrecord:0,css:[1,4],cssclass:4,cssmodul:1,current:[1,2,12,13],curri:0,custom:3,d:[0,1,14],data:[0,1,3,5],datamanag:1,datetim:[0,2,6],datetimeoffset:2,deal:1,debug:2,debugg:2,decid:[1,6,7],decim:[0,2,3],declar:[0,1,4,9],decor:[0,1],def:1,defacto:14,defin:[1,5,9],delet:1,demonstr:9,denot:1,depend:[6,7],depth:12,describ:[1,13],destructur:1,dev:13,develop:8,diagnost:2,diamond:4,dict:2,dictinari:1,dictionari:[0,1,2],did:1,differ:[0,1,2,3,6,9,12,13],difficult:[0,1],dir:13,directli:[1,6,14],disclaim:1,discov:1,dispos:0,distanc:4,div:4,doc:[7,13,14],document:[1,7,10,13,14],doe:[0,1,4,9,12],doesn:[0,1,5,13],doesnotcompileinf:2,doeswork:2,dom:14,domain:5,don:[7,9,10,12,13],done:[1,9],dotnet:[7,10,11,13,14],doubl:[3,5],download:14,draw_bubbl:1,draw_smilei:1,drawbubbl:1,drawsmilei:1,driven:8,dummi:1,dynamicextens:1,e:[2,6],each:13,easi:[1,4],easier:14,easili:[0,1,5],ecosystem:[4,5,12,13],edit:14,editedtodo:1,editor:[4,6],effect:[0,1,12],effort:6,either:1,element:1,els:[1,7,9],embed:3,en:13,end:[1,9,12],enjoi:[4,13],enough:7,entir:4,entri:12,enumer:1,environ:[6,7],equal:[0,1,13],equival:[1,7,9],eras:2,error:[4,14],es2015:12,especi:6,etc:[1,2,6],eval:1,even:[0,1],event:2,everi:[1,9,14],everyth:[0,1,10],exact:[1,3],exactli:1,exampl:[0,1,2,4,9,12,14],except:[0,2,3,12],exchang:0,execut:[0,12,13],exist:[1,9],expect:[0,1,2,3,9,10,13],explain:7,explan:7,explicit:[0,1,2],expos:0,express:[1,12],extend:4,extens:[1,12],extern:1,f:[0,3,4,6,7,8,9,11,12,14],fabl:[2,3,4,11,12,13],face:4,fact:7,fail:[0,6],failwithf:2,fake:[6,10],fashion:[1,12],favorit:4,featur:[0,1,2,5,13],fetch:[1,4],few:[2,10,12,14],ff:13,field:[0,1],file:[0,1,6,7,10,13],find:[0,1,6],fingertip:4,first:[0,1,4,12,13],fit:[3,5],fivetim:0,flag1:1,float32:3,fluent:1,folder:[1,10,12,14],follow:[0,1,2,9,12,14],foo:[0,1],forc:3,forget:1,format:[2,3,12,14],former:1,foundat:8,from:[2,3,4,6,7,9,12],fs:[1,10,14],fsharp:[6,10,14],fsi:10,fsproj:[6,7,10,11,14],fsx:[6,11],fulfil:10,fulli:[6,9],fullnam:2,fun:[0,1,8,9,13],func:0,further:1,g:[1,2,6],gener:[0,1,5,8,13],get:[0,1,3,8,14],getarea:5,getpi:1,getter:1,github:13,give:[0,1],global:1,go:[1,9],goal:9,good:[1,10,14],got:1,graphic:14,grasp:9,great:[5,14],group:1,guarante:[0,1],guid:[2,8],ha:[1,3,9,12],handi:0,happen:[9,12],happi:[6,7],hashset:[0,2],hassl:4,have:[0,1,3,6,12,13],heart:4,hei:1,height:1,help:1,henc:14,here:[0,1,4,9,12],hero:4,herobodi:4,hexadecim:3,hi:[6,7],hint:[1,4],hit:4,home:7,horizont:1,how:[0,6,7,9],howev:[0,2,6],html:4,http:[4,13],i:[1,13],ialert:1,icanva:1,id:[1,12,14],idea:[1,10],ident:3,identifi:9,ienumer:0,ignor:[1,12],ignorecas:1,immut:[4,5,9],impact:6,implement:[1,2,3],importal:1,importattribut:1,importdefault:1,importmemb:[0,1],importsideeffect:1,improv:[0,13],imyinterfac:[0,1],includ:[1,4,10,12,14],incomplet:4,incorrectli:0,incred:6,index:0,indic:[1,2,4,13],infer:4,inform:[0,2,13],inherit:2,inlin:[1,2],input:2,insert:1,insid:9,instal:[11,13],instanc:[0,1,2,9,12,14],instanti:1,instead:[1,3,9],int16:0,int32:3,int64:3,integ:[0,3,9],integr:7,intend:[1,8],interact:[0,6],interfac:[0,2,6,14],intern:[3,6],interop:[0,1,4],interoper:1,invok:1,involv:4,io:13,ionid:6,is_awesom:1,isarrai:1,isawesom:1,isdark:4,isfullheightwithnavbar:4,isn:1,issu:0,item:1,itemgroup:[10,12],iter:[0,2],its:[1,9,12],jack:4,javascript:[2,3,4,7],jester:13,jestj:13,jetbrain:[4,5],john:9,joy:6,js:[0,1,2,6,12,13],jsobject:1,json:[0,13,14],jsoption:1,just:[0,1,2,6,14],keep:10,keyvaluelist:1,keyword:1,king:4,know:[1,7,8],known:[6,7],lack:1,lambda:0,lang:[7,11],languag:[0,4,5,7,9],larg:[5,14],larger:3,last:[1,10,12],later:[7,9],lazi:2,learn:[2,5,6],least:1,length:[0,4,5],less:3,let:[0,2,3,4,5,10,12],letter:1,lib:[1,2,4,13],librari:[4,6,7],lightweight:[4,5],like:[0,1,2,4,6,8,10,12,14],likewis:2,limit:2,line:10,list:[0,1,2,4,7,12],liter:1,live:1,ll:[1,6,7,9,14],load:7,locat:[1,12],logger:1,look:[0,1,12],loss:3,lost:7,lot:[4,5,6],love:4,low:3,lower:[1,3],lowerfirst:1,luckili:12,m:[1,4],machin:5,macro:1,made:4,magic:6,magnitud:3,mai:[0,1,4,6,10,12],mailboxprocessor:2,main:[4,9],mainli:[0,1,8],maintabl:5,make:[0,1,3,4,6,10,14],manag:[1,6,14],mandatori:1,mani:[0,5,6,7,8,12],manifest:11,manual:[1,12],map:[0,1,2,6],mark:2,mask:3,match:[1,4,5],math:[1,2,6],matter:[0,1,10],matur:5,mayb:1,mean:[1,2,9,12],mechan:0,member:[0,1,2,4],mention:9,messag:1,method:[0,1,2],microsoft:[5,10,12],mimic:1,min:4,minimum:2,minut:14,miss:1,mitig:1,mocha:13,model:[1,4],modern:4,modul:[0,1,2,12,13],modulefileextens:13,more:[0,1,2,3,4,5,6,9,13],most:[0,2,6,7,12,14],motto:1,move:1,msbuild:10,much:[5,9,12],multipl:[0,3],multipli:3,must:[1,12],mutabl:0,my:[0,1,12],my_class:1,my_lib:1,my_method:1,my_py_lib:1,my_str:1,myawesomefeatur:12,myclass:[0,1],myclassstat:1,myconfig:1,mydata:1,mydatamanag:1,myeffect:0,myerasedtyp:1,myfunct:1,mylib:1,mylibrari:1,mymethod:1,mymodul:1,mymoduledefaultexport:1,myobject:1,myproject:12,myproperti:1,myrecord:0,mystr:1,name:[1,4,9,10,12,13],namespac:[0,1,6],nasti:1,nativ:[0,1,2],nativeonli:1,nearli:3,necessari:[1,12],need:[0,1,2,3,7,10,12,13,14],neg:3,nest:[0,2],net:[0,3,4,7,12,14],netstandard2:12,new_alu:1,new_valu:1,next:8,node:[13,14],node_modul:13,non:3,none:[1,2,4],nor:[2,9],normal:[1,9],note:[0,1,2,9,12,14],noth:[1,7],now:[1,12,13],npm:13,npx:13,nuget:[6,7,10,13,14],number:[0,1,3,4,14],numer:[0,2],o:[1,13],obj:1,object:5,obligatori:12,observ:2,occasion:1,offer:[5,14],offici:[1,13,14],often:[1,14],ok:[0,1,3],old:12,omit:14,onc:6,one:[0,1,9,12],onli:[0,1,2,4,7,8,9,10,12,13,14],onlin:4,oop:2,open:[0,1,4,13],oper:[0,1,2,3,4,12,14],operand:3,opt:[1,4],optim:1,option:[0,1,2,4],optionbuild:4,order:[0,1,2,3,10,12,14],origin:7,other:[0,4,8,9,12],otherwis:[1,6],our:[0,1,12],out:4,outdir:[1,13],output:[4,13],overcom:1,overflow:3,overhead:2,overload:[0,2],overrid:1,own:[1,4],pack:10,packag:[4,6,10,12,13,14],package_id:14,package_vers:14,packagepath:10,packagerefer:14,page:9,paket:[6,12,13],panel:0,panic:7,parallel:13,paramarrai:1,paramet:1,pars:[0,2],parseregex:1,part:[1,6],particularli:0,pascalcas:4,pass:[0,1],past:6,path:[12,13],pattern:[0,1,3,4,5,13],pep8:4,perform:[0,12,13],philosophi:1,pi:1,pick:14,place:12,placehold:1,plai:0,plan:0,pleas:[1,2,6,12,14],pleasant:5,plugin:13,pname:1,poetri:[1,7],point:[1,3,4,10,12],possibl:[0,1,2],post:2,postandasyncrepli:2,potenti:1,power:[0,4,5],preciou:1,precis:3,predefin:1,prefer:[1,13],prefix:0,prereleas:11,present:1,prevent:[0,1],primit:9,print:[1,9],printf:[1,3],printfn:[0,1,2,4,5,9],printnam:9,probabl:6,problem:[0,1],process:[1,14],produc:4,product:[3,6],profit:8,program:[4,5,6,8],progress:8,project:[6,7,10,11,13],promis:[1,7],pronounc:5,prop:[1,4],proper:1,properti:[0,1,2],propertygroup:12,propos:14,prototyp:2,provid:[2,6,12],publish:10,pure:1,purpos:5,put:[1,13],py:[1,7,11],py_object:1,pyinterop:[0,1],pyobject:1,pyoption:1,pypi:[4,6,7],pyproject:[1,7],pytest:[7,10],python:[2,3,8,10,11,12,13,14],qty:1,quantiti:1,queen:4,question:1,quit:[1,5,12],rais:1,random:2,rather:[1,9,13],re:[0,1,2,4,6,7,9],react:1,read:[5,13,14],readabl:[4,5],readi:[11,14],real:4,realiti:6,reassign:9,receiv:[0,1,2,9],recent:[12,14],recommend:1,record:[0,1,9],rectangl:5,redefin:9,reduc:0,refer:[1,12],referenc:12,regardless:12,regex:[0,1,2],regexp:1,regular:1,regularexpress:2,rel:12,relationship:12,reli:1,remain:1,rememb:0,remov:[0,1,12,14],repl:0,replac:1,replic:1,repres:[1,2,5],represent:[2,3],requir:[0,1,7,12,14],resizearrai:0,resourc:8,rest:[10,12],restor:14,restrict:[1,12],result:[0,1,2,3,13],rich:5,rider:[4,6,14],right:[7,9],risk:1,rng:3,robust:[4,5,6],root:[0,12,13],rootdir:13,rootmodul:0,roughli:1,round:3,routin:6,rule:[1,2],run:[1,5,6,7,14],runner:[7,10,13],runsynchron:2,runtim:[1,2,6],s:[0,2,3,4,5,6,7,9,10,11,12,14],sacrific:5,safe:[1,5],safer:5,safeti:4,sai:1,same:[0,1,9,12],sampl:14,save:13,schema:12,scienc:5,scope:9,script:[6,11,13],sdk:[12,14],second:[1,14],section:[2,4,6,8],see:[0,1,2,9,12,13],seem:6,seen:[0,1,3],self:1,semant:[3,6],send:[0,1],sendtopi:1,seq:[0,2],sequenc:1,server:[5,12],set:[0,1,2],set_valu:1,setter:1,sever:[1,6,13],shape:5,share:[0,12],sharednamespac:0,sharp:5,shift:3,shmew:13,should:[0,1,2,13],shouldn:[0,1],side:[1,5,12],sign:3,signatur:1,similar:[1,6,10],simpl:10,simplejson:14,simpler:12,simplest:10,simplic:5,sinc:[1,6,7,9,12],singl:[0,1,2,3,13],site:8,situat:[0,1],size:0,skeleton:12,skip:[1,8],slightli:1,sln:6,slow:13,slower:3,small:[3,13],smilei:1,snippet:9,so:[0,1,5,7,9,13,14],softwar:8,solut:[1,4,6],some:[0,1,2,4,7,9,12,14],some_str:1,somestr:1,someth:1,sometim:[0,1],sound:[1,10],sourc:[1,10,12],spade:4,specif:[1,4],specifi:[1,13],speedsumgroup:1,split:[1,9],sprintf:[2,3],squar:[0,5],src:[12,13],stabl:14,standard:[0,1,3,4,6,14],start:[0,1,2,14],starter:6,state:[1,12],staticmethod:1,step:[1,12],still:[1,2,8],storag:1,str:2,straightforward:14,string:[0,1,2,6,9],striplastnam:9,strongli:5,struct:2,structur:[0,9],studio:[4,6,14],style:[1,4],succinct:5,sugar:1,sum:1,supplement:4,support:[0,2,4,5,6],sure:10,syntax:[1,4,5],system:[0,1,2,5,6],t:[0,2,5,7,9,10,12,13],tag:12,take:[0,6,10,12,13,14],taken:1,target:[6,8,14],targetframework:12,task:[1,2,4],tell:[0,14],tend:6,tenofspad:4,test:[0,1,2,7],test_funct:0,testenviron:13,testmatch:13,testvalu:1,text:[1,2,4,9],than:[0,1,3,6,9,13],thank:1,thei:[0,1,2,3,6],them:[0,1,4,14],thi:[0,2,3,4,6,8,9,10,12,13,14],thing:[1,5,6,7,12,14],think:[0,5],thiswillfail:4,thiswork:4,those:[1,4],though:0,thread:2,three:4,through:[1,7],thu:[3,9],time:[0,1,4,11,13],timedelta:2,timeout:2,timer:2,timespan:2,toconsol:1,todo:1,toequal:13,togeth:1,told:1,toml:[1,7],too:9,tool:[1,4,5,6,7,11,13],tostr:3,tour:8,toward:0,transform:[1,13],translat:[1,2,3,12],transpil:[6,7],travers:0,tree:12,trigger_alert:1,triggeralert:1,truncat:3,trust:1,trysometh:4,trysomethingels:4,ts2fabl:1,tupl:[1,2],turn:6,two:[0,1,3,7,9,12,13],txt:4,type:[2,5,9],typedcssclass:4,typescript:1,u2:1,u3:1,ui:5,uint32:3,uint64:3,uint8:2,unbox:1,underli:[1,3],understand:[0,7],undeterminist:4,unexpect:0,union:1,unit:[0,1,7,10],unless:2,unlik:12,unlimit:3,until:1,untyp:1,up:[0,1],updat:1,url:4,us:[3,4,6,7,9,10,12,13],usabl:1,useeffect:0,usual:[1,14],v:[1,14],val:1,valu:[0,1,3,4,9],variabl:9,varieti:14,ve:1,venv:1,veri:[1,3,6,9],verifi:1,version:[12,14],vertic:1,visibl:1,visual:[4,6,14],wai:[1,3,10,14],want:[0,1,12],warn:[1,4],watchal:13,we:[0,1,3,5,6,7,9,12,13,14],weak:1,web:[4,5,6],webpack:13,well:[2,6,7],were:0,what:[0,2,9,14],whatdoiget:1,when:[0,2,3,5],whenev:13,where:[0,1,12],which:[0,1,2,3,5,6,7,9,12,14],whole:[3,4],whose:1,why:1,width:[1,5],wish:[1,7],within:[3,9],without:[0,1,3,4,14],won:[0,2,7],wonder:6,work:[0,1,8,10,14],world:4,worri:9,would:[1,6,9],wrap:1,write:[1,5,10],writelin:2,x:[0,1,2,4,9],xml:12,xs:1,y:[0,1,4,9],you:[0,1,2,5,8,9,10,11,12,13,14],youhou:13,your:[0,1,4,6,7,10,11,12,13],yourself:4,z:[1,4],zaid:13,zanaptak:4},titles:["Call Fable from Python","Call Python from Fable",".NET and F# compatibility","Numeric types","Python you can be proud of","What is Fable?","Are you a .NET developer?","Are you a Python developer?","Learning the language","The let keyword","Author a Fable library","Build & run","The project file","Testing","Use a Fable library"],titleterms:{"1":14,"1st":1,"2":14,"2nd":1,"class":[1,2],"do":1,"function":0,"import":1,"try":1,The:[9,12],ad:1,add:12,an:[1,12],ar:[6,7],attribut:1,author:10,automat:0,base:2,behaviour:0,bring:6,build:11,call:[0,1],can:4,cast:1,caveat:2,common:0,compar:9,compat:2,comput:4,core:2,creat:12,custom:0,definit:1,deleg:0,develop:[6,7],directori:1,disambigu:0,don:1,dynam:1,emit:1,enough:1,environ:11,eras:1,exampl:13,express:4,f:[1,2,5],fabl:[0,1,5,6,7,10,14],familiar:6,featur:4,file:[12,14],from:[0,1],fs:12,fsharp:2,fsproj:12,gener:2,helper:1,ii:2,iii:2,inherit:1,interfac:1,javascript:1,jest:13,keyword:9,languag:8,learn:8,let:[1,9],librari:[1,2,10,14],mangl:0,manual:14,measur:4,miscellan:1,mode:13,name:0,net:[2,6],next:5,numer:3,object:[0,1,2],old:1,oop:1,option:14,orient:2,other:1,output:1,paket:14,path:1,plain:1,practic:1,print:3,program:2,project:[1,5,12,14],proud:4,provid:4,python:[0,1,4,5,6,7,9],read:1,refer:[9,14],reflect:2,rel:1,run:[11,13],s:1,safeti:1,setup:[11,13],shadow:9,some:6,special:1,stringenum:1,t:1,test:[10,13],thi:1,type:[0,1,3,4],uncurri:0,unit:4,us:[0,1,5,14],watch:13,welcom:7,what:[1,5],when:1,why:5,workaround:3,write:13,you:[4,6,7],your:[5,14]}}) \ No newline at end of file +Search.setIndex({docnames:["2-steps/setup","2-steps/your-first-fable-project","communicate/fable-from-py","communicate/py-from-fable","dotnet/compatibility","dotnet/numbers","index","intro","introduction/dotnet-users-read-this","introduction/py-users-read-this","new-to-fsharp/learning-the-language","new-to-fsharp/let-keyword","your-fable-project/author-a-fable-library","your-fable-project/build-and-run","your-fable-project/project-file","your-fable-project/testing","your-fable-project/use-a-fable-library"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinxcontrib.bibtex":9,sphinx:56},filenames:["2-steps/setup.md","2-steps/your-first-fable-project.md","communicate/fable-from-py.md","communicate/py-from-fable.md","dotnet/compatibility.md","dotnet/numbers.md","index.md","intro.md","introduction/dotnet-users-read-this.md","introduction/py-users-read-this.md","new-to-fsharp/learning-the-language.md","new-to-fsharp/let-keyword.md","your-fable-project/author-a-fable-library.md","your-fable-project/build-and-run.md","your-fable-project/project-file.md","your-fable-project/testing.md","your-fable-project/use-a-fable-library.md"],objects:{},objnames:{},objtypes:{},terms:{"0":[3,5,6,7,11,14,16],"0u":5,"0x0100_0000_2000_0000":5,"0x2000_0000":5,"0x2000_0001":5,"1":[2,3,5,15],"10":6,"10001":5,"12":6,"12345":5,"14":3,"15":2,"16":5,"2":[2,3,5,7,15],"24":3,"25":2,"28":5,"3":[1,2,3,6,9],"32":5,"4":[2,3],"40":3,"42":[3,11],"480":3,"5":[2,3,4],"500":4,"53":5,"6":[3,6,16],"64":[4,5],"7":3,"768":3,"8":[3,5],"8080":1,"9":[6,9],"99":3,"\u5bb6":2,"abstract":[2,3,4],"boolean":[2,4],"break":4,"byte":4,"case":[2,3,4,6,9,11,16],"catch":6,"char":[2,4],"class":[2,6,8],"const":11,"default":[2,3,4,6,7,11],"do":[4,11,12,14,16],"export":[3,15],"float":[2,3,4,5],"function":[3,4,6,7,11],"import":[2,8,14],"int":[2,3,4,6,11],"long":[2,3,5,11],"new":[2,3,11,13,14],"public":3,"return":[2,3,6],"static":[3,4],"switch":2,"true":3,"try":[2,6,8,9,11],"typeof":[3,4],"var":[2,3,11],"voil\u00e0":9,"while":16,A:[0,2,3,6],And:[3,7,9,11,15,16],As:[2,3],But:[2,9,16],By:3,For:[0,1,2,3,6,8,11,14,16],If:[1,2,3,10,13,16],In:[0,2,3,5,9,11,12],It:[2,3,4,7,12],No:4,Of:[6,11],One:5,That:[3,12,16],The:[1,2,3,4,5,6,7,8,12,16],Then:13,There:[2,3,4,6,8,9,10,16],These:[3,6,8],To:[2,3,12,14],Will:11,_:[2,3,6,14],__:[2,3,6],__all__:3,__init__:3,_awesom:3,_valu:3,abc:3,abl:[3,15],about:[1,4,10],abov:[0,2,3,6,11,14],abus:3,ac:6,accept:[2,3],access:[1,3,4],account:2,accur:5,aceofheart:6,achiev:3,activ:4,actual:[2,3,4],ad:[12,14,16],add:[2,3,8,11,12,15,16],addit:6,adifferentnam:3,adjust:3,advantag:[2,14,15],advis:3,affect:8,after:[1,3,11],against:[3,4,16],ajaj:15,ajax:6,alert:3,alia:[1,3],all:[2,3,4,5,8,9,12,14,15,16],allow:[2,3],alreadi:[1,3,7,10,11,14,15],also:[1,2,3,4,6,7,8,10,11,12,16],altern:[1,5,12],although:[3,5,8],alwai:3,ambigu:2,amongst:3,an:[0,1,2,4,8,11,13,15],anativepyfunct:3,andyettrysomethingels:6,ani:[2,3,8,11,14],anonym:3,anoth:[2,3,9,11,14],answer:11,anybodi:1,apart:[2,3,9],api:[3,4,12],app:[2,6,7,8,14],appli:[1,3],applic:[3,7,8],appropri:5,ar:[0,1,2,3,4,5,6,10,11,12,13,14,16],area:[7,8],arg:3,argument:[2,3,4,11],arithmet:5,ariti:2,arrai:[2,3,4,11],assert:[4,11],assign:[3,11],assum:3,async:[4,6],asynchron:6,asyncrx:16,attach:[2,3,4],attachmemb:2,attribut:2,authent:14,author:8,autocomplet:0,automat:[1,3,16],avail:[3,4,9,10],avoid:2,awai:9,await:4,awar:[2,3,14],awesom:3,b:3,backend:1,background:1,backgroundimageurl:6,backgroundposit:6,backgrounds:6,bake:[6,7],banner:6,bar1:3,bar2:3,bar:[2,3],base:[3,8],basic:[0,3,9,10,14,15,16],batteri:6,baz:3,bcl:[2,4,12],beauti:7,becaus:[2,3,7,11,15],becom:[4,14],been:8,befor:[3,5,12,15,16],behav:2,behavior:[2,7,8,14],being:11,below:[3,14],better:3,between:[2,3,4,5],big:15,bigint:2,bind:[0,3,6,11,15],binder:6,bit:[2,4,5,14],bitwis:5,bodi:[6,11],book:10,bool:[3,4],both:[1,2,3],bound:[4,11],browser:[1,7,16],bug:[3,6],build:[3,6,7,8,9,15,16],built:6,bulid:13,bulma:6,bundl:[2,15],button:3,bypass:3,bytearrai:4,c:[3,11],cach:15,call:[6,9,11,14,16],can:[1,2,3,4,5,8,9,10,11,12,14,15,16],cancellationtoken:4,cannot:2,canva:3,capabl:7,card:6,case1:3,case2:3,case3:3,caserul:3,caus:2,cdnj:6,center:6,chain:3,chanc:3,chang:[1,2,3,5,6,11,15],chart:3,cheap:3,check:[1,2,3,4,6,8,10,12,16],checker:3,children:6,choic:[3,4,7,16],choos:6,clash:2,clean:2,clearli:16,cli:16,clone:1,cloud:7,cloudflar:6,club:6,code:[0,2,3,4,6,7,8,9,11,15,16],collect:[2,4],color:6,com:[6,15],combin:3,come:[0,2,3,7,9],command:[1,12,14,15,16],commerci:7,commit:1,common:[3,6,8,9],compani:7,companion:16,compar:7,compat:[5,6,8,12,16],compil:[2,3,4,6,7,14,15,16],compilednam:3,complement:5,complet:3,complex:[7,11],complic:12,compon:3,comprehens:1,compulsori:16,concept:3,condit:[3,4,6,12],conf:3,config:[3,15],configur:15,conflict:2,confus:2,consequ:5,consid:[0,2,11],consol:[1,3,4],constant:[3,11],constructor:3,contain:[2,3,6,14,16],content:[3,12],continu:6,contract:3,contribut:10,control:16,conveni:3,convent:3,convers:[2,4,5],convert:[4,15],core:[0,2,3,6,8,12,16],correct:[3,5,6],correctli:[2,3,5],correspond:[3,4],cost:6,could:3,count:2,counterpart:2,coupl:12,cours:11,cover:[1,6],coveragepathignorepattern:15,creat:[1,3,9,11,16],create_class:2,create_record:2,createclass:2,createempti:3,createinst:4,createmyclass:3,createobj:3,createrecord:2,css:[3,6],cssclass:6,cssmodul:3,current:[3,4,14,15],curri:2,custom:5,d:[2,3,16],data:[2,3,5,7],datamanag:3,date:1,datetim:[2,4,8],datetimeoffset:4,deal:3,debug:4,debugg:4,decid:[3,8,9],decim:[2,4,5],declar:[2,3,6,11],decor:[2,3],def:3,defacto:16,defin:[3,7,11],delet:3,demonstr:11,denot:3,depend:[0,8,9],depth:14,describ:[3,15],destructur:3,dev:[1,15],develop:10,diagnost:4,diamond:6,dict:4,dictinari:3,dictionari:[2,3,4],did:3,differ:[1,2,3,4,5,8,11,14,15],difficult:[2,3],dir:15,directli:[3,8,16],directori:1,disclaim:3,discov:3,dispos:2,distanc:6,div:6,doc:[9,15,16],document:[1,3,9,12,15,16],doe:[2,3,6,11,14],doesn:[2,3,7,15],doesnotcompileinf:4,doeswork:4,dom:16,domain:7,don:[9,11,12,14,15],done:[1,3,11],dotnet:[1,9,12,13,15,16],doubl:[5,7],download:[1,16],draw_bubbl:3,draw_smilei:3,drawbubbl:3,drawsmilei:3,driven:10,dummi:3,dynamicextens:3,e:[4,8],each:[1,15],eas:0,easi:[3,6],easier:16,easiest:1,easili:[2,3,7],ecosystem:[6,7,14,15],edit:16,editedtodo:3,editor:[0,6,8],effect:[2,3,14],effort:8,either:3,element:3,els:[3,9,11],emac:0,embed:5,en:15,end:[3,11,14],enjoi:[6,15],enough:9,ensur:1,entir:6,entri:14,enumer:3,environ:[8,9],equal:[2,3,15],equival:[3,9,11],eras:4,error:[1,6,16],es2015:14,especi:8,etc:[1,3,4,8],eval:3,even:[2,3],event:4,everi:[3,11,16],everyth:[2,3,12],exact:[3,5],exactli:3,exampl:[1,2,3,4,6,11,14,16],except:[2,4,5,14],exchang:2,execut:[0,2,14,15],exist:[3,11],expect:[2,3,4,5,11,12,15],explain:9,explan:9,explicit:[2,3,4],expos:2,express:[3,14],extend:6,extens:[3,14],extern:3,f:[0,1,2,5,6,8,9,10,11,13,14,16],fabl:[0,4,5,6,13,14,15],face:6,fact:9,fail:[2,8],failwithf:4,fake:[8,12],fashion:[3,14],favorit:[1,6],featur:[0,2,3,4,7,15],feliz:1,femto:0,fetch:[3,6],few:[1,4,12,14,16],ff:15,field:[2,3],file:[0,1,2,3,8,9,12,15],find:[2,3,8],fingertip:6,first:[1,2,3,6,14,15],fit:[5,7],fivetim:2,flag1:3,float32:5,fluent:3,folder:[1,3,12,14,16],follow:[0,1,2,3,4,11,14,16],foo:[2,3],forc:5,forget:3,format:[4,5,14,16],former:3,foundat:10,from:[4,5,6,8,9,11,14],frontend:1,fs:[1,3,12,16],fsharp:[0,8,12,16],fsi:12,fsproj:[1,8,9,12,13,16],fsx:[8,13],fulfil:12,fulli:[1,8,11],fullnam:4,fun:[2,3,10,11,15],func:2,further:3,g:[3,4,8],gener:[2,3,7,10,15],get:[1,2,3,5,10,16],getarea:7,getpi:3,getter:3,github:15,give:[2,3],global:3,go:[1,3,11],goal:11,good:[3,12,16],got:3,graphic:16,grasp:11,great:[7,16],group:3,guarante:[2,3],guid:[4,10],ha:[3,5,11,14],handi:2,happen:[11,14],happi:[8,9],hashset:[2,4],hassl:6,have:[0,2,3,5,8,14,15],haven:1,heart:6,hei:3,height:3,help:3,henc:16,here:[1,2,3,6,11,14],hero:6,herobodi:6,hexadecim:5,hi:[8,9],highlight:0,hint:[0,3,6],hit:6,home:9,horizont:3,hover:0,how:[1,2,8,9,11],howev:[2,4,8],html:6,http:[1,6,15],i:[3,15],ialert:3,icanva:3,id:[3,14,16],idea:[3,12],ident:5,identifi:11,ienumer:2,ignor:[3,14],ignorecas:3,immut:[6,7,11],impact:8,implement:[3,4,5],importal:3,importattribut:3,importdefault:3,importmemb:[2,3],importsideeffect:3,improv:[2,15],imyinterfac:[2,3],includ:[3,6,12,14,16],incomplet:6,incorrectli:2,incred:8,index:2,indic:[3,4,6,15],infer:6,inform:[2,4,15],inherit:4,inlin:[3,4],input:4,insert:3,insid:11,instal:[13,15],instanc:[2,3,4,11,14,16],instanti:3,instead:[3,5,11],instruct:1,int16:2,int32:5,int64:5,integ:[2,5,11],integr:9,intend:[3,10],interact:[2,8],interfac:[2,4,8,16],intern:[5,8],interop:[2,3,6],interoper:3,invok:3,involv:6,io:15,ionid:[0,8],is_awesom:3,isarrai:3,isawesom:3,isdark:6,isfullheightwithnavbar:6,isn:3,issu:2,item:3,itemgroup:[12,14],iter:[2,4],its:[3,11,14],jack:6,javascript:[4,5,6,9],jester:15,jestj:15,jetbrain:[0,6,7],john:11,joy:8,js:[0,1,2,3,4,8,14,15],jsobject:3,json:[1,2,15,16],jsoption:3,just:[1,2,3,4,8,16],keep:12,keyvaluelist:3,keyword:3,kill:1,kind:1,king:6,know:[3,9,10],known:[8,9],lack:3,lambda:2,lang:[9,13],languag:[2,6,7,9,11],larg:[7,16],larger:5,last:[3,12,14],later:[9,11],lazi:4,learn:[1,4,7,8],least:3,length:[2,6,7],less:5,let:[0,1,2,4,5,6,7,12,14],letter:3,lib:[3,4,6,15],librari:[1,6,8,9],lightweight:[6,7],like:[0,1,2,3,4,6,8,10,12,14,16],likewis:4,limit:4,line:12,list:[1,2,3,4,6,9,14],liter:3,live:3,ll:[3,8,9,11,16],load:9,localhost:1,locat:[3,14],lock:1,logger:3,look:[2,3,14],loss:5,lost:9,lot:[6,7,8],love:6,low:5,lower:[3,5],lowerfirst:3,luckili:14,m:[3,6],mac:0,machin:7,macro:3,made:6,magic:8,magnitud:5,mai:[0,2,3,6,8,12,14],mailboxprocessor:4,main:[6,11],mainli:[2,3,10],maintabl:7,make:[2,3,5,6,8,12,16],manag:[0,3,8,16],mandatori:3,mani:[0,2,7,8,9,10,14],manifest:13,manual:[3,14],map:[2,3,4,8],mark:4,mask:5,match:[3,6,7],math:[3,4,8],matter:[2,3,12],matur:7,mayb:3,md:1,mean:[3,4,11,14],mechan:2,member:[2,3,4,6],mention:11,messag:3,method:[2,3,4],microsoft:[7,12,14],mimic:3,min:6,minim:1,minimum:4,minut:16,miss:3,mitig:3,mocha:15,mode:[0,1],model:[3,6],modern:6,modul:[2,3,4,14,15],modulefileextens:15,more:[1,2,3,4,5,6,7,8,11,15],most:[2,4,8,9,14,16],motto:3,move:3,msbuild:12,much:[7,11,14],multipl:[2,5],multipli:5,must:[3,14],mutabl:2,my:[2,3,14],my_class:3,my_lib:3,my_method:3,my_py_lib:3,my_str:3,myawesomefeatur:14,myclass:[2,3],myclassstat:3,myconfig:3,mydata:3,mydatamanag:3,myeffect:2,myerasedtyp:3,myfunct:3,mylib:3,mylibrari:3,mymethod:3,mymodul:3,mymoduledefaultexport:3,myobject:3,myproject:14,myproperti:3,myrecord:2,mystr:3,name:[3,6,11,12,14,15],namespac:[2,3,8],nasti:3,nativ:[2,3,4],nativeonli:3,navig:1,nearli:5,necessari:[3,14],need:[0,1,2,3,4,5,9,12,14,15,16],neg:5,nest:[2,4],net:[0,1,2,5,6,9,14,16],netstandard2:14,new_alu:3,new_valu:3,next:10,node:[0,15,16],node_modul:[1,15],nodej:1,non:5,none:[3,4,6],nor:[4,11],normal:[3,11],note:[2,3,4,11,14,16],noth:[1,3,9],now:[1,3,14,15],npm:[0,1,15],npx:15,nuget:[8,9,12,15,16],number:[2,3,5,6,16],numer:[2,4],o:[3,15],obj:3,object:7,obligatori:14,observ:4,occasion:3,offer:[7,16],offici:[3,15,16],often:[3,16],ok:[2,3,5],old:14,omit:16,onc:8,one:[1,2,3,11,14],onli:[1,2,3,4,6,9,10,11,12,14,15,16],onlin:6,oop:4,open:[2,3,6,15],oper:[2,3,4,5,6,14,16],operand:5,opt:[3,6],optim:3,option:[2,3,4,6],optionbuild:6,order:[0,2,3,4,5,12,14,16],origin:9,other:[2,6,10,11,14],otherwis:[3,8],our:[2,3,14],out:6,outdir:[3,15],output:[1,6,15],overcom:3,overflow:5,overhead:4,overload:[2,4],overrid:3,own:[3,6],pack:12,packag:[0,1,6,8,12,14,15,16],package_id:16,package_vers:16,packagepath:12,packagerefer:16,page:[1,11],paket:[1,8,14,15],panel:2,panic:9,parallel:15,paramarrai:3,paramet:3,pars:[2,4],parseregex:3,part:[3,8],particularli:2,pascalcas:6,pass:[2,3],past:8,path:[14,15],pattern:[2,3,5,6,7,15],pep8:6,perform:[2,14,15],philosophi:3,pi:3,pick:16,place:14,placehold:3,plai:2,plan:2,pleas:[1,3,4,8,14,16],pleasant:7,plugin:15,pname:3,poetri:[3,9],point:[3,5,6,12,14],possibl:[2,3,4],post:4,postandasyncrepli:4,potenti:3,power:[2,6,7],preciou:3,precis:5,predefin:3,prefer:[3,15],prefix:2,prereleas:13,present:3,prevent:[2,3],primit:11,print:[3,11],printf:[3,5],printfn:[2,3,4,6,7,11],printnam:11,probabl:8,problem:[2,3],process:[3,16],produc:6,product:[5,8],profit:10,program:[6,7,8,10],progress:10,project:[8,9,12,13,15],promis:[3,9],pronounc:7,prop:[3,6],proper:3,properti:[2,3,4],propertygroup:14,propos:16,prototyp:4,provid:[4,8,14],publish:12,pure:3,purpos:7,put:[3,15],py:[3,9,13],py_object:3,pyinterop:[2,3],pyobject:3,pyoption:3,pypi:[6,8,9],pyproject:[3,9],pytest:[9,12],python:[4,5,10,12,13,14,15,16],qty:3,quantiti:3,queen:6,question:3,quit:[3,7,14],rais:3,random:4,rather:[3,11,15],re:[1,2,3,4,6,8,9,11],react:[1,3],read:[7,15,16],readabl:[6,7],readi:[1,13,16],readm:1,real:6,realiti:8,reassign:11,rebuild:1,receiv:[2,3,4,11],recent:[14,16],recommend:3,record:[2,3,11],rectangl:7,redefin:11,reduc:2,refer:[3,14],referenc:14,refresh:1,regardless:14,regex:[2,3,4],regexp:3,regular:3,regularexpress:4,rel:14,relationship:14,reli:3,remain:3,rememb:2,remov:[2,3,14,16],repl:2,replac:3,replic:3,repo:1,repositori:1,repres:[3,4,7],represent:[4,5],reproduc:1,requir:[2,3,9,14,16],resizearrai:2,resourc:10,rest:[1,12,14],restor:[1,16],restrict:[3,14],result:[2,3,4,5,15],rich:7,rider:[0,6,8,16],right:[9,11],risk:3,rng:5,robust:[6,7,8],root:[2,14,15],rootdir:15,rootmodul:2,roughli:3,round:5,routin:8,rule:[3,4],run:[3,7,8,9,16],runner:[9,12,15],runsynchron:4,runtim:[3,4,8],s:[1,2,4,5,6,7,8,9,11,12,13,14,16],sacrific:7,safe:[1,3,7],safer:7,safeti:6,sai:3,same:[2,3,11,14],sampl:[1,16],save:[1,15],schema:14,scienc:7,scope:11,script:[1,8,13,15],sdk:[0,14,16],second:[1,3,16],section:[1,4,6,8,10],see:[1,2,3,4,11,14,15],seem:8,seen:[2,3,5],self:3,semant:[5,8],send:[2,3],sendtopi:3,seq:[2,4],sequenc:3,server:[1,7,14],set:[2,3,4],set_valu:3,setter:3,sever:[3,8,15],shape:7,share:[2,14],sharednamespac:2,sharp:7,shift:5,ship:1,shmew:15,should:[1,2,3,4,15],shouldn:[2,3],side:[1,3,7,14],sign:5,signatur:3,similar:[3,8,12],simpl:12,simplejson:16,simpler:14,simplest:12,simplic:7,sinc:[3,8,9,11,14],singl:[2,3,4,5,15],site:10,situat:[2,3],size:2,skeleton:14,skip:[3,10],slightli:3,sln:8,slow:15,slower:5,small:[5,15],smilei:3,snippet:11,so:[0,2,3,7,9,11,15,16],softwar:10,solut:[3,6,8],some:[2,3,4,6,9,11,14,16],some_str:3,somestr:3,someth:3,sometim:[2,3],sound:[3,12],sourc:[1,3,12,14],spacemac:0,spade:6,specif:[1,3,6],specifi:[3,15],speed:1,speedsumgroup:3,split:[3,11],sprintf:[4,5],squar:[2,7],src:[1,14,15],stabl:16,standard:[2,3,5,6,8,16],start:[2,3,4,16],starter:8,state:[3,14],staticmethod:3,step:[3,14],still:[3,4,10],storag:3,str:4,straightforward:16,string:[2,3,4,8,11],striplastnam:11,strongli:7,struct:4,structur:[2,11],studio:[0,6,8,16],style:[0,3,6],succe:1,succinct:7,sugar:3,suit:0,sum:3,supplement:6,support:[2,4,6,7,8],sure:12,sutil:1,syntax:[0,3,6,7],system:[1,2,3,4,7,8],t:[1,2,4,7,9,11,12,14,15],tag:14,take:[2,8,12,14,15,16],taken:3,target:[8,10,16],targetframework:14,task:[3,4,6],tell:[2,16],tend:8,tenofspad:6,test:[1,2,3,4,9],test_funct:2,testenviron:15,testmatch:15,testvalu:3,text:[3,4,6,11],than:[2,3,5,8,11,15],thank:3,thei:[2,3,4,5,8],them:[0,1,2,3,6,16],thi:[1,2,4,5,6,8,10,11,12,14,15,16],thing:[3,7,8,9,14,16],think:[2,7],thiswillfail:6,thiswork:6,those:[3,6],though:2,thread:4,three:6,through:[3,9],thu:[5,11],time:[1,2,3,6,13,15],timedelta:4,timeout:4,timer:4,timespan:4,toconsol:3,todo:3,toequal:15,togeth:3,told:3,toml:[3,9],too:11,tool:[1,3,6,7,8,9,13,15],tostr:5,tour:10,toward:2,transform:[3,15],translat:[3,4,5,14],transpil:[8,9],travers:2,tree:14,trigger_alert:3,triggeralert:3,truncat:5,trust:3,trysometh:6,trysomethingels:6,ts2fabl:3,tupl:[3,4],turn:8,two:[2,3,5,9,11,14,15],txt:6,type:[4,7,11],typedcssclass:6,typescript:3,u2:3,u3:3,ui:7,uint32:5,uint64:5,uint8:4,unbox:3,underli:[3,5],understand:[2,9],undeterminist:6,unexpect:2,union:3,unit:[2,3,9,12],unless:4,unlik:14,unlimit:5,until:[1,3],untyp:3,up:[1,2,3],updat:3,url:6,us:[0,5,6,8,9,11,12,14,15],usabl:3,useeffect:2,usual:[3,16],v:[3,16],val:3,valu:[2,3,5,6,11],variabl:11,varieti:16,ve:[1,3],venv:3,veri:[3,5,8,11],verifi:3,version:[14,16],vertic:3,vim:0,visibl:3,visual:[0,6,8,16],wai:[1,3,5,12,16],want:[1,2,3,14],warn:[3,6],watch:1,watchal:15,we:[1,2,3,5,7,8,9,11,14,15,16],weak:3,web:[1,6,7,8],webpack:[1,15],well:[4,8,9],were:2,what:[2,4,11,16],whatdoiget:3,when:[2,4,5,7],whenev:[1,15],where:[2,3,14],which:[0,1,2,3,4,5,7,8,9,11,14,16],whole:[5,6],whose:3,why:3,width:[3,7],window:0,wish:[3,9],within:[5,11],without:[1,2,3,5,6,16],won:[2,4,9],wonder:8,work:[0,2,3,10,12,16],world:6,worri:11,would:[3,8,11],wrap:3,write:[1,3,7,12],writelin:4,x:[2,3,4,6,11],xml:14,xs:3,y:[2,3,6,11],yarn:0,yet:1,you:[0,1,2,3,4,7,10,11,12,13,14,15,16],youhou:15,your:[0,1,2,3,6,8,9,12,13,14,15],yourself:6,z:[3,6],zaid:15,zanaptak:6},titles:["Setup","Start a new project","Call Fable from Python","Call Python from Fable",".NET and F# compatibility","Numeric types","Python you can be proud of","What is Fable?","Are you a .NET developer?","Are you a Python developer?","Learning the language","The let keyword","Author a Fable library","Build & run","The project file","Testing","Use a Fable library"],titleterms:{"1":16,"1st":3,"2":16,"2nd":3,"class":[3,4],"do":3,"function":2,"import":3,"new":1,"try":3,The:[11,14],ad:3,add:14,an:[3,14],app:1,ar:[8,9],attribut:3,author:12,automat:2,base:4,behaviour:2,bring:8,build:[1,13],call:[2,3],can:6,cast:3,caveat:4,common:2,compar:11,compat:4,comput:6,core:4,creat:14,custom:2,definit:3,deleg:2,depend:1,develop:[0,8,9],directori:3,disambigu:2,don:3,dynam:3,emit:3,enough:3,environ:13,eras:3,exampl:15,express:6,f:[3,4,7],fabl:[1,2,3,7,8,9,12,16],familiar:8,featur:6,file:[14,16],from:[2,3],fs:14,fsharp:4,fsproj:14,gener:4,helper:3,ii:4,iii:4,inherit:3,instal:1,interfac:3,javascript:3,jest:15,keyword:11,languag:10,learn:10,let:[3,11],librari:[3,4,12,16],mangl:2,manual:16,measur:6,miscellan:3,mode:15,name:2,net:[4,8],next:7,numer:5,object:[2,3,4],old:3,oop:3,option:16,orient:4,other:3,output:3,paket:16,path:3,plain:3,practic:3,prerequisit:0,print:5,program:4,project:[1,3,7,14,16],proud:6,provid:6,python:[2,3,6,7,8,9,11],read:3,refer:[11,16],reflect:4,rel:3,run:[1,13,15],s:3,safeti:3,setup:[0,13,15],shadow:11,some:8,special:3,start:1,stringenum:3,t:3,templat:1,test:[12,15],thi:3,tool:0,type:[2,3,5,6],uncurri:2,unit:6,us:[1,2,3,7,16],watch:15,welcom:9,what:[3,7],when:3,why:7,workaround:5,write:15,you:[6,8,9],your:[7,16]}}) \ No newline at end of file diff --git a/docs/your-fable-project/author-a-fable-library.html b/docs/your-fable-project/author-a-fable-library.html index 4d7534e..37a010a 100644 --- a/docs/your-fable-project/author-a-fable-library.html +++ b/docs/your-fable-project/author-a-fable-library.html @@ -139,6 +139,16 @@

    Fable Python

    The let keyword
  • +
  • + + Setup + +
  • +
  • + + Start a new project + +
  • Call Fable from Python diff --git a/docs/your-fable-project/build-and-run.html b/docs/your-fable-project/build-and-run.html index fece7ae..8417f59 100644 --- a/docs/your-fable-project/build-and-run.html +++ b/docs/your-fable-project/build-and-run.html @@ -139,6 +139,16 @@

    Fable Python

    The let keyword
  • +
  • + + Setup + +
  • +
  • + + Start a new project + +
  • Call Fable from Python diff --git a/docs/your-fable-project/project-file.html b/docs/your-fable-project/project-file.html index cf663de..05fe9e1 100644 --- a/docs/your-fable-project/project-file.html +++ b/docs/your-fable-project/project-file.html @@ -139,6 +139,16 @@

    Fable Python

    The let keyword
  • +
  • + + Setup + +
  • +
  • + + Start a new project + +
  • Call Fable from Python diff --git a/docs/your-fable-project/testing.html b/docs/your-fable-project/testing.html index 3b91bf6..0515ad4 100644 --- a/docs/your-fable-project/testing.html +++ b/docs/your-fable-project/testing.html @@ -139,6 +139,16 @@

    Fable Python

    The let keyword
  • +
  • + + Setup + +
  • +
  • + + Start a new project + +
  • Call Fable from Python diff --git a/docs/your-fable-project/use-a-fable-library.html b/docs/your-fable-project/use-a-fable-library.html index 2149b0c..5e63ce3 100644 --- a/docs/your-fable-project/use-a-fable-library.html +++ b/docs/your-fable-project/use-a-fable-library.html @@ -138,6 +138,16 @@

    Fable Python

    The let keyword
  • +
  • + + Setup + +
  • +
  • + + Start a new project + +
  • Call Fable from Python