This article will go over the basics of the .NET compiler platform feature for analyzing the C# syntax tree, using F#. .NET provides a Syntax API that can read any C# or Visual Basic source file and provide the corresponding Syntax Tree for that code. Why Why would someone need to traverse the C# syntax tree? Well, it can be for a number of reasons, maybe you want to gather statistics about how many classes, namespaces and methods you have, maybe you want generate code based on what is already written, maybe you want to create new tools like a new linter or a tool like Swagger.
Introducing Simple Remote Data (SRD), a Static Land compliant TypeScript library for managing state from remote sources. SRD’s top features are: Only 549 bytes minified and gzipped, that is ridiculously small! Built with Higher Kinded Types (HKT’s) to allow Typescript to infer these complex disjoint union types. Static Land compliant! Made for React or any other JS based frontend framework. What is a Remote Data type? A Remote Data type is a kind of discriminate union type in functional programming for managing the state of some data that is retrieved remotely and asynchronously, such as http response data, websockets, server sent events, reading a file, or any other async IO.
Hugo is an amazingly underrated static site generator and this post is aimed to provide some examples on why it may be a better choice than Gatsby for your next static site! TLDR; Hugo builds are way faster than Gatsby Hugo’s template system is simple Hugo’s built-in features are better than Gatsby’s plugin features Hugo doesn’t require any JS to be used, but supports JS with ESBuild Hugo has a small learning curve 1.
I have been working on a personal project of mine for the last couple of months that has the frontend written in Elm. So far everything is going great and the project is around 10k lines of code. I have noticed a few reoccurring patterns of mine that I have learned so far and want to share, so here are 5 things I have learned: 1. Decoding Empty Lists & Strings When I first started the project, I had a lot of types with fields declared like this: