Страницы

Поиск по вопросам

воскресенье, 26 января 2020 г.

Как распечатать чистое лямбда-выражение в Haskell (в ghci)?

#haskell


Например я пишу (\x y -> x) (\x -> x) 12 и чтоб распечатал буквально (\x->x)
(и не тип T->T (пробовал через :t))
Чтоб не писал "No instance for (Show..." и чтоб распечатывал любую анонимную функцию,
независимо от сигнатуры. То есть, чтобы можно было использовать Haskell как интерпретатор
чистого лямбда-исчисления (но с синтаксисом Haskell)
    


Ответы

Ответ 1



Боюсь, что никак: в Haskell не предусмотрено средств для этого, как и в других компилируемых языках - тот же интерпретатор GHCi построен поверх компилятора и перед выполнением выражений выполняет их компиляцию - попробуйте набрать ghc --interactive ;-) Это во-первых, во-вторых пример кода, приведённый Вами, не верен.

Комментариев нет:

Отправить комментарий