Together with the TQ Group, we have been working on several tools that use Haskell to improve writing and testing Michelson code on Tezos. This is the first post in a series about one of them — Lorentz, a Haskell eDSL for Michelson smart contracts.
What is it like to work on GHC, the state-of-the-art open source Haskell compiler? Read this post to learn what features Vladislav implemented in 2019 and what he has to say about the challenges of contributing to GHC.
To showcase the companies that use Haskell in industry, we have decided to start an interview series that explores the practical aspects of using Haskell for a software project: real benefits, libraries/extensions that people use, and also the disadvantages.
In the first part, we introduced the reader to basic modal logic. In this part of the introduction to the modal logic, we observe use cases and take a look at connections of modal logic with topology, foundations of mathematics, and computer science.
Always wanted to learn a functional programming language but never found the time? Perhaps the time is now. In this article, we give resources, tips, and tricks to help you learn Haskell as fast as possible.
Modal logic covers such areas of human knowledge as mathematics (especially topology and graph theory), computer science, linguistics, artificial intelligence, and philosophy. Explore this branch of logic together with Danya Rogozin.
Web Summit is huge. According to official statistics, in 2019 it was attended by 70 469 people. It is an experience of its own kind. In this article, Roman Alterman gives tips to survive and thrive in large conferences like that.
Exploring Haskell open-source projects can teach you a lot about functional programming. They help you to grasp the syntax of the language and see how real programming tasks are solved even if you have zero working experience. That is why we’ve chosen 10 popular programs from GitHub written in Haskell for you to study and enjoy.
Aside from various courses and books, your self-education can be supplemented by following the bright heads of the Haskell world. For some ideas, we want to share the sources that enable us to keep our hands on the pulse.
Working from home is efficient, convenient, and beneficial for both employers and employees but it has its challenges. Serokell has been remote from the very beginning, and our employees can tell quite a few stories about their experience.
Elixir is a dynamic, functional language designed for building scalable and maintainable applications. If you want to learn more about this language – there’s no place better than a dedicated event. To help you make a decision, we’ve found and reviewed 9 of them.
Serokell software engineer Ilya Peresadin tells how he became a Haskell fan, what drives him to be a teacher and a developer at the same time, and why it is essential to share knowledge with young people.
How to reduce the debugging time and make programs less error-prone while working with matrices in Haskell? There can be several solutions. This article presents a way of lifting the dimensions to the type level.
We at Serokell believe in self-development and practical appliance of latest scientific inventions, that’s why we support students and gladly hire young specialists. We feel that our position is not only beneficial for business but also makes the world a better place.
In topology, the long line, or Alexandroff line, is a space somewhat similar to the real line, but ‘longer’. To obtain the long line, one needs to put together a long ray in each direction. Closed long rays, as well as long lines, have remarkable properties.
If you’ve been on the Internet the last few days, you’ve probably heard of Libra, Facebook’s new venture into blockchain technology. Their goals are far-reaching — “to enable a simple global currency and financial infrastructure that empowers billions of people”.
In this article, we review their recently released white paper.
Embedded DSL (or eDSL) is a popular technique for encoding your domain specific language into Haskell’s type system. One example of such DSL is Ivory – eDSL for C code generation. Even more often it’s useful to implement your DSL as a Haskell data type and interpret it right from Haskell.
Random numbers are used in cryptography, and most of the cryptographic operations use computers. But a computer is a deterministic device, thus, it isn’t able to simply generate a truly random number. There are different approaches to solving the problem, and some of them are worse than others.
A review of matrix and numerical libraries in order to understand which array libraries are useful for machine learning in Haskell and which approaches to type-level natural numbers might be applied to safe matrix dimensions.
When working remotely, one has to be serious about time management, especially when it comes to spare time. An interesting hobby allows spending it with pleasure. In this post, we keep talking about the hobbies of the Serokell team members.
The Turing degree of a set of natural numbers is a concept from computer science and mathematical logic that is a measure of the level of algorithmic unsolvability of the set. This post carries you deeper into the problem of the undecidable languages and the halting problem.
Serokell team members love to spend their spare time actively and make good use of it. These people are fond of cycling, video gaming, learning foreign languages and assembling hi-end audio amplifiers. In this blog post, we will focus on our hobbies.
Almost every business sooner or later faces the choice of how to get the right technological product. Can smaller companies compete with giants of the market in terms of recruiting the best specialists who can develop truly cutting-edge software? Probably, the answer is 'no', but there are ways to solve the problem with another approach.
Perhaps you cannot quite picture how quantum computers work, but you definitely heard something about them. Nowadays, all rich, as well as not-so-rich states and corporations, are trying to build one. However, many face a problem of inability to emulate a large quantum computer. Let us figure out why.
In modern blockchains, if some node wants to verify a block, it either has to be a full node storing the whole network state, or it has to continuously ask some remote storage for various parts of it. Each of these solutions possesses either inconveniences (storing 100+ GB of data) or risks (the storage forging the data it sends you).
An Oradian frontend developer Domagoj Cerjan utilizes Typescript for bringing the mentioned rules to the surface and thereby saving software engineers’ time. He makes one of the most commonly used WebGL functions - a function which uploads an image to a texture - gl.texImage2d safe from runtime errors.
Dive deeper into the beauty of Typescript by reading the Domagoj’s post for Serokell.
On the threshold of the New Year, it’s time to finish the last issues and summarize the results of the year. While everyone is scurrying around, shopping, closing deadlines and preparing reports, we wil…