Thunk - онлайн пъзели

В компютърното програмиране, тунк е подпрограма, използвана за инжектиране на допълнително изчисление в друга подпрограма. Thunks се използват предимно за забавяне на изчислението, докато не е необходим неговият резултат, или за вмъкване на операции в началото или в края на другата подпрограма. Те имат разнообразие от други приложения за генериране на код на компилатор и модулно програмиране.

Терминът възниква като хумористично минало причастие на „мисля“. Тоест, „Thunk value“ става достъпна, след като нейното изчисление е обмислено или изпълнено.

Фон

В ранните години на компилаторни изследвания се наблюдава широко експериментиране с различни стратегии за оценка. Ключов въпрос беше как да се състави повикване на подпрограма, ако аргументите могат да бъдат произволни математически изрази, а не константи. Един подход, известен като "call by value", изчислява всички аргументи преди повикването и след това предава получените стойности на подпрограмата. При съперническия подход „извикване по име“ подпрограмата получава неценен израз на аргумента и трябва да го оцени.

Една проста реализация на "call by name" може да замести кода на аргументния израз за всяко появяване на съответния параметър в подпрограмата, но това може да създаде множество версии на подпрограмата и множество копия на кода на израза.

на Croods онлайн пъзелна Croods онлайн пъзелна Croods онлайн пъзелна Croods онлайн пъзелна Croods онлайн пъзелна Croods онлайн пъзелна Croods онлайн пъзелна Croods онлайн пъзелна Croods онлайн пъзелна Croods онлайн пъзелна Croods онлайн пъзел