FStar Alternatives
Similar projects and alternatives to FStar
-
-
coq
Coq is a formal proof management system. It provides a formal language to write mathematical definitions, executable algorithms and theorems together with an environment for semi-interactive development of machine-checked proofs.
-
Scout APM
Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
-
-
-
VisualFSharp
The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio
-
stepmania
Advanced rhythm game for Windows, Linux and OS X. Designed for both home and arcade use.
-
-
SonarQube
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
-
-
-
-
-
-
-
-
ponyc
:horse: Pony is an open-source, actor-model, capabilities-secure, high performance programming language
-
tauri
Build smaller, faster, and more secure desktop applications with a web frontend.
-
Nim
Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
-
-
-
FStar reviews and mentions
-
The Semantic Web Is Dead – Long Live the Semantic Web
That's a very good point re SAT/SMT. F* (https://www.fstar-lang.org/) has done truly amazing things by making use of them, and it's great to be able to get sophisticated correctness checks while doing basically non of the work.
I'm going to have to go away and think about how one could effectively leverage this in a data setting, but I'd love to hear ideas.
-
Have you ever used F* ? Can you ELI5 its use case?
It's described as a proof oriented programming language https://www.fstar-lang.org/
- F* – Microsoft's programming language with a superset of features over F#
- Formally Proven Binary Format Parsers
- Ante – a low-level functional language
-
I Don't Like Golang
I highly disagree with the interfaces criticism.
Firstly You can literally just use one of the dozens of go lsps or code tools to search for API invocations to find what structs are passed/called into it. More importantly if you need to know you've written bad code. The entire point of an interface is that you SHOULDN'T need to know the underlying type. If you do you've violated the entire point. Just pass concrete ones. I've written Go for years and never had a problem with this, even in large open source projects like Kuberenetes.
Secondly, the criticism about flipping return values order/meaning isn't a criticism of interface being structurally typed (https://en.wikipedia.org/wiki/Structural_type_system). If you return int, int and the second int "should be even", you should have defined a type "Even" and returned int, Even*. Systems which are structurally typed can demonstrate functional extensionality and (https://github.com/FStarLang/FStar/wiki/SMT-Equality-and-Ext...) and check whether you've flipped the arguments, which would be a more valid criticism (but such checks are expensive and conflict with compile time requirements). Also Java has the same problem, if you define two interfaces with the same method signature and a single class implements both you can't disambiguate.
Thirdly, the structural typing has a huge advantage, namely looser coupling and more tightly defined interfaces. If you follow the "accept interfaces return structs" go idiom, you'll see why. An open source library that does so leaves their returned structs open to be used by consumer code, that itself uses interfaces, without modification required. This means most go code has small, tightly defined interfaces, where every function on the interface is invoked in the relevant function.
For example if you have a library with this definition:
type Baz struct {}
func (b Baz) Foo(){}
-
A Letter to D1sc0rd for not Supporting the Linux Desktop
Technically you can but not because of any virtue of C itself...
-
Is it worth learning dependent types for someone who won't do research in type theory and PL?
A really cool example is F*, which I found via the Oregon Programming Language Summer School (OPLSS).
Here is link number 1 - Previous text "F*"
- The F* Programming Language
- Swapping your M and N key around, yeah I know, some people will call me a Nomster!
-
Formalising Gödel's incompleteness theorems, I
Sadly I too have not found an employer that is willing to let me use any kind of theorem-proving software in production. Back when I was at Jet doing F#, I almost got permission to use F-Star [1], but that project never got to that point.
My PhD is in regards to proving properties about robotics, so maybe in 5-6 years I'll have fully bridged industry and theory, but I wouldn't hold my breath :)
-
Value tagging?
This isn't really true. For example, there's Dafny which uses Z3 to discharge SMT proofs, LiquidHaskell which uses Z3 to discharge SMT proofs, F* which uses Z3 to discharge SMT proofs, combined with human-authored proofs.
-
What developments have there been in FP over the last 10 years?
F* has been at the center of a ton of research. It’s being used to build real-world verified cryptographic software. Most of the research is around how to use the core dependently typed language to help with automated proving of theorems.
-
A list of new budding programming languages and their interesting features?
F*
Stats
FStarLang/FStar is an open source project licensed under Apache License 2.0 which is an OSI approved license.
Popular Comparisons
Are you hiring? Post a new remote job listing for free.