Repository Analysis

ghc/ghc

Mirror of the Glasgow Haskell Compiler. Please submit issues and patches to GHC's Gitlab instance (https://gitlab.haskell.org/ghc/ghc). First time contributors are encouraged to get started with the newcomers info (https://gitlab.haskell.org/ghc/ghc/wikis/contributing).

3.4 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of ghc/ghc, a Haskell project with 3,271 GitHub stars. SynthScan v2.0 examined 257,751 lines of code across 1249 source files, recording 852 pattern matches distributed across 16 syntactic categories. The overall adjusted score of 3.4 places this repository in the Likely human-written band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

3.4
Adjusted Score
3.4
Raw Score
100%
Time Factor
2026-07-14
Last Push
3.3K
Stars
Haskell
Language
257.8K
Lines of Code
1.2K
Files
852
Pattern Hits
2026-07-14
Scan Date
0.00
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 1MEDIUM 49LOW 802

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 852 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Over-Commented Block616 hits · 582 pts
SeverityFileLineSnippetContext
LOW.gitlab-ci.yml41COMMENT
LOW.gitlab-ci.yml81# 2. merge requests. Here we perform a slightly less exhaustive battery ofCOMMENT
LOW.gitlab-ci.yml161COMMENT
LOW.gitlab-ci.yml181###COMMENT
LOW.gitlab-ci.yml781 - if: '$RELEASE_JOB == "yes"'COMMENT
LOWhie.yaml1# This is a IDE configuration file which tells IDEs such as `ghcide` howCOMMENT
LOW.gitlab/ci.sh261 git config user.name "GHC GitLab CI"COMMENT
LOW.gitlab/ci.sh901 # From man CP(1)COMMENT
LOW.gitlab/rel_eng/upload.sh1#!/usr/bin/env nix-shellCOMMENT
LOW.gitlab/rel_eng/upload.sh21#COMMENT
LOWhadrian/stack.yaml1# This is a Stack project-level configuration file. It allows Stack to build theCOMMENT
LOWhadrian/hie.yaml1# This is a IDE configuration file which tells IDEs such as `ghcide` howCOMMENT
LOWrts/Weak.c1/* -----------------------------------------------------------------------------COMMENT
LOWrts/Weak.c121 }COMMENT
LOWrts/IOManager.h61 * RTS side and the Haskell code in the base library. By treating them asCOMMENT
LOWrts/IOManager.h81 * IOMGR_DEFAULT_{NON_}THREADED_<name> flags to derived a CPP variableCOMMENT
LOWrts/IOManager.h101#elif defined(IOMGR_DEFAULT_NON_THREADED_WIN32_LEGACY)COMMENT
LOWrts/IOManager.h121#endifCOMMENT
LOWrts/PathUtils.h21#define open wopenCOMMENT
LOWrts/xxhash.h321 */COMMENT
LOWrts/xxhash.h361# undef XXH32COMMENT
LOWrts/xxhash.h381# undef XXH3_64bitsCOMMENT
LOWrts/xxhash.h421# define XXH_IPREF(Id) XXH_NAMESPACE ## IdCOMMENT
LOWrts/xxhash.h441 * Stable APICOMMENT
LOWrts/xxhash.h461# define XXH_NAME2(A,B) XXH_CAT(A,B)COMMENT
LOWrts/xxhash.h481# define XXH64_canonicalFromHash XXH_NAME2(XXH_NAMESPACE, XXH64_canonicalFromHash)COMMENT
LOWrts/xxhash.h501# define XXH3_128bits XXH_NAME2(XXH_NAMESPACE, XXH3_128bits)COMMENT
LOWrts/xxhash.h521COMMENT
LOWrts/xxhash.h1701 XXH32_hash_t reserved32; /*!< Reserved field, needed for padding anyways*/COMMENT
LOWrts/xxhash.h2301# define XXH_FORCE_MEMORY_ACCESS 1COMMENT
LOWrts/xxhash.h2321# define XXH_FORCE_ALIGN_CHECK 1COMMENT
LOWrts/xxhash.h2421# define XXH_NO_INLINE staticCOMMENT
LOWrts/xxhash.h2441# define XXH_STATIC staticCOMMENT
LOWrts/xxhash.h2481# elseCOMMENT
LOWrts/xxhash.h2541***************************************/COMMENT
LOWrts/xxhash.h2781 * @p x and @p r may be evaluated multiple times.COMMENT
LOWrts/xxhash.h2901 */COMMENT
LOWrts/xxhash.h3821#if (defined(__GNUC__) && (__GNUC__ >= 3)) \COMMENT
LOWrts/xxhash.h3841#endifCOMMENT
LOWrts/xxhash.h3981 || (defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) \COMMENT
LOWrts/xxhash.h4001/* __ARM_FEATURE_SVE is only supported by GCC & Clang. */COMMENT
LOWrts/xxhash.h4021# elif XXH_VECTOR == XXH_SSE2 /* sse2 */COMMENT
LOWrts/xxhash.h4221# pragma push_macro("vector")COMMENT
LOWrts/xxhash.h4241typedef __vector unsigned xxh_u32x4;COMMENT
LOWrts/xxhash.h4341# if XXH_SIZE_OPT >= 1COMMENT
LOWrts/xxhash.h4861/* ======= Long Keys ======= */COMMENT
LOWrts/xxhash.h5921typedef void (*XXH3_f_accumulate)(xxh_u64* XXH_RESTRICT, const xxh_u8* XXH_RESTRICT, const xxh_u8* XXH_RESTRICT, size_t)COMMENT
LOWrts/xxhash.h5941COMMENT
LOWrts/xxhash.h5961#elif (XXH_VECTOR == XXH_SVE)COMMENT
LOWrts/RetainerProfile.c281 timesAnyObjectVisited++;COMMENT
LOWrts/Task.h121 Condition cond; // used for sleeping & waking up this taskCOMMENT
LOWrts/Task.h201// Create a new Task for a bound thread. This Task must be releasedCOMMENT
LOWrts/Task.h221void freeMyTask(void);COMMENT
LOWrts/Task.h241#if defined(THREADED_RTS)COMMENT
LOWrts/Task.h261COMMENT
LOWrts/Task.h301// and in practice on some platforms it is a pointer type.COMMENT
LOWrts/StablePtr.h41#if defined(THREADED_RTS)COMMENT
LOWrts/STM.c81#include "RtsFlags.h"COMMENT
LOWrts/STM.c601 // Since in both cases e->new_value == e->expected_value. But in (1)COMMENT
LOWrts/STM.c721}COMMENT
556 more matches not shown…
Decorative Section Separators27 hits · 87 pts
SeverityFileLineSnippetContext
MEDIUM.gitlab/common.sh2# ----------------------COMMENT
MEDIUMrts/sm/Sanity.c254 * Root ────→ │ Just │ ╭───→ │ Weak# │ ←─────── weak_ptr_listCOMMENT
MEDIUMrts/sm/Sanity.c299 * ╰───→ │ Weak# │ ←─────┤ │COMMENT
MEDIUMtestsuite/driver/testglobals.py10# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/testglobals.py285# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/testglobals.py349# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/perf_notes.py863 # --------------------------------------------COMMENT
MEDIUMtestsuite/driver/testlib.py1181# ----------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/testlib.py3389# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/testlib.py120# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/testlib.py1480# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/testlib.py1500# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/testlib.py1896# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/testlib.py1917# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/testlib.py1947# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/testlib.py2120# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/testlib.py2253# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/testlib.py2382# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/testlib.py2484# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/testlib.py2597# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/testlib.py3271# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/testlib.py3556# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/testlib.py3569# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/runtests.py66# -----------------------------------------------------------------------------COMMENT
MEDIUMtestsuite/driver/runtests.py330# -----------------------------------------------------------------------------COMMENT
MEDIUMutils/completion/ghc.bash1# ========================================COMMENT
MEDIUMutils/completion/ghc.bash3# ========================================COMMENT
Unused Imports47 hits · 45 pts
SeverityFileLineSnippetContext
LOW.gitlab/rel_eng/upload_ghc_libs.py19CODE
LOW.gitlab/rel_eng/upload_ghc_libs.py23CODE
LOW.gitlab/rel_eng/upload_ghc_libs.py23CODE
LOW.gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py27CODE
LOW.gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py27CODE
LOW.gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py28CODE
LOW.gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py29CODE
LOW.gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py31CODE
LOW.gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py31CODE
LOW.gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py31CODE
LOW.gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py31CODE
LOW.gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py32CODE
LOW.gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py33CODE
LOW.gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py34CODE
LOW.gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py35CODE
LOWrts/gen_event_types.py6CODE
LOWtestsuite/driver/my_typing.py11CODE
LOWtestsuite/driver/my_typing.py12CODE
LOWtestsuite/driver/my_typing.py21CODE
LOWtestsuite/driver/testglobals.py5CODE
LOWtestsuite/driver/testglobals.py7CODE
LOWtestsuite/driver/testglobals.py8CODE
LOWtestsuite/driver/cpu_features.py3CODE
LOWtestsuite/driver/cpu_features.py4CODE
LOWtestsuite/driver/perf_notes.py14CODE
LOWtestsuite/driver/perf_notes.py22CODE
LOWtestsuite/driver/perf_notes.py29CODE
LOWtestsuite/driver/testlib.py18CODE
LOWtestsuite/driver/testlib.py31CODE
LOWtestsuite/driver/testlib.py32CODE
LOWtestsuite/driver/testlib.py36CODE
LOWtestsuite/driver/junit.py1CODE
LOWtestsuite/driver/testutil.py5CODE
LOWtestsuite/driver/testutil.py8CODE
LOWtestsuite/driver/_elffile.py33CODE
LOWtestsuite/driver/runtests.py15CODE
LOWtestsuite/driver/runtests.py38CODE
LOWtestsuite/driver/runtests.py38CODE
LOWtestsuite/driver/runtests.py269CODE
LOWtestsuite/tests/linters/regex-linters/linter.py5CODE
LOWtestsuite/tests/linters/regex-linters/linter.py11CODE
LOWtestsuite/tests/linters/regex-linters/linter.py11CODE
LOWutils/haddock/doc/conf.py3CODE
LOWutils/haddock/doc/conf.py4CODE
LOWutils/haddock/doc/conf.py5CODE
LOWdocs/users_guide/conf.py14CODE
LOWdocs/users_guide/utils.py3CODE
Excessive Try-Catch Wrapping48 hits · 44 pts
SeverityFileLineSnippetContext
LOW.gitlab/rel_eng/fetch-gitlab-artifacts/fetch_gitlab.py149 except Exception as e:CODE
MEDIUMtestsuite/driver/cpuinfo.py461def _to_decimal_string(ticks):CODE
MEDIUMtestsuite/driver/cpuinfo.py491def _hz_short_to_full(ticks, scale):CODE
MEDIUMtestsuite/driver/cpuinfo.py510def _hz_friendly_to_full(hz_string):CODE
MEDIUMtestsuite/driver/cpuinfo.py532def _hz_short_to_friendly(ticks, scale):CODE
MEDIUMtestsuite/driver/cpuinfo.py690def _parse_dmesg_output(output):CODE
LOWtestsuite/driver/cpuinfo.py394 except Exception:CODE
LOWtestsuite/driver/cpuinfo.py452 except Exception:CODE
LOWtestsuite/driver/cpuinfo.py488 except Exception:CODE
LOWtestsuite/driver/cpuinfo.py507 except Exception:CODE
LOWtestsuite/driver/cpuinfo.py529 except Exception:CODE
LOWtestsuite/driver/cpuinfo.py563 except Exception:CODE
LOWtestsuite/driver/cpuinfo.py611 except Exception as err:CODE
LOWtestsuite/driver/cpuinfo.py779 except Exception as err:CODE
LOWtestsuite/driver/cpuinfo.py1604 except Exception as err:CODE
LOWtestsuite/driver/cpuinfo.py1717 except Exception as err:CODE
LOWtestsuite/driver/cpuinfo.py1769 except Exception:CODE
LOWtestsuite/driver/cpuinfo.py1781 except Exception:CODE
LOWtestsuite/driver/cpuinfo.py1814 except Exception as err:CODE
LOWtestsuite/driver/cpuinfo.py1861 except Exception as err:CODE
LOWtestsuite/driver/cpuinfo.py1958 except Exception as err:CODE
LOWtestsuite/driver/cpuinfo.py2117 except Exception as err:CODE
LOWtestsuite/driver/cpuinfo.py2205 except Exception as err:CODE
LOWtestsuite/driver/cpuinfo.py2280 except Exception as err:CODE
LOWtestsuite/driver/cpuinfo.py2362 except Exception as err:CODE
LOWtestsuite/driver/cpuinfo.py2446 except Exception as err:CODE
LOWtestsuite/driver/cpuinfo.py2552 except Exception as err:CODE
LOWtestsuite/driver/cpuinfo.py2620 except Exception as err:CODE
LOWtestsuite/driver/cpuinfo.py2654 except Exception as err:CODE
LOWtestsuite/driver/cpuinfo.py2797 except Exception as err:CODE
MEDIUMtestsuite/driver/testlib.py2205def report_stats(name, way, metric, gen_stat):CODE
LOWtestsuite/driver/testlib.py1709 except Exception as e:CODE
LOWtestsuite/driver/testlib.py1719 except Exception as e:CODE
LOWtestsuite/driver/testlib.py1727 except Exception as e:CODE
LOWtestsuite/driver/testlib.py732 except Exception as e:CODE
LOWtestsuite/driver/testlib.py2696 except Exception:CODE
LOWtestsuite/driver/testlib.py3268 except Exception:CODE
LOWtestsuite/driver/testlib.py3416 except Exception as e:CODE
LOWtestsuite/driver/testlib.py3427 except Exception as e:CODE
LOWtestsuite/driver/testlib.py3531 except Exception as e:CODE
LOWtestsuite/driver/runtests.py348except Exception as e:CODE
LOWtestsuite/driver/runtests.py463 except Exception as e:CODE
LOW…uite/tests/linters/regex-linters/check-rts-includes.py22 except Exception as e:CODE
LOW…uite/tests/linters/regex-linters/check-rts-includes.py52 except Exception as e:CODE
LOW…uite/tests/linters/regex-linters/check-rts-includes.py94 except Exception as e:CODE
LOWtestsuite/tests/linters/regex-linters/linter.py89 except Exception as e:STRING
MEDIUMtestsuite/tests/linters/checkUniques/check-uniques.py40 print("Error: check-uniques: run from wrong directory?")CODE
MEDIUMtestsuite/tests/linters/checkUniques/check-uniques.py44 print("Error: check-uniques: Found Unique conflict")CODE
Hyper-Verbose Identifiers38 hits · 29 pts
SeverityFileLineSnippetContext
LOWrts/gen_event_types.py157def generate_event_types_array() -> str:CODE
LOWrts/gen_event_types.py184def generate_event_types_defines() -> str:CODE
LOWtestsuite/driver/cpuinfo.py251 def sysctl_machdep_cpu_hw_cpufrequency():CODE
LOWtestsuite/driver/cpuinfo.py348def _read_windows_registry_key(key_name, field_name):CODE
LOWtestsuite/driver/cpuinfo.py638def _parse_cpu_brand_string_dx(cpu_string):CODE
LOWtestsuite/driver/cpuinfo.py892def _filter_dict_keys_with_empty_values(info, acceptable_values = {}):CODE
LOWtestsuite/driver/cpuinfo.py1100 def get_max_extension_support(self):CODE
LOWtestsuite/driver/cpuinfo.py1537def _get_cpu_info_from_cpuid_actual():CODE
LOWtestsuite/driver/cpuinfo.py1612def _get_cpu_info_from_cpuid_subprocess_wrapper(queue):CODE
LOWtestsuite/driver/cpuinfo.py1723def _get_cpu_info_from_proc_cpuinfo():CODE
LOWtestsuite/driver/cpuinfo.py1819def _get_cpu_info_from_cpufreq_info():CODE
LOWtestsuite/driver/cpuinfo.py1995def _get_cpu_info_from_ibm_pa_features():CODE
LOWtestsuite/driver/cpuinfo.py2122def _get_cpu_info_from_cat_var_run_dmesg_boot():CODE
LOWtestsuite/driver/cpuinfo.py2146def _get_cpu_info_from_sysctl():CODE
LOWtestsuite/driver/cpuinfo.py2210def _get_cpu_info_from_sysinfo():CODE
LOWtestsuite/driver/cpuinfo.py2451def _get_cpu_info_from_registry():CODE
LOWtestsuite/driver/cpuinfo.py2624def _get_cpu_info_from_platform_uname():CODE
LOWtestsuite/driver/perf_notes.py248def parse_allowed_perf_changes(commitMsg: strCODE
LOWtestsuite/driver/perf_notes.py538def get_commit_metric_value_str_or_none(gitNoteRef,CODE
LOWtestsuite/driver/testlib.py606def pre_cmd_timeout_multiplier( val: float ):CODE
LOWtestsuite/driver/testlib.py609def _pre_cmd_timeout_multiplier( name, opts, v ):CODE
LOWtestsuite/driver/testlib.py612def compile_timeout_multiplier( val: float ):CODE
LOWtestsuite/driver/testlib.py615def _compile_timeout_multiplier( name, opts, v ):CODE
LOWtestsuite/driver/testlib.py1191def collect_runtime_residency(tolerance_pct: float):CODE
LOWtestsuite/driver/testlib.py1197def collect_compiler_residency(tolerance_pct: float):CODE
LOWtestsuite/driver/testlib.py3378def exit_code_specific_message(exit_code: int) -> str:CODE
LOWtestsuite/driver/testlib.py3382def format_bad_exit_code_message(exit_code: int) -> str:CODE
LOWtestsuite/driver/testlib.py379def req_ghc_with_threaded_rts( name, opts ):CODE
LOWtestsuite/driver/testlib.py1053def have_fully_static_linking( ) -> bool:CODE
LOWtestsuite/driver/testlib.py1134def collect_compiler_perf_counters(counters: List[str], deviation: Optional[int] = None):CODE
LOWtestsuite/driver/testlib.py1142def _collect_compiler_perf_counters(counters: Set[str], deviation: Optional[int] = None):CODE
LOWtestsuite/driver/testlib.py1384def _normalise_whitespace_fun(name, opts, f):CODE
LOWtestsuite/driver/testlib.py1559def get_package_cache_timestamp() -> float:CODE
LOWtestsuite/driver/testutil.py95def residency_testing_metrics():CODE
LOW…hc-internal/tools/ucd2haskell/tests/check_test_data.py224def general_category_hash_with_salt(s: c_int, c: str):CODE
LOW…hc-internal/tools/ucd2haskell/tests/check_test_data.py227def general_category_hash_check(acc, c: str):CODE
LOW…hc-internal/tools/ucd2haskell/tests/check_test_data.py243def case_mapping_hash_with_salt(s: c_int, c: str):CODE
LOW…k/haddock-api/resources/html/js-src/details-helper.tsx374function putInstanceListsInDefaultState() {CODE
Self-Referential Comments8 hits · 24 pts
SeverityFileLineSnippetContext
MEDIUMtestsuite/driver/cpuinfo.py3# This file is used in GHC's testsuite driver to determine the CPU featuresCOMMENT
MEDIUMtestsuite/driver/testlib.py692# Define a set of generic stat testsCOMMENT
MEDIUMutils/completion/ghc.bash7# This file implements bash completion for both GHC and GHCi.COMMENT
MEDIUMdocs/users_guide/flags.py3# This file defines a Sphinx extension to document GHC flags.COMMENT
MEDIUMdocs/users_guide/flags.py502 # Create a flagprint nodeCOMMENT
MEDIUMdocs/users_guide/flags.py593 # Create a extensionprint nodeCOMMENT
MEDIUMdocs/users_guide/conf.py5# This file is execfile()d with the current directory set to itsCOMMENT
MEDIUMdocs/users_guide/conf.py153# The following functions parse flag declarations, and then have two jobs. FirstSTRING
Deep Nesting34 hits · 22 pts
SeverityFileLineSnippetContext
LOW.gitlab/rel_eng/upload_ghc_libs.py213CODE
LOW.gitlab/rel_eng/fetch-gitlab-artifacts/fetch_gitlab.py69CODE
LOWhadrian/bootstrap/bootstrap.py159CODE
LOWhadrian/bootstrap/bootstrap.py279CODE
LOWhadrian/bootstrap/bootstrap.py370CODE
LOWtestsuite/driver/cpuinfo.py406CODE
LOWtestsuite/driver/cpuinfo.py428CODE
LOWtestsuite/driver/cpuinfo.py510CODE
LOWtestsuite/driver/cpuinfo.py532CODE
LOWtestsuite/driver/cpuinfo.py638CODE
LOWtestsuite/driver/cpuinfo.py690CODE
LOWtestsuite/driver/cpuinfo.py785CODE
LOWtestsuite/driver/cpuinfo.py1623CODE
LOWtestsuite/driver/cpuinfo.py1723CODE
LOWtestsuite/driver/cpuinfo.py2220CODE
LOWtestsuite/driver/cpuinfo.py1388CODE
LOWtestsuite/driver/perf_notes.py282CODE
LOWtestsuite/driver/perf_notes.py393CODE
LOWtestsuite/driver/testlib.py664CODE
LOWtestsuite/driver/testlib.py741CODE
LOWtestsuite/driver/testlib.py1572CODE
LOWtestsuite/driver/testlib.py1730CODE
LOWtestsuite/driver/testlib.py2271CODE
LOWtestsuite/driver/testlib.py2582CODE
LOWtestsuite/driver/testlib.py2732CODE
LOWtestsuite/driver/testlib.py2789CODE
LOWtestsuite/driver/testlib.py3236CODE
LOWtestsuite/driver/testlib.py3309CODE
LOWtestsuite/driver/testlib.py3441CODE
LOWtestsuite/driver/testlib.py3559CODE
LOWtestsuite/driver/testutil.py105CODE
LOW…uite/tests/linters/regex-linters/check-rts-includes.py40CODE
LOW…uite/tests/linters/regex-linters/check-rts-includes.py79CODE
LOWtestsuite/tests/linters/regex-linters/linter.py80CODE
AI Slop Vocabulary7 hits · 20 pts
SeverityFileLineSnippetContext
MEDIUMrts/sm/NonMovingSweep.c351// Helper for nonmovingSweepStableNameTable. Essentially nonmovingIsAlive,COMMENT
MEDIUMrts/include/rts/OSThreads.h76 // robust against system time changes and is likely cheaper to query.COMMENT
LOWtestsuite/driver/cpuinfo.py862 # Run the sestatus, and just return if it failed to runCOMMENT
MEDIUMtestsuite/driver/cpu_features.py8 # These aren't comprehensive; they are only CPU features that we care aboutCOMMENT
MEDIUMtestsuite/driver/perf_notes.py6# This file will be a utility to help facilitate the comparison of performanceCOMMENT
MEDIUMtestsuite/driver/perf_notes.py752 # Generates simple fake data. Likely not comprehensive enough to catch all edge cases.COMMENT
MEDIUMutils/llvm-targets/gen-data-layout.sh12# To utilize it run it asCOMMENT
Slop Phrases10 hits · 15 pts
SeverityFileLineSnippetContext
LOWrts/TraverseHeap.c1002 // and don't forget to follow the SRTCOMMENT
LOWrts/RtsAPI.c601 // current thread. Don't forget to release the cap first though.COMMENT
LOWrts/sm/Scav.c2032 // and don't forget to follow the SRTCOMMENT
LOWrts/sm/Compact.c940 // Don't forget to update the free ptr in the block descCOMMENT
LOWrts/sm/Evac.c414 /* Don't forget to set the gct->failed_to_evac flag if we didn't getCOMMENT
LOWrts/sm/Evac.c554 /* Don't forget to set the gct->failed_to_evac flag if we didn't getCOMMENT
LOWrts/sm/Evac.c571 /* Don't forget to set the gct->failed_to_evac flag if we didn't getCOMMENT
LOWrts/sm/NonMovingMark.c1220 // and don't forget to follow the SRTCOMMENT
LOWrts/sm/GC.c1778 // don't forget to fill it with zeros!COMMENT
LOWrts/include/rts/storage/ClosureTypes.h15 * If you add or delete any closure types, don't forget to update the following,COMMENT
Redundant / Tautological Comments5 hits · 7 pts
SeverityFileLineSnippetContext
LOW.gitlab/ci.sh393 # Check if the bindist has directory structureCOMMENT
LOWtestsuite/driver/perf_notes.py31# Check if "git rev-parse" can be run successfully.COMMENT
LOWtestsuite/driver/perf_notes.py45# Check if the worktree is dirty.COMMENT
LOWtestsuite/driver/perf_notes.py199# Check if a str is in a 40 character git commit hash.COMMENT
LOWtestsuite/driver/testlib.py2521 # Set stdout to be line-buffered to match the compiled environment.COMMENT
Overly Generic Function Names7 hits · 4 pts
SeverityFileLineSnippetContext
LOWtestsuite/driver/testlib.py470 def helper( name: TestName, opts ):CODE
LOWtestsuite/driver/testlib.py481 def helper( name: TestName, opts ):CODE
LOWtestsuite/driver/testlib.py489 def helper( name: TestName, opts ):CODE
LOWtestsuite/driver/testlib.py514 def helper( name, opts, bug=bug ):CODE
LOWtestsuite/driver/testlib.py525 def helper( name: TestName, opts ):CODE
LOWtestsuite/driver/testlib.py546 def helper( name: TestName, opts ):CODE
LOWtestsuite/driver/testlib.py566 def helper( name: TestName, opts ):CODE
Cross-Language Confusion1 hit · 2 pts
SeverityFileLineSnippetContext
HIGHtestsuite/driver/testlib.py3289 cd $working_dir && perf stat ... $cmdSTRING
Structural Annotation Overuse1 hit · 2 pts
SeverityFileLineSnippetContext
LOWrts/RtsMain.c41// NOTE: This function is marked as _noreturn_ in Main.hCOMMENT
Verbosity Indicators1 hit · 1 pts
SeverityFileLineSnippetContext
LOWrts/win32/AsyncWinIO.c403 because in principle we need to check if the capability work queue is nowCODE
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWutils/haddock/html-test/ref/Bug546.html94 >lorem ipsum</ddCODE
AI Structural Patterns1 hit · 0 pts
SeverityFileLineSnippetContext
LOWtestsuite/driver/cpuinfo.py2779CODE