Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
C--
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Haskell=== Some developers of C--, including Simon Peyton Jones, JoΓ£o Dias, and Norman Ramsey, work or have worked on GHC, whose development has led to extensions in the C-- language, forming the ''Cmm'' dialect which uses the [[C preprocessor]] for ergonomics.<ref name="cmm-hs" /><ref>{{Cite web |title=5.10. GHC Backends β Glasgow Haskell Compiler 9.8.1 User's Guide |url=https://downloads.haskell.org/ghc/9.8.1/docs/users_guide/codegens.html#:~:text=5.10.-,GHC%20Backends,compiling%20it%20to%20executable%20code. |access-date=2024-06-20 |website=downloads.haskell.org}}</ref> GHC backends are responsible for further transforming C-- into executable code, via [[LLVM]] IR, slow C, or directly through the built-in native backend.<ref name="code generator" /><ref name="llvm">{{Cite web |date=August 25, 2019 |title=Opinion piece on GHC backends. |url=https://andreaspk.github.io/posts/2019-08-25-Opinion%20piece%20on%20GHC%20backends.html |access-date=2024-06-20 |website=andreaspk.github.io}}</ref><ref>{{Cite web |title=Using the Glasgow Haskell Compiler (GHC) |url=https://programmingdoer.com/ |access-date=2024-06-20 |website=ProgDoer}}</ref> Despite the original intention, GHC does perform many of its generic optimizations on C--. As with other compiler IRs, the C-- representation can be dumped for debugging.<ref name="debugging" /> Target-specific optimizations are performed later by the backend.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)