Czy dzięki podpisowi typu Haskell możliwe jest automatyczne wygenerowanie kodu?

Co mówi w tytule. Jeśli piszę podpis typu, czy możliwe jest algorytmiczne wygenerowanie wyrażenia, które ma ten typ podpisu?

Wydaje się prawdopodobne, że można to zrobić. Wiemy już, że jeśli typ jest specjalnym przypadkiem sygnatury typu biblioteki, Hoogle może znaleźć tę funkcję algorytmicznie. Z drugiej strony, wiele prostych problemów związanych z ogólnymi wyrażeniami jest w rzeczywistości nierozwiązywalnych (np. Nie można wiedzieć, czy dwie funkcje robią to samo), więc jest mało prawdopodobne, że jest to jedna z nich.

Prawdopodobnie źle jest zadać kilka pytań naraz, ale chciałbym wiedzieć:

Czy można to zrobić?

Jeśli tak to jak?

Jeśli nie, czy istnieją sytuacje, w których jest to możliwe?

Jest całkiem możliwe, że dwa różne wyrażenia mają ten sam podpis typu. Czy możesz obliczyćwszystko z nich? Lub nawettrochę z nich?

Czy ktoś ma działający kod, który robi to naprawdę?

questionAnswers(4)

yourAnswerToTheQuestion