File: function-argument1.fut

package info (click to toggle)
haskell-futhark 0.25.27-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 17,836 kB
  • sloc: haskell: 99,384; ansic: 12,821; python: 3,394; yacc: 783; javascript: 558; sh: 550; lisp: 395; makefile: 263
file content (11 lines) | stat: -rw-r--r-- 358 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
-- Simple polymorphic higher-order function that takes a function as argument.
-- ==
-- input { 11 true } output { 44 true }
-- input { 7 false } output { 28 false }

def twice 'a (f : a -> a) (x : a) : a = f (f x)

def double (x : i32) : i32 = x+x
def not (b : bool) : bool = ! b

def main (x : i32) (b : bool) : (i32, bool) = (twice double x, twice not b)