1. 26 Feb, 2022 3 commits
  2. 15 Feb, 2022 1 commit
    • Kim Nguyễn's avatar
      Implement prefixing OCaml externals. · d6297ba1
      Kim Nguyễn authored
      Primitive files now support the syntax :
      
      Prefix!Module.Other.name
      
      The value is then available in CDuce as :
      
      Prefix.Module.Other.name
      
      This allows one to namespace OCaml modules with generic names to prevent
      them to clash (e.g. linking two OCaml libraries each with a toplevel Node module
      can be done with Lib1!Node and Lib2!Node)
      d6297ba1
  3. 10 Feb, 2022 1 commit
  4. 09 Feb, 2022 2 commits
    • Kim Nguyễn's avatar
      Correctly wrap OCaml exceptions raised by CDuce. · b880c4a4
      Kim Nguyễn authored
      Exceptions raised from OCaml code called by the CDuce main
      evaluation function are correctly wrapped in a CDuceExn exception.
      This allows one to differentiate between an exception raised by an
      OCaml primitive during the evaluation of a CDuce expression (which
      should appear as a CDuce exception) from an OCaml exception raised
      by the CDuce runtime itself (which should be a fatal error).
      
      Update the output of expected tests raising exceptions.
      b880c4a4
    • Kim Nguyễn's avatar
      Make the failure due to runtime testing polymorphic functions a CDuceExn. · d828d4f6
      Kim Nguyễn authored
      Currently, this failure is raised with failwith, thus not catchable from the
      CDuce side and also interrupting the toplevel. We use Value.failwith' instead,
      making it possible to catch dynamic error from CDuce and resuming gracefully
      the toplevel. This is consistent with other dynamic matching errors such as :
      
      let (x, y) = (42 : Any) :? (Int, Int) ;;
      Uncaught CDuce exception: "Value 42 does not match type (Int,Int)\n"
      
      let (x, y) = (42 : Any) :? (Int, Int) ;;
      d828d4f6
  5. 01 Feb, 2022 1 commit
  6. 28 Jan, 2022 1 commit
  7. 03 Dec, 2021 3 commits
  8. 22 Nov, 2021 1 commit
  9. 16 Nov, 2021 2 commits
  10. 15 Nov, 2021 2 commits
  11. 09 Nov, 2021 1 commit
  12. 04 Nov, 2021 3 commits
  13. 12 Oct, 2021 2 commits
  14. 10 Oct, 2021 1 commit
  15. 09 Oct, 2021 1 commit
  16. 08 Oct, 2021 4 commits
  17. 06 Oct, 2021 2 commits
  18. 03 Oct, 2021 1 commit
  19. 01 Oct, 2021 2 commits
  20. 08 May, 2021 1 commit
  21. 05 May, 2021 1 commit
  22. 02 May, 2021 4 commits