<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>第4章 函数式编程 on 编程那些事儿</title><link>https://before80.github.io/prgms/Rust/RustDesignPatterns/functional-programming/</link><description>Recent content in 第4章 函数式编程 on 编程那些事儿</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Fri, 21 Aug 2026 22:34:20 +0800</lastBuildDate><atom:link href="https://before80.github.io/prgms/Rust/RustDesignPatterns/functional-programming/index.xml" rel="self" type="application/rss+xml"/><item><title>01-编程范式</title><link>https://before80.github.io/prgms/Rust/RustDesignPatterns/functional-programming/01-programming-paradigms/</link><pubDate>Tue, 18 Aug 2026 22:10:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/RustDesignPatterns/functional-programming/01-programming-paradigms/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://rust-unofficial.github.io/patterns/"&gt;Rust Design Patterns&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://rust-unofficial.github.io/patterns/functional/paradigms.html"&gt;https://rust-unofficial.github.io/patterns/functional/paradigms.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="编程范式"&gt;编程范式&lt;/h1&gt;
&lt;p&gt;从命令式背景转向理解函数式程序时，最大的障碍之一是思维方式的转变。命令式程序描述的是&lt;strong&gt;如何&lt;/strong&gt;做某事，而声明式程序描述的是&lt;strong&gt;做什么&lt;/strong&gt;。我们用把 1 到 10 的数字求和来说明这一点。&lt;/p&gt;</description></item><item><title>02-用泛型模拟类型类</title><link>https://before80.github.io/prgms/Rust/RustDesignPatterns/functional-programming/02-generics-as-type-classes/</link><pubDate>Tue, 18 Aug 2026 22:10:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/RustDesignPatterns/functional-programming/02-generics-as-type-classes/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://rust-unofficial.github.io/patterns/"&gt;Rust Design Patterns&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://rust-unofficial.github.io/patterns/functional/generics-type-classes.html"&gt;https://rust-unofficial.github.io/patterns/functional/generics-type-classes.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="用泛型模拟类型类"&gt;用泛型模拟类型类&lt;/h1&gt;
&lt;h2 id="description"&gt;描述&lt;/h2&gt;
&lt;p&gt;Rust 的类型系统设计得更像函数式语言（如 Haskell），而不是命令式语言（如 Java 和 C++）。因此，Rust 能把许多编程问题变成「静态类型」问题。这是选择函数式语言的最大收益之一，也对 Rust 的许多编译期保证至关重要。&lt;/p&gt;</description></item><item><title>03-函数式光学</title><link>https://before80.github.io/prgms/Rust/RustDesignPatterns/functional-programming/03-functional-optics/</link><pubDate>Tue, 18 Aug 2026 22:10:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/RustDesignPatterns/functional-programming/03-functional-optics/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://rust-unofficial.github.io/patterns/"&gt;Rust Design Patterns&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://rust-unofficial.github.io/patterns/functional/optics.html"&gt;https://rust-unofficial.github.io/patterns/functional/optics.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="函数式光学"&gt;函数式光学&lt;/h1&gt;
&lt;p&gt;光学（Optics）是一种在函数式语言中常见的 API 设计。这是一个纯函数式概念，在 Rust 中并不常用。&lt;/p&gt;
&lt;p&gt;尽管如此，探索这一概念可能有助于理解 Rust API 中的其他模式，例如&lt;a href="../design-patterns/01-behavioural/06-visitor/"&gt;访问者&lt;/a&gt;。它们也有一些小众用例。&lt;/p&gt;</description></item></channel></rss>