解算器辅助的编程语言 Rosette

码农软件 · 软件分类 · 脚本编程语言 · 2019-03-04 15:28:51

软件介绍

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)))

本文地址:https://www.codercto.com/soft/d/615.html

程序员2010精华本

程序员2010精华本

程序员杂志社 / 电子工业 / 2011-1 / 49.00元

《程序员(2010精华本)》主要内容:《程序员》创刊10年来,每年末编辑部精心打造的“合订本”已经形成一个品牌,得到广大读者的认可和喜爱。今年,《程序员》杂志内容再次进行了优化整合,除了每期推出的一个大型专题策划,各版块也纷纷以专题、策划的形式,将每月的重点进行了整合,让内容非常具有凝聚力,如专题篇、人物篇、实践篇等。另外杂志的版式、色彩方面也有了很大的飞跃,给读者带来耳目一新的阅读体验。一起来看看 《程序员2010精华本》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具