All Projects β†’ note β†’ xml-lens

note / xml-lens

Licence: MIT license
XML Optics library for Scala

Programming Languages

scala
5932 projects

Labels

Projects that are alternatives of or similar to xml-lens

Fsharpplus
Extensions for F#
Stars: ✭ 589 (+1740.63%)
Mutual labels:  lenses
Prolens
πŸ‘“ Profunctor based lightweight implementation of Lenses
Stars: ✭ 63 (+96.88%)
Mutual labels:  lenses
Sauron
Yet another Scala lens macro
Stars: ✭ 166 (+418.75%)
Mutual labels:  lenses
Quicklens
Modify deeply nested case class fields
Stars: ✭ 641 (+1903.13%)
Mutual labels:  lenses
Dart functional data
Simple and non-intrusive code generator for lenses and boilerplate of data types
Stars: ✭ 39 (+21.88%)
Mutual labels:  lenses
Datum
pure functional and generic programming for Erlang
Stars: ✭ 111 (+246.88%)
Mutual labels:  lenses
Dontfeartheprofunctoroptics
Don't Fear the Profunctor Optics!
Stars: ✭ 367 (+1046.88%)
Mutual labels:  lenses
Focus
Lightweight Elixir lenses
Stars: ✭ 224 (+600%)
Mutual labels:  lenses
Lens
A Racket package for creating and composing pure functional lenses
Stars: ✭ 54 (+68.75%)
Mutual labels:  lenses
Elm Monocle
Functional abstractions to manipulate complex records in Elm - Iso, Prism, Lens, Optional, Traversal.
Stars: ✭ 137 (+328.13%)
Mutual labels:  lenses
Monocle Ts
Functional optics: a (partial) porting of Scala monocle
Stars: ✭ 657 (+1953.13%)
Mutual labels:  lenses
Lambda
Functional patterns for Java
Stars: ✭ 737 (+2203.13%)
Mutual labels:  lenses
Lens Regex Pcre
Text lenses using PCRE regexes
Stars: ✭ 116 (+262.5%)
Mutual labels:  lenses
Focal
Program user interfaces the FRP way.
Stars: ✭ 613 (+1815.63%)
Mutual labels:  lenses
Documentation
How does it all fit together?
Stars: ✭ 177 (+453.13%)
Mutual labels:  lenses
Generic Lens
Generically derive traversals, lenses, and prisms.
Stars: ✭ 399 (+1146.88%)
Mutual labels:  lenses
To.ml
OCaml library for TOML
Stars: ✭ 68 (+112.5%)
Mutual labels:  lenses
Microlens
A lightweight (but compatible with β€˜lens’) lenses library
Stars: ✭ 254 (+693.75%)
Mutual labels:  lenses
Python Lenses
A python lens library for manipulating deeply nested immutable structures
Stars: ✭ 179 (+459.38%)
Mutual labels:  lenses
Typed
The TypeScript Standard Library
Stars: ✭ 124 (+287.5%)
Mutual labels:  lenses

XML Optics library for Scala. Documentation available here: https://note.github.io/xml-lens/

Build Status Coverage Status

Motivation

XML scala libraries are kind of neglected. That stands in stark contrast to JSON for which Scala has dozens of projects. Of course, JSON is much more popular and XML at the same time is regarded as a legacy standard but still - there are many situations where you need to work with XML.

Status of project

Some early versions of the project has been released. It's definitely not very mature yet. In next releases I would like to focus on DSL and optics aspects as suprisingly in the first release a lot of time was spent on io module. Don't expect rapid development as it's just side project made in my free time.

Various

How to generate documentation

sbt docs/makeMicrosite

After docs has been successfully generated you can serve it with:

cd docs/target/site
jekyll serve

Pushing documentation to github page

You can push generated documentation with:

docs/ghpagesPushSite

Mind that you have to have access to push to repository defined in build.sbt to make above snippet work.

How to run JMH benchmark

Example:

bench/jmh:run -i 10 -wi 10 -f1 -t1 -prof gc .*Roundtrip*.

Contributing

Contributions are very welcome. All code or documentation that is provided must be licensed with the same license xml-lens is licensed with (MIT license, available here.

License

All code is available to you under the MIT license, available here.

Acknowledgements

Many thanks to scalac that funded early development of xml-lens.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].