miso 1.8.3.0 → 1.8.4.0
raw patch · 8 files changed
+29/−25 lines, 8 files
Files
- README.md +10/−6
- jsstring-src/Miso/String.hs +1/−1
- miso.cabal +7/−7
- src/Miso.hs +4/−4
- src/Miso/FFI.hs +2/−2
- src/Miso/Html/Types.hs +2/−2
- src/Miso/Subscription/WebSocket.hs +1/−1
- src/Miso/WebSocket.hs +2/−2
README.md view
@@ -2,13 +2,13 @@ <p align="center"> <a href="https://haskell-miso.org">- <img width=10% src="https://emojipedia-us.s3.amazonaws.com/thumbs/240/apple/96/steaming-bowl_1f35c.png">+ <img width=10% src="https://em-content.zobj.net/thumbs/240/apple/325/steaming-bowl_1f35c.png"> </a> <p align="center">A <i>tasty</i> <a href="https://www.haskell.org/"><strong>Haskell</strong></a> front-end framework</p> </p> <p align="center">- <a href="https://haskell-miso-slack.herokuapp.com">+ <a href="https://join.slack.com/t/haskell-miso/shared_invite/zt-1w80x404h-AF2Be_BDQixNMadzadnUNg"> <img src="https://img.shields.io/badge/slack-miso-E01563.svg?style=flat-square" alt="Miso Slack"> </a> <a href="https://haskell.org">@@ -56,6 +56,7 @@ - [File Reader](#file-reader) - [WebVR](#webvr) - [Pixel Card Wars](#pixel-card-wars)+ - [Currency Converter](#currency-converter) - [Haddocks](#haddocks) - [GHC](#ghc) - [GHCJS](#ghcjs)@@ -98,7 +99,7 @@ ### Nix `Nix` is a more powerful option for building web applications with `miso` since it encompasses development workflow, configuration management, and deployment. The source code for [`haskell-miso.org`](https://github.com/dmjio/miso/tree/master/examples/haskell-miso.org) is an example of this. -If unfamiliar with `nix`, we recommend [@Gabriel439](https://github.com/Gabriel439)'s ["Nix and Haskell in production"](https://github.com/Gabriel439/haskell-nix) guide.+If unfamiliar with `nix`, we recommend [@Gabriella439](https://github.com/Gabriella439)'s ["Nix and Haskell in production"](https://github.com/Gabriella439/haskell-nix) guide. To begin, make the following directory layout: ```bash@@ -219,7 +220,7 @@ - [Link](https://threejs.haskell-miso.org/) / [Source](https://github.com/dmjio/miso/blob/master/examples/three/Main.hs) ### Simple- - [Link](https://simple.haskell-miso.org/) / [Source](https://github.com/dmjio/miso/blob/master/exe/Main.hs)+ - [Link](https://simple.haskell-miso.org/) / [Source](https://github.com/dmjio/miso/blob/master/examples/simple/Main.hs) ### File Reader - [Link](https://file-reader.haskell-miso.org/) / [Source](https://github.com/dmjio/miso/blob/master/examples/file-reader/Main.hs)@@ -230,6 +231,9 @@ ### Pixel Card Wars - [Link](https://www.schplaf.org/hgames/darkcraw/) / [Source](https://github.com/smelc/miso-darkcraw) +### Currency Converter+ - [Link](https://functora.github.io/apps/currency-converter) / [Source](https://github.com/functora/functora.github.io/tree/master/ghcjs/currency-converter)+ ## Haddocks ### GHCJS@@ -450,9 +454,9 @@ ## Benchmarks -[According to benchmarks](https://rawgit.com/krausest/js-framework-benchmark/master/webdriver-ts-results/table.html), `miso` is among the fastest functional programming web frameworks, second only to [Elm](http://elm-lang.org).+[According to benchmarks](https://krausest.github.io/js-framework-benchmark/current.html), `miso` is among the fastest functional programming web frameworks, second only to [Elm](http://elm-lang.org). -<a target="_blank" href="https://rawgit.com/krausest/js-framework-benchmark/master/webdriver-ts-results/table.html"><img src="https://cdn-images-1.medium.com/max/1600/1*6EjJTf1mhlTxd4QWsygCwA.png" width="500" height="600" /></a>+<a target="_blank" href="https://krausest.github.io/js-framework-benchmark/current.html"><img src="https://cdn-images-1.medium.com/max/1600/1*6EjJTf1mhlTxd4QWsygCwA.png" width="500" height="600" /></a> ## Maintainers
jsstring-src/Miso/String.hs view
@@ -42,7 +42,7 @@ -- | String type swappable based on compiler type MisoString = JS.JSString -#ifdef __GHCJS__+#ifdef ghcjs_HOST_OS -- | `ToJSON` for `MisoString` instance ToJSON MisoString where toJSON = String . textFromJSString
miso.cabal view
@@ -1,5 +1,5 @@ name: miso-version: 1.8.3.0+version: 1.8.4.0 category: Web, Miso, Data Structures license: BSD3 license-file: LICENSE@@ -48,7 +48,7 @@ executable tests main-is: Main.hs- if !impl(ghcjs) || !flag(tests)+ if !(impl(ghcjs) || arch(javascript)) || !flag(tests) buildable: False else ghcjs-options:@@ -121,7 +121,7 @@ Miso.Mathml.Element Miso.String Miso.WebSocket- if !impl(ghcjs)+ if !(impl(ghcjs) || arch(javascript)) exposed-modules: Miso.TypeLevel other-modules:@@ -130,7 +130,7 @@ -Wall hs-source-dirs: src- if impl(ghcjs) || flag (jsstring-only)+ if impl(ghcjs) || arch(javascript) || flag (jsstring-only) hs-source-dirs: jsstring-src else@@ -151,17 +151,17 @@ tagsoup, text, transformers- if impl(ghcjs)+ if impl(ghcjs) || arch(javascript) build-depends: ghcjs-base else build-depends: servant-lucid- if impl(ghcjs) || flag (jsaddle)+ if impl(ghcjs) || arch(javascript) || flag (jsaddle) if flag (ios) cpp-options: -DIOS- if impl(ghcjs)+ if impl(ghcjs) || arch(javascript) js-sources: jsbits/diff.js jsbits/delegate.js
src/Miso.hs view
@@ -26,7 +26,7 @@ , module Miso.Event , module Miso.Html , module Miso.Subscription-#ifndef __GHCJS__+#ifndef ghcjs_HOST_OS , module Miso.TypeLevel #endif , module Miso.Types@@ -46,7 +46,7 @@ import qualified Data.Sequence as S import qualified JavaScript.Object.Internal as OI -#ifndef __GHCJS__+#ifndef ghcjs_HOST_OS import Language.Javascript.JSaddle (eval, waitForAnimationFrame) #ifdef IOS import Miso.JSBits@@ -67,7 +67,7 @@ import Miso.Html import Miso.Router import Miso.Subscription-#ifndef __GHCJS__+#ifndef ghcjs_HOST_OS import Miso.TypeLevel #endif import Miso.Types@@ -82,7 +82,7 @@ -> (Sink action -> JSM (IORef VTree)) -> JSM () common App {..} m getView = do-#ifndef __GHCJS__+#ifndef ghcjs_HOST_OS #ifdef IOS mapM_ eval [delegateJs,diffJs,isomorphicJs,utilJs] #else
src/Miso/FFI.hs view
@@ -59,12 +59,12 @@ import GHCJS.Marshal import GHCJS.Types import qualified JavaScript.Object.Internal as OI-#ifdef __GHCJS__+#ifdef ghcjs_HOST_OS import Language.Javascript.JSaddle hiding (obj, val) #else import Language.Javascript.JSaddle hiding (Success, obj, val) #endif-import Miso.String hiding (elem)+import Miso.String -- | Run given `JSM` action asynchronously, in a separate thread. forkJSM :: JSM () -> JSM ()
src/Miso/Html/Types.hs view
@@ -58,14 +58,14 @@ import qualified Lucid as L import qualified Lucid.Base as L import Prelude hiding (null)-import Servant.API (Get, HasLink, MkLink, toLink)+import Servant.API (Get, HasLink(MkLink, toLink)) import Text.HTML.TagSoup.Tree (parseTree, TagTree(..)) import Text.HTML.TagSoup (Tag(..)) import Miso.Effect import Miso.Event import Miso.FFI-import Miso.String hiding (elem, reverse)+import Miso.String hiding (reverse, elem) -- | Core type for constructing a `VTree`, use this instead of `VTree` directly. data View action
src/Miso/Subscription/WebSocket.hs view
@@ -87,7 +87,7 @@ WS.addEventListener socket "error" $ \v -> do liftIO (writeIORef closedCode Nothing) d' <- WS.data' v-#ifndef __GHCJS__ +#ifndef ghcjs_HOST_OS undef <- ghcjsPure (isUndefined d') #else let undef = isUndefined d'
src/Miso/WebSocket.hs view
@@ -27,7 +27,7 @@ import GHC.Generics import Prelude hiding (map)-#ifdef __GHCJS__+#ifdef ghcjs_HOST_OS import GHCJS.Marshal #endif @@ -98,7 +98,7 @@ -- ^ OtherCode that is reserved and not in the range 0999 deriving (Show, Eq, Generic) -#ifdef __GHCJS__+#ifdef ghcjs_HOST_OS -- Defined here to avoid an orphan instance instance ToJSVal CloseCode instance FromJSVal CloseCode