TypeScript has a Turing complete type system, which provides the possibility of enforcing a number of compile time invariants that couldn't otherwise be enforced. However, developers may not be aware of some of these patterns. In this article, David Karapetyan demonstrates one invariant pattern in TypeScript that involves comparing two types for equality.
Segmentation and paging of memory between applications is an important memory management scheme for operating systems. To do this, memory is stored as virtual memory in what is known as a page table. But how can virtual memory be translated back to physical memory? In this blog post that is part of a series on writing an Operating System in Rust, Philipp Opperman discusses this problem in detail and provides multiple approaches to solving it, along with an implementation of one of these solutions.
A Markov model is an approach to modelling randomly changing systems where the future state is predicted based only on the current state. Markov models are very useful for a wide range of fields including speech recognition, music synthesis and are even used in Google's PageRank algorithm. In this article, Lizzie Siegle introduces the simplest Markov model knows as a Markov Chain, demonstrating a simple example in Swift.
Programming language of the day: Leema. "Leema is a concurrent, error-tolerant, functional programming language."
And that's it for today! Discuss this issue at our subreddit r/morningcupofcoding.
Did you like what you read? Let us know by clicking one of the links below.
Liked - Disliked
I hope you enjoyed reading the latest issue of Morning Cup of Coding. If you did, consider supporting it by becoming a patron (Patreon), buying me a coffee (PayPal), donating anonymously (coinbase), or purchasing an MCC mug (RedBubble); it helps me keep this going.