写点什么

在 Lisp 中使用 RDNZL 调用.NET 类库

  • 2007-08-23
  • 本文字数:731 字

    阅读完需:约 2 分钟

长期以来对 Lisp 的诟病之一就是 Lisp 缺乏高质量的类库。尽管有不少人在争论这个观点是否正确,但是能够访问.NET 平台下不计其数的高质量类库,确实能给人们带来很多价值。

RDNZL 为 Windows 平台下的 Lisp 开发人员提供了一个访问.NET 类库的途径。尽管目前它还不能支持其它的 CLR 实现,比如说 Mono,但是 RDNZL 的维护人员正在接纳这些平台的补丁。

在 Lisp 一方,这套类库支持 Corman Common List、ECL、Allegro 和 LispWorks。SBCL 和 GNU CLISP 的移植版目前尚在开发中。

RDNZL 完成诸如对象创建、.NET 风格数组、枚举类型、装箱(Boxing)、.NET/Lisp 类型转换和起来类似的基础工作,相对来说容易不少,而方法调用可以用两种方式完成。最为容易的方式是使用 Lisp 函数调用、属性或者字段。这些方法使用反射来调用下面的.NET 方法。如果希望避免反射,并使调用时间减半,开发人员可以使用define-rdnzl-call来为相应函数创建一个 Lisp 包装器。

使用这个类库对性能最严重的影响就是对所传送数据的重新编组的时间损耗。出于这一原因,控制跨平台方法调用的数量是更可取的,而人们尤其应当注意避免在 Lisp 中的一个紧凑循环中频繁调用.NET 代码。

由于要为 COM 类库创建 CLR 可调用的包装器(CLR Callable Wrapper)是件易如反掌的事情,RDNZL 也为开发人员提供了调用 Windows 平台上浩如烟海的 COM 类库的途径。在链接页面中,有不少示例,其中就有一个从 Lisp 中通过 Microsoft Office 自动化调用 Excel 对象的例子。

事件处理器和其它的委托(delegate)可以通过向委托的构造方法传入一个 Lisp 闭包的方式创建。不过要这样做必须小心从事,因为这样可能会创建出一个循环引用,从而扰乱 Lisp 和.NET 的垃圾收集器。

查看英文原文: Call .NET Libraries from Lisp Using RDNZL

2007-08-23 23:003228
用户头像

发布了 117 篇内容, 共 16.3 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

Pandabuy VS Wegobuy哪个代购系统强?类似软件哪家公司开发

tbapi

淘宝代购系统 Pandabuy wegobuy 代购系统

Qualcomm QCN6224 vs MediaTek MT7915, challenging the limit of transmission speed

wifi6-yiyi

5G wifi

Appium控件互动攻略:提升自动化测试效率的必备方法大揭秘!

测吧(北京)科技有限公司

测试

大模型的现在进行时:走出对话框,走向产业端

Alter

IAM赋能数字化转型

芯盾时代

iam 统一身份认证 业务安全

领跑数字化转型:望繁信科技荣登「2024智能自动化技术商Top 15」榜单

望繁信科技

数据挖掘 流程挖掘 流程资产 流程智能

魔搭×函数计算:实现大模型快速部署,加速AI应用落地

百度开发者中心

人工智能 大模型

以算力深挖数据应用价值!和鲸助力北京市市场监管数据应用创新竞赛圆满收官!

ModelWhale

大数据 数据应用 数据大模型

提示词优化的自动化探索:Automated Prompt Engineering

Baihai IDP

程序员 AI 企业号 4 月 PK 榜 Prompt Engineering 提示词工程

大模型,为什么非得和「弱智吧」过不去?

脑极体

AI

网站打开504,504网关超时可能是哪些原因导致

德迅云安全杨德俊

香港的云主机怎么样?为网站运行和响应有哪些帮助?

一只扑棱蛾子

云主机

淘宝/天猫商品评论API:实时追踪用户反馈,洞悉市场动态

技术冰糖葫芦

api 货币化 API 文档 pinduoduo API

文本向量化模型新突破——acge_text_embedding 勇夺 C-MTEB 榜首

中杯可乐多加冰

rag 文本嵌入模型 文本向量化 文本嵌入

揭露 FileSystem 引起的线上 JVM 内存溢出问题

vivo互联网技术

JVM 内存泄露 OOM 内存溢出

火山引擎ByteHouse:OLAP如何支持超高QPS点查?

字节跳动数据平台

大数据 企业号2024年4月PK榜

大模型区域落地再加速!百度“文心中国行”西部首站落地成都锦江

飞桨PaddlePaddle

百度 BAIDU 百度飞桨 文心一言 文心大模型

《2023年度快团团行业洞察报告》呱呱爆品重磅发布!

Geek_2d6073

大模型,为什么非得和「弱智吧」过不去?

白洞计划

AI

性能问题分析优化实践案例

老张

高可用 性能优化 性能测试 稳定性保障

Penpad获Gate Labs以及Scroll联创Sandy的投资

西柚子

Appium控件互动攻略:提升自动化测试效率的必备方法大揭秘!

测试人

软件测试 自动化测试 测试开发

观测云产品更新 | 管理、容器、异常追踪、场景图表、DQL等

观测云

监控

4款值得推荐的AI辅助编程工具(支持C#语言)

EquatorCoco

人工智能 AI 开发语言

实践探讨Python如何进行异常处理与日志记录

华为云开发者联盟

Python 开发 华为云 华为云开发者联盟 企业号2024年4月PK榜

在Lisp中使用RDNZL调用.NET类库_.NET_Jonathan Allen_InfoQ精选文章