../
// 像Rust一样使用Haskell
#import "/template.typ": doc-template

#doc-template(
title: "像Rust一样使用Haskell",
date: "2025年5月31日",
body: [

= 引子

在系统编程领域,内存安全一直是C/C++程序员的梦魇。一个简单的`malloc`或`free`,就可能埋下导致程序崩溃、数据损坏甚至安全漏洞的隐患。今天,我们将探索如何用Haskell来驯服这些内存猛兽,甚至达到类似于Rust的内存安全保证。

首先让我们从一些不怎么安全的C代码开始。下面是三个函数,分别是创建矩阵、向矩阵中填充随机浮点数,以及矩阵乘法运算。因为矩阵是用malloc函数创建的,所以如果要销毁矩阵,直接用free即可。

```
#include <stdlib.h>
#include <time.h>
#include <openblas/cblas.h>

#define N 1000

double* n

...

Email: i (at) mistivia (dot) com