<commit_before>%
% (c) The AQUA Project, Glasgow University, 1994-1996
%
\section[DsCCall]{Desugaring \tr{_ccall_}s and \tr{_casm_}s}

\begin{code}
#include "HsVersions.h"

module DsCCall ( dsCCall ) where

IMP_Ubiq()

import CmdLineOpts (opt_PprUserLength)
import CoreSyn

import DsMonad
import DsUtils

import CoreUtils	( coreExprType )
import Id		( dataConArgTys, dataConTyCon, idType )
import Maybes		( maybeToBool )
import Outputable	( PprStyle(..), Outputable(..) )
import PprType		( GenType{-instances-} )
import Pretty
import PrelVals		( packStringForCId )
import PrimOp		( PrimOp(..) )
import Type		( isPrimType, maybeAppDataTyConExpandingDicts, maybeAppTyCon,
			  eqTy, maybeBoxedPrimType, SYN_IE(Type), GenType(..),
			  splitFunTy, splitForAllTy, splitAppTys )
import TyCon		( tyConDataCons )
import TysPrim		( byteArrayPrimTy, realWorldTy,  realWorldStatePrimTy,
			  byteArrayPrimTyCon, mutableByteArrayPrimTyCon )
import TysWiredIn	( getStatePairingConInfo,
			  unitDataCon, stringTy,
			  realWorldStateTy, stateDataCon
			)
import Util		( pprPanic, pprError, panic )

\end{code}

Desugaring of @ccall@s consists of adding some state manipulation,<commit_msg>[project @ 1997-11-13 10:52:43 by simonm] add missing import of Id(..).<commit_after>%
% (c) The AQUA Project, Glasgow University, 1994-1996
%
\section[DsCCall]{Desugaring \tr{_ccall_}s and \tr{_casm_}s}

\begin{code}
#include "HsVersions.h"

module DsCCall ( dsCCall ) where

IMP_Ubiq()

import CmdLineOpts (opt_PprUserLength)
import CoreSyn

import DsMonad
import DsUtils

import CoreUtils	( coreExprType )
import Id		( Id(..), dataConArgTys, dataConTyCon, idType )
import Maybes		( maybeToBool )
import Outputable	( PprStyle(..), Outputable(..) )
import PprType		( GenType{-instances-} )
import Pretty
import PrelVals		( packStringForCId )
import PrimOp		( PrimOp(..) )
import Type		( isPrimType, maybeAppDataTyConExpandingDicts, maybeAppTyCon,
			  eqTy, maybeBoxedPrimType, SYN_IE(Type), GenType(..),
			  splitFunTy, splitForAllTy, splitAppTys )
import TyCon		( tyConDataCons )
import TysPrim		( byteArrayPrimTy, realWorldTy,  realWorldStatePrimTy,
			  byteArrayPrimTyCon, mutableByteArrayPrimTyCon )
import TysWiredIn	( getStatePairingConInfo,
			  unitDataCon, stringTy,
			  realWorldStateTy, stateDataCon
			)
import Util		( pprPanic, pprError, panic )

\end{code}

Desugaring of @ccall@s consists of adding some state manipulation,
{'fraction_non_alphanumeric': 0.09710743801652892, 'fraction_numerical': 0.012396694214876033, 'mean_word_length': 5.0982367758186395, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '7464700', 'n_tokens_mistral': 958, 'n_tokens_neox': 892, 'n_words': 207}