mirror of
https://github.com/ilyakooo0/Idris-dev.git
synced 2024-09-21 22:17:19 +03:00
8f93b00307
let pat = val | <alternatives> in x' ...becomes... case val of pat => x' <alternatives> do pat <- val | <alternatives> p ...becomes... do x <- val case x of pat => p <alternatives> So in particular, large effectful functions can deal with failure inline rather than having lots of nested case blocks, e.g. main : IO () main = do [p, a] <- getArgs | [p] => putStrLn "No arguments!" | (x :: y :: _) => putStrLn "Too many arguments!" print (foo (Just (cast a)))
7 lines
118 B
Bash
Executable File
7 lines
118 B
Bash
Executable File
#!/usr/bin/env bash
|
|
idris $@ sugar004.idr -o sugar004
|
|
./sugar004
|
|
./sugar004 42
|
|
./sugar004 42 100
|
|
rm -f sugar004 *.ibc
|