Если вы видите что-то необычное, просто сообщите мне. Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

234 total results found

Преобразователи Монад

MONDAY MORNING HASKELL Монады (и другие функциональные структуры)

В нескольких прошлых частях серии, мы изучили множество новых монад. В 3 части мы увидели как часто вещи как Maybe и IO могут быть монадами. Затем в 4 и 5 частях мы изучили Reader, Writer и State монады. С этими монадами на поясе, вы возмоно думаете как можно ...

Законы Монад

MONDAY MORNING HASKELL Монады (и другие функциональные структуры)

Добро пожаловать в заключительную часть серии о монадах в Haskell. Сейчас мы уже знаем большишнство идей лежащих в основе зная их тонкости для использования в программах. Но есть еще абстрактные идеи, которые нам нужно изучить, которые связанны со всеми этими ...

TDD и базовые библиотеки

MONDAY MORNING HASKELL Testing in Haskell

Сколько раз вы встречали зависимость от ошибок в вашем коде? Это может быть очень обидно для разработчика програмного обеспечеия. Вы отправили код в уверенности, что он отлично работает. Но теперь оказалось, что сломано, что-то другое. Даже хуже, вы обнаружили...

Profiling and Benchmarking

MONDAY MORNING HASKELL Testing in Haskell

I've said it before, but I'll say it again. As much as we'd like to think it's the case, our Haskell code doesn't work just because it compiles. In part 1 of this testing series, we saw how to construct basic test suites to make sure our code functions properl...

Improving Performance with Data Structures

MONDAY MORNING HASKELL Testing in Haskell

Welcome to the third and final part of our Haskell testing series! In part 2, we wrote a solution to the "largest rectangle" problem. We implemented benchmarks to determine how well our code performs on certain inputs. First we used the Criterion library to ge...

PART 1: HASKELL'S SIMPLE DATA TYPES

MONDAY MORNING HASKELL Haskell's Data Types!

I first learned about Haskell in college. I've considered why I kept up with Haskell after, even when I didn't know about its uses in industry. I realized there were a few key elements that drew me to it. In a word, Haskell is elegant. For me, this means we ca...

Sum Types in Haskell

MONDAY MORNING HASKELL Haskell's Data Types!

Welcome to the second part of our series on Haskell's data types. This is part of an exploration of concepts that are simple to express in Haskell but harder in other languages. In part 1 we began by looking at simple data declarations. In this part, we'll go ...

Parameterized Types in Haskell

MONDAY MORNING HASKELL Haskell's Data Types!

Welcome back to our series on the simplicity of Haskell's data declarations. In part 2, we looked at how to express sum types in different languages. We saw that they fit very well within Haskell's data declaration system. For Java and Python, we ended up usin...

Haskell Typeclasses as Inheritance

MONDAY MORNING HASKELL Haskell's Data Types!

Welcome to part four of our series comparing Haskell's data types to other languages. As I've expressed before, the type system is one of the key reasons I enjoy programming in Haskell. And in this part, we're going to get to the heart of the matter. We'll com...

Type Families in Haskell

MONDAY MORNING HASKELL Haskell's Data Types!

Welcome to the conclusion of our series on Haskell data types! We've gone over a lot of things in this series that demonstrated Haskell's simplicity. We compared Haskell against other languages where we saw more cumbersome syntax. In this final part, we'll see...

Databases and Persistent

MONDAY MORNING HASKELL Real World Haskell

Welcome to our Real World Haskell Series! In these tutorials, we'll explore a bunch of different libraries you can use for some important tasks in backend web development. We'll start by looking at how we store our Haskell data in databases. If you're already ...

Building an API with Servant!

MONDAY MORNING HASKELL Real World Haskell

In part 1, we began our series on production Haskell techniques by learning about Persistent. We created a schema that contained a single User type that we could store in a Postgresql database. We examined a couple functions allowing us to make SQL queries abo...

Redis Caching

MONDAY MORNING HASKELL Real World Haskell

In part 1 of this series we used Persistent to store a User type in a Postgresql database. Then in part 2 we used Servant to create a very simple API that exposed this database to the outside world. This week, we're going to look at how we can improve the perf...

Testing with Docker

MONDAY MORNING HASKELL Real World Haskell

In first three parts of this series, we've combined several useful Haskell libraries to make a small web app. In part 1 we used Persistent to create a schema with automatic migrations for our database. Then in part 2 we used Servant to expose this database as ...

Esqueleto and Complex Queries

MONDAY MORNING HASKELL Real World Haskell

In this series so far, we've done a real whirlwind tour of Haskell libraries. We created a database schema using Persistent and used it to write basic SQL queries in a type-safe way. We saw how to expose this database via an API with Servant. We also went ahea...

Haskell and Tensor Flow

MONDAY MORNING HASKELL Machine Learning in Haskell

AI systems are beginning to impact our lives more and more. It's a very important element to how software is being developed and will continue to be developed. But where does Haskell fit in this picture? In this series, we’ll go over the basic concepts of Tens...

Haskell, AI, and Dependent Types I

MONDAY MORNING HASKELL Machine Learning in Haskell

I often argue that Haskell is a safe language. There are a lot of errors we will catch at compile time, rather than runtime. Runtime errors can often be catastrophic to a system, so being able to reduce these is paramount. This is especially true when programm...

Haskell, AI, and Dependent Types II

MONDAY MORNING HASKELL Machine Learning in Haskell

In part 2 we dove into the world of dependent types. We linked tensors with their shapes at the type level. This gave our program some extra type safety and allowed us to avoid certain runtime errors. In this part, we're going to solve another runtime conundru...

Grenade and Deep Learning

MONDAY MORNING HASKELL Machine Learning in Haskell

In part 2 and part 3 of this series, we explored some of the most complex topics in Haskell. We examined potential runtime failures that can occur when using Tensor Flow. These included mismatched dimensions and missing placeholders. In an ideal world, we woul...

Open AI Gym Primer: Frozen Lake

MONDAY MORNING HASKELL Haskell & Open AI Gym

Well to our series on Haskell and the Open AI Gym! The Open AI Gym is an open source project for teaching the basics of reinforcement learning. It provides a framework for understanding how we can make agents that evolve and learn. It's written in Python, but ...