1. 07 Jun, 2022 1 commit
    • Alexis King's avatar
      wip: simple implementation of continuations · 3e19b978
      Alexis King authored
      wip: first stab at RESET frames, continuation capturing
      wip: first stab at applyContinuation
      wip: fix some oversights/typos
      wip: fix some bugs
      wip: move continuation C code into separate file
      wip: eliminate separate RESET_FRAME closure type
      wip: fix info table comparison check
      wip: remove a few lingering bits
      wip: fix strictness signature on shift#
      wip: change shift# to compose two continuations
      wip: fix calling conventions in Cmm code
      wip: make continuations levity-polymorphic
      wip: copy the stack frames on continuation restore if they fit
      wip: add missing RTS symbols
      wip: give .c and .cmm files different names
      wip: move Cmm definition before use
      wip: rewrite continuation support to use separate StgContinuation
      wip: misc fixes
      wip: change calling conventions around continuation restore
      wip: allow the top of the continuation to be levity-polymorphic
      wip: Make shift# lazy in its first argument
           This is necessary for a similar reason to why it’s necessary for catch#.
      wip: Rename reset#/shift# to prompt#/control0#
      wip: add PromptTag# type and newPromptTag# primop
      wip: add PROMPT_FRAME closure type, make control0# use prompt tags
      wip: add MASK_FRAME and restructure exceptions code to use it
      wip: basic async exception support for continuations
      wip: raise an error when no matching continuation prompt is found
      wip: remove unneeded closure types, add lots of comments
      wip: fix TraverseHeap.c
      wip: represent prompt tags as unlifted closures, not Word64s
      wip: reinstate cancellative behavior of mask/unmask operations
      wip: remove stg_keepMaskingState_ret
      wip: give apply_mask_frame a more specific type
      wip: include the types of prompt#/control0# in the introductory Note
      wip: fix typo
      wip: reference the incompatibility with thunk updates earlier
      wip: add Note [Detecting illegal captures is not guaranteed]
      wip: add some comments to clarify captureContinuationAndAbort
      wip: eliminate unneeded `unwind` annotation
      wip: fix rts/Printer.c
      wip: Remove unhelpful comment about “special layout”
      wip: add signatures in comments
      wip: fix polymorphism in the type of control0#
      wip: make PromptTag# levity-monomorphic
      wip: add docs for continuation primops
  2. 06 Jun, 2022 3 commits
  3. 02 Jun, 2022 10 commits
  4. 01 Jun, 2022 11 commits
  5. 31 May, 2022 4 commits
  6. 30 May, 2022 11 commits