# Haskell Template
![Haskell-Logo-Variation.png][nextjournal#file#5b7fbfb9-7879-4219-b662-c887f69a351f]
```haskell id=b25fd533-6c2e-4925-a553-2e7c4e4abe58
import IHaskell.Display
html "
Haskell 💖
"
```
[result][nextjournal#output#b25fd533-6c2e-4925-a553-2e7c4e4abe58#result]
```haskell id=f96406e9-261b-4eef-b13b-7796c42b9817
{-# LANGUAGE TypeSynonymInstances, FlexibleInstances #-}
import IHaskell.Display.Juicypixels
import Codec.Picture
```
```haskell id=6a33e2ae-d85a-44c9-bcaf-0ee067508368
renderer :: Int -> Int -> PixelRGB8
renderer x y =
let (q, r) = x `quotRem` max 10 y
s = fromIntegral . min 0xff
in PixelRGB8 (s q) (s r) (s (q + r))
generateImage renderer 800 300
```
![result][nextjournal#output#6a33e2ae-d85a-44c9-bcaf-0ee067508368#result]
[nextjournal#file#5b7fbfb9-7879-4219-b662-c887f69a351f]:
[nextjournal#output#b25fd533-6c2e-4925-a553-2e7c4e4abe58#result]:
[nextjournal#output#6a33e2ae-d85a-44c9-bcaf-0ee067508368#result]:
This notebook was exported from https://nextjournal.com/a/LT6ddVJrYnF82bpPwhaQb?change-id=CX5xtTPn5Gr325uYE63XLW
```edn nextjournal-metadata
{:article
{:settings nil,
:nodes
{"1f1bcd89-2a25-48a8-8533-a8fcfe0a4ed6"
{:environment
[:environment
{:article/nextjournal.id
#uuid "02b6fac0-b81e-4de7-bc28-418ca38429b2",
:change/nextjournal.id
#uuid "5d380ef6-6e3b-4633-9c81-c9ed5c13788e",
:node/id "3db667a5-ee2a-4dac-a876-8d1e8fce2b48"}],
:id "1f1bcd89-2a25-48a8-8533-a8fcfe0a4ed6",
:kernelspec
{:display_name "Haskell",
:argv
["/etc/stack/global-project/.stack-work/install/x86_64-linux/df16fad93d14bcda55cb9e49c3a3d6e3afd450d563685b6a77a4a4c9db990645/8.6.5/bin/ihaskell"
"kernel"
"{connection_file}"
"--debug"
"--ghclib"
"/etc/stack/programs/x86_64-linux/ghc-8.6.5/lib/ghc-8.6.5"
"+RTS"
"-M3g"
"-N2"
"-RTS"
"--stack"],
:language "haskell"},
:kind "runtime-language"},
"5b7fbfb9-7879-4219-b662-c887f69a351f"
{:id "5b7fbfb9-7879-4219-b662-c887f69a351f", :kind "file"},
"6a33e2ae-d85a-44c9-bcaf-0ee067508368"
{:compute-ref #uuid "6d28e1c2-4299-468a-a502-9830a7334d3c",
:exec-duration 1937,
:id "6a33e2ae-d85a-44c9-bcaf-0ee067508368",
:kind "code",
:output-log-lines {},
:runtime [:runtime "a0164458-54b0-483a-be94-8dc99c8bb012"]},
"a0164458-54b0-483a-be94-8dc99c8bb012"
{:environment
[:environment
{:article/nextjournal.id
#uuid "02b6fac0-b81e-4de7-bc28-418ca38429b2",
:change/nextjournal.id
#uuid "5d380ef6-6e3b-4633-9c81-c9ed5c13788e",
:node/id "3db667a5-ee2a-4dac-a876-8d1e8fce2b48"}],
:id "a0164458-54b0-483a-be94-8dc99c8bb012",
:kind "runtime",
:language "haskell",
:type :jupyter,
:jupyter/kernelspec
{:display_name "Haskell",
:argv
["/etc/stack/global-project/.stack-work/install/x86_64-linux/df16fad93d14bcda55cb9e49c3a3d6e3afd450d563685b6a77a4a4c9db990645/8.6.5/bin/ihaskell"
"kernel"
"{connection_file}"
"--debug"
"--ghclib"
"/etc/stack/programs/x86_64-linux/ghc-8.6.5/lib/ghc-8.6.5"
"+RTS"
"-M3g"
"-N2"
"-RTS"
"--stack"],
:language "haskell"}},
"b25fd533-6c2e-4925-a553-2e7c4e4abe58"
{:compute-ref #uuid "bb360d6e-f16d-4c6d-a7d5-440419c6bd89",
:exec-duration 1603,
:id "b25fd533-6c2e-4925-a553-2e7c4e4abe58",
:kind "code",
:output-log-lines {},
:runtime [:runtime "a0164458-54b0-483a-be94-8dc99c8bb012"]},
"f96406e9-261b-4eef-b13b-7796c42b9817"
{:compute-ref #uuid "185b334a-7e97-4ac2-a257-bb1be577aa93",
:exec-duration 740,
:id "f96406e9-261b-4eef-b13b-7796c42b9817",
:kind "code",
:output-log-lines {},
:runtime [:runtime "a0164458-54b0-483a-be94-8dc99c8bb012"]}},
:nextjournal/id #uuid "02b736eb-dd4c-4ec4-8850-a4257de55c1c",
:article/change
{:nextjournal/id #uuid "5d47e5b3-75c6-4d24-8cf6-bf081cab7f23"}}}
```