We elaborate on the following key points in the Weekly Technical Report

How to handle errors in code is always a point of debate in large codebases. To clarify this, work was done to create a standard for everybody to follow for the project. This standard can be found here. If you're interested in the rationale, you can find good discussion on the PR that introduced this change.

Revised Monad Stack

I couldn't find any information in the codebase about what this "revised" monad stack is. I did notice guidelines for Monda use were written a little over a month ago and so it may be related. You can find the guidelines here and discussion on them here

Webpack Upgrade & Gulp integration

Webpack allows you to import assets into your Javascript (and pack them together in a smaller set of files). Webpack is already used by the code and can be seen in the webpack folder.

To upgrade the version of Webpack used, we hand the live-reloading over to a more flexible system called Gulp. Gulp is a tool to manage a task dependency graph on launch of your application along with live-reloading (aka reloading tasks) as files change. You can find a nice video tutorial on the subject here. Gulp has (at the time of writing this post) not yet been introduced into the master branch. You can however find the pull request for it here. Gulp is actually used to replace the live-reloading that was previously managed by webpack (see next item)

Wallet testing / spec

As far as I can tell, no code has been made public on this so far. However, you can check out this video where they talk about their process for how they intend to build the upcoming verification system.

Stack2nix upgrade

Stack2nix is a tool written by IOHK to manage dependencies (mostly within Haskell). Stack is a tool written by FPComplete (company who audits the IOHK code) which aims to replace the standard Haskell package system (which is prone to "Works on my machine" errors) by making the build execution standardized across machines. You can find more about the rationale in this blog post. However, IOHK actually uses nix which is a purely functional package manager. To convert Stack files to use Nix expressions, Stack2nix was created. You can see how this works in the git repo by looking at cabal files, the stack.yaml file used and the stack2nix script used to generate the default.nix file.

New version release incoming

To understand why it means to "branch off in preperation for [..] release", you must understand that IOHK uses the git branching model described in the following blog. This is a standard model use by many company and good to familiarize yourself with if you want to contribute because git branches in the repository (to a certain extent) follow this model.

Conclusion

Hopefully you've enjoyed this deeper look into the technical report. If you like this kind of comment, please let me know and with enough support this can become a weekly series (which parallels the weekly reports). To follow along, check my out at twitter: https://twitter.com/SebastienGllmt

Please also considering donating to

ADA: DdzFFzCqrhsyX4HqRkrdyU5yxBww7BeJQix1At21Jv1HwTtL6CCGmPV9CC1PKwqWteNufzpoYVB





Posted on Utopian.io - Rewarding Open Source Contributors