npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

brisk-reconciler

v1.0.0-alpha.0

Published

[![Build Status](https://dev.azure.com/briskml/brisk-reconciler/_apis/build/status/briskml.brisk-reconciler?branchName=master)](https://dev.azure.com/briskml/brisk-reconciler/_build/latest?definitionId=2&branchName=master)

Downloads

9

Readme

Build Status

brisk-reconciler

An easy way to model any tree-shaped state with simple stateful functions

Definitions:

  • tree-shaped state: Any tree shaped-state like the DOM tree, app navigation state, or even rich text document!
  • stateful functions: Functions that maintain state over time. Imagine that you can take any variable in your function and manage its value over the function's invocation. Now, imagine that any function invocation really creates its own "instance" of the function which will track this state separately from other invocations of this function.

Why?

We want to provide expressive and powerful abstractions to build and update trees of dynamic data. We built it with UIs in mind but this library is generally applicable.

We encourage you to experiment with this abstraction for different types of outputs. Thanks to OutputTree-agnostic Hooks (the mechanism which makes functions stateful), different types of outputs can use the same internal logic for updates or side effects.

One example of this is Brisk and Revery, where we have two vastly different approaches to building UIs. However, thanks to the shared layer, we envision that it'll be very simple to use the two at the same time.

We are building it in Reason. It's a very fast, scalable, and extremely expressive language with an amazing FFI. It has an incredibly powerful type system. Reason is a bridge between the world of mainstream programming and great ideas born in academia. It is an alternative syntax to OCaml so you can use (or even convert between) the two at the same time.

Projects which use brisk-reconciler

Examples

  • Lambda_term

    • cd examples/lambda-term
    • esy
    • esy run
  • DOM

    • cd examples/dom
    • esy
    • open index.html

Contributing

Install esy

npm install -g esy

Installation using opam

We currently don't have an opam workflow ready. We're open to contributions!

Development workflow

Take a look at our issues if you'd like to get an idea where to start.

  • build: esy
  • test: esy test

Community

Join us on reason native ui discord server here.

License

This project is provided under the MIT License.