Haskell Brain Teasers : Exercise Your Mind
Lingua: inglese
Editore: Pragmatic Bookshelf, 2026
- Brossura
- Usato

Da: GreatBookPrices, Columbia, MD, U.S.A.GreatBookPrices
Venditore AbeBooks dal 6 aprile 2009
Condizione: Usato - Come nuovo
EUR 28,32
Quantità: Più di 20 disponibili
Aggiungi al carrelloDescrizione dell’articolo da parte del venditore
Unread book in perfect condition.
Codice articolo 51791577
- Titolo
- Haskell Brain Teasers : Exercise Your Mind
- Autore
- Skinner, Rebecca; Swaine, Michael (EDT); Tebeka, Miki (EDT)
- Editore
- Pragmatic Bookshelf
- Anno di pubblicazione
- 2026
- Condizione
- As New
- Rilegatura
- Brossura
- Lingua
- inglese
- ISBN 13
- 9798888651902
Deepen your Haskell knowledge, sharpen your functional programming skills, and just have fun with 25 functional programming puzzles to tie your brain in knots.
Challenge and exercise your functional programming knowledge by tackling these 25 fun, funky, and functional puzzles on Haskell programming topics like lazy evaluation, Haskell syntax, type classes, the type system, and popular libraries. Gain new insight into why Haskell is the way it is. Build mind-bending self-referential and circular data structures, unpick the seams of reality with unsafePerformIO, build enhanced DSLs with QualifiedDo, and roll back time with STM. Review or get introduced to Haskell's common quirks such as the unary minus and pattern guards while mastering newer language features up to GHC 9.12, including linear arrows and Or Patterns.
Employ powerful techniques and recognize common pitfalls as you solve fiendish puzzles across five different topic areas.
Don’t sleep on the lazy evaluation puzzles: they’ll challenge you to predict the behavior of programs that rely on laziness in unexpected ways. Think syntax and language extensions puzzles should be easy? Think again as you deal with the perversity of the unary minus operator, or puzzles based on new extensions like QualifiedDo. Prepare to be perplexed with Type Class puzzles on ad-hoc polymorphism, deriving strategies, and record fields. Want more? Try mixing classic ambiguous type puzzles with advanced new features like linear types. Want to read and debug more esoteric code and exotic language features? Then take on the Libraries puzzles, designed to challenge beginner and advanced readers as you peer into lenses, step into STM, and test the limits of your understanding with the singletons library.
After trying your hand at each puzzle, read through the solution to get more insight into key Haskell features, and use the references to build a reading list to dive deeper into new areas of the language.
"Riassunto" può appartenere a un’altra edizione di questo titolo.
Estratto. © Ristampato con autorizzazione. Tutti i diritti riservati.
Introduction
Haskell’s reputation is all about purity, safety, expressiveness, and power. It’s a language admired by many, but loved by few. For those of us who do love it, the joy comes from its flexibility and the ease of expressing our ideas without compromise.
Haskell’s flexibility is one of its greatest strengths: A predictable and composable grammar gives developers the latitude to write code with nuance and style, and language extensions allow Haskell to continually raise the bar for what an industrial-strength language can do. At the same time, Haskell’s flexibility can be an obstacle to fluency. When a language pragma changes the semantic meaning of your code or you first learn that “an expression” really means yes, any expression, your reaction is more likely to be frustration than joy.
This book is here to help. As you work through short, focused puzzles you’ll gain a clear, intuitive understanding of Haskell and start to see it as a cohesive whole. And don’t forget to stop and smell the rose trees.
Who This Book Is For
It’s for you if you are a Haskell expert, are somewhat familiar with Haskell, or are just generally interested in functional programming.
How to Read this Book
Each puzzle begins with a small self-contained Haskell program intended to run with GHC 9.12 or later using the GHC2024 language version. All required imports and language extensions are included in the puzzles and examples.
When you read the puzzle, try to predict what will happen when you compile and run the program. For example, will it:
- Run normally and print something to the screen?
- Run slowly or use a lot of memory?
- Fail to compile due to a syntax or type error?
- Hang indefinitely in an infinite loop or deadlock?
- Crash with a runtime exception?
Example Code and Tests
The sample code for this book includes standalone files for each puzzle, full example code, unit and property tests, and a complete, reproducible nix environment you can use to build and run the code. It’s available on the Pragmatic Bookshelf website.[1] There, you can download the code, participate in discussions, and post issues if needed.
Puzzle Organization and Difficulty
You can work through the puzzles in any order. They’re grouped thematically, based on which part of the language they focus on. For example, Part I focuses on challenges related to lazy evaluation, while puzzles in Part IV will lean more into reasoning about types.
Puzzles in each part are organized roughly from easiest to hardest. Since difficulty varies depending on your personal experience and background, you might run across an easier puzzle that’s challenging for you- or you might find a difficult puzzle quite easy. If you do find a puzzle that you can’t solve now, feel free to skip ahead and come back to it later.
Footnotes
"Descrizione articolo" può appartenere a un’altra edizione di questo titolo.
GreatBookPrices
Columbia, MD, U.S.A.
Venditore AbeBooks dal 6 aprile 2009
Tariffe di spedizione nazionale per U.S.A.
| Articolo | Da 5 a 14 giorni lavorativi | Da 8 a 14 giorni lavorativi |
|---|---|---|
| Primo articolo | EUR 2,30 | EUR 2,30 |
Metodi di pagamento
Descrizione dello Store
SuperBookDeals.com is your top source for finding new books at the absolute lowest prices, guaranteed ! We offer big discounts - everyday - on millions of titles in virtually any category, from Architecture to Zoology -- and everything in between. Discover great deals and super-savings, on professional books, text book titles, the newest computer guides, or your favorite fiction authors. You'll find it all - at HUGE SAVINGS - at SuperBookDeals. Browse through our complete online product catalog today. Serving customers around the world for years, we help thousands find just the books they're looking for -- at incredibly low, bargain prices.…
Informazioni sull’azienda del venditore
Expert Trading Limited
9220 Rumsey Road, Suite 101
Columbia, MD U.S.A. 21045
Condizioni di vendita
Company Name: GreatBookPrices
Legal Entity: Expert Trading, LLC
Address: 6310 Stevens Forest, suite 200, Columbia MD 21046
Email address: CustomerService@SuperBookDeals.com
Phone number: 410-964-0026
consumer complaints can be addressed to address above
Registration #: 52-1713923
Authorized representative: Danielle Hainsey
Diritto di recesso
Se sei un consumatore puoi recedere dal contratto in conformità con quanto segue. Per Consumatore si intende qualsiasi persona fisica che agisce per scopi estranei alla propria attività commerciale, imprenditoriale, artigianale o professionale.
Informazioni sul diritto di recesso
Diritto legale di recesso
Hai il diritto di recedere dal presente contratto entro 14 giorni senza fornire alcuna motivazione.
Il periodo di recesso scade dopo 14 giorni dal giorno in cui tu o una terza parte, diversa dal vettore e da te indicata, acquisisce il possesso fisico dell'ultimo bene o dell'ultimo lotto o pezzo.
Per esercitare il diritto di recesso, compila e invia elettronicamente una dichiarazione esplicita sul nostro sito Web, alla voce “I miei acquisti” nella sezione “Mio account”. Ti comunicheremo senza indugio una conferma di ricezione di tale recesso su un supporto durevole (ad es. via e-mail).
Per rispettare il termine di recesso, è sufficiente inviare la comunicazione relativa all'esercizio del diritto di recesso prima della scadenza del periodo di recesso stesso.
Effetti del recesso
In caso di recesso dal presente contratto, ti rimborseremo tutti i pagamenti ricevuti, compresi i costi di spedizione (ad eccezione dei costi supplementari derivanti dalla tua eventuale scelta di un tipo di spedizione diverso dal tipo meno costoso di consegna standard da noi offerto).
Potremo effettuare una detrazione dal rimborso per la perdita di valore dei beni forniti, qualora tale perdita sia il risultato di una manipolazione non necessaria da parte tua.
Eseguiremo il rimborso senza indebito ritardo e non oltre 14 giorni dal giorno in cui saremo informati della tua decisione di recedere dal presente contratto.
Il rimborso sarà effettuato utilizzando lo stesso mezzo di pagamento da te usato per la transazione iniziale, salvo che tu non abbia espressamente concordato altrimenti; in ogni caso, non dovrai sostenere alcun costo quale conseguenza di tale rimborso.
Possiamo trattenere il rimborso finché non avremo ricevuto i beni oppure finché non avrai fornito la prova di averli rispediti, a seconda di quale condizione si verifichi per prima.
Dovrai rispedire i beni o consegnarli a GreatBookPrices, Bensenville, Illinois, U.S.A., senza indebito ritardo e, in ogni caso, entro 14 giorni dal giorno in cui ci hai comunicato la tua volontà di recedere dal presente contratto. Il termine è rispettato se rispedisci i beni prima della scadenza del periodo di 14 giorni. I costi diretti della restituzione dei beni saranno a tuo carico. Sei responsabile solo della diminuzione del valore dei beni risultante da una manipolazione diversa da quella necessaria per stabilire la natura, le caratteristiche e il funzionamento dei beni stessi.
Eccezioni al diritto di recesso
Il diritto di recesso non si applica a:
- La fornitura di giornali, periodici o riviste ad eccezione dei contratti di abbonamento; e
- La fornitura di contenuto digitale non fornito su un supporto materiale (ad es. su un CD o DVD), se al momento dell'invio dell'ordine hai accettato l'inizio dell'esecuzione e hai riconosciuto che non avresti potuto recedere una volta iniziata l'esecuzione.
Condizioni di spedizione
Our warehouses across the globe are fully operational without substantial delays. We are working hard and continue to overcome the daily challenges presented by COVID-19. We appreciate your understanding.
Internal processing of your order will take about 1-2 business days. Please allow an additional 4-14 business days for Media Mail delivery. We have multiple ship-from locations - MD,IL,NJ,UK,IN,NV,TN & GA