<commit_before>//require Internal/Internal.js


// a fake prelude written directly in javascript

/* the original haskell source could have looked like:

(+) = JSHC.int32add
(-) = JSHC.int32sub
(*) = JSHC.int32mul
(/) = JSHC.int32div

*/
if (JSHC.Internal === undefined)
        JSHC.Internal = {};

JSHC.Internal.Prelude = {
  // makes thunk computations of javascript operations.
//  "+": function(a,b){return JSHC.int32add(JSHC.TR(a),JSHC.TR(b))},
//  "-": function(a,b){return JSHC.int32sub(JSHC.TR(a),JSHC.TR(b))},
//  "*": function(a,b){return JSHC.int32mul(JSHC.TR(a),JSHC.TR(b))},
//  "/": function(a,b){return JSHC.int32div(JSHC.TR(a),JSHC.TR(b))},
  int32add: /*function () {return*/ function(a) {
    return function (b) { /*JSHC.alert("add: ", a, b);*/
        return JSHC.int32add((a instanceof JSHC.Thunk)? a.v : a,(b instanceof JSHC.Thunk)? b.v : b)
        }}/*}*/,
  int32sub: /*function () {return*/ function(a) {
    return function (b) {
        return JSHC.int32sub((a instanceof JSHC.Thunk)? a.v : a,(b instanceof JSHC.Thunk)? b.v : b)
        }}},
  int32mul: /*function () {return*/ function(a) {
    return function (b) {
        return JSHC.int32mul((a instanceof JSHC.Thunk)? a.v : a,(b instanceof JSHC.Thunk)? b.v : b)
        }}},
  int32div: /*function () {return*/ function(a) {
    return function (b) {
        return JSHC.int32div((a instanceof JSHC.Thunk)? a.v : a,(b instanceof JSHC.Thunk)? b.v : b)
        }}},

  int32lt: /*function () {return*/ function(a) {
    return function (b) {
        return ( (a instanceof JSHC.Thunk)? a.v : a ) < ((b instanceof JSHC.Thunk)? b.v : b) 
    }}},
  int32gt: /*function () {return*/ function(a) {
    return function (b) {
        return ( (a instanceof JSHC.Thunk)? a.v : a ) > ((b instanceof JSHC.Thunk)? b.v : b) 
    }}},
  int32le: /*function () {return*/ function(a) {
    return function (b) {
        return ( (a instanceof JSHC.Thunk)? a.v : a ) <= ((b instanceof JSHC.Thunk)? b.v : b) 
    }}},
  int32ge: /*function () {return*/ function(a) {
    return function (b) {
        return ( (a instanceof JSHC.Thunk)? a.v : a ) >= ((b instanceof JSHC.Thunk)? b.v : b) 
    }}},
  int32eq: /*function () {return*/ function(a) {
    return function (b) {
        return ( (a instanceof JSHC.Thunk)? a.v : a ) == ((b instanceof JSHC.Thunk)? b.v : b) 
    }}},
  int32ne: /*function () {return*/ function(a) {
    return function (b) {
        return ( (a instanceof JSHC.Thunk)? a.v : a ) != ((b instanceof JSHC.Thunk)? b.v : b) 
    }}},
 }

JSHC.Internal.Prelude["undefined"] = JSHC.TC(function() {return undefined});

/*
various type classes and instances

instance Eq Int32 where
  (==) = JSHC.int32eq

instance Ord Int32 where
  compare = JSHC.int32cmp
  (<) = JSHC.int32lt
  (>=) = JSHC.int32ge
  (>) = JSHC.int32gt
  (<=) = JSHC.int32le
  max = JSHC.int32max
  min = JSHC.int32min

-- from page 51: "Precedences and fixities of prelude operators"
infixl 9 !!
infixl 7 *, /, `div`, `mod`, `rem`, `quot`
infixl 6 +, -
infixl 1 >>, >>=
infix 4 ==, /=, <, <=, >, >=, `elem`, `notElem`
infixr 9 (.)
infixr 8 ^, ^^, **
infixr 5 :, ++
infixr 3 &&
infixr 2 ||<commit_msg>fixed syntax error<commit_after>//require Internal/Internal.js


// a fake prelude written directly in javascript

/* the original haskell source could have looked like:

(+) = JSHC.int32add
(-) = JSHC.int32sub
(*) = JSHC.int32mul
(/) = JSHC.int32div

*/
if (JSHC.Internal === undefined)
        JSHC.Internal = {};

JSHC.Internal.Prelude = {
  // makes thunk computations of javascript operations.
//  "+": function(a,b){return JSHC.int32add(JSHC.TR(a),JSHC.TR(b))},
//  "-": function(a,b){return JSHC.int32sub(JSHC.TR(a),JSHC.TR(b))},
//  "*": function(a,b){return JSHC.int32mul(JSHC.TR(a),JSHC.TR(b))},
//  "/": function(a,b){return JSHC.int32div(JSHC.TR(a),JSHC.TR(b))},
  int32add: /*function () {return*/ function(a) {
    return function (b) { /*JSHC.alert("add: ", a, b);*/
        return JSHC.int32add((a instanceof JSHC.Thunk)? a.v : a,(b instanceof JSHC.Thunk)? b.v : b)
        }}/*}*/,
  int32sub: /*function () {return*/ function(a) {
    return function (b) {
        return JSHC.int32sub((a instanceof JSHC.Thunk)? a.v : a,(b instanceof JSHC.Thunk)? b.v : b)
        }}/*}*/,
  int32mul: /*function () {return*/ function(a) {
    return function (b) {
        return JSHC.int32mul((a instanceof JSHC.Thunk)? a.v : a,(b instanceof JSHC.Thunk)? b.v : b)
        }}/*}*/,
  int32div: /*function () {return*/ function(a) {
    return function (b) {
        return JSHC.int32div((a instanceof JSHC.Thunk)? a.v : a,(b instanceof JSHC.Thunk)? b.v : b)
        }}/*}*/,

  int32lt: /*function () {return*/ function(a) {
    return function (b) {
        return ( (a instanceof JSHC.Thunk)? a.v : a ) < ((b instanceof JSHC.Thunk)? b.v : b) 
    }}/*}*/,
  int32gt: /*function () {return*/ function(a) {
    return function (b) {
        return ( (a instanceof JSHC.Thunk)? a.v : a ) > ((b instanceof JSHC.Thunk)? b.v : b) 
    }}/*}*/,
  int32le: /*function () {return*/ function(a) {
    return function (b) {
        return ( (a instanceof JSHC.Thunk)? a.v : a ) <= ((b instanceof JSHC.Thunk)? b.v : b) 
    }}/*}*/,
  int32ge: /*function () {return*/ function(a) {
    return function (b) {
        return ( (a instanceof JSHC.Thunk)? a.v : a ) >= ((b instanceof JSHC.Thunk)? b.v : b) 
    }}/*}*/,
  int32eq: /*function () {return*/ function(a) {
    return function (b) {
        return ( (a instanceof JSHC.Thunk)? a.v : a ) == ((b instanceof JSHC.Thunk)? b.v : b) 
    }}/*}*/,
  int32ne: /*function () {return*/ function(a) {
    return function (b) {
        return ( (a instanceof JSHC.Thunk)? a.v : a ) != ((b instanceof JSHC.Thunk)? b.v : b) 
    }}/*}*/,
 }

JSHC.Internal.Prelude["undefined"] = JSHC.TC(function() {return undefined});

/*
various type classes and instances

instance Eq Int32 where
  (==) = JSHC.int32eq

instance Ord Int32 where
  compare = JSHC.int32cmp
  (<) = JSHC.int32lt
  (>=) = JSHC.int32ge
  (>) = JSHC.int32gt
  (<=) = JSHC.int32le
  max = JSHC.int32max
  min = JSHC.int32min

-- from page 51: "Precedences and fixities of prelude operators"
infixl 9 !!
infixl 7 *, /, `div`, `mod`, `rem`, `quot`
infixl 6 +, -
infixl 1 >>, >>=
infix 4 ==, /=, <, <=, >, >=, `elem`, `notElem`
infixr 9 (.)
infixr 8 ^, ^^, **
infixr 5 :, ++
infixr 3 &&
infixr 2 ||
{'fraction_non_alphanumeric': 0.20387584685678273, 'fraction_numerical': 0.023948322041909564, 'mean_word_length': 2.9257884972170687, 'pattern_counts': {'":': 8, '<': 15, '<?xml version=': 0, '>': 23, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '203154', 'n_tokens_mistral': 2646, 'n_tokens_neox': 2516, 'n_words': 566}