09 2023 档案
摘要:本章将介绍 Haskell 的一些很酷的语法结构,我们将从模式匹配开始。模式匹配包括指定某些数据应符合的模式,然后检查是否符合,并根据这些模式解构数据。 定义函数时,可以为不同的模式定义单独的函数体。这会产生非常简洁、简单且可读的代码。您可以对任何数据类型进行模式匹配 - 数字、字符、列表、元组等。
阅读全文
摘要:Haskell有一个静态类型系统,每个表达式的类型在编译时都是已知的。Haskell中的所有内容都有类型,因此编译器可以在编译程序之前对程序进行大量推理。 现在我们用GHCI来检查一些表达式的类型,通过:t,该命令后跟任何有效的表达式。 “::”读作“具有类型”。 函数也有类型,当我们编写自己的函数
阅读全文
摘要:概述 这节课的主要目标是开始使用Julia编程,实现并行算法,本次课程中,特别关注语言的部分(函数式和异步编程)。 学习目标 运行Julia代码 安装Julia软件包 编写连续的Julia代码 使用Julia的函数式编程功能 使用Julia的异步编程功能 Why Julia? 与高性能计算相关的课程
阅读全文
摘要:概述 本课程将讨论如何编写可以在大量处理器上并行运行的计算机程序,主要目标是减少执行的时间并解决无法适应单个节点的大型问题。我们将学习如何设计此类并行算法以最大限度减少通信开销和负载不平衡,如何如何使用不同的并行计算模型来实现它们,以及如何分析生成的代码和底层硬件的性能。在可用于高性能计算(HPC)
阅读全文
摘要:我们要做的第一件事就是运行ghc的交互模式并调用一些函数来获得对haskell的基本感觉,打开终端输入ghci,我们会得到如下的反应: 做一些简单的算术: 我们也可以在一行上使用多个运算符,并遵守所有常见的优先级规则,我们可以使用括号来明确优先级或更改优先级。 需要注意的是,如果我们想要一个负数,最
阅读全文
摘要:什么是Haskell? Haskell是一种纯函数式编程语言,在命令式语言中,通过向计算机提供一系列任务然后执行这些任务来完成任务。在执行时,可以改变状态,比如将变量a设置为5,然后执行一些操作,将其设置为其他的值。可以使用控制流结构来多次执行某些操作。在纯函数式编程中,您不会告诉计算机要做什么,而
阅读全文