8000 GitHub - qnighy/rust-ill
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

qnighy/rust-ill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Representation of ILL (Intuitionistic Linear Logic) in Rust

This is a playground where we can confirm Intuitionistic Linear Logic over Rust. See e.g. a Wikipedia article or LLWiki for Linear Logic.

Types

  • An atomic proposition is a type parameter with the bounds Sized + 'static.
  • linear implication
    • Limpl<A, B> = A ⊸ B
  • multiplicative conjunction
    • One = 1
    • Tensor<A, B> = A ⊗ B
  • additive conjunction
    • Top = ⊤
    • With<A, B> = A & B
  • additive disjunction
    • Zero = 0
    • Plus<A, B> = A ⊕ B
  • exponential conjunction
    • Bang<A> = !A

Connectives like (-), ⅋, ⊥, and ? are out of the Intuitionistic fragment.

Rules

  • No panics (e.g. panic!, unreachable!)
  • No exits (e.g. abort, exit)
  • No infinite loops or infinite recursions
  • No unsafes (especially mem::transmutes)
  • No drops other than Bang<_> and One
  • No forgets (either through mem::forget or through Arc cycles)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0