A timeline of the last four years of detecting good old window.localStorage
.
October 2009: 5059daa
A timeline of the last four years of detecting good old window.localStorage
.
October 2009: 5059daa
{-# LANGUAGE RankNTypes #-} | |
{-# LANGUAGE TypeOperators #-} | |
{-# LANGUAGE FlexibleInstances #-} | |
{-# LANGUAGE TypeFamilies #-} | |
{-# LANGUAGE MultiParamTypeClasses #-} | |
{-# LANGUAGE FunctionalDependencies #-} | |
{-# LANGUAGE UndecidableInstances #-} | |
{-# LANGUAGE FlexibleContexts #-} | |
{-# LANGUAGE DeriveDataTypeable #-} | |
{-# LANGUAGE PolyKinds #-} |
{-# LANGUAGE RankNTypes #-} | |
{-# LANGUAGE TypeOperators #-} | |
{-# LANGUAGE FlexibleInstances #-} | |
{-# LANGUAGE TypeFamilies #-} | |
{-# LANGUAGE MultiParamTypeClasses #-} | |
{-# LANGUAGE FunctionalDependencies #-} | |
{-# LANGUAGE UndecidableInstances #-} | |
{-# LANGUAGE FlexibleContexts #-} | |
{-# LANGUAGE DeriveDataTypeable #-} | |
{-# LANGUAGE PolyKinds #-} |
As a user of Opaleye, I feel that Opalaye's public API is missing a number of features/niceties that are required by most people using the library in a largish project. The number of separate projects trying to close these gaps seem to strengthen this point:
Based on the discussion at silkapp/girella#9, specifically Tom's approval in that thread, this is an effort to build consensus around features that Opaleye's users would like to see in the core library directly. Of course, these features should not compromise general principles that @tomjaguarpaw has specifically mentioned:
Here are some of the examples of Reactive Programming libraries I've found in Purescript and what I've thought about them so far:
I've never used a library with truly continuous Behaviors, so this was really neat to try out for me. Really nice to use and comes with utilities for working with browser events already, and gives you good Event modules for picking your sampling options as necessary.
I will probably use this library for all of my future uses.
Before we begin, the type search in Pursuit is a great way to search for the functions you need.
Reset your tooling by deleting the bower_components/
, .psci_modules/
, .pulp-cache/
, .psc-package/
and output/
folders. Then run psc-package build --only-dependencies
.
Using sed or your other favourite global replace tool to search and replace all occurences in the list
-- specular | |
-- Specular.FRP.Base | |
nextTimeRef :: Ref Time | |
readBehavior :: forall a. Behavior a -> Pull a | |
newtype Event a = Event | |
{ occurence :: Behavior (Maybe a) | |
, subscribe :: Listener -> Effect Unsubscribe | |
} | |
newtype Dynamic a = Dynamic |