<commit_before>%
% (c) The AQUA Project, Glasgow University, 1994-1996
%

\section[PrelErr]{Module @PrelErr@}

The PrelErr module defines the code for the wired-in error functions,
which have a special type in the compiler (with "open tyvars").

We cannot define these functions in a module where they might be used
(e.g., PrelBase), because the magical wired-in type will get confused
with what the typechecker figures out.

\begin{code}
{-# OPTIONS -fno-implicit-prelude #-}
module PrelErr 

       (
         irrefutPatError
       , noMethodBindingError
       , nonExhaustiveGuardsError
       , patError
       , recConError
       , recUpdError               -- :: String -> a

       , absentErr, parError       -- :: a
       , seqError                  -- :: a

       , error		           -- :: String -> a
       , ioError	           -- :: String -> a
       , assert__		   -- :: String -> Bool -> a -> a
       ) where

--import Prelude
import PrelBase
import PrelIOBase
import PrelAddr
import PrelForeign  ( StablePtr, deRefStablePtr )
import PrelList     ( span )


---------------------------------------------------------------
-- HACK: Magic unfoldings not implemented for unboxed lists
--	 Need to define a "build" to avoid undefined symbol
-- in this module to avoid .hi proliferation.

build   = error "GHCbase.build"
augment = error "GHCbase.augment"
--{-# GENERATE_SPECS build a #-}
--build 		:: ((a -> [a] -> [a]) -> [a] -> [a]) -> [a]
--build g 	= g (:) []
\end{code}

%*********************************************************
%*							*
\subsection{Error-ish functions}
%*							*<commit_msg>[project @ 1998-02-12 14:45:21 by simonm] protect some StablePtr stuff from __PARALLEL_HASKELL__.<commit_after>%
% (c) The AQUA Project, Glasgow University, 1994-1996
%

\section[PrelErr]{Module @PrelErr@}

The PrelErr module defines the code for the wired-in error functions,
which have a special type in the compiler (with "open tyvars").

We cannot define these functions in a module where they might be used
(e.g., PrelBase), because the magical wired-in type will get confused
with what the typechecker figures out.

\begin{code}
{-# OPTIONS -fno-implicit-prelude #-}
module PrelErr 

       (
         irrefutPatError
       , noMethodBindingError
       , nonExhaustiveGuardsError
       , patError
       , recConError
       , recUpdError               -- :: String -> a

       , absentErr, parError       -- :: a
       , seqError                  -- :: a

       , error		           -- :: String -> a
       , ioError	           -- :: String -> a
       , assert__		   -- :: String -> Bool -> a -> a
       ) where

--import Prelude
import PrelBase
import PrelIOBase
import PrelAddr
import PrelList     ( span )

#ifndef __PARALLEL_HASKELL__
import PrelForeign  ( StablePtr, deRefStablePtr )
#endif

---------------------------------------------------------------
-- HACK: Magic unfoldings not implemented for unboxed lists
--	 Need to define a "build" to avoid undefined symbol
-- in this module to avoid .hi proliferation.

build   = error "GHCbase.build"
augment = error "GHCbase.augment"
--{-# GENERATE_SPECS build a #-}
--build 		:: ((a -> [a] -> [a]) -> [a] -> [a]) -> [a]
--build g 	= g (:) []
\end{code}

%*********************************************************
%*							*
\subsection{Error-ish functions}
%*							*
{'fraction_non_alphanumeric': 0.18057210965435042, 'fraction_numerical': 0.008939213349225268, 'mean_word_length': 2.1315298507462686, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 25, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '202196', 'n_tokens_mistral': 1077, 'n_tokens_neox': 996, 'n_words': 319}