Dafny Dafny
首页
  • 入门介绍

    • 什么是dafny?
  • 用起来吧!

    • 安装
    • 快速上手
    • 可能遇到的问题?
  • Dafny快速入门

    • 基础学习 Basic
    • 方法 Method
    • 关键字 Keyword
    • 函数 Function
    • 类 Class
    • 泛型 Generics
    • 声明 Statement
    • 表达式 Expression
  • Dafny简单例子

    • 寻找最大最小数和
    • 斐波那契数列
    • 线性查询
    • 引理-计算序列非负元素个数
    • 集合
    • 终止
  • Dafny指导

    • 介绍
    • 方法 Methods
    • 前置/后置条件 Pre/Postconditions
    • 断言 Assertions
    • 函数 Functions
    • 循环不变体 Loop Invariants
    • 数组 Arrays
    • 量词(函数) Quantifiers
    • 谓词(函数) Predicates
    • 框架 Framing
    • 二分搜索 Binary Search
    • 总结
  • Dafny进阶语法

    • 引理和归纳 Lemmas and Induction
    • 模块 Modules
    • 集合 sets
    • 序列 sequence
    • 终止 Terminal
    • 值类型 Values Types
  • 实践探索

    • 自动归纳
    • 自动调用引理
    • 定义、证明、算法正确性
    • 各种推导式
    • 不同类型的证明
    • 集合元素上的函数
    • 在集合上的迭代
  • 常用工具

    • Type System
    • Style Guide
    • Cheet Sheet
✨收藏
  • 简体中文
  • English
💬社区留言板
GitHub (opens new window)

Dafny

新一代验证语言
首页
  • 入门介绍

    • 什么是dafny?
  • 用起来吧!

    • 安装
    • 快速上手
    • 可能遇到的问题?
  • Dafny快速入门

    • 基础学习 Basic
    • 方法 Method
    • 关键字 Keyword
    • 函数 Function
    • 类 Class
    • 泛型 Generics
    • 声明 Statement
    • 表达式 Expression
  • Dafny简单例子

    • 寻找最大最小数和
    • 斐波那契数列
    • 线性查询
    • 引理-计算序列非负元素个数
    • 集合
    • 终止
  • Dafny指导

    • 介绍
    • 方法 Methods
    • 前置/后置条件 Pre/Postconditions
    • 断言 Assertions
    • 函数 Functions
    • 循环不变体 Loop Invariants
    • 数组 Arrays
    • 量词(函数) Quantifiers
    • 谓词(函数) Predicates
    • 框架 Framing
    • 二分搜索 Binary Search
    • 总结
  • Dafny进阶语法

    • 引理和归纳 Lemmas and Induction
    • 模块 Modules
    • 集合 sets
    • 序列 sequence
    • 终止 Terminal
    • 值类型 Values Types
  • 实践探索

    • 自动归纳
    • 自动调用引理
    • 定义、证明、算法正确性
    • 各种推导式
    • 不同类型的证明
    • 集合元素上的函数
    • 在集合上的迭代
  • 常用工具

    • Type System
    • Style Guide
    • Cheet Sheet
✨收藏
  • 简体中文
  • English
💬社区留言板
GitHub (opens new window)
  • 入门介绍

  • 用起来吧

    • 安装Dafny
      • 安装
      • Vscode
        • 下载Dafny扩展包
        • 下载NetCore5.0
        • 自动下载language server
        • 手动配置language server
        • GitHub下载dafny
        • 相关配置文件
        • 更改相关路径
    • 快速入门
    • 简单上手
  • 配置
  • 用起来吧
lijiahai
2022-03-22
目录

安装Dafny

# 快速上手

# 安装

可以访问Dafny-lang (opens new window)查看最新Dafny版本

# Vscode

具体下载方法可查看Dafny wiki (opens new window),这是语言团队推出并维护的wiki博客。

如果你想快速上手使用,可以观看Install Dafny on Windows (opens new window),了解如何在vscode上创建并编译Dafny文件。

步骤如下:

  • 下载vscode,安装Dafny(v1.6.0)扩展包
  • 下载Netcore5.0
  • 创建.dfy文件,等待language server自动下载完成。
  • 编译运行

# 下载Dafny扩展包

Dafny

# 下载NetCore5.0

进入vscode新建或打开一个dafny(.dfy)文件,此时vscode会提示需要下载[NETCore5.0](Download .NET (Linux, macOS, and Windows) (microsoft.com) (opens new window))。

Netcore

# 自动下载language server

注意扩展包中有如下提示:

This VSCode plugin requires the Dafny language server (shipped with the Dafny release since v3.1.0).

The plugin will install it automatically upon first use.

Dafny扩展插件会自动下载language server,但实际速度和成功率不尽人意。

Download Failed

# 手动配置language server

# GitHub下载dafny

​ 以dafny(v3.2.0)为例,进入Dafny-lang (opens new window)下载对应版本语言包。

# 相关配置文件

​ 找到Dafny.dll与DafnyLanguageServer.dll文件,记住其文件路径。

# 更改相关路径

​ 在vscode工作区--扩展--Dafny extension中修改Compiler Runtime Path、Language Server Runtime Path为以上两个文件的对应路径。

Configure paths

# 第一个Dafny程序

配置完成,让我们来创建个简单的dafny文件来体验一下吧!

  • 实时验证
First test
  • hello,Dafny
Second test

相关链接:

github wiki (opens new window)

vscode dafny-extension (opens new window)

youtube Install Dafny on Windows (opens new window)

编辑 (opens new window)
上次更新: 2022/03/26, 22:28:20
语言介绍
快速入门

← 语言介绍 快速入门→

最近更新
01
寻找最大和最小数
04-06
02
斐波那契数列
04-06
03
线性查询
04-06
更多文章>
Theme by Vdoing | Copyright © 2022-2022 Li Jiahai | Dafny Community | 2022
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式