dmjio

Joined 13 years ago

Karma
119
Submissions
46
Member since
Aug 6
[ my public key: https://keybase.io/dmjio; my proof: https://keybase.io/dmjio/sigs/H8Hn3RInXPBmNeax-ylskoTXk4V1DvbCgB4YnChWpno ]
View on Hacker News

Recent submissions

Comment · 7 months ago
Added React-style web components.
Comment · 1 year ago
Yes, miso uses the JS backend in GHC, and mobile phones have embedded JS interpreters (e.g. JavaScript Core). These interpreters can access native libraries to draw native views, or access native device APIs.

Projects like lynx and react-native automate this process using something akin to node-gyp, exposing kotlin / swift libraries via C ABI w/ a JS API. Miso accesses the kotlin / swift native modules by FFI'ing into the JS that exposes them.

The JS doesn't get compiled, but on Android it does get JIT'd. So it's "native" in the sense that the views drawn are native (not WebViews), and the device APIs are native, but not "native" in the sense that it's compiled.

Comment · 1 year ago
https://github.com/dmjio/miso-lynx

Building native applications for iOS, Android and Huawei devices in Haskell.

Comment · 1 year ago
Comment · 1 year ago
I'm working on miso-lynx

https://github.com/haskell-miso/miso-lynx

It's a way to build truly native iOS, Android and HarmonyOS applications in Haskell using https://lynxjs.org and https://github.com/dmjio/miso, it uses a similar approach to react-native.

Comment · 1 year ago
Comment · 4 years ago
Comment · 6 years ago
Comment · 7 years ago
Would you be able to share more details as to what caused this bad experience? My experience with GHCJS on a big project has been the opposite.
Comment · 7 years ago
There is a company that has a 400 module miso application and the bundle size is not an issue (https://www.polimorphic.com). After closure compilation GZIP'ing, pre-rendering and caching of the JS, it's a one-time cost, and is negligible due to pre-rendering. We build websites for users, who care only about experience, not about how large the payload is. Payload only matters insomuch as it adversely affects user experience. This argument is strictly a developer concern and is in no way correlated with end-user feedback. There are many <1MB js payload size websites with 0 users.
Comment · 7 years ago
This post dismisses Elm on the basis of lack of typeclasses, but fails to mention miso (https://haskell-miso.org), that includes typeclasses. Miso is Elm-as-an-embedded-DSL written as a Haskell library for GHCJS that allows one to share types on the front and backend, take advantage of the entire Haskell ecosystem and has experienced commercial use.
Comment · 9 years ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton