Välkommen tillbaka till Campusbokhandeln! Vi firar med inlämningskampanj: Lämna in din kurslitteratur – få 150 :- och chansen att vinna 1 000 :-. Läs mer här!
Learn You a Haskell for Great Good | 0:e upplagan
- Danskt band, Engelska, 2011
- Författare: Miran Lipovaca
- Betyg:
Välj skick:
Bästa pris
377
kr
Skickas inom 2-3 vardagar
Du sparar 81 kr
(18%)
mot nypris
458
kr
Skickas inom 7-9 vardagar
364
kr
Skickas från säljare inom 1-3 vardagar
Anna
, Västra frölunda
Verifierad säljare
Skickar snabbt
Du sparar 94 kr
(21%)
mot nypris
Butikslager
Onlinelager
3 st i lager
$event.detail.name === 'store-selector' ? isOpen = true : ''"
@close-drawer.window="() => $event.detail.name === 'store-selector' ? isOpen = false : ''"
@keydown.escape.window="isOpen = false"
x-init="$watch('isOpen', value => {
if (value) {
$refs.dialog.showModal();
document.body.style.overflow = 'hidden';
//emit onDrawerOpen event
$dispatch('drawer-opened', {
name: 'store-selector'
});
} else {
setTimeout(() => {
$refs.dialog.showModal();
$refs.dialog.close();
}, 300);
document.body.style.overflow = '';
$dispatch('drawer-closed', {
name: 'store-selector'
});
}
});"
class="h-full"
>
Beskrivning
It's all in the name: Learn You a Haskell for Great Good! is a hilarious, illustrated guide to this complex functional language. Packed with the author's original artwork, pop culture references, and most importantly, useful example code, this book teaches functional fundamentals in a way you never thought possible. You'll start with the kid stuff: basic syntax, recursion, types and type classes. Then once you've got the basics down, the real black belt master-class begins: you'll learn to use applicative functors, monads, zippers, and all the other mythical Haskell constructs you've only read about in storybooks. As you work your way through the author's imaginative (and occasionally insane) examples, you'll learn to: Laugh in the face of side effects as you wield purely functional programming techniques Use the magic of Haskell's 'laziness' to play with infinite sets of data Organize your programs by creating your own types, type classes, and modules Use Haskell's elegant input/output system to share the genius of your programs with the outside world Short of eating the author's brain, you will not find a better way to learn this powerful language than reading Learn You a Haskell for Great Good!
Produktinformation
Kategori:
Okänd
Bandtyp:
Danskt band
Språk:
Engelska
Förlag:
NO STARCH PRESS US
Upplaga:
0
Utgiven:
2011-04-11
ISBN:
9781593272838
Sidantal:
400
Används bl.a. i följande kurser
$event.detail.name === 'primary-menu' ? isOpen = true : ''"
@close-drawer.window="() => $event.detail.name === 'primary-menu' ? isOpen = false : ''"
@keydown.escape.window="isOpen = false"
x-init="$watch('isOpen', value => {
if (value) {
$refs.dialog.showModal();
document.body.style.overflow = 'hidden';
//emit onDrawerOpen event
$dispatch('drawer-opened', {
name: 'primary-menu'
});
} else {
setTimeout(() => {
$refs.dialog.showModal();
$refs.dialog.close();
}, 300);
document.body.style.overflow = '';
$dispatch('drawer-closed', {
name: 'primary-menu'
});
}
});"
class="h-full"
>
$event.detail.name === 'mobile-search' ? isOpen = true : ''"
@close-drawer.window="() => $event.detail.name === 'mobile-search' ? isOpen = false : ''"
@keydown.escape.window="isOpen = false"
x-init="$watch('isOpen', value => {
if (value) {
$refs.dialog.showModal();
document.body.style.overflow = 'hidden';
//emit onDrawerOpen event
$dispatch('drawer-opened', {
name: 'mobile-search'
});
} else {
setTimeout(() => {
$refs.dialog.showModal();
$refs.dialog.close();
}, 300);
document.body.style.overflow = '';
$dispatch('drawer-closed', {
name: 'mobile-search'
});
}
});"
class="h-full"
>
$event.detail.name === 'mini-cart' ? isOpen = true : ''"
@close-drawer.window="() => $event.detail.name === 'mini-cart' ? isOpen = false : ''"
@keydown.escape.window="isOpen = false"
x-init="$watch('isOpen', value => {
if (value) {
$refs.dialog.showModal();
document.body.style.overflow = 'hidden';
//emit onDrawerOpen event
$dispatch('drawer-opened', {
name: 'mini-cart'
});
} else {
setTimeout(() => {
$refs.dialog.showModal();
$refs.dialog.close();
}, 300);
document.body.style.overflow = '';
$dispatch('drawer-closed', {
name: 'mini-cart'
});
}
});"
class="h-full"
>
$event.detail.name === 'add-to-cart' ? isOpen = true : ''"
@close-drawer.window="() => $event.detail.name === 'add-to-cart' ? isOpen = false : ''"
@keydown.escape.window="isOpen = false"
x-init="$watch('isOpen', value => {
if (value) {
$refs.dialog.showModal();
document.body.style.overflow = 'hidden';
//emit onDrawerOpen event
$dispatch('drawer-opened', {
name: 'add-to-cart'
});
} else {
setTimeout(() => {
$refs.dialog.showModal();
$refs.dialog.close();
}, 300);
document.body.style.overflow = '';
$dispatch('drawer-closed', {
name: 'add-to-cart'
});
}
});"
class="h-full"
>