> For the complete documentation index, see [llms.txt](https://fsharpforfunandprofit.bloomingdream.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fsharpforfunandprofit.bloomingdream.org/introduction.md).

# Introduction

这是我网站[fsharpforfunandprofit.com](http://fsharpforfunandprofit.com/)的电子书版本，应众多读者的要求，我创建了这个版本，供他们在Kindle或手机上离线阅读。特别感谢Roman Provaznik对最后的琐事提出的建议。

这个网站（和这本书）的目标是向你介绍F#，并向你展示F#如何在日常的主流商业软件开发中提供帮助。在此过程中，我希望能开启你对函数式编程的喜爱——它真的很有趣！

许多帖子并没有真正被设计为书中的内容，但我已经将它们进行了整理，使得初级帖子在前，更高级的帖子在后。

## 关于F#&#x20;

如果你对F#完全不了解，F#是一种通用的函数式/混合编程语言，非常适合解决几乎所有类型的软件挑战。

F#是免费和开源的，可以在Linux，Mac，Windows等多种平台上运行。要下载并安装F#，或者想要了解更多信息，请访问F# Foundation网站[fsharp.org](https://fsharp.org/)。

## 开始入门

接下来，在随机浏览帖子之前，你应该阅读"为什么使用F#?"页面，然后阅读整个"为什么使用F#?"系列。之后，"网站内容"页面提供了关于函数，类型等的进一步阅读建议。

这里有一个页面提供了一些学习F#的建议，如果你在编译代码时遇到问题，"F#问题解决"页面可能会有帮助。

我将假设你不需要学习编程的基础知识，并且你已经熟悉C#，Java，或其他类似C的语言。如果你熟悉Mono/.NET库，那将会非常有帮助。

另一方面，我不会假设你有数学或计算机科学的背景。这里不会有数学符号，也不会有"函子"，"范畴论"和"反向形态"这样的神秘概念。如果你已经熟悉Haskell或ML，那么这可能不是你要找的地方！

此外，我不会试图涵盖高度技术性或数学应用。F#是这些领域的出色工具，但它需要的方法与商业软件有所不同。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://fsharpforfunandprofit.bloomingdream.org/introduction.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
