-- self.hs: conjuring functions through themselves
--
-- Copyright (C) 2021-2025 Rudy Matela
-- Distributed under the 3-Clause BSD licence (see the file LICENSE).
import Conjure
main :: IO ()
main = do
conjure "?" ((+) :: Int -> Int -> Int) ingredients
conjure "?" ((*) :: Int -> Int -> Int) ingredients
conjure "i" ((+1) :: Int -> Int) ingredients
conjure "d" ((subtract 1) :: Int -> Int) ingredients
ingredients :: [Ingredient]
ingredients =
[ unfun (0::Int)
, unfun (1::Int)
, fun "+" ((+) :: Int -> Int -> Int)
, fun "*" ((*) :: Int -> Int -> Int)
, maxSize 3
, maxEquationSize 0
]