MONDAY MORNING HASKELL
Отрыв
Если вы всегда мечтали начать изучать Haskell и не знаете откуда начать, не ищите дальше! Наш сер...
Haskell 101: Установка, Выражения, Типы
Добро пожаловать в первую часть серии Отрыва Понедельнечного Хаскельного Утра! Если вы мечтали по...
Модули и синтаксис функций
Вновь, добро пожаловать на серию Отрыв Понедельнечного Хаскельного Утра! Это вторая часть серии. ...
Делая свой тип.
Вновь, добро пожаловать на серию Отрыв Понедельнечного Хаскельного Утра! Заключительная часть. На...
Мозги Haskell
Чисто технически, Haskell бросает нам большой вызов. Но часто это больше чем просто грубый технич...
Часть 1: Ослабим страшный взгляд Haskell
Добро пожаловать в первую часть серии "Мозги Haskell"! Кроме описанных базовых понятий в прошлой ...
Часть 2: Обучение обучению
В первой части этой главы, мы проверили пугающий фактор Haskell. Увидели пару причин, почему люди...
Часть 3: Haskell и взвешенная практика
Вы были в ситуации когда вы пытаетесь изучить что-то в определенное время, и застряли на этом? Ша...
Часть 4: Обучение управляемое компиляцией
В части 2 и 3, мы обсудили некоторые общие цели идей обучения, и увидели пару их применений к Has...
Монады (и другие функциональные структуры)
Монады одни из самых страшных тем для новичков в Haskell. Но как и большинство идей, они перестаю...
Функторы
Добро пожаловать в нашу серию статей. Монады одна из тех идей, которая кажется причиной множества...
Аппликативные функторы
Добро пожаловать во вторую часть серии о монадах и других функциональных структур. Мы продолжим г...
Монады
Добро пожаловать в часть 3 нашей серии абстрактных структур! Мы, наконец, коснемся идеи монад! Мн...
Монады Reader и Writer
В части 3 этой серии, мы наконец затронули идею монад. Мы изучили что они такое, и увидели как не...
State Монада
В прошлой части, мы изучили монады Reader и Writer. Они пакакзил, что на самом деле имеем алтерна...
Преобразователи Монад
В нескольких прошлых частях серии, мы изучили множество новых монад. В 3 части мы увидели как час...
Законы Монад
Добро пожаловать в заключительную часть серии о монадах в Haskell. Сейчас мы уже знаем большишнст...
Testing in Haskell
В Haskell, мы бы предпочли, чтобы показателем было не только то что наш код собирается, но и то ч...
TDD и базовые библиотеки
Сколько раз вы встречали зависимость от ошибок в вашем коде? Это может быть очень обидно для разр...
Profiling and Benchmarking
I've said it before, but I'll say it again. As much as we'd like to think it's the case, our Hask...
Improving Performance with Data Structures
Welcome to the third and final part of our Haskell testing series! In part 2, we wrote a solution...
Haskell's Data Types!
One of the first major selling points for me and Haskell was the simplicity of data declarations....
PART 1: HASKELL'S SIMPLE DATA TYPES
I first learned about Haskell in college. I've considered why I kept up with Haskell after, even ...
Sum Types in Haskell
Welcome to the second part of our series on Haskell's data types. This is part of an exploration ...
Parameterized Types in Haskell
Welcome back to our series on the simplicity of Haskell's data declarations. In part 2, we looked...
Haskell Typeclasses as Inheritance
Welcome to part four of our series comparing Haskell's data types to other languages. As I've exp...
Type Families in Haskell
Welcome to the conclusion of our series on Haskell data types! We've gone over a lot of things in...
Real World Haskell
A lot of people think day-to-day tasks like running a web app are difficult or impossible in Hask...
Databases and Persistent
Welcome to our Real World Haskell Series! In these tutorials, we'll explore a bunch of different ...
Building an API with Servant!
In part 1, we began our series on production Haskell techniques by learning about Persistent. We ...
Redis Caching
In part 1 of this series we used Persistent to store a User type in a Postgresql database. Then i...
Testing with Docker
In first three parts of this series, we've combined several useful Haskell libraries to make a sm...
Esqueleto and Complex Queries
In this series so far, we've done a real whirlwind tour of Haskell libraries. We created a databa...
Machine Learning in Haskell
AI and machine learning are huge topics in technology. In this series, we'll explore how Haskell'...
Haskell and Tensor Flow
AI systems are beginning to impact our lives more and more. It's a very important element to how ...
Haskell, AI, and Dependent Types I
I often argue that Haskell is a safe language. There are a lot of errors we will catch at compile...
Haskell, AI, and Dependent Types II
In part 2 we dove into the world of dependent types. We linked tensors with their shapes at the t...
Grenade and Deep Learning
In part 2 and part 3 of this series, we explored some of the most complex topics in Haskell. We e...
Haskell & Open AI Gym
Our Machine Learning series explores both basic and advanced topics when it comes to using Haskel...
Open AI Gym Primer: Frozen Lake
Well to our series on Haskell and the Open AI Gym! The Open AI Gym is an open source project for ...
Frozen Lake in Haskell
n part 1 of this series, we began our investigation into Open AI Gym. We started by using the Fro...
Open AI Gym: Blackjack
So far in this series, the Frozen Lake example has been our basic tool. In part 2, we wrote it in...
Basic Q-Learning
In the last two parts of this series, we've written two simple games in Haskell: Frozen Lake and ...
Generalizing Our Environments
In part 4 of this series, we applied the ideas of Q-learning to both of our games. You can compar...
Q-Learning with TensorFlow (Haskell)
In part 6 of the series, we used the ideas of Q-Learning together with TensorFlow. We got a more ...
Rendering with Gloss
Welcome to the final part of our Open AI Gym series! Throughout this series, we've explored some ...
Parsing with Haskell
Haskell is an excellent language for all your parsing needs. The functional nature of the languag...
Parsing Primer: Gherkin Syntax
Haskell is a truly awesome language for parsing. Haskell expressions tend to compose in simple wa...
Applicative Parsing
In part 1 of this series, we prepared ourselves for parsing by going over the basics of the Gherk...
Attoparsec
In part 2 of this series we looked at the Regex-based Applicative Parsing library. We took a lot ...
Megaparsec
In part 3 of this series, we explored the Attoparsec library. It provided us with a clearer synta...
Haskell API Integrations
Haskell claims to have functional purity, and hence lacks side effects. This is of course a bit o...
Twilio and Text Messages
Welcome to part 1 of our series on Haskell API integrations! Writing our own Haskell code using o...
Sending Emails with Mailgun
In part 1 of this series, we started our exploration of the world of APIs by integrating Haskell ...
Mailchimp and Building Our Own Integration
Welcome to the third and final part in our series on Haskell API integrations! We started this se...
Contributing to GHC
The Glasgow Haskell Compiler is one of the linchpins of the Haskell community. It is far and away...
Contributing to GHC 1: Preparation
Welcome to our series on Contributing to GHC! The Glasgow Haskell Compiler is perhaps the biggest...
Contributing to GHC 2: Basic Hacking and Organization
In part 1 of this series, we took our first step into the world of GHC, the Glasgow Haskell Compi...
Contributing to GHC 3: Hacking Syntax and Parsing
In part 2 of this series, we made more progress in understanding GHC. We got our basic developmen...
Elm: Functional Frontend
Frontend web programming presents an interesting challenge for Haskell developers. Ultimately, br...
Elm Part 1: Language Basics
Haskell has a number of interesting libraries for frontend web development. Yesod and Snap come t...
Elm Part 2: Making a Single Page App
Welcome to part 2 of our series on Elm! Elm is a functional language you can use for front-end we...
Elm Part 3: Adding Effects
In part 2 of this series, we dug deeper into using Elm. We saw how to build a more complicated we...
Elm Part 4: Navigation
In part 3 of this series, we learned a few more complexities about how Elm works. We examined how...
Purescript: Haskell + Javascript
Elm is a great language, as we cover in our Elm Series. It has great, intuitive primitives for bu...
Purescript Part 1: Basics of Purescript
Our Haskell Web Series covers a lot of cool libraries you can use when making a web app. But fron...
Purescript Part 2: Typeclasses and Monads
In part 1 of this series, we started our exploration of Purescript. Purescript seeks to bring som...
Purescript Part 3: Simple Web UI's
In part 2 of this series, we continued learning the basic elements of Purescript. We examined how...
Purescript Part 4: Web Requests and Navigation
Welcome to the conclusion of our series on Purescript! We've spent a lot of time now learning to ...