AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

.NET 下类似 Smalltalk 的语言 SABLE

  • 2009-04-24
  • 本文字数:724 字

    阅读完需:约 2 分钟

Kuler 软件工具的创始人 Keith Robertson 在.NET 平台下编写了一门类似 Smalltalk 的语言,名为 SABLE 。该语言具有 Smalltalk 语法提供的高质量,同时又能运行在 CLR 上。

SABLE 是一门通用而又必要的面向对象编程语言,它的语法与 Smalltalk 相似,但其对象与部署模型则与.NET 关系更为紧密。SABLE 程序运行在 ECMA CLR 上。SABLE 有望成为 Web 开发中的 Smalltalk,它保留了 Smalltalk 语言的可读性与类型安全,但类型信息却包含在程序集中,在进行 Web 应用程序部署时,可以输出短小的二进制文件。

Robertson 声称,SABLE 的最终目的是:

创建一个可变的、灵活的 Smalltalk 风格的开发环境,而一旦程序编写完成,应用程序则会被编译为普通的程序集……无需动态运行时,它却能给你深刻的动态编程体验。

SABLE 的其中一个好处就是 Smalltalk 的消息传递语法,它允许组成消息链或级联消息。该语言会在编译时执行类型检查,甚至支持消息链的类型转换,而不仅仅是:

<p>|typeDecl| := nodeStack pop.</p><p>nodeStack peek ~ {BLOCK_NODE} argumentNodes last~ {ARGUMENT_NODE} typeDeclNode: typeDecl.</p>该语言能够进行双向类型推断,从表达式类型中解析出变量或方法的类型(对外推断),或者从期望的类型中解析出表达式的类型(对内推断)。

SABLE 使用方法、类和程序集的结构定义,但不同于 Smalltalk 的是,它的元数据仍然保留在程序集中。宏则总是内联方法。关于宏的一个有趣用法是扩充已有的封装好的库。

SABLE 并没有预留关键字,但包含了许多预先定义的标识符。其余的重要特性包括:类扩展,契约,以及完全支持 CLR 的特性如泛型、嵌套类型、元数据特性等。

一个基本的“Hello World”例子如下所示:

有用的链接包括: SABLE 编译器(ZIP), SABLE 语言的网站

2009-04-24 08:521509
用户头像

发布了 109 篇内容, 共 44.1 次阅读, 收获喜欢 14 次。

关注

评论

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

软件测试 | 属性获取与断言

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

测试

Python获取磁盘、文件夹大小信息(一)

Python 文件夹数据获取

Web前端开发最好用的几个WebGL框架

2D3D前端可视化开发

JavaScript 前端开发 WebGL webgl框架

测试开发之路--UI 自动化常用设计模式

霍格沃兹测试开发学社

热点面试题: 常用位运算方法

Immerse

JavaScript 前端面试题 #热点问题 前端javascript

接口调试时如何请求一个需要登录才能访问的接口

代码没有BUG

接口调试 API测试 apipost

软件测试 | 参数化测试用例的使用

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

测试

UI 自动化中的分层设计

霍格沃兹测试开发学社

Python获取磁盘、文件夹大小信息(附邮件发送)(二)

Python 文件夹数据获取

使用大恒USB工业相机PythonSDK进行逐帧率图片采集

Python 数据采集 摄像头 大恒SDK

Migrate your data into databend with DataX

Databend

虚幻引擎UE4如何实现打包后播放片头?其实超简单!

3DCAT实时渲染

虚幻引擎 ue

关于工具软件:Apipost和Apifox哪个更好用看这篇就够了

代码没有BUG

Apifox 接口调试 API测试 apipost

Tapdata Connector 实用指南:数据入仓场景之数据实时同步到 BigQuery

tapdata

避坑指南|监控宝网站监控的常见问题及解决方法

云智慧AIOps社区

监控 告警 监控宝 监控告警 监控指标

实力见“证”:Tapdata 技术创新与发展潜力广受认可

tapdata

多云和混合云场景下的 API 管理:挑战与选择

API7.ai 技术团队

api 网关 APISIX

IDC发布《2022中国大模型发展白皮书》,文心大模型能力全面领先

飞桨PaddlePaddle

大模型 文心

软件测试 | 控制特殊Toast识别

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

测试

测试开发之路--UI 自动化设计军规

霍格沃兹测试开发学社

测试开发之路--UI 自动化常用设计模式 (二)

霍格沃兹测试开发学社

零基础学习前端培训需要多久

小谷哥

Python+Opencv读取高帧率USB摄像头问题

Python 数据读取 摄像头

大数据培训需要注意哪些方面

小谷哥

【Unity 3D游戏开发】在Unity使用NoSQL数据库方法介绍

3DCAT实时渲染

Unity Unity3D 游戏开发引擎

房产|1月全国70城房价出炉!疫情放开后你关心的城市房价有何变化

前嗅大数据

大数据 数据分析 房产

分享7个刺激的老司机网站,别轻易点开

引迈信息

程序员 面试 前端 摸鱼

软件测试 | Capability使用进阶

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

测试

参加java培训学习怎么样

小谷哥

渲染农场优势是什么_云渲染农场怎么用?

Renderbus瑞云渲染农场

云渲染 云渲染农场 Renderbus云渲染农场

.NET下类似Smalltalk的语言SABLE_.NET_Abel Avram_InfoQ精选文章