<commit_before>exports.state = {
  name: 'State',
  of (val) {
    return (prevState) => this.outer.of([val, prevState])
  },
  chain (funk, val) {
    return (prevState) =>
      this.outer.chain((params) => {
        const newVal = params[0], newState = params[1]
        return funk(newVal)(newState)
      }, val(prevState))
  },
  lift (val) {
    return (prevState) =>
      this.outer.chain((innerValue) => this.outer.of([innerValue, prevState]), val)
  },
  load (val) {
    return (prevState) => this.outer.of([prevState, prevState])
  },
  save (val) {
    return (prevState) => this.outer.of([val, val])
  },
  mapState (funk, val){
    return (prevState) => this.outer.of(funk(val, prevState))
  },
  run (funk, state) {
    return this.outer.run((params)=>{
      return funk(params[0])
    }, state())
  }
}
exports.list = {
  name: 'List',
  of (val) {
    return this.outer.of([val])
  },
  chain (funk, val) {
    return this.outer.chain(innerVal => {
      const a = innerVal.map(funk)
      return a.reduce((arr, i) => {
        return this.outer.chain(a=>arr.concat(a), i)
      },[])
    }, val)
  },
  lift (val) {
    return this.outer.chain(innerValue => this.outer.of([innerValue]), val)  
  },
  run (funk, val){
    return this.outer.run((list)=>{
      return list.map(funk)
    }, val)<commit_msg>Fixed a bug in the list filter<commit_after>exports.state = {
  name: 'State',
  of (val) {
    return (prevState) => this.outer.of([val, prevState])
  },
  chain (funk, val) {
    return (prevState) =>
      this.outer.chain((params) => {
        const newVal = params[0], newState = params[1]
        return funk(newVal)(newState)
      }, val(prevState))
  },
  lift (val) {
    return (prevState) =>
      this.outer.chain((innerValue) => this.outer.of([innerValue, prevState]), val)
  },
  load (val) {
    return (prevState) => this.outer.of([prevState, prevState])
  },
  save (val) {
    return (prevState) => this.outer.of([val, val])
  },
  mapState (funk, val){
    return (prevState) => this.outer.of(funk(val, prevState))
  },
  run (funk, state) {
    return this.outer.run((params)=>{
      return funk(params[0])
    }, state())
  }
}
exports.list = {
  name: 'List',
  of (val) {
    return this.outer.of([val])
  },
  chain (funk, val) {
    return this.outer.chain(innerVal => {
      const a = innerVal.map(funk)
      return a.length === 0 ? a : a.reduce((arr, i) => {
        return this.outer.chain(a=>arr.concat(a), i)
      } )
    }, val)
  },
  lift (val) {
    return this.outer.chain(innerValue => this.outer.of([innerValue]), val)  
  },
  run (funk, val){
    return this.outer.run((list)=>{
      return list.map(funk)
    }, val)
{'fraction_non_alphanumeric': 0.18936011904761904, 'fraction_numerical': 0.0026041666666666665, 'mean_word_length': 2.771388499298738, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 31, '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': '3247115', 'n_tokens_mistral': 984, 'n_tokens_neox': 977, 'n_words': 196}