File: function-argument0.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-- 333 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
-- Simple monomorphic higher-order function that takes a function as argument.
-- ==
-- input { 3 } output { 5 12 }
-- input { 16 } output {18 64 }

def twice (f : i32 -> i32) (x : i32) : i32 = f (f x)

def double (x : i32) : i32 = x+x
def add1 (x : i32) : i32 = x+1

def main (x : i32) : (i32, i32) = (twice add1 x, twice double x)