<commit_before># Haskell KiCad Data

Parse and write KiCad data (currently .kicad_mod files only).


    $ cabal repl

```ghci
*Data.Kicad.PcbnewExpr> let pad = parse "(pad 1 smd rect (size 1.0 1.0) (at 1.0 1.0))"
*Data.Kicad.PcbnewExpr> pad
Right (PcbnewExprItem (PcbnewPad {padNumber = "1", padType = SMD, padShape
= Rect, itemAt = PcbnewAtT {pcbnewAtPoint = (1.0,1.0), pcbnewAtOrientation =
0.0}, itemSize = (1.0,1.0), padLayers = [], padAttributes_ = []}))
*Data.Kicad.PcbnewExpr> fmap pretty pad
Right (pad "1" smd rect (at 1 1) (size 1 1) (layers))
```


See [docs on Hackage](https://hackage.haskell.org/package/kicad-data).<commit_msg>Fix language in README<commit_after># Haskell KiCad Data

Parse and write KiCad data (currently .kicad_mod files only).


    $ cabal repl

```haskell
*Data.Kicad.PcbnewExpr> let pad = parse "(pad 1 smd rect (size 1.0 1.0) (at 1.0 1.0))"
*Data.Kicad.PcbnewExpr> pad
Right (PcbnewExprItem (PcbnewPad {padNumber = "1", padType = SMD, padShape
= Rect, itemAt = PcbnewAtT {pcbnewAtPoint = (1.0,1.0), pcbnewAtOrientation =
0.0}, itemSize = (1.0,1.0), padLayers = [], padAttributes_ = []}))
*Data.Kicad.PcbnewExpr> fmap pretty pad
Right (pad "1" smd rect (at 1 1) (size 1 1) (layers))
```


See [docs on Hackage](https://hackage.haskell.org/package/kicad-data).
{'fraction_non_alphanumeric': 0.16024653312788906, 'fraction_numerical': 0.03852080123266564, 'mean_word_length': 4.367768595041323, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 9, 'https://': 2, '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': '1605961', 'n_tokens_mistral': 570, 'n_tokens_neox': 524, 'n_words': 144}