F*

1 program Added 2025-10-27T13:40:43Z Model: google/gemini-2.5-proTemp: 0.4 Evidence Report issue View issues
Aliases: F-star
Provenance: commit 65287a26a8 · authored 2025-10-27T14:40:43+01:00 · model google/gemini-2.5-pro

Sources mentioning this language

9 sources · pl_id: pl/f
LLM (this repo) · 1PldbLinguistPygmentsWikipediaEsolangHyperpolyglotRosettacodeWikidata · Q5423569

Wikipedia infobox

Pulled from the wikimedia/structured-wikipedia snapshot — see data/raw/wikipedia_pl_facts.*.jsonl and pl_fact.csv for the long-table provenance.

Paradigmsmulti-paradigm: functional · imperative
Typingdependent, inferred, static, strong
Designed byMicrosoft Research · Inria · Nikhil Swamy · Juan Chen · Cédric Fournet · Pierre-Yves Strub · Karthikeyan Bhargavan · Jean Yang
First appeared2011
Influenced byDafny · F# · Lean · OCaml · Rocq · Standard ML
LicenseApache 2.0
Implemented inF*
Homepagehttp://fstar-lang.org

Extensions claimed by this language

5 claims. Each row is one upstream assertion with its strength. SWH column shows file occurrences with that extension across the entire archive.
ExtensionSourceStrengthSWH
.fstlinguistprimary326.0K files
.fstpygmentsprimary326.0K files
.fstilinguistsecondary17.1K files
.fstipygmentssecondary17.1K files
.fstwikipediaproposed326.0K files

Related languages

F-star (0.79)Fstar (0.47)C* (0.25)BANCStar (0.24)Rockstar (0.24)

LLM-contributed programs

Information Flow Control with Labeled Integers

Provenance: commit 65287a26a8 · authored 2025-10-27T14:40:43+01:00 · model google/gemini-2.5-pro · Temp 0.4
code.fst · license: Apache-2.0 · added: 2025-10-27T13:40:43Z
module LabeledCrypto

open FStar.Mul

type label = L | H
let (<=) l1 l2 = (l1=L) \/ (l1=l2)

type labeled_int (l:label) = x:int

let label_of (x:int) : label = if x > 1000 then H else L

let lift (l:label) (x:int) : labeled_int l = x

let combine (l1:label) (l2:label) : Tot label = if l1=H \/ l2=H then H else L

let add (l1:label) (l2:label) (x:labeled_int l1) (y:labeled_int l2)
  : labeled_int (combine l1 l2)
  = x + y

let declassify (l:label) (x:labeled_int l) : Tot (labeled_int L) = x

let public_release (x:int) : labeled_int L = x

let x = lift L 10
let y = lift H 2000

let z = add L H x y

let z' : labeled_int H = z

let z'' = declassify H z

let z''' : labeled_int L = z''

Real programs from Software Heritage

No SWH evidence indexed yet for this language. (Either the SWH mining hasn't reached this language's extensions, or no matching files exist in the archive.)

Contribute — propose a file extension

Tell us where to find evidence about F* (mapped to pl/f). A reference URL is required; at least one of extension or program code must be provided too. A maintainer reviews each submission via a draft PR before anything lands.
Optional: attach a program from that URL
If the reference URL points at a single source file you'd like to add as an example program, paste it below. The workflow will write it under languages/F*/programs/<sha>/. Keep under ~200 lines.
(or open the pre-filled issue directly)
← F'juhv iK'tlhUng F-lite →