miso
hevm
Our great sponsors
miso | hevm | |
---|---|---|
16 | 10 | |
2,057 | 1,891 | |
- | 2.2% | |
4.2 | 7.9 | |
about 2 months ago | 21 days ago | |
Haskell | Haskell | |
BSD 3-clause "New" or "Revised" License | GNU Affero General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
miso
- Resurrection/modernization of an old Haskell+Haste project (boardgame Yinsh)
- School of Haskell: Basics
- JavaScript Hydration Is a Workaround, Not a Solution
- Web development in Haskell
-
The Big List of Haskell GUI Libraries
Miso does support jsaddle, docs mention this under the "Live reload with jsaddle" section, although it could be more prominent.
-
A small benchmark for functional languages targeting web browsers
For those interested in DOM-related benchmarks using GHCJS. Miso has some benchmarks here: https://krausest.github.io/js-framework-benchmark/current.html (Ctrl+F `miso`)
-
Options for a frontend of demo for a toy app
ghcjs is the way to go for you, and soon it might be asterius. i do not know how hard it is to set ghcjs up without a framework. but frameworks like obelisk (based on reflex-dom), shpadoinkle, and miso automate that for. i personally like obelisk for its functional reactive programming but it can get awkward and get in your way. so if gui programming is just a means to the end of this one small application and you are not really interested in it nor functional reactive programming, shpadoinkle or miso might suit you better. miso implements the elm architecture (also "TEA", "functional model view controller") and shpadoinkle implements something directly equivalent to the elm architecture. but shpadoinkle achieves more composable widgets by minimalizing the elm architecture. so i recommend shpadoinkle for its better concept although miso is more mature.
-
How do you deal with GUI?
via ghcjs (miso, etc.)
-
Anything like Svelte/Jetpack Compose for Haskell?
I've built miso, https://haskell-miso.org and it does use the VDOM appraoch. Svelte uses static analysis to compile down to the minimum number of DOM operations required to run your specific app. I think it's the future. This would only be possible in Haskell w/ GHCJS, since you'd need the GHCJS runtime to support it.
- What web framework would you recommend to a newbie at this time?
hevm
-
The Ethereum Virtual Machine (EVM) - What Is It and How to Make Business on It?
hevm - written in Haskel
-
Solidity ForwardProxy: easily emulate EOAs in environments where they are not availabe or are cumbersome to use.
However, since we are using a pure Solidity stack, writing tests with ds-test and running them with dapp.tools or foundry, this was a bit more complicated.
-
Jo – a shell command to create JSON
There's also jshon which is a simple stack-based DSL for constructing JSON from shell scripts.
It's written in C and is not actively developed. The latest commit, it seems, was a pull request from me back in 2018 that fixed a null-termination issue that led to memory corruption.
Because I couldn't rely on jshon being correct, I rewrote it in Haskell here:
https://github.com/dapphub/dapptools/tree/master/src/jays
This is also not developed actively but it's a single simple ~200 line Haskell program.
-
Building Smart Contracts with Foundry by Paradigm
It fits into the stack the same way that Hardhat, Truffle, and Dapp Tools do.
-
What are best practices for testing/ci+cd for solidity?
I find it insane that much of Solidity code testing is still happening in external languages. I've recently found https://github.com/dapphub/dapptools and that has blown a lot of my confusion away.
-
What development tools do you guys use?
Honourable mention would be https://github.com/dapphub/dapptools for those who prefer UNIX-like tooling, but I'd say for the most part Foundry seems to be the better choice now.
-
The State of Coordination, Community, and Future Impact
Firstly, I'm warning you that I'm going to shill some amazing things in the Ethereum ecosystem. I would even go so far to say as some of these things are so positive sum and self-evidently public goods that shilling them in the ethereum subreddit should be considered neutral. For example, GitcoinDAO is a place where we all have the permissionless ability to coordinate in building tools and services, like dapptools, for all open-source software, full stop. There's ways to fundraise in public besides joining Discord or sliding into Twitter DM's, like Juicebox. There is a plethora of industry leaders exploring decentralized hosting for bluechip-scale applications, such as Skynet.
- Is "Mastering Ethereum" still the best way to learn Solidity development?
-
Barriers to Entry
Dapptools is another framework that has nothing to do with JavaScript.
What are some alternatives?
foundry - Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.
ihp - 🔥 The fastest way to build type safe web apps. IHP is a new batteries-included web framework optimized for longterm productivity and programmer happiness
web3.py - A python interface for interacting with the Ethereum blockchain and ecosystem.
graphite - Haskell graphs and networks library
ethereum-analyzer - An Ethereum contract analyzer.
ethereum-rlp
reach-lang - Reach: The Safest and Smartest DApp Programming Language
eattheblocks - Source code for Eat The Blocks, a screencast for Ethereum Dapp Developers
ethereum-client-haskell
containers - Assorted concrete container types
Agda - Agda is a dependently typed programming language / interactive theorem prover.