Welcome to the third post of the Haskell highlights series! I hope you are enjoying it (and if you did not read the other posts, I strongly suggest doing it). In this post, I hope to answer the following question: “how to work with loops and conditional statements in Haskell?”. I don't know if you know this, but in Haskell there aren't keywords for these actions 😨

Ladies and gentlemen, welcome to Guard and Recursion 👏

Some useful links I’ve been using in my studies:
(1) Learning the concepts based on these books: Haskell an introduction to functional programming and Learn…

Welcome to the second post of Haskell series highlights! Today, I will explore functions and pattern matching in this incredible language 🤓

Some useful links I’ve been using in my studies:
(1) Learning the concepts based on these books: Haskell an introduction to functional programming and Learn You a Haskell for Great Good! 📚
(2) Taking notes on this Notion document 📝
(3) Coding some exercises on my GitHub repository 🗃

Photo by Andrew Ridley on Unsplash


Functions are defined as a reusable block code that can be used many times on the same program.

In Haskell, the file extension .hs is where we write functions…

Hey guys, I’ve been a Functional Programming (FP) enthusiast for 2 years so far 🥺. My goal for 2021 is to learn an FP language, so I started to study Haskell… I’ve been studying it for two weeks now and it’s been a funny and challenging journey!

In the hope that I can find more people on this ride and make it at least a little easier for them, I'll be sharing all my discoveries with the highlights of this fantastic programming language on a series of posts to help some new Haskell adventures students.👩🏻‍💻🚀

Photo by Clemens van Lay on Unsplash

If you want to follow…

Hey guys, in the last year I've worked on a personal web application: What’s in your bar? 🍹. Andy, my fiancée, came up with an idea: an app to help people discover the cocktails that they can make in their house just by adding all the ingredients on a simple input and clicking on a button!

All the journey was really interesting! It started with a hunt on Kaggle to find the perfect dataset and after checking a bunch of data I decided to get this one: https://www.kaggle.com/ai-first/cocktail-ingredients. After choosing it there was some work to be done and “cleaning”…

Today I want to write a short post about how to share context between tests using Cypress — in only 3 steps 🤩. If you've never heard about this tool, according to the official site: "Cypress is a next-generation front end testing tool built for the modern web". It's been heavily used in the frontend because it's a quite clear and simple tool. It uses the Chai assertion library as well as Sinon and jQuery extensions, but the icing on the cake is that Cypress enables us to write end-to-end (2e2), integration, and unit tests. 🤯

Maybe you're wondering "Hey…

Find, Filter, Map and Reduce are amazing array methods from JavaScript, but sometimes I feel that most people are still a little confused about them 🧐. So in this short post, I want to show what these four higher order functions do in practice with some simple code snippets.

We call Higher Order Functions the functions that accept other functions as a parameter, e.g: find, filter, map and reduce.

Let's imagine that we are working with a social media API, and we are getting the user's activities. …

Quick tips: destructuring, rest parameter, and spread operator
Quick tips: destructuring, rest parameter, and spread operator
Image by Anthony Heddings

Today I wanted to write a short post about some quick ES6 tips: destructuring, rest parameter, and spread operator. These three musketeers are present in all modern JS frameworks and for a long time I was confused about these concepts until I had Vue and React on my programming routine. Hey ho, let’s go!


ES6 arrived with a simpler way to extract values from arrays and objects, to set default values from these, and to also rename these properties in a fast way:

Hi guys, I promised in my previous post: Hoisting in JavaScript that I would talk about the reason why we can’t change values into a const variable — and also why to push a value into an array or add new keys into an object is pretty possible.

Photo by Fredy Jacob on Unsplash

JavaScript abstracts a lot of things for us — for example, it reads and executes the code like magic , right? — but behind the scenes, JS has to store and write information and needs to keep track of what will happen line by line. …

In the past month, I finally understood a really amazing behavior about Javascript’s architecture: the famous Hoisting! Let’s dive into this curious topic and understand more about var, let, const and JS scope.

Hoisting is the default behavior of Javascript that moves all the declarations (variables and functions) to the top of the scope. In a nutshell… it doesn’t matter where you declare it, they will be hoisted to the top of the code before the execution.

Hoisting a hope
Hoisting a hope
Hoisting JavaScript

First, let’s understand the Javascript lifecycle:

$ var magicNumber; //declaration
> undefined
$ a = 30; // initialisation/assignment
> 30
$ a + 20; // usage
> 50

Hello, my name is Jennifer, I’m 27 years old and a web developer in ascension. As most of you guys I imagine, I’ve been stuck at home for four months now… So today I decided to try writing some fragments of my technology adventures.

In this first post, I will tell you about my career :)

Actually I’m graduated in Environmental Sanitation Technology and worked in this area until 2017. That same year I decided to move to Florianópolis with my fiancé. Floripa is a huge technology hub and I wasn’t very happy with what I was achieving in my…

Jennifer Takagi

Developer focused on technology for troubleshooting! A clean code lover, functional programming enthusiast and passionate about sharing knowledge.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store