<commit_before>module Main where
import qualified Text.ParserCombinators.Parsec as Parsec

symbol :: Parsec.Parser Char
symbol = Parsec.oneOf "!#$%&|*+-/:<=>?@^_~"<commit_msg>scheme parsing<commit_after>module Parsing where

import Text.ParserCombinators.Parsec (Parser, char, many, noneOf, oneOf, parse, skipMany1, space)


data LispVal = Atom String
             | List [LispVal]
             | DottedList [LispVal] LispVal
             | Number Integer
             | String String
             | Bool Bool

parseString :: Parser LispVal
parseString = do
  char '"'
  x <- many (noneOf "\"")
  char '"'
  return $ String x

symbol :: Parser Char
symbol = oneOf "!#$%&|*+-/:<=>?@^_~"

spaces :: Parser ()
spaces = skipMany1 space

readExpr :: String -> String
readExpr input = case parse (spaces >> symbol) "lisp" input of
  Left err -> "No match: " ++ show err
  Right _ -> "Found value"

main :: IO ()
main = interact $ (++ "\n") . readExpr
{'fraction_non_alphanumeric': 0.1440677966101695, 'fraction_numerical': 0.00211864406779661, 'mean_word_length': 3.090909090909091, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 10, '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': '6686383', 'n_tokens_mistral': 317, 'n_tokens_neox': 310, 'n_words': 92}