Rosette

解算器辅助的编程语言
授权协议 未知
开发语言 Lisp
所属分类 程序开发、 脚本编程语言
软件类型 开源软件
地区 不详
投 递 者 冯元徽
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Rosette 是新的计算机辅助解析编程(SDSLs)语言,扩展了 Racket 的一些特性:合成,验证,调试和执行。

Rosette 是一个解算器辅助的编程语言,扩展了 Racket 用于程序合成、校验等。为了校验和合成代码,Rosette 将其编译为带 SMT 解决逻辑的逻辑限制解算。

示例代码:

#lang rosette

(define (interpret formula)
  (match formula
    [`(∧ ,expr ...) (apply && (map interpret expr))]
    [`(∨ ,expr ...) (apply || (map interpret expr))]
    [`(¬ ,expr)     (! (interpret expr))]
    [lit            (constant lit boolean?)]))

; This implements a SAT solver.
(define (SAT formula) 
  (solve (assert (interpret formula))))  

(SAT `(∧ r o (∨ s e (¬ t)) t (¬ e)))
 相关资料
  • Navicat 提供备注、十六进制、图像、网页或动态列窗格来查看和编辑 Text、Blob 或 BFile 字段内容。编辑器可让你在表中查看、更新、插入或删除数据。在工具栏点击 备注 十六进制 图像 网页 和 动态列 来 激活适当的查看器或编辑器。 注意:Oracle BFile 字段不可以编辑。 备注 窗格 让你编辑数据为一个简单的文本。要改变语法高亮显示,简单地在空白地方右击并选择 语言。使用

  • Navicat 提供强大的辅助编辑器来查看和编辑 TEXT、BLOB 或 BFile 字段的内容。编辑器可让你在表或集合中查看、更新、插入或删除数据。在工具栏点击 “文本”、“十六进制”、“图像”和 “网页”来打开相应的查看器或编辑器。 【注意】Oracle 的 BFile 字段不可以编辑。MongoDB JSON 视图不支持辅助编辑器。 “文本”窗格让你编辑数据为纯文本。若要更改语法高亮显示,简

  • Navicat 提供强大的辅助编辑器来查看和编辑 TEXT、BLOB 或 BFile 字段的内容。编辑器可让你在表或集合中查看、更新、插入或删除数据。在工具栏点击 “文本”、“十六进制”、“图像”和 “网页”来打开相应的查看器或编辑器。 【注意】MongoDB JSON 视图不支持辅助编辑器。Oracle 的 BFile 字段不可以编辑。 “文本”窗格让你编辑数据为纯文本。若要更改语法高亮显示,简

  • Navicat 提供强大的辅助编辑器来查看和编辑 TEXT、BLOB 或 BFile 字段的内容。编辑器可让你在表或集合中查看、更新、插入或删除数据。在工具栏点击 “文本”、“十六进制”和 “图像”来打开相应的查看器或编辑器。 【注意】Oracle 的 BFile 字段不可以编辑。MongoDB JSON 视图不支持辅助编辑器。 “文本”窗格让你编辑数据为纯文本。若要更改语法高亮显示,请简单地右击

  • 语言辅助函数文件包含一些用于辅助处理语言文件的函数。 加载此辅助函数 此辅助函数使用如下代码加载:$this->load->helper('language'); 下面的函数就可以使用了: lang('language line', 'element id') 此函数使用简单的语法从已加载的语言文件中返回一行文本。这种语法在视图文件中可能比调用 $this->lang->line() 更表意。可选

  • 语言辅助函数文件包含了用于处理语言文件的一些函数。 加载辅助函数 可用函数 加载辅助函数 该辅助函数通过下面的代码加载: $this->load->helper('language'); 可用函数 该辅助函数有下列可用函数: lang($line[, $for = ''[, $attributes = array()]]) 参数: $line (string) -- Language line