gpt4 book ai didi

types - 什么是 "vocabulary types",存在多少?

转载 作者:行者123 更新时间:2023-12-04 01:12:27 25 4
gpt4 key购买 nike

跨编程语言,我遇到过类似的 composite types不同的名字:

  • Optional / Maybe
  • Any
  • Variant / Sum
  • Record / Product

  • 人们经常使用术语 词汇类型 ,
    但是我从来没有看到过什么定义了类型的“词汇”。

    这个术语有松散的定义吗?
    类型理论和其他编程语言对词汇类型有什么看法?

    以上都是词汇类型吗?还有更多吗?

    最佳答案

    我对与编程和词汇类型有关的词汇的理解是赋予某些对象具有明确含义的属性。

    以下是 Haskell 中的一些示例:

    考虑 Optional/Maybe type 和一个纯函数,它接受 Web 服务器的 HTTP 回复并提取回复的代码。

    getCode :: String -> Int

    现在假设当我们运行这个函数时,我们不知道响应是否成功——代码可能根本不存在。我们如何表示缺少代码的情况?我们可以分配一些人工值 -10或者我们可以将整个函数类型更改为:
    getCode :: String -> Maybe Int

    另外 Maybe形成一个 Monad , Functor , Applicative , Foldable以及 Haskell 中的一堆其他类型类。每个类型类都增加了额外的能力来操纵有问题的值,同时尊重它的存在/不存在。
    Product/ Sum Haskell 中的类型表示为对和 Either a b .再次 - 通过 Product 定义一些东西或 Sum添加明确定义的含义 Product a b - 两个值都必须存在, Sum a b - 必须存在一个值并免费添加一堆法律。

    关于types - 什么是 "vocabulary types",存在多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38471380/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com