阿格达。冒号之前/之后的参数

2024-02-28

定义数据类型时,我可以在冒号之前“传递”一些参数。

data Image_э_  { A B : Set} : (f : A → B) →  B → Set where
   im : {f : A → B} → (x : A) → Image f э f x

但出于未知原因,我似乎无法在函数声明中执行此操作。

exIm {A B : Set} : {f : A → B}{y : B} → Image f э y → B
exIm {y = y} _ = y

在冒号之前和之后传递参数的根本区别是什么?老实说,我不知道为什么有人想在冒号之前传递参数以及它可以带来什么好处。也许,这样的数据类型定义使得冒号之前的参数在构造函数中可见。


我不知道为什么有人想在冒号之前传递参数 以及它可以带来什么优势。

在数据类型声明中,冒号之前传递的参数在范围内 数据类型定义的主体。

我认为这将是一个很好的功能请求。我们可以有例如

typeOf {A : Set} : A -> Set
typeOf a = A -- A is in scope because `{A : Set}` was before the colon

因此,请随意打开一个新问题来建议更改:https://github.com/agda/agda/issues https://github.com/agda/agda/issues

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阿格达。冒号之前/之后的参数 的相关文章

  • Some() 在变量赋值的左侧做什么?

    我正在阅读一些 Rust 代码 并且遇到了这一行 if let Some path env args nth 1 这个函数内部 fn main if let Some path env args nth 1 Try reading the
  • 如何迭代 Bash 中变量定义的数字范围?

    当范围由变量给出时 如何在 Bash 中迭代数字范围 我知道我可以做到这一点 在 Bash 中称为 序列表达式 文档 http www gnu org software bash manual bashref html Brace Expa
  • 如何在 ASP.NET MVC 中获取参数数组作为 GET / POST?

    如何最好地获取数组 item gt value 对作为 GET POST 参数 在 PHP 中 我可以这样做 网址 这得到的参数为 Array a gt Array one gt 100 two gt 200 有什么方法可以在 ASP NE
  • 条件运算符不能隐式转换?

    我对这个 C 的小怪癖有点困惑 给定变量 Boolean aBoolValue Byte aByteValue 编译如下 if aBoolValue aByteValue 1 else aByteValue 0 但这不会 aByteValu
  • 创建表时 MySQL 语法错误

    我正在尝试在 Filemaker gt MySQL 转换脚本中使用此查询 表创建步骤直接从 phpMyAdmin 导出中获取 并添加到 DROP 语句中 DROP TABLE IF EXISTS artifacts CREATE TABLE
  • 如何将可变数量的参数传递给 SQL Server 存储过程?

    我将 SQL Server 2005 用于我的小型 Web 应用程序 我想将参数传递给 SP 但有一个条件 可以不时更改的参数数量 想一想 这次我传递姓名和地址 下次我传递姓名 地址 该参数范围可以是 1 30 您使用默认参数声明该过程 并
  • 在 C 中使用带有任意数量参数的函数的参数

    我刚刚读过 C 无效参数 https stackoverflow com questions 693788 c void arguments关于C中这些函数定义之间的差异 int f void and int f 我想知道第二种形式意味着返
  • 为什么类型级计算需要 Aux 技术?

    我很确定我在这里遗漏了一些东西 因为我对 Shapeless 还很陌生并且我正在学习 但是 Aux 技术实际上是什么时候required 我看到它是用来暴露type通过将其提升为另一个 同伴 的签名来声明type定义 trait F A t
  • $_GET 作为 PHP 函数中的参数

    我有同样的问题 但是 我根据使用标头的 if 语句将用户重定向到通过函数构造的动态页面 为了使该函数正常工作 需要在标头的 GET 部分中传递参数 根据提供的答案 这是一种不好的做法 我应该用什么方式来做呢 function page ti
  • 如何在 TS 中使用泛型谓词

    我想使用数组过滤谓词函数 e g const isNotEmptyName
  • 向 Apache HttpPost 添加参数

    我正在尝试将文件发送到 Servlet 除了这个文件之外 我还必须发送一些参数 即名称 ID 日期和其他一些参数 我在客户端使用 HttpClient 在服务器端使用 ServerFileUpload 这是客户端代码 String url
  • 如何在 Swift 方法中将字典作为参数传递?

    我在代码中创建了以下方法 func SignIn objDictionary Dictionary
  • 如何指定 sbcl(或 common lisp)向量中的元素类型?

    我尝试在 sbcl 1 1 14 中执行以下代码 但类型检查似乎忽略了向量元素的声明 defun test vec declare type vector integer vec format nil a elt vec 0 有什么提示吗
  • 我可以让 C 函数返回任意类型吗?

    我编写了一个解释串行数据 CAN 的函数 当前返回一个浮点数 我希望该函数包含一个参数 其中用户在字符串中指定返回类型 并且该函数返回该类型的值 这只是一个方便的事情 以避免编写共享几乎所有相同代码的多个函数 将 void 指针传递给您想要
  • 是否可以在 .NET 中编写仅接受数字类型的通用函数?

    假设我想编写一个如下所示的函数 像往常一样 一个简单的示例用于说明目的 Public Function calcSqSum Of T ByVal list As IEnumerable Of T As T Dim sumSq As T Fo
  • (Python) 我应该使用参数还是将其设为全局参数? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我有许多共享相同参数的函数 他们将多次输入和输出该参数 例如 a foo a fun a a bar a def fun a return a
  • SyntaxError:创建类实例时语法无效[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在 Python shell 3 3 2 中运行这段代码 但它给了我SyntaxError invalid syntax cla
  • Scala Array.apply 有何魔力

    来自 scala 2 10 4 的 array scala Array定义为 final class Array T length Int extends java io Serializable with java lang Clonea
  • Oracle存储过程使用数组作为表插入的参数

    我一直在寻找一个明显的例子 但没有运气 抱歉 如果已经回答了 我正在尝试做一些非常简单的事情 一个存储过程 它将获取输入并将它们插入到表中 我希望它获取多行数组并一次全部插入 我认为这很简单 但我还没有找到一个可以展示我的例子 在很多例子中
  • Ruby 可选参数和多个参数

    我试图将方法的第一个参数设置为可选 后跟任意数量的参数 例如 def dothis value 0 args 我遇到的问题是 这似乎实际上不可能 当我打电话时dothis hey how are you good 我希望它将值设置为默认值

随机推荐