为什么大多数 S-Expression 语言都是动态类型的?

2024-01-01

为什么大多数Lisp 和Scheme 都是动态类型的? 静态类型不会与它们的一些常见功能混合吗?


键入和 s 表达式可以一起工作,请参阅类型化方案 http://www.ccs.neu.edu/home/samth/typed-scheme/.

s-表达式语言是动态类型的,部分原因是历史巧合。这些语言往往更依赖于macros,并且 s 表达式的解析和模式匹配的简便性使得宏处理变得更加容易。大多数对复杂宏的研究都是在 s 表达式语言中进行的。

类型卫生宏 http://calculist.blogspot.com/2010/05/theory-of-typed-hygienic-macros.html很难。

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

为什么大多数 S-Expression 语言都是动态类型的? 的相关文章

  • CLISP - 反转简单列表

    我必须反转简单 单维 列表的元素 我知道有一个内置的反向函数 但我不能用它来做这个 这是我的尝试 defun LISTREVERSE LISTR cond lt length LISTR 2 LISTR listr is 1 atom or
  • 函数中的变量

    我看到了下面的代码 第一次调用 next num 回报1 第二个返回2 define next num let num 0 lambda set num num 1 num next num 1 next num 2 我无法理解的是 num
  • (Chez) 用于隐藏 lambda 的方案宏

    我想编写一个宏来创建速记语法来隐藏更详细的 lambda 表达式 但我很难理解如何编写宏 我意识到这是反对使用它们的一个论据 给出这个例子 define alist example x 1 2 3 y 4 5 6 z 7 8 9 defin
  • 是否有任何编程语言支持定义原始数据类型的约束?

    昨晚我在想编程语言可以有一个功能 我们应该能够限制分配给原始数据类型的值 例如 我应该可以说我的 int 类型变量只能具有 0 到 100 之间的值 int lt 0 100 gt progress 然后 这将在所有情况下充当普通整数 除非
  • 展开方案中的函数

    Goal 实施unfold仅使用两个参数的函数 论据 第一个参数是 f 它接受某种类型 I 的初始值并返回 nil 或两个元素的 cons 对 这两个元素中的第一个是某种类型 A 的列表中的下一个元素 下一个初始值又是某些类型 I 第二个参
  • 设计模式作为(缺失的)语言功能

    有时人们将设计模式称为缺少的编程语言功能 为了避免关于什么是设计模式的争论 假设我们只考虑原始的 GoF 模式 例如 单例模式在 Scala 中消失了 Scala 使用关键字支持单例对象object 关于这方面的资源很少 特别是设计模式是否
  • 任意类型说明符上的 Defmethod?

    我想做的是 defgeneric fn x defmethod fn x integer 1 Positive integer defmethod fn x integer 1 Negative integer 我想要一个可以与任意类型说明
  • 不知道如何解决 SICP 练习 1.11

    练习1 11 http mitpress mit edu sicp full text book book Z H 11 html thm 1 11 一个功能f由以下规则定义f n n if n lt 3 and f n f n 1 2f
  • 使用包阴影符号

    例如 我有这个包定义 它遮蔽了 COMMON LISP LISTEN defpackage shadows use common lisp shadow listen export listen 然后我想使用另一个包中的这个包 比如说 de
  • 在 Java Runtime.getRuntime().exec(...) 中使用引号和双引号

    我正在尝试在 Mac OSX 中从 Java 启动 Lisp 映像 使用控制台中的图像 我输入以下内容 lisp image eval package method some argument 一切都运行良好 在Java中 我在使用传递引号
  • Windows 开箱即用支持的语言

    我被要求为一组 Windows 机器 我认为是 XP 编写一个 非常 简单的程序 如此简单以至于语言的选择并不是真正的问题 但是 我希望能够分发直接在 Windows 计算机上运行的二进制文件 脚本 而不需要预先安装任何解释器或虚拟机 我正
  • 哪种函数式编程语言在 Eclipse 中提供最好的支持?

    作为一项练习 我的团队正在考虑学习函数式编程 选择一种语言的因素之一是它在 Eclipse 中的支持 任何带有 Eclipse 插件的语言都可以 但是哪种语言提供最好的免费插件呢 额外问题 该语言的最佳在线 书籍教程 我不知道它是否是最好的
  • 方案功能[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我试图解释这个方案函数的作用 define y s lis cond null lis equal s car lis lis else
  • 哪些通用编程语言/实现编译为 C [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我目前正在使用 Eiffel SmartEiffel ISE Eiffel 它正在编译为 c 我发现 如果输出进入可移植汇编语言 也称为
  • 如何使用谷歌趋势查找编程语言流行总体趋势的统计数据

    我喜欢关注趋势浏览器 操作系统 语言等 我发现谷歌趋势是一个非常有用的资源有时但有时我无法获得我想要的信息 与多年来其他主要 Linux 发行版相比 Ubuntu 的增长非常明显 在发布日期附近有 6 个月度峰值 由于非编程相关事件而出现偏
  • 使用map或reduce或filter,在Scheme中,计算列表中有多少个元素[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 number length 1 1 0 1 0 0 这假设返回 6 我知道如何使用长度并找到它 但我不知道如何在没有长度的情况下使用映射或过
  • const 变量悖论

    如果我有一些关于 C 的表达式 const int x 3 我可以说 x 是一个变量吗 这看起来很奇怪 因为 x 不是变量 因为我无法更改它 提前感谢您的任何解释 Edited附 感谢您的所有回答 我明白根据 C 的定义 我的问题的答案可能
  • 语言是如何以及为何形成的/是否有任何正在发展的语言表现出希望? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 学习 Lisp 的资源 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用 javascript 更改文件扩展名

    有谁知道在 Javascript 中更改文件扩展名的简单方法吗 例如 我有一个带有 first docx 的变量 但我需要将其更改为 first html 这将改变字符串包含文件名 let file first docx file file

随机推荐

  • 如何在 Android RecyclerView 上对字符串进行排序?

    我有一个充满 CardView 的 recyclerView 它有 2 个参数 它们都是字符串 其中之一是标题 我想要一个按钮来根据标题按字母顺序对它们进行排序 因为它没有太多元素 所以我决定使用插入排序 即 o n 2 这是我的实现 pu
  • Spring Boot中处理嵌入式Tomcat异常

    我们遇到嵌入式 Tomcat 抛出的问题IllegalArgumentException来自LegacyCookieProcessor 它抛出 500 HTTP 响应代码 我们需要处理异常并对其执行某些操作 具体来说 将其作为 400 发送
  • Android中TextView的TextAppearance属性

    我正在开发我正在使用的 Android 应用程序TextView在屏幕上显示文本 我将此属性用于TextView设置文本的大小android textAppearance android attr textAppearanceMedium
  • 使用 Cognito 令牌访问 S3 时收到“AccessDenied”

    我正在尝试在存储桶上使用 listObjects 操作 这是通过 WebService 访问的 我不想授予用户控制台访问权限 角色政策 Version 2012 10 17 Statement Effect Allow Action mob
  • U2Net模型在android中的使用

    我按照以下步骤将原始 u2net 模型权重文件 u2net pth 转换为tensorflow lite说明 https qiita com PINTO items ed06e03eb5c007c2e102 就转换成功了 但是我在tenso
  • 了解分段错误的堆栈跟踪

    我正在做一个snprintf并出现段错误 当我像这样在 gdb 上加载核心文件时 gdb my executable core 并做了bt为了获得回溯 我得到了以下内容 Program terminated with signal 11 S
  • 构建 OpenAPI 响应,包括 oneOf 或 allOf

    我正在尝试使用 OpenAPI 3 从各种架构组件构建响应 响应基本上分为三个部分 其他端点使用的共享组件 即成功 失败标志 components schemas core response schema inside allOf 属性al
  • 用 Angular 上传文件?

    我知道这是一个非常普遍的问题 但我无法在 Angular 2 中上传文件 我努力了 1 http valor software com ng2 file upload http valor software com ng2 file upl
  • 将用户控件与 ViewModel 类关联

    当我定义一个DataTemplate内联 Visual Studio 知道我要绑定的类型 并且该类型中的属性会在自动完成中出现 例如 在下面的代码中 我可以选择DisplayName从里面的自动完成列表FirstViewModel模板
  • jQuery 同时切换“幻灯片”和“淡入淡出”动画

    jQuery 有一个slideToggle and a fadeToggle 但他们在一起玩得不好 参见小提琴here http jsfiddle net Y2yvd div on click function span slideTogg
  • Spring Boot 自定义错误页面堆栈跟踪

    我在几个位置找到了如何使用 Spring boot 制作自定义错误页面 但我似乎无法弄清楚如何使其显示堆栈跟踪 这就是我所拥有的 Bean public EmbeddedServletContainerCustomizer containe
  • 从 WooCommerce 中的 apply_filters('prefix_xml_feeds_productname_variant') 函数获取数据

    我对 WordPress 和 WooCommerce 完全陌生 所以对糟糕的解释表示歉意 我有这个代码 text apply filters prefix xml feeds productname variant text product
  • 使用java代码计算S3上文件的行数

    使用java代码 是否可以计算AWS s3上文件的行数 而无需将其下载到本地计算机 取决于你所说的下载是什么意思 S3 中没有远程处理 您无法上传将在 S3 服务中执行的代码 可能的替代方案 如果问题是文件太大而无法存储在内存或本地磁盘中
  • 如何将一个值的所有权从 Rust 转移到 C 代码?

    我正在尝试使用 FFI 编写一些 Rust 代码 其中涉及 C 获取结构的所有权 fn some function let c SomeStruct new unsafe c function mut c I want c function
  • Spring Security 如何在跨 Web 应用程序请求的线程中管理 SecurityContext?

    在 SpringSecurity 中 它有一个类名 SecurityContextHolder 及其规范 将给定的 SecurityContext 与当前执行线程关联 对于Web应用程序 每当请求到达服务器时 Spring也会重新加载并在S
  • 对部分文本使用自定义字体

    Typeface robotoBold Typeface createFromAsset activity getAssets fonts Roboto Bold ttf Typeface robotoLight Typeface crea
  • 如何将 HTC android 手机连接到电脑作为调试设备

    我想将 HTC Desire 连接到电脑 仅作为调试设备 每次我插入数据线时 它都会在电脑上搜索 HTC Sync 软件 需要很长时间 直到手机上出现一条消息 例如 未找到 HTC Sync 请安装 之后手机就可以在eclipse中进行调试
  • 仅使用 proc 获取本地网络接口地址?

    如何仅使用以下命令获取所有网络接口的 IPv4 地址proc http linux die net man 5 proc 经过一番广泛的调查后 我发现了以下内容 ifconfig利用SIOCGIFADDR 这需要打开套接字并预先了解所有接口
  • 使用 OpenCV 从小图像中提取点描述符

    我正在尝试提取不同的点描述符 SIFT SURF ORB BRIEF 来构建视觉词袋 问题似乎是我使用的图像非常小 12x60px 使用密集提取器 我可以获得一些关键点 但是在提取描述符时 没有提取任何数据 这是代码 vector
  • 为什么大多数 S-Expression 语言都是动态类型的?

    为什么大多数Lisp 和Scheme 都是动态类型的 静态类型不会与它们的一些常见功能混合吗 键入和 s 表达式可以一起工作 请参阅类型化方案 http www ccs neu edu home samth typed scheme s 表