0.5.7 • Published 3 years ago

formality-lang v0.5.7

Weekly downloads
5
License
MIT
Repository
-
Last release
3 years ago

npm.io

An efficient proof-gramming language. It aims to be:

  • Fast: no garbage-collection, optimal beta-reduction and a massively parallel GPU compiler make it fast.

  • Safe: a type system capable of proving mathematical theorems about its own programs make it secure.

  • Portable: the full language is implemented in a 400-LOC runtime, making it easily available everywhere.

Check the official documentation, browse our base-libraries and come hang out with us on Telegram.

Examples

  • Adding all numbers of a list:

    sum(xs : List(Number)) : Number
      case xs
      | nil  => 0
      | cons => xs.head + sum(xs.tail)
  • A proof that negating a bool twice returns the same bool:

    not_not_is_same(b : Bool) : not(not(b)) == b
      case b
      | true  => equal(__)
      | false => equal(__)
      : not(not(b)) == b
  • Extracting the first element of a list statically checked to be non-empty:

    safe_head(A; xs: List(A), e: length(_ xs) != 0n) : A
      case xs
      with e : length(_ xs) != 0n
      | nil  => absurd(e(equal(__)), _) -- provably unreachable!
      | cons => xs.head

Usage

Multiple implementations (Haskell, Rust, Go, etc.) will be available in a future. Right now, you can already use the JavaScript one (requires Node v0.12).

Install it via npm with:

$ npm i -g formality-lang

Or via nix, using node2nix, we can also install Formality using the Nix package manager:

$ git clone git@github.com:moonad/Formality.git
$ cd Formality
$ nix-channel --add https://nixos.org/channels/nixpkgs-unstable unstable
$ nix-env -f '<unstable>' -iA nodePackages.node2nix
$ node2nix -d -i package.json --nodejs-12
$ nix-env -i -f override.nix

It can be used from the terminal with the fm command, or as a library with require("formality-lang").


Interaction-Net compilation

Formality can be fully compiled to a 600-LOC Interaction-Net Runtime.

0.5.7

3 years ago

0.5.6

3 years ago

0.5.5

3 years ago

0.5.3

3 years ago

0.5.2

3 years ago

0.5.1

3 years ago

0.5.0

3 years ago

0.5.0-beta.14

3 years ago

0.5.0-beta.13

3 years ago

0.5.0-beta.12

3 years ago

0.5.0-beta.11

3 years ago

0.5.0-beta.9

4 years ago

0.5.0-beta.8

4 years ago

0.5.0-beta.7

4 years ago

0.5.0-beta.6

4 years ago

0.5.0-beta.5

4 years ago

0.5.0-beta.4

4 years ago

0.5.0-beta.3

4 years ago

0.5.0-beta.1

4 years ago

0.5.0-beta.2

4 years ago

0.5.0-beta.0

4 years ago

0.4.119

4 years ago

0.4.118

4 years ago

0.4.117

4 years ago

0.4.116

4 years ago

0.4.115

4 years ago

0.4.114

4 years ago

0.4.113

4 years ago

0.4.112

4 years ago

0.4.111

4 years ago

0.4.110

4 years ago

0.4.106

4 years ago

0.4.109

4 years ago

0.4.107

4 years ago

0.4.105

4 years ago

0.4.104

4 years ago

0.4.102

4 years ago

0.4.103

4 years ago

0.4.100

4 years ago

0.4.99

4 years ago

0.4.98

4 years ago

0.4.97

4 years ago

0.4.95

4 years ago

0.4.96

4 years ago

0.4.94

4 years ago

0.4.93

4 years ago

0.4.92

4 years ago

0.4.91

4 years ago

0.4.90

4 years ago

0.4.89

4 years ago

0.4.86

4 years ago

0.4.87

4 years ago

0.4.88

4 years ago

0.4.84

4 years ago

0.4.85

4 years ago

0.4.82

4 years ago

0.4.83

4 years ago

0.4.81

4 years ago

0.4.79

4 years ago

0.4.77

4 years ago

0.4.76

4 years ago

0.4.75

4 years ago

0.4.73

4 years ago

0.4.71

4 years ago

0.4.72

4 years ago

0.4.70

4 years ago

0.4.68

4 years ago

0.4.69

4 years ago

0.4.64

4 years ago

0.4.66

4 years ago

0.4.62

4 years ago

0.4.63

4 years ago

0.4.60

4 years ago

0.4.59

4 years ago

0.4.58

4 years ago

0.4.57

4 years ago

0.4.55

4 years ago

0.4.56

4 years ago

0.4.54

4 years ago

0.4.52

4 years ago

0.4.51

4 years ago

0.4.50

4 years ago

0.4.42

4 years ago

0.4.44

4 years ago

0.4.45

4 years ago

0.4.40

4 years ago

0.4.41

4 years ago

0.4.39

4 years ago

0.4.38

4 years ago

0.4.37

4 years ago

0.4.36

4 years ago

0.4.35

4 years ago

0.4.33

4 years ago

0.4.34

4 years ago

0.4.32

4 years ago

0.4.31

4 years ago

0.4.30

4 years ago

0.4.29

4 years ago

0.4.28

4 years ago

0.4.27

4 years ago

0.4.26

4 years ago

0.4.25

4 years ago

0.4.24

4 years ago

0.4.23

4 years ago

0.4.22

4 years ago

0.4.21

4 years ago

0.4.20

4 years ago

0.4.19

4 years ago

0.4.18

4 years ago

0.4.17

4 years ago

0.4.10

4 years ago

0.4.15

4 years ago

0.4.13

4 years ago

0.4.14

4 years ago

0.4.11

4 years ago

0.4.12

4 years ago

0.4.9

4 years ago

0.4.8

4 years ago

0.4.7

4 years ago

0.4.6

4 years ago

0.4.4

4 years ago

0.4.3

4 years ago

0.4.1

4 years ago

0.4.2

4 years ago

0.4.0

4 years ago

0.1.254

4 years ago

0.1.253

4 years ago

0.1.252

4 years ago

0.1.251

4 years ago

0.1.250

4 years ago

0.1.249

4 years ago

0.1.246

4 years ago

0.1.248

4 years ago

0.1.247

4 years ago

0.1.245

4 years ago

0.1.244

4 years ago

0.1.243

4 years ago

0.1.242

4 years ago

0.1.241

4 years ago

0.1.240

4 years ago

0.1.239

4 years ago

0.1.238

4 years ago

0.1.237

4 years ago

0.1.236

4 years ago

0.1.235

4 years ago

0.1.233

4 years ago

0.1.232

4 years ago

0.1.231

4 years ago

0.1.230

4 years ago

0.1.229

4 years ago

0.1.228

4 years ago

0.1.219

4 years ago

0.1.227

4 years ago

0.1.224

4 years ago

0.1.223

4 years ago

0.1.226

4 years ago

0.1.225

4 years ago

0.1.220

4 years ago

0.1.222

4 years ago

0.1.221

4 years ago

0.1.217

4 years ago

0.1.216

4 years ago

0.1.215

4 years ago

0.1.214

4 years ago

0.1.213

4 years ago

0.1.212

4 years ago

0.1.211

4 years ago

0.1.209

4 years ago

0.1.208

4 years ago

0.1.207

4 years ago

0.1.206

4 years ago

0.1.205

4 years ago

0.1.204

4 years ago

0.1.203

4 years ago

0.1.202

4 years ago

0.1.201

4 years ago

0.1.200

4 years ago

0.1.199

4 years ago

0.1.198

4 years ago

0.1.197

4 years ago

0.1.195

4 years ago

0.1.194

4 years ago

0.1.193

4 years ago

0.1.192

4 years ago

0.1.190

4 years ago

0.1.191

4 years ago

0.1.188

4 years ago

0.1.187

4 years ago

0.1.186

4 years ago

0.1.185

4 years ago

0.1.184

4 years ago

0.1.183

4 years ago

0.1.181

4 years ago

0.1.180

4 years ago

0.1.179

4 years ago

0.1.178

4 years ago

0.1.177

4 years ago

0.1.175

4 years ago

0.1.174

4 years ago

0.1.173

4 years ago

0.1.172

4 years ago

0.1.171

4 years ago

0.1.170

4 years ago

0.1.169

4 years ago

0.1.168

4 years ago

0.1.167

5 years ago

0.1.166

5 years ago

0.1.165

5 years ago

0.1.164

5 years ago

0.1.163

5 years ago

0.3.162

5 years ago

0.3.161

5 years ago

0.3.160

5 years ago

0.3.157

5 years ago

0.3.154

5 years ago

0.3.153

5 years ago

0.3.152

5 years ago

0.3.151

5 years ago

0.3.150

5 years ago

0.3.149

5 years ago

0.3.147

5 years ago

0.3.146

5 years ago

0.3.144

5 years ago

0.3.143

5 years ago

0.3.142

5 years ago

0.3.140

5 years ago

0.3.138

5 years ago

0.3.136

5 years ago

0.3.135

5 years ago

0.3.134

5 years ago

0.3.133

5 years ago

0.3.132

5 years ago

0.3.130

5 years ago

0.3.129

5 years ago

0.3.128

5 years ago

0.3.127

5 years ago

0.3.126

5 years ago

0.3.125

5 years ago

0.3.124

5 years ago

0.3.123

5 years ago

0.3.122

5 years ago

0.3.119

5 years ago

0.3.118

5 years ago

0.3.117

5 years ago

0.3.116

5 years ago

0.3.115

5 years ago

0.3.114

5 years ago

0.3.113

5 years ago

0.3.112

5 years ago

0.3.111

5 years ago

0.3.110

5 years ago

0.3.109

5 years ago

0.3.108

5 years ago

0.3.107

5 years ago

0.3.106

5 years ago

0.3.105

5 years ago

0.3.103

5 years ago

0.3.102

5 years ago

0.3.101

5 years ago

0.3.100

5 years ago

0.3.99

5 years ago

0.3.98

5 years ago

0.3.97

5 years ago

0.3.96

5 years ago

0.3.95

5 years ago

0.3.94

5 years ago

0.3.93

5 years ago

0.3.92

5 years ago

0.3.91

5 years ago

0.3.88

5 years ago

0.3.86

5 years ago

0.3.85

5 years ago

0.3.84

5 years ago

0.3.83

5 years ago

0.3.82

5 years ago

0.3.81

5 years ago

0.3.80

5 years ago

0.3.79

5 years ago

0.3.77

5 years ago

0.3.76

5 years ago

0.3.75

5 years ago

0.3.74

5 years ago

0.3.73

5 years ago

0.3.72

5 years ago

0.3.71

5 years ago

0.3.70

5 years ago

0.3.69

5 years ago

0.3.68

5 years ago

0.3.65

5 years ago

0.3.63

5 years ago

0.3.62

5 years ago

0.3.61

5 years ago

0.3.60

5 years ago

0.3.58

5 years ago

0.3.57

5 years ago

0.3.54

5 years ago

0.3.52

5 years ago

0.3.51

5 years ago

0.3.50

5 years ago

0.3.49

5 years ago

0.3.47

5 years ago

0.3.46

5 years ago

0.3.44

5 years ago

0.3.43

5 years ago

0.3.42

5 years ago

0.3.41

5 years ago

0.3.40

5 years ago

0.3.37

5 years ago

0.3.34

5 years ago

0.3.33

5 years ago

0.3.32

5 years ago

0.3.31

5 years ago

0.3.30

5 years ago

0.3.29

5 years ago

0.3.28

5 years ago

0.3.26

5 years ago

0.3.23

5 years ago

0.3.21

5 years ago

0.3.20

5 years ago

0.3.19

5 years ago

0.3.18

5 years ago

0.3.17

5 years ago

0.3.16

5 years ago

0.3.14

5 years ago

0.3.12

5 years ago

0.3.10

5 years ago

0.3.9

5 years ago

0.3.8

5 years ago

0.3.6

5 years ago

0.3.4

5 years ago

0.3.3

5 years ago

0.3.2

5 years ago

0.3.0

5 years ago

0.2.16

5 years ago

0.2.15

5 years ago

0.2.13

5 years ago

0.2.12

5 years ago

0.2.11

5 years ago

0.2.10

5 years ago

0.2.9

5 years ago

0.2.8

5 years ago

0.2.7

5 years ago

0.2.6

5 years ago

0.2.5

5 years ago

0.2.4

5 years ago

0.2.3

5 years ago

0.2.2-b

5 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.20

5 years ago

0.1.19

5 years ago

0.1.18

5 years ago

0.1.17

5 years ago

0.1.16

5 years ago

0.1.15

5 years ago

0.1.13

5 years ago

0.1.12

5 years ago

0.1.11

5 years ago

0.1.10

5 years ago

0.1.9

5 years ago

0.1.8

5 years ago

0.1.7

5 years ago

0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.0

5 years ago