R 的 C API 中的 SEXP 数据类型到底是什么以及为什么使用它? [关闭]

2024-03-22

我知道关于 SEXP 的维基百科页面,并且我知道它代表符号表达。我(模糊地)知道 SEXP 是指 Lisp 中的树数据结构的符号,但我想知道是什么促使开发人员在 C SEXP 中调用 R 对象的数据类型。为什么是性爱体验?

我也很困惑,因为如果 R 是用 C 和 Fortran 编写的,为什么要使用 Lisp 的符号?或者 SEXP 是一个更通用的术语?也许我在这里遗漏了一些东西。


R 在内部有点像带有 S 兼容语法的Scheme。 R 的许多内部结构都源自Scheme 概念,例如cons 单元和词法环境。

早在 90 年代末,我就为 R 开发了一种新的(当时)序列化格式;看我的荣誉项目论文 https://web.archive.org/web/20040702201759if_/cloud9.hedgee.com/doc/chris/honours/475.789.pdf,这解释了很多事情。 (该文件上的电子邮件地址不再有效,因此不要使用它。)

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

R 的 C API 中的 SEXP 数据类型到底是什么以及为什么使用它? [关闭] 的相关文章

  • nUnit Assert.That(method,Throws.Exception) 不捕获异常

    有人可以告诉我为什么这个检查异常的单元测试失败了 显然我真正的测试是检查其他代码 但我使用 Int32 Parse 来显示问题 Test public void MyTest Assert That Int32 Parse abc Thro
  • 为什么我不能声明对可变对象的引用? (“引用不能声明为可变的”)

    假设我们有一个test cpp如下 class A class B private A mutable a 汇编 gt gcc test cpp test cpp 6 20 error reference a cannot be decla
  • 在 Windows 上实现堆栈跟踪 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在为我正在编写的游戏实现一个崩溃报告工具 并且我想为该报告提供 相当 详细的本机堆栈跟踪 我已经在 GNU Linux 上实现
  • 使用 Xlib 捕获鼠标

    我想编写一个简单的 Xlib 程序来改变鼠标行为 举个例子 反转垂直移动 我在捕获事件时遇到问题 我想要代码 捕获控制器位置的变化 我向上移动鼠标 MotionEvent 计算新的光标位置 new x difference x 设置新的光标
  • MDI应用程序中父窗体的问题

    我使用按钮作为容器中的控件 父窗体 当子窗体出现时 父窗体中的控件 按钮 图片 标签 出现在子窗体上并将其覆盖 我看不到子窗体 有谁知道如何防止这种情况 我不想将这些控件设置为 Control Visible false 因为当我最小化子表
  • 如何以编程方式区分不同的 IOException?

    我正在对写入 Process 对象的 StandardInput 流的代码进行一些异常处理 Process 有点像 unix head 命令 它只读取输入流的一部分 当进程终止时 写入线程会失败并显示 IOException The pip
  • 不明确的元函数或未定义的类型

    我是元功能的新手 我想编写一个函数 将复合类型中某种类型的所有匹配项替换为其他类型 在示例中 replace
  • 使用 ggplot2 表示散点图中每个点的小饼图

    我想创建一个散点图 其中每个点都是一个小饼图 例如考虑以下数据 foo lt data frame X runif 30 Y runif 30 A runif 30 B runif 30 C runif 30 下面的代码将绘制一个散点图 代
  • Windows 消息

    我需要发送带有自定义 ID 的自定义 Windows 消息 其他应用程序将侦听该消息 Windows 是否为内部消息保留任何预定义的消息 ID 范围 如 SQL Server 那样 内部消息最多为 50 000 The 文档 https m
  • 可变长度数组性能影响 (C/C++)

    我正在编写一个相当简单的函数 它将数组发送到文件描述符 但是 为了发送数据 我需要附加一个一字节标头 这是我正在做的事情的简化版本 它似乎有效 void SendData uint8 t buffer size t length uint8
  • 移动数组中的元素

    我需要一点帮助 我想将数组中的元素向上移动一个元素 以便新位置 1 包含位置 1 中的旧值 new 2 包含 old 1 依此类推 旧的最后一个值被丢弃 第一个位置的新值是我每秒给出的新值 我使用大小为 10 的数组 uint32 t TE
  • IBM Rhapsody 中状态图终止连接器的理解

    在IBM Rhapsody中 如果我使用new创建了一个类的实例 那么我们是否必须通过调用delete来处理内存的释放 或者Termination Connector将在其状态图中通过内存释放来处理其销毁 如果您使用 C 和 OXF 对象执
  • 当无法处理指定的情况时,在 switch 语句中抛出异常

    假设我们有一个函数可以在 MVC 应用程序的系统中更改用户的密码 public JsonResult ChangePassword string username string currentPassword string newPassw
  • MVC Razor for 循环

    我有这段代码 嵌套在表单帖子内 但我不断收到错误 它缺少结束语 for int i 0 i lt itemsCount i
  • dev_t 和 ino_t 是否必须是整数类型?

    glibc 的文档保留它们是整数类型 不比 unsigned int 窄 但我没有找到说明它们必须是整数类型的标准参考 另请参阅 time t 所以最后 问题就变成了 include
  • 缓冲区溢出(与)缓冲区溢出(与)堆栈溢出[重复]

    这个问题在这里已经有答案了 可能的重复 堆栈溢出和缓冲区溢出有什么区别 https stackoverflow com questions 1120575 what is the difference between a stack ove
  • Plink 通过 C# 返回不需要的字符

    通过 C 使用 Plink 时 我在结果前后收到不需要的字符 Command ls l informatica tgtdynamicparams out grep vaulttest grep Sep 1 awk print 9 sort
  • Azure:MissingRegistrationForLocation:未在位置“YYYY”中为资源类型“XXXX”注册订阅

    这最初是作为未找到订阅 https stackoverflow com questions 35071797 subscriptionnotfound the subscription resourcegroups could not be
  • 如何在 if () 语句中声明变量? [复制]

    这个问题在这里已经有答案了 可能的重复 在 C 的条件或控制语句中声明和初始化变量 https stackoverflow com questions 1516919 declaring and initializing a variabl
  • Phong 着色问题

    我正在根据以下内容编写着色器冯模型 http en wikipedia org wiki Phong reflection model 我正在尝试实现这个方程 其中 n 是法线 l 是光线方向 v 是相机方向 r 是光反射 维基百科文章中更

随机推荐

  • 使用多源 PUT 和 DELETE 请求时如何解决 ASP.NET Web API CORS 预检问题?

    我有一个 ASP NET Web API 由三个不同的 SPA 调用 我正在为 Web API 使用 Windows 身份验证 我最初尝试在 Web config 中配置 CORS 如下所示
  • 如何找出 rubocop 正在使用哪个配置文件?

    我很清楚 rubocop 遵循的规则来查找它用来构建它使用的警察列表的配置文件或文件 解释如下 RuboCop 配置 https docs rubocop org rubocop configuration html 然而 这些规则允许几种
  • Spring Roo 的 Maven 存储库

    我的目的是使用我的本地 Nexus 安装代理 Roo Maven 存储库 以便它将包含 Roo 1 2 0 RELEASE 包 On http static springsource org spring roo reference htm
  • 如何使用 CruiseControl.NET 和 MSBuild 部署/发布 Web 应用程序?

    如何使用 CruiseControl NET 和 MSBuild 部署 发布 Web 应用程序 我是 CCNET 新手 我能够从 SVN 获取最新源代码并使用 MSBuild 3 5 进行构建 如何将网站发布到另一台 开发 服务器 感谢您的
  • Google 地图 API 与地理编码器的问题

    我认为我只是做了一些愚蠢的事情 因为我的 JavaScript 技能不是最好的 以下代码生成一个空白的灰色地图 function initialize directionsDisplay new google maps Directions
  • Swift OneSignal OSPermissionSubscriptionState setSubscription

    我已经更新了我的 cocoapods 但 OneSignal 出现错误 ERROR S 类型 OneSignal 没有成员 setSubscription OneSignal setSubscription true 在范围内找不到类型 O
  • 在 cv2 Python 中克隆图像

    我是 OpenCV 新手 作用相同的Python函数是什么简历 克隆 in C 我只是想通过 rectImg img 10 20 10 20 但是当我在上面画一条线时 我发现这条线同时出现在img和 rectImage 那么 我怎样才能完成
  • 如何访问 Blazor WebAssembly 中的应用程序设置

    我当前正在尝试将 api url 保存在应用程序设置中 但是 configuration Properties似乎是空的 我不确定如何获取该设置 在程序 cs中 public static async Task Main string ar
  • 忽略 webview 中的 ssl 证书请求

    我制作了一个小应用程序 其中涉及aspx 页面 https noor moe gov sa 我尝试打开它并抛出我的网络视图 但我得到了空白屏幕 我尝试用 Chrome 浏览器打开它 它给了我所需的证书 我的代码非常简单我添加了一些文档来解释
  • n 维向量

    假设我想声明一个向量的向量的向量的向量 最多 n 维 Like so using namespace std for n 2 vector
  • 为什么 Verilog 不被视为编程语言? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 教授在课堂上说学生不应该说他们学会了用Verilog 编程 他说 Verilog 之类的东西不是用来编程的 而是用来设计的 那么 Verilog
  • 摆脱“使用临时;使用文件排序”

    当我对我的查询进行解释时 我看到第一行的 额外 下有 使用临时 使用文件排序 我知道这很糟糕 但我不知道它到底意味着什么或如何解决它 如果您想查看我的查询 这是我针对同一查询提出的更普遍的问题 MySQL 查询优化和菜鸟解释 https s
  • 从 Ext.data.Store 访问 http 状态代码

    我有一个 http API 令人震惊的新技术 它对设置不同响应状态的不同错误做出反应 问题是 当使用 Ext data Store 和一些 XMLHttpRequest inside 代理时 处理这种状态的最佳方法是什么 据我所知 加载 事
  • 我可以根据时间更改背景颜色吗?

    我使用 html5 CSS bootstrap 创建了一个漂亮的网站 我想知道是否可以在白天 蓝色 和夜间 暗红色 期间在代码中自动更改背景颜色和导航栏选择颜色 我可以做些什么来根据用户的时间更改导航栏和背景的颜色吗 这是我的代码
  • C++:在小型项目的头文件中编写整个类的缺点?

    只是一个风格问题 我是一名独立工作的独立游戏开发者 我养成了在标题中编写整个类的 坏 习惯 我知道 h cpp 文件组合的一些好处是它们允许将代码分割成编译块 只要它们保持不变就不需要重新编译 并允许将接口与实现分开 然而 这些事情对我来说
  • Django-MPTT子页面的完整路径如何制作?

    我开始使用 Django MPTT 应用程序在我的 Django 站点页面上获取基于树的方法 对于前 我有带有子页面的页面 Trance 声音恍惚 子页 Hard Trance 子页面 Breaks Atmo Breaks 子页面 渐进式休
  • 创建独立于 bash 的进程

    我编写了一个程序来计算笔记本电脑中可用的电池电量 我还在程序中定义了一个阈值 每当电池电量低于阈值时 我想调用另一个进程 我使用了 system invoke o 其中 invoke o 是我必须运行的程序 我正在运行一个脚本 该脚本每 5
  • 在 zend 框架中运行控制器单元测试时出现“没有为此应用程序定义默认模块”异常

    我有一个具有默认目录结构的应用程序 对于没有自定义模块的应用程序 请参阅最后的结构图 我按照许多教程中的说明编写了一个 ControllerTestCase php 文件 并且还创建了相应的引导文件 再次参见最后的图 我已经编写了一些运行良
  • 处理双重间接时避免不兼容的指针警告

    假设这个程序 include
  • R 的 C API 中的 SEXP 数据类型到底是什么以及为什么使用它? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我知道关于 SEXP 的维基百科页面 并且我知道它代表符号表达 我 模糊地 知道 SEXP 是指 Lisp 中的树数据结构的符号 但我