mirror of
https://github.com/luau-lang/luau.git
synced 2025-05-04 10:33:46 +01:00
WIP
This commit is contained in:
parent
cad61447f2
commit
e717262099
2 changed files with 174 additions and 3669 deletions
|
@ -22,6 +22,14 @@ evalEqOp (bool true) (bool y) = y
|
||||||
evalEqOp (bool false) (bool y) = not y
|
evalEqOp (bool false) (bool y) = not y
|
||||||
evalEqOp _ _ = false
|
evalEqOp _ _ = false
|
||||||
|
|
||||||
|
evalNeqOp : Value → Value → Bool
|
||||||
|
evalNeqOp Value.nil Value.nil = false
|
||||||
|
evalNeqOp (addr x) (addr y) = not (x ==ᴬ y)
|
||||||
|
evalNeqOp (number x) (number y) = primFloatInequality x y
|
||||||
|
evalNeqOp (bool true) (bool y) = not y
|
||||||
|
evalNeqOp (bool false) (bool y) = y
|
||||||
|
evalNeqOp _ _ = true
|
||||||
|
|
||||||
data _⟦_⟧_⟶_ : Value → BinaryOperator → Value → Value → Set where
|
data _⟦_⟧_⟶_ : Value → BinaryOperator → Value → Value → Set where
|
||||||
+ : ∀ m n → (number m) ⟦ + ⟧ (number n) ⟶ number (primFloatPlus m n)
|
+ : ∀ m n → (number m) ⟦ + ⟧ (number n) ⟶ number (primFloatPlus m n)
|
||||||
- : ∀ m n → (number m) ⟦ - ⟧ (number n) ⟶ number (primFloatMinus m n)
|
- : ∀ m n → (number m) ⟦ - ⟧ (number n) ⟶ number (primFloatMinus m n)
|
||||||
|
@ -32,7 +40,7 @@ data _⟦_⟧_⟶_ : Value → BinaryOperator → Value → Value → Set where
|
||||||
<= : ∀ m n → (number m) ⟦ <= ⟧ (number n) ⟶ bool ((primFloatLess m n) or (primFloatEquality m n))
|
<= : ∀ m n → (number m) ⟦ <= ⟧ (number n) ⟶ bool ((primFloatLess m n) or (primFloatEquality m n))
|
||||||
>= : ∀ m n → (number m) ⟦ >= ⟧ (number n) ⟶ bool ((primFloatLess n m) or (primFloatEquality m n))
|
>= : ∀ m n → (number m) ⟦ >= ⟧ (number n) ⟶ bool ((primFloatLess n m) or (primFloatEquality m n))
|
||||||
== : ∀ v w → v ⟦ == ⟧ w ⟶ bool (evalEqOp v w)
|
== : ∀ v w → v ⟦ == ⟧ w ⟶ bool (evalEqOp v w)
|
||||||
~= : ∀ v w → v ⟦ ~= ⟧ w ⟶ bool (not (evalEqOp v w))
|
~= : ∀ v w → v ⟦ ~= ⟧ w ⟶ bool (evalNeqOp v w)
|
||||||
|
|
||||||
data _⊢_⟶ᴮ_⊣_ {a} : Heap a → Block a → Block a → Heap a → Set
|
data _⊢_⟶ᴮ_⊣_ {a} : Heap a → Block a → Block a → Heap a → Set
|
||||||
data _⊢_⟶ᴱ_⊣_ {a} : Heap a → Expr a → Expr a → Heap a → Set
|
data _⊢_⟶ᴱ_⊣_ {a} : Heap a → Expr a → Expr a → Heap a → Set
|
||||||
|
|
Loading…
Add table
Reference in a new issue