Как реализовать функцию дважды (функция, которая выполняет другую функцию дважды)?Не удалось сопоставить тип записи с типом функции Int - PullRequest
0 голосов
/ 17 октября 2018

Вот код

module Main where

import Prelude

twice1 f = f . f

transform :: Int -> Int
transform n = n + 1

apply1 x = (twice1 transform) x

У меня ошибка

  Could not match type

    Record

  with type

    Function Int

Что не так?(Вы можете попробовать код здесь http://try.purescript.org)

enter image description here

1 Ответ

0 голосов
/ 17 октября 2018

PureScript использует точку . для доступа к полям записи, например:

r = { a: 42, b: "what?!" }
fourtyTwo = r.a

Оператор композиции функций в PureScript имеет значение <<< (или >>> для композиции слева направо)Например:

twice1 f = f <<< f
...