Before talking about monads, we should review 3 concepts:
They appear in the form f :: a -> b, where :: indicates the type of f.
| from PIL import Image | |
| import numpy | |
| import os | |
| DIR = "images_good" | |
| W, H = 16, 16 | |
| MNIST_NORM = (20, 20) | |
| MNIST_SIZE = (28, 28) |
| #include <stdio.h> | |
| struct bios_info { | |
| char *date; | |
| char *partNumber; | |
| }; | |
| struct bus_info { | |
| char *type; | |
| int width; |
| #include <stdio.h> | |
| #include <stdbool.h> | |
| #include <dricenter-lib.h> | |
| int main(void) | |
| { | |
| printf("dricenter-cli\n"); | |
| struct gpu_info *gpu_table; |
| #include <stdio.h> | |
| #include <stdlib.h> | |
| #include "dricenter-lib.h" | |
| int main(void) | |
| { | |
| struct dc_info *dc_info; | |
| dc_init(dc_info); |
| module Base64 (encode) where | |
| import Data.Bits (shiftL, shiftR, (.|.)) | |
| import Data.List (replicate) | |
| import Data.Maybe (fromJust) | |
| import Data.Word (Word8) | |
| import Data.ByteString (ByteString, append, pack) | |
| import qualified Data.ByteString as ByteString | |
| import qualified Data.ByteString.Char8 as Char8 |
| ;; Step 1 | |
| (defn fact1 [n] | |
| (if (< n 2) 1 (* n (fact1 (- n 1))))) | |
| (println (fact1 5)) | |
| ;; Step 2 | |
| (def fact2 | |
| ((fn [f] |
| [CCode (cheader_filename = "qmlbind.h")] | |
| namespace Qml { | |
| [CCode (has_target = true)] | |
| public delegate void Func(); | |
| [CCode (cname = "struct qmlbind_application", | |
| cprefix = "qmlbind_application_", | |
| free_function = "qmlbind_application_release", |
| module Main where | |
| import Control.Monad (forM, when) | |
| import Data.Array.IArray ((!)) | |
| import qualified Data.Array.IArray as A | |
| -- input | |
| -- budget | |
| -- parties |
bx plugin install container-registry -r Bluemix
bx plugin install container-service -r Bluemix