ARJGUZHYILWGGVTIEGWNQOLQ32YTAULU257ME6RTGYW3SO2WNQWAC module Wasm.Types whereopen import Prelude renaming (Nat to ℕ) hiding (const; min; max)record Sized (A : Set) : Set wherefield--| Bit width: A has size of (2 ^ ∥ A ∥)∥_∥ : A → ℕopen Sized ⦃ ... ⦄data numtype : Set wherei32 i64 f32 f64 : numtypeu32 = Fin (2 ^ 32)u64 = Fin (2 ^ 64)record _↔_ (A B : Set) : Set wherefieldto : A → Bfrom : B → Afrom-to : ∀ a → from (to a) ≡ ato-from : ∀ b → to (from b) ≡ binstanceSized-numtype : Sized numtype∥_∥ ⦃ Sized-numtype ⦄ i32 = 5∥_∥ ⦃ Sized-numtype ⦄ i64 = 6∥_∥ ⦃ Sized-numtype ⦄ f32 = 5∥_∥ ⦃ Sized-numtype ⦄ f64 = 6data vectype : Set wherev128 : vectypeinstanceSized-vectype : Sized vectype∥_∥ ⦃ Sized-vectype ⦄ v128 = 7data reftype : Set wherefuncref externref : reftypedata valtype : Set wherenum : numtype → valtypevec : vectype → valtyperef : reftype → valtyperesulttype : Setresulttype = List valtypedata functype : Set where_⇒_ : (input output : resulttype) → functype-- data valueOf : valtype → Set whererecord limits : Set wherefieldmin : u32max : Maybe u32record limited (A : Set) : Set wherefieldproj : A → u32L : limitsmemtype : Setmemtype = limitstabletype = limited reftypedata mut : Set whereconst var : mutrecord globaltype : Set wherefieldinner-type : valtypemutability : mutdata externtype : Set wherefunc : functype → externtypetable : tabletype → externtypemem : memtype → externtypeglobal : globaltype → externtype
module JVM.Types whereopen import Prelude hiding (lzero; null) -- using (_≡_; ¬_)data type : Setdata value : type → Setdata primitive-type : Setdata primitive-value : primitive-type → Setdata nullable (A : Set) : Setdata reference-type : Setdata reference-value : reference-type → Setdata type whereprim-type : primitive-type → typeref-type : reference-type → typedata value whereprim-value : ∀ {@0 A} → primitive-value A → value (prim-type A)ref-value : ∀ {@0 A} → nullable (reference-value A) → value (ref-type A)data primitive-type wherebyte short int long char : primitive-typefloat double : primitive-typeboolean : primitive-typereturnAddress : primitive-typedata primitive-value wherebzero : primitive-value byteszero : primitive-value shortizero : primitive-value intlzero : primitive-value longczero : primitive-value charfzero : primitive-value floatdzero : primitive-value doublefalse true : primitive-value booleanelim-⊥ : ∀ {a} {@0 A : Set a} (@0 x : ⊥) → Aelim-⊥ ()default-prim-value : (A : primitive-type) (@0 not-retAddr : ¬ (A ≡ returnAddress)) → primitive-value Adefault-prim-value byte _ = bzerodefault-prim-value short _ = szerodefault-prim-value int _ = izerodefault-prim-value long _ = lzerodefault-prim-value char _ = czerodefault-prim-value float _ = fzerodefault-prim-value double _ = dzerodefault-prim-value boolean _ = falsedefault-prim-value returnAddress not-retAddr = elim-⊥ (not-retAddr refl)data nullable A wherenull : nullable Anon-null : A → nullable Adata reference-type whereclass-type interface-type : reference-typearray-type : type → reference-typedata reference-value wheredefault-value : (A : type) (@0 not-retAddr : ¬ (A ≡ prim-type returnAddress)) → value Adefault-value (prim-type A) not-retAddr = prim-value (default-prim-value A λ is-retAddr → not-retAddr (cong prim-type is-retAddr))default-value (ref-type A) _ = ref-value nullarray-element-type : (A : type) → typearray-element-type (ref-type (array-type A)) = array-element-type Aarray-element-type A = A
module JVM.Memory wheredata area : Set whereglobal thread-local : areadata memory : area → Set wherepc stack : memory thread-localheap method-area : memory global
module JVM.Memory wheredata area : Set whereglobal thread-local : areadata memory : area → Set wherepc stack : memory thread-localheap method-area : memory global
{ agdaPackages ? (import <nixpkgs> {}).agdaPackages }:let inherit (agdaPackages) mkDerivation agda agda-prelude;inmkDerivation {pname = "bytecode";version = "0.1.0";src = ./.;everythingFile = "src/Spec.agda";buildInputs = [ agda-prelude ];meta = false;}
name: bytecodeinclude: srcdepend: agda-prelude