<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en" style='--code-editor-font: var(--default-mono-font, "Menlo"), DejaVu Sans Mono, Liberation Mono, Consolas, Ubuntu Mono, Courier New, andale mono, lucida console, monospace;'>
<head>
<meta content="text/html; charset=US-ASCII" http-equiv="Content-Type">
<title>
GitLab
</title>

<style data-premailer="ignore" type="text/css">
a { color: #1068bf; }
</style>


<style>img {
max-width: 100%; height: auto;
}
body {
font-size: 0.875rem;
}
body {
-webkit-text-shadow: rgba(255,255,255,0.01) 0 0 1px;
}
body {
font-family: var(--default-regular-font, -apple-system),BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; font-size: inherit;
}
</style>
</head>
<body style='font-size: inherit; -webkit-text-shadow: rgba(255,255,255,0.01) 0 0 1px; font-family: var(--default-regular-font, -apple-system),BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";'>
<div class="content">

<h3 style="margin-top: 20px; margin-bottom: 10px;">
Marge Bot pushed to branch master at <a href="https://gitlab.haskell.org/ghc/ghc">Glasgow Haskell Compiler / GHC</a>
</h3>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
Commits:
</h4>
<ul>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b159e0e94f8d049198947965046b6a5edbd89c36">b159e0e9</a></strong>
<div>
<span> by doyougnu </span> <i> at 2023-03-30T01:40:08-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.875rem; color: #333238; position: relative; font-family: var(--default-mono-font, "Menlo"),"DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>js: split JMacro into JS eDSL and JS syntax

This commit:

Splits JExpr and JStat into two nearly identical DSLs:
- GHC.JS.Syntax is the JMacro based DSL without unsaturation, i.e., a
value cannot be unsaturated, or, a value of this DSL is a witness that a
value of GHC.JS.Unsat has been saturated
- GHC.JS.Unsat is the JMacro DSL from GHCJS with Unsaturation.

Then all binary and outputable instances are changed to use
GHC.JS.Syntax.

This moves us closer to closing out #22736 and #22352. See #22736 for
roadmap.

-------------------------
Metric Increase:
    CoOpt_Read
    LargeRecord
    ManyAlternatives
    PmSeriesS
    PmSeriesT
    PmSeriesV
    T10421
    T10858
    T11195
    T11374
    T11822
    T12227
    T12707
    T13035
    T13253
    T13253-spj
    T13379
    T14683
    T15164
    T15703
    T16577
    T17096
    T17516
    T17836
    T18140
    T18282
    T18304
    T18478
    T18698a
    T18698b
    T18923
    T1969
    T19695
    T20049
    T21839c
    T3064
    T4801
    T5321FD
    T5321Fun
    T5631
    T5642
    T783
    T9198
    T9233
    T9630
    TcPlugin_RewritePerf
    WWRec
-------------------------
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
30 changed files:
</h4>
<ul>
<li class="file-stats">
<a href="#a0f4a8eca271853d8b54c439478b02969979dc2e">
compiler/GHC/JS/Make.hs
</a>
</li>
<li class="file-stats">
<a href="#a87ee0fc1210e74075a669ea928f16ff8e2d708d">
compiler/GHC/JS/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#cd7234a2e6681392c3e77fa2f8932d9c1dfd5f0f">
compiler/GHC/JS/Syntax.hs
</a>
</li>
<li class="file-stats">
<a href="#591589853d618f38d3219851e639ce2bb4e6aeb1">
compiler/GHC/JS/Transform.hs
</a>
</li>
<li class="file-stats">
<a href="#20e8b9e7ce1d60bda964cfb2593a2b1a87b52f84">
<span class="new-file">
+
compiler/GHC/JS/Unsat/Syntax.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#2d8735ef84465467a5955da9f7cfe05d6aba0320">
compiler/GHC/StgToJS/Apply.hs
</a>
</li>
<li class="file-stats">
<a href="#3f4efdaa6045d6b36e06ec9ae9b0bc942490244e">
compiler/GHC/StgToJS/Arg.hs
</a>
</li>
<li class="file-stats">
<a href="#590bbe4e971187420a1554e40c186c97b96b7076">
compiler/GHC/StgToJS/Closure.hs
</a>
</li>
<li class="file-stats">
<a href="#452a7aecf67651b1b4584eef5b78fb73770785fd">
compiler/GHC/StgToJS/CodeGen.hs
</a>
</li>
<li class="file-stats">
<a href="#a907899b16f99efc93390877e949fbce268d57e3">
compiler/GHC/StgToJS/CoreUtils.hs
</a>
</li>
<li class="file-stats">
<a href="#f56d383d4087660b49242666fe1f796e5184a122">
compiler/GHC/StgToJS/DataCon.hs
</a>
</li>
<li class="file-stats">
<a href="#c126fc7cc862e0627c335fa704be830842ae6392">
compiler/GHC/StgToJS/Deps.hs
</a>
</li>
<li class="file-stats">
<a href="#d8f42268b4be6e47d85a5c59c6797430b4672dc6">
compiler/GHC/StgToJS/Expr.hs
</a>
</li>
<li class="file-stats">
<a href="#8291e37e31fb5cd07c9661a2e966789189d725d3">
compiler/GHC/StgToJS/FFI.hs
</a>
</li>
<li class="file-stats">
<a href="#c0ef40a8f9edff5df1a96935e5076ba6eb283e95">
compiler/GHC/StgToJS/Heap.hs
</a>
</li>
<li class="file-stats">
<a href="#83029ddfb3367f604031d8a377f8c84c008384f3">
compiler/GHC/StgToJS/Ids.hs
</a>
</li>
<li class="file-stats">
<a href="#7cf4e8c9485c255dc72f13e75192bfa3cf66eef3">
compiler/GHC/StgToJS/Linker/Linker.hs
</a>
</li>
<li class="file-stats">
<a href="#6dd3fa55cb98ddb1f4a63768d5cc31943668cae5">
compiler/GHC/StgToJS/Literal.hs
</a>
</li>
<li class="file-stats">
<a href="#825bfd76a2d23ac65ca409854eb43db6d9895462">
compiler/GHC/StgToJS/Monad.hs
</a>
</li>
<li class="file-stats">
<a href="#f62b0cd33586bc34bf5ea863bd9748f7f3e38b77">
compiler/GHC/StgToJS/Object.hs
</a>
</li>
<li class="file-stats">
<a href="#e09f1e9480e87656c84c1bbb39c1441b7884819d">
compiler/GHC/StgToJS/Prim.hs
</a>
</li>
<li class="file-stats">
<a href="#04a1b1f36c694c609cb945bf73e218ee55887787">
compiler/GHC/StgToJS/Printer.hs
</a>
</li>
<li class="file-stats">
<a href="#fd6094380518e2b49703877697bb39eead39c96e">
compiler/GHC/StgToJS/Profiling.hs
</a>
</li>
<li class="file-stats">
<a href="#1af353d62847d7d8e7c7992156e997d0638cf98b">
compiler/GHC/StgToJS/Regs.hs
</a>
</li>
<li class="file-stats">
<a href="#2dac8ed1c1274db5dcf76b9799c739cd3fbf6714">
compiler/GHC/StgToJS/Rts/Rts.hs
</a>
</li>
<li class="file-stats">
<a href="#ef33b9eaee8aa0ee0a260faaf84f7e763528fbbb">
compiler/GHC/StgToJS/Rts/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#08599e07e50295983ac65284dfd264f1bcc97292">
compiler/GHC/StgToJS/Stack.hs
</a>
</li>
<li class="file-stats">
<a href="#6c8e47f72cdedd9e6982e81aa1f091c2db6963c3">
compiler/GHC/StgToJS/StaticPtr.hs
</a>
</li>
<li class="file-stats">
<a href="#b6a01b4f7692cceb21d8c5c217c1303c78e154e5">
compiler/GHC/StgToJS/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#2822d6defa206d9f39e5b5c6318c7b011dfc5b5a">
compiler/GHC/StgToJS/Utils.hs
</a>
</li>
</ul>
<h5 style="margin-top: 10px; margin-bottom: 10px; font-size: 0.875rem;">
The diff was not included because it is too large.
</h5>

</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #737278;">

<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b159e0e94f8d049198947965046b6a5edbd89c36">View it on GitLab</a>.
<br>
You're receiving this email because of your account on <a target="_blank" rel="noopener noreferrer" href="https://gitlab.haskell.org">gitlab.haskell.org</a>. <a href="https://gitlab.haskell.org/-/profile/notifications" target="_blank" rel="noopener noreferrer" class="mng-notif-link">Manage all notifications</a> · <a href="https://gitlab.haskell.org/help" target="_blank" rel="noopener noreferrer" class="help-link">Help</a>
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Commit","url":"https://gitlab.haskell.org/ghc/ghc/-/commit/b159e0e94f8d049198947965046b6a5edbd89c36"}}</script>


</p>
</div>
</body>
</html>