Git Product home page Git Product logo

cuphic's People

Contributors

simongray avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

cuphic's Issues

Search/find nodes

So far, most of the functionality has been focused on finding and replacing (transforming), but finding should also be available stand-alone (needed for e.g. finding metadata in TEI-XML documents produced by Dorte).

The crucial thing here is to make it a single-pass thing (just like transformations) to preserve performance. It makes sense to make the API take 1 or more patterns, possibly using named args and then simply return a map from keyword->list of each found pattern (plus metadata most likely) within the hiccup.

Reduce complexity significantly

Subtle errors such as the one fixed in a9d6a59 keep popping up way too often. Fixing the errors are hard since the code has become fairly complex.

I think this complexity that came about as a result of having to support fragment patterns. Suddenly, the algorithm went from being very simple to grasp, to being extremely complex with multiple routes to follow. However, fragments are quite essential to the workings of the algorithm.

Perhaps I need to look at incorporating more third party libs for doing the matching. Core.unify? Or perhaps one of the other data transformation libs as a base?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.