サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
デスク環境を整える
www.stackbuilders.com
From Type Theory to Haskell in 10 Minutes Type systems are so prevalent in modern programming languages that we probably take them for granted. But what exactly is a "type", and what are its origins in the history of computational logic? In this post, we'll take you on a 10-minute tour from Leibniz's effective computability dilemma, through Russell's theory of types and Church's lambda calculus, a
Using Cloud Haskell to write a type-safe distributed chat In this tutorial we will implement a distributed chat with Erlang’s style and Haskell’s type safety using Cloud Haskell. What is Cloud Haskell? Cloud Haskell is a set of libraries that combines the power of Haskell’s type system with Erlang’s style of concurrency and distributed programming. This brings a lot of power in order to implement
Stack Builders Insider Discover expert insights by industry-leading engineers to help you deliver pragmatic, reliable software solutions.
GHC Generics Explained This tutorial will get you up to speed with GHC generics quickly. This tutorial will get you up to speed with GHC generics quickly. It should be noted that generics is not something academic and useless, quite the contrary, it's a very pragmatic way to reduce the amount of boilerplate (and associated with it errors) in your functional code with minimal mental overhead. In fa
GHC optimization and fusion You may have seen GHC pragmas with mysterious rules and phase indication in the source code of some great Haskell libraries like ‘text’ or ‘vector’. What is this all about? How do you use them in your project? As it turns out, it's easier than you may think. The tutorial walks through the details of using GHC pragmas such as INLINE, SPECIALIZE, and RULES to improve the
Servant authentication and sessions via cookies Authentication is a sort of weak place in the Servant web framework. In this tutorial we build RESTful authentication in Servant storing all the session in an encrypted cookie client-side. Authentication in Servant is perhaps not as easy and powerful as it should be. However, with Servant 0.5 and later it's possible to use the feature called “general
Concurrent Haskell in the real world Notes about use of concurrent Haskell that made our production code almost 100 times faster. Sometimes it's easy to forget how powerful parallel and concurrent programming is and yet whenever we can come up with a way to parallelize an algorithm we are working on, speed improvements may be truly incredible on modern multi-core machines. In the land of imperativ
Creating a GUI application in Haskell This time, we’re developing a calculator using bindings to GTK+. This tutorial would be great for Haskell beginners and others who come from an imperative background. This popular post was originally written in 2015 and updated in March 2024 to reflect the process of creating a GUI application from scratch with Haskell and GTK+. This tutorial shows how to buil
Behavior-driven development (BDD) in Haskell with Hspec In this tutorial, we implement the Luhn algorithm to validate credit card numbers while we show the advantages of using a combination of Haskell and Hspec to achieve techniques and principles of the BDD software development process. “Do the simplest thing that could possibly work” - Kent Beck But why BDD? Test Driven Development (TDD) is an i
Specific Endpoints Encoding web application specifications using Haskell and ATS It’s not the daily increase but daily decrease. Hack away at the unessential. —Bruce Lee As a web application developer, many of the x-unit style tests that I write assert simple relationships among data. When applications begin to grow, the constraints imposed by these relationships are sometimes strengthened through
Reverse, Reverse: Theorem Proving with Idris "This could be the start of a beautiful proof." Constructors are red. Types are blue. Your code always works Because Idris loves you. In How Functional Programming Mattered, Zhenjiang Hu, John Hughes, and Meng Wang argue that (pure) functional programming has changed the way we think about programs. An important part of the reason why is equational reas
A QuickCheck Tutorial: Generators Learn how to use QuickCheck’s combinators to create simple generators of random values. From reversing lists to rolling dice and crafting generators for your data types, this tutorial will enhance your programming skills and help you get started with property-based testing in Haskell. This popular post was originally written in 2015 and updated in January 2024 to
Embrace Ambiguity with Haskell's Types Rather than being a system for programming in a utopian world, recently-added GHC options help you to program in real-world scenarios where types are unknown or inconsistent. Chances are, if you've spent time working in a dynamically-typed programming language, you've enjoyed being able to run a program that was inconsistently typed. For example, maybe you st
このページを最初にブックマークしてみませんか?
『Custom Software Development & Technology Consulting | Stack Builders』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く