定义咖喱

2021-04-24 04:40:41

一位朋友建议一个定义咖喱宏,我立即想到的是这样的: (定义咖喱(Foo Bar Baz Bax)(打印BAZ)(+ BAR BAZ BAX))(=(Foo 100 20 3)((Foo 100)20 3)((Foo 100 20)3)((Foo)100 20 3)(((foo)100)20 3)(((foo 100)20)3)(((foo)100)20)3)) (导入miscmacros)(定义 - 语法规则(定义 - 咖喱(名称。args)。身体)(定义(名称。(=(=(长时间朋友)(长度' args))(申请(lambda args。身体)朋友)(Lambda Stragglers(申请名称(附加朋友摔跤手))))))))))))))) 这是一个功能性的咖喱组合器,任意arity但不是递归。 当每个插槽位于arg列表的末尾时,它是切割的替代品。 (定义(🍛名。args)(lambda stragglers(应用名称(附加名称(附加args stragglers))))(= 54321((🍛+ 11200)4000 50000)((🍛(🍛+ 1 20 300)4000)50000) )