Commit Graph

  • 0ec7fb6feb Upgraded resolver to lts-12.11 Agustín Mista 2018-10-04 11:02:52 +02:00
  • 1245707afa fix cabal file Ilya Rezvov 2018-06-21 08:32:20 -07:00
  • 709c8d994c bump version to 1.0 tag Ilya Rezvov 2018-06-20 16:33:52 -07:00
  • db18150ec9 expose label type from builder Ilya Rezvov 2018-06-11 20:20:06 -07:00
  • f862c74bf9 fix typos in sign suffixes Ilya Rezvov 2018-06-02 11:01:01 -07:00
  • 85dfac08f1 enforce type constraints for conversion operations Ilya Rezvov 2018-06-02 10:57:49 -07:00
  • 4dccc4279e add all instructions Ilya Rezvov 2018-06-02 10:36:17 -07:00
  • 2aeb960cb1 introduce declaration+implementation mechanic for mutual recursive functions definitions Ilya Rezvov 2018-05-31 14:06:33 -07:00
  • 3425547639 add fundeps to infer monad instance from producer refactoring/builder-monad-2 Ilya Rezvov 2018-05-30 11:01:29 -07:00
  • 6cc280f7e1 add type params for Loc and Glob types Ilya Rezvov 2018-05-29 11:51:57 -07:00
  • 7d199ddc03 fix some errors refactoring/builder-monad Ilya Rezvov 2018-05-28 16:33:20 -07:00
  • f8bec75b25 attempt to make it work Ilya Rezvov 2018-05-28 14:45:51 -07:00
  • 1cf668408a unify name convention for signed/unsigned operations Ilya Rezvov 2018-05-27 15:29:31 -07:00
  • ddf89644ce make inc and dec polymorphic Ilya Rezvov 2018-05-27 14:49:49 -07:00
  • 3926e5b9f1 make export combinator polymorphic Ilya Rezvov 2018-05-27 11:59:27 -07:00
  • 330fb93f0f introduce polymorphic result types for combinators Ilya Rezvov 2018-05-27 11:17:26 -07:00
  • 95318c86fc wrap instruction for builder Ilya Rezvov 2018-05-25 11:30:08 -07:00
  • 4ec5a0fcbf two more helpers for builder Ilya Rezvov 2018-05-24 16:22:05 -07:00
  • 9d1ce5a630 more instructions for builder Ilya Rezvov 2018-05-24 11:36:34 -07:00
  • a0bdcae94a fix memarg binary parsing Ilya Rezvov 2018-05-23 11:48:45 -07:00
  • 705b43af34 add more operations Ilya Rezvov 2018-05-23 09:38:21 -07:00
  • 05ad97a30e fix binary generation Ilya Rezvov 2018-05-22 18:47:10 -07:00
  • ba6f26b06d add export directives Ilya Rezvov 2018-05-22 15:06:39 -07:00
  • 96dd6a8a40 export nop instruction Ilya Rezvov 2018-05-18 11:42:02 -07:00
  • d2d767d122 add partial memory instructions for builder Ilya Rezvov 2018-05-17 13:28:34 -07:00
  • 9ca5353b0f extend supported instructions set Ilya Rezvov 2018-05-16 14:45:34 -07:00
  • edf072ed2a add more generators Ilya Rezvov 2018-05-13 15:12:13 -07:00
  • 5986526167 implement more operations for generation Ilya Rezvov 2018-05-13 10:37:09 -07:00
  • 2db6b2db41 add if expression form Ilya Rezvov 2018-05-13 09:41:29 -07:00
  • 1330eb41f6 start builder api Ilya Rezvov 2018-05-12 22:37:50 -07:00
  • a5ebf6b7e0 add data type for function type-enforced-ast Ilya Rezvov 2018-05-12 16:12:56 -07:00
  • bd2da83c4e Merge branch 'master' into type-enforced-ast Ilya Rezvov 2018-05-12 15:02:47 -07:00
  • 8ca3319ba4 add wasm executable Ilya Rezvov 2018-05-10 13:39:43 -07:00
  • 35dd7f94da complete type enforced instructions set Ilya Rezvov 2018-05-04 20:33:48 -07:00
  • 56b7c07f53 add memory instructions Ilya Rezvov 2018-04-29 18:11:39 -07:00
  • 3b976faa91 add example term Ilya Rezvov 2018-04-29 17:13:41 -07:00
  • 30ed4a3c87 add call instructions Ilya Rezvov 2018-04-29 16:20:48 -07:00
  • 6d96f31b53 replace several type args with one context Ilya Rezvov 2018-04-29 10:08:13 -07:00
  • 86130221e7 add more instructions to typed ast Ilya Rezvov 2018-04-28 22:00:56 -07:00
  • 8d3a452902 add input and output commands parsing and call compilation cli Aivean 2018-04-28 16:47:23 -07:00
  • 7422dc8551 Merge branch 'cli' of github.com:SPY/haskell-wasm into cli Sergey Romanovsky 2018-04-28 16:36:55 -07:00
  • 3addd3dbb1 +WasmFileFormat Sergey Romanovsky 2018-04-28 16:35:41 -07:00
  • 778cba3d8d fix optparse-applicative in cabal Aivean 2018-04-28 15:56:11 -07:00
  • 23ad2539e4 basic parsing stub using optparse-applicative Ivan Zaytsev 2018-04-28 14:39:00 -07:00
  • c5daf5b187 add complie function Ilya Rezvov 2018-04-28 14:31:40 -07:00
  • 1cf5b34d07 add output mode Ilya Rezvov 2018-04-28 14:26:07 -07:00
  • 845b57f428 add config datatype Ilya Rezvov 2018-04-28 14:24:26 -07:00
  • 388a505c8d fix executable entry point Ilya Rezvov 2018-04-28 14:07:58 -07:00
  • 9c5c4a77cc add exectuable sources Ilya Rezvov 2018-04-28 14:04:41 -07:00
  • 3b37afed83 start implementing tought typed AST type Ilya Rezvov 2018-04-28 13:29:53 -07:00
  • 4601666eab stabilize inline exports extraction algorithm Ilya Rezvov 2018-04-26 20:19:19 -07:00
  • 0a7b417605 reduce deep of code Ilya Rezvov 2018-04-25 13:47:11 -07:00
  • abc546723d reduce code duplication Ilya Rezvov 2018-04-25 11:16:41 -07:00
  • fc2eb97647 use ExceptT transformer to clarify interpreter code Ilya Rezvov 2018-04-25 10:49:58 -07:00
  • 70f207d02d extract storing code to common function Ilya Rezvov 2018-04-24 21:07:12 -07:00
  • a619e1b742 extract load instructions to generic function Ilya Rezvov 2018-04-24 19:08:31 -07:00
  • 9d14c233c5 fix parsing of multiple folded instructions in if predicate expression Ilya Rezvov 2018-04-24 16:12:52 -07:00
  • 081d6ded2a use single rule for all index refences Ilya Rezvov 2018-04-24 15:37:43 -07:00
  • 6157cbb492 update readme Ilya Rezvov 2018-04-21 11:28:03 -07:00
  • 5356e0b435 pass all tests Ilya Rezvov 2018-04-21 11:24:05 -07:00
  • d0b5535bb2 pass all assert_trap tests Ilya Rezvov 2018-04-21 10:58:34 -07:00
  • c073d85d74 calculate offset without uint32 overflow Ilya Rezvov 2018-04-21 10:46:29 -07:00
  • 56f9aea99d check if target and local type of call_indirect are the same Ilya Rezvov 2018-04-21 10:39:23 -07:00
  • 7726eb7505 protect memory access with traps Ilya Rezvov 2018-04-21 10:11:37 -07:00
  • e99c7c427b check sign-sensitive division arguments for trap conditions Ilya Rezvov 2018-04-21 09:40:18 -07:00
  • 49719b64cd implement assert_trap assertion Ilya Rezvov 2018-04-21 08:59:31 -07:00
  • 3c882a97d1 check validity of all data and elem segments before updating store on initialization Ilya Rezvov 2018-04-20 19:24:39 -07:00
  • 108eb0c0ee check imported values types Ilya Rezvov 2018-04-20 19:11:09 -07:00
  • a8459fb541 do not grow tables on initialization. again Ilya Rezvov 2018-04-19 16:25:27 -07:00
  • 80f61158d7 do not grow memory for data segments Ilya Rezvov 2018-04-19 16:17:28 -07:00
  • a7962d69c2 implemented assert_unlinkable assertion Ilya Rezvov 2018-04-19 13:32:07 -07:00
  • 1720730df5 pass assert_malformed tests Ilya Rezvov 2018-04-18 22:42:47 -07:00
  • 78e59dea8f add length constraint check for LEB128 encoded integers Ilya Rezvov 2018-04-16 21:47:38 -07:00
  • fbadde5c3a improve alignment parsing Ilya Rezvov 2018-04-16 21:02:26 -07:00
  • 7dfbe2775e fix call_inderect type use parsing Ilya Rezvov 2018-04-16 20:51:04 -07:00
  • b27ce14618 check if length of code section equals of length of function type section Ilya Rezvov 2018-04-16 20:11:46 -07:00
  • b27a89cc17 fix int literals parsing Ilya Rezvov 2018-04-16 20:00:20 -07:00
  • cb7fee3d45 check imports appear before any other definitions Ilya Rezvov 2018-04-16 16:08:38 -07:00
  • f046ab3cfa check if aux type signature match referred type Ilya Rezvov 2018-04-16 15:54:10 -07:00
  • 6c4183c930 check if optional labels match for block instructions Ilya Rezvov 2018-04-16 15:37:28 -07:00
  • 035ffe05da check if name is valid utf8 string Ilya Rezvov 2018-04-16 14:35:05 -07:00
  • be47aa7d43 fail on too long offset and align constants Ilya Rezvov 2018-04-15 19:08:27 -07:00
  • a1ae58b5f7 make parser monadic Ilya Rezvov 2018-04-15 18:54:39 -07:00
  • a5e16c6e7b add MIT license Ilya Rezvov 2018-04-15 16:28:04 -07:00
  • 09f4b15d2c implemented assert_malformed assertion and added NFData instances for all parsing types Ilya Rezvov 2018-04-15 16:16:11 -07:00
  • 73124a3eff pass all assert_invalid tests Ilya Rezvov 2018-04-14 17:11:47 -07:00
  • d7dc05b157 update tests from core repo Ilya Rezvov 2018-04-14 16:35:18 -07:00
  • 681e0e3eca fix br_if typing Ilya Rezvov 2018-04-14 16:31:21 -07:00
  • d0b1092064 simplify validation algorithm Ilya Rezvov 2018-04-14 13:38:09 -07:00
  • 23ed83a42e fix parsing of functions with incorrect type indexes Ilya Rezvov 2018-04-13 16:56:25 -07:00
  • 16bbc3d198 implement assert_invalid assertion Ilya Rezvov 2018-04-13 14:25:23 -07:00
  • b2a0d2c86e pass return_nan tests Ilya Rezvov 2018-04-12 14:17:01 -07:00
  • 2955456e26 pass all assert_return tests Ilya Rezvov 2018-04-11 21:15:56 -07:00
  • 7a4735bbfc fix some conversions Ilya Rezvov 2018-04-11 15:29:51 -07:00
  • d64854aac1 clean up labels on exit from blocks and return correct type for i64 unary operations Ilya Rezvov 2018-04-11 15:24:27 -07:00
  • 11b6f4fdc8 fix if instruction execution Ilya Rezvov 2018-04-11 14:54:05 -07:00
  • 82c0433e5d fix corner cases for float instructions Ilya Rezvov 2018-04-11 11:08:41 -07:00
  • e0d9eeb51f fix tee_local semantic Ilya Rezvov 2018-04-10 21:59:54 -07:00
  • c644578d8b fix memory growing behavior Ilya Rezvov 2018-04-10 21:25:54 -07:00
  • c75900a2c8 fix loading of signed ints from memory Ilya Rezvov 2018-04-10 21:09:58 -07:00