dafny VS pasv

Compare dafny vs pasv and see what are their differences.

dafny

Dafny is a verification-aware programming language (by dafny-lang)
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
dafny pasv
38 6
3,112 49
1.3% -
9.5 10.0
4 days ago almost 8 years ago
C# Common Lisp
GNU General Public License v3.0 or later -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

dafny

Posts with mentions or reviews of dafny. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-01-28.
  • Long division verified via Hoare logic
    1 project | news.ycombinator.com | 26 Feb 2025
    Automation of Hoare logic is quite good these days. Dafny, from MS Research (https://dafny.org), is probably the most friendly formal language. Dafny has been used to verify large systems, including many components of AWS. I am hoping that LLMs make more advanced languages, such as Liquid Haskell or Agda, much easier to write. Ideally, lots of code should be autocompleted once a human provides a type signature. The advantage of formal verification is that we are sure the generated code is correct.
  • Automated reasoning and generative AI: Harness creativity with formal verifications
    2 projects | dev.to | 28 Jan 2025
    Modern software verification employs various approaches, each offering different trade-offs between ease of use and strength of guarantees. AWS contributes to the open source program verification tools used in the previous examples. Dafny and Kani represent two powerful approaches to program verification. Let's see how they work in practice before connecting the dots between automated reasoning and generative AI.
  • Playing Chess with 84,688 Regular Expressions
    6 projects | news.ycombinator.com | 6 Jan 2025
    On that note, I discovered Dafny[1] recently, as a more accessible way to program with proofs. There's a companion book[2] that seems very accessible and down-to-earth (and, unfortunately, quite expensive). I didn't have the time to play with it yet, but it looks like it does what Ada/SPARK does (and more), but with less verbose syntax and more options for compilation targets. It seems to be actively developed, too. Personally, I had a very hard time getting into Coq, which is a proof assistant more than a programming environment - Dafny seems much more welcoming for a "working programmer" :)

    [1] https://dafny.org/

    [2] https://mitpress.mit.edu/9780262546232/program-proofs

  • F*: A proof oriented general purpose programming language
    5 projects | news.ycombinator.com | 25 Dec 2024
    https://dafny.org/ also allows proof checking and allows do write real programs with it. It has a java like syntax and is also from MS I believe
  • Safer with Google: Advancing Memory Safety
    2 projects | news.ycombinator.com | 16 Oct 2024
    > I do think there's a bit of the Ignaz Semmelweis[1] issue at hand here, where developers want to believe in their inherent quality and refuse processes that improve safety if it goes against their worldview

    I think the problem is that other variables (not only safety) must be assessed beyond the pure "better". Haskell is very good also. Very correct. Who uses that, and where? And why? Why not everyone uses https://dafny.org/ ?

  • Verified Rust for low-level systems code
    6 projects | news.ycombinator.com | 4 May 2024
    For those that are interested but perhaps not aware in this similar project, Dafny is a "verification-aware programming language" that can compile to rust: https://github.com/dafny-lang/dafny
  • Dafny is a verification-aware programming language
    4 projects | news.ycombinator.com | 23 Apr 2024
  • Candy – a minimalistic functional programming language
    5 projects | news.ycombinator.com | 24 Feb 2024
  • Dafny – a verification-aware programming language
    1 project | news.ycombinator.com | 28 Nov 2023
  • Lean4 helped Terence Tao discover a small bug in his recent paper
    10 projects | news.ycombinator.com | 27 Oct 2023
    Code correctness is a lost art. I requirement to think in abstractions is what scares a lot of devs to avoid it. The higher abstraction language (formal specs) focus on a dedicated language to describe code, whereas lower abstractions (code contracts) basically replace validation logic with a better model.

    C# once had Code Contracts[1]; a simple yet powerful way to make formal specifications. The contracts was checked at compile time using the Z3 SMT solver[2]. It was unfortunately deprecated after a few years[3] and once removed from the .NET Runtime it was declared dead.

    The closest thing C# now have is probably Dafny[4] while the C# dev guys still try to figure out how to implement it directly in the language[5].

    [1] https://www.microsoft.com/en-us/research/project/code-contra...

    [2] https://github.com/Z3Prover/z3

    [3] https://github.com/microsoft/CodeContracts

    [4] https://github.com/dafny-lang/dafny

    [5] https://github.com/dotnet/csharplang/issues/105

pasv

Posts with mentions or reviews of pasv. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-05-04.
  • One Plus One Equals Two (2006)
    1 project | news.ycombinator.com | 22 Oct 2024
    This took about 45 minutes in 1981 and takes under a second now.

    Constructive set theory without the usual set axioms is messy, though. The problem is equality. Informally, two sets are equal if they contain the same elements. But in a strict constructive representation, the representations have to be equal, and representations have order. So sets have to be stored sorted, which means much fiddly detail around maintaining a valid representation.

    What we needed, but didn't have back then, was a concept of "objects". That is, two objects can be considered equal if they cannot be distinguished via their exported functions. I was groping around in that area back then, and had an ill-conceived idea of "forgetting", where, after you created an object and proved theorems about it, you "forgot" its private functions. Boyer and Moore didn't like that idea, and I didn't pursue it further.

    Fun times.

    [1] https://github.com/John-Nagle/pasv/blob/master/src/work/temp...

  • Verified Rust for low-level systems code
    6 projects | news.ycombinator.com | 4 May 2024
    Then you go to the more elaborate prover. We used the Boyer-Moore prover for that. After proving a implies b, that became a theorem/rule the fast prover could use when it matched. So if the same situation came up again in code, the rule would be re-used automatically.

    I notice that the examples for this verified Rust system don't seem to include a termination check for loops. You prove that loops terminate by demonstrating that some nonnegative integer expression decreases on each iteration and never goes negative. If you can't prove that easily, the code has no place in mission-critical code.

    Microsoft's F* is probably the biggest success in this area.[3]

    [1] https://archive.org/details/manualzilla-id-5928072/page/n3/m...

    [2] https://github.com/John-Nagle/pasv

    [3] https://www.microsoft.com/en-us/research/video/programming-w...

  • Why Is Common Lisp Not the Most Popular Programming Language?
    8 projects | news.ycombinator.com | 14 Feb 2024
    This is a generic problem with macro systems, of course, which is why C deliberately had a weak macro system.

    LISP is a blast from the path. It's fun for retro reasons, but things have moved on.

    [1] https://github.com/John-Nagle/nqthm

    [2] https://github.com/John-Nagle/pasv/tree/master/src/CPC4

  • Will Computers Redefine the Roots of Math?
    6 projects | news.ycombinator.com | 30 Jun 2023
  • What I've Learned About Formal Methods in Half a Year
    3 projects | news.ycombinator.com | 10 Apr 2023
    behave as if it does. The other extreme would be a GUI program.

    [1] http://www.animats.com/papers/verifier/verifiermanual.pdf

    [2] https://github.com/John-Nagle/pasv

  • Grothendieck's Approach to Equality [pdf]
    2 projects | news.ycombinator.com | 30 May 2022
    which proves that the storing operation always produces a validly ordered array. That's essentially a code proof of correctness for a recursive function The Boyer-Moore prover was able to grind out a proof of that without help. That was a long proof, too.

    I submitted this to JACM. It was rejected, mostly for uglyness. The concept that you needed all this heavy machine-driven case analysis to prove a nice simple "axiom" upset mathematicians. Today it would be less of an issue. People are now more used to proofs that take a lot of grinding through cases.

    You could build up set theory this way, via ordered lists, if you wanted.

    So that's a classic of what happens if you take "equal" seriously.

    [1] http://www-formal.stanford.edu/jmc/towards.pdf

    [2] https://theory.stanford.edu/~arbrad/papers/arrays.pdf

    [3] https://github.com/John-Nagle/pasv/blob/master/src/work/temp...

    [4] https://github.com/John-Nagle/nqthm

What are some alternatives?

When comparing dafny and pasv you can also consider the following projects:

tlaplus - TLC is a model checker for specifications written in TLA+. The TLA+Toolbox is an IDE for TLA+.

Coq-HoTT - A Coq library for Homotopy Type Theory

FStar - A Proof-oriented Programming Language

verus-analyzer - A Verus compiler front-end for IDEs (derived from rust-analyzer)

Rust-for-Linux - Adding support for the Rust language to the Linux kernel.

anvil - Anvil is an experimental framework to build practical, formally verified, cluster management controllers.

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured

Did you know that C# is
the 10th most popular programming language
based on number of references?