QB64 搜索技巧 核手提箱 文字记录 海洋云增白 开源地图 Bliss AI 搜索答案 深海沉船 自由职业 policy 小团队 颈挂空调 Chumby 个人电脑 极端主义 团队 世界 PostgreSQL AI工具 证券 DirectX 防溢 DrawingPics Zulip 儿童读物 化学 连续滚动 代码审查 三菱电机 更多

microui+fenster=小型GUI (bernsteinbear.com)

本文介绍了如何结合使用microui和fenster这两个轻量级库来创建小型GUI应用程序。fenster提供了一个简单的画布用于绘制像素,并处理键盘和鼠标输入。microui则用于将GUI元素转换为绘图指令。作者详细介绍了如何将这两个库连接起来,并提供了一个示例程序。

玩具优化器中的抽象解释 (bernsteinbear.com)

本文介绍了一种用于玩具IR的小型抽象解释器,并展示了如何使用它进行一些简单的优化。抽象解释是一种在不运行程序的情况下推理程序行为的通用框架,它使用抽象值来表示程序状态,并定义了抽象转换函数来模拟程序语句对抽象状态的影响。文章以“奇偶性”抽象域为例,展示了如何使用抽象解释来优化程序。

Scrapscript编译器的技巧 (bernsteinbear.com)

本文介绍了Scrapscript编译器实现的一些优化技巧,包括:1. 立即对象:利用指针编码小字符串和特定类型的变体,减少堆分配;2. 常量堆:将编译时已知的常量数据结构存储在常量堆中,避免运行时重复分配。文章还展示了如何使用C代码生成这些优化的数据结构,并讨论了如何处理垃圾回收和指针标记等问题。

Scrapscript 基准编译器 (bernsteinbear.com)

本文介绍了 Scrapscript 语言的基准编译器的设计与实现。Scrapscript 是一种小型、纯函数式、内容寻址、网络优先的编程语言。编译器将 Scrapscript 代码转换为 C 代码,并使用半空间垃圾回收机制管理内存。文章详细介绍了编译器如何处理表达式、函数和模式匹配,以及运行时如何实现标记指针和句柄来支持垃圾回收。

利用weval免费获取编译器 (bernsteinbear.com)

文章介绍了weval,一个WebAssembly部分求值器,它可以通过将解释器与字节码融合来提高WebAssembly程序的运行速度。作者通过一个简单的解释器示例展示了weval如何将解释器循环展开,并将字节码转换为直线式WebAssembly代码,从而实现8.5倍的加速效果。文章还探讨了weval在更大型解释器(如SpiderMonkey和CPython)中的应用潜力,以及将其用作CPython的Wasm JIT编译器的可能性。