Apply

Në matematikë dhe shkenca kompjuterike, apply është një funksion që zbaton një funksion mbi argumente. Është thelbësor për gjuhët e programimit që rrjedhin nga llogaritja lambda, të tilla si LISP dhe Scheme, dhe gjithashtu për gjuhët funksionale . Ai ka një rol në studimin e semantikës denotative të programeve kompjuterike, sepse është një funksion i vazhdueshëm në rend të plotë të pjesshëm . Apply është gjithashtu një funksion i vazhdueshëm në teorinë e homotopisë, dhe, në të vërtetë, mbështet të gjithë teorinë: ai lejon që një shformim të homotopisë të shihet si një shteg i vazhdueshëm në hapësirën e funksioneve. Po kështu, mutacionet (rifaktorimet) e vlefshme të programeve kompjuterike mund të shihen si ato që janë "të vazhdueshme" në topologjinë Scott .

Përcaktimi më i përgjithshëm për apply është në teorinë e kategorisë, ku është e drejtë ngjitur me currying në kategoritë monoidale të mbyllura . Një rast i veçantë i kësaj janë kategoritë e mbyllura karteziane, gjuha e brendshme e të cilave është thjesht llogaritja lambda e tipuar .

 Programimi 

 Funksioni apply 
Apply është gjithashtu emri i një funksioni të veçantë në shumë gjuhë, i cili merr një funksion dhe një listë, dhe përdor listën si listën e argumenteve të vetë funksionit, sikur funksioni të thirrej me elementët e listës si argumente. Kjo është e rëndësishme në gjuhët me funksione variadike, sepse kjo është mënyra e vetme për të thirrur një funksion me një numër të papërcaktuar (në kohën e përpilimit) argumentesh.

 Lisp dhe Skema e Përbashkët 
Në Common Lisp apply është një funksion që zbaton një funksion në një listë argumentesh (vini re këtu se "+" është një funksion variatik që merr çdo numër argumentesh):(apply #'+ (list 1 2))Në mënyrë të ngjashme në Scheme:(apply + (list 1 2))

 Shkoni 
Në Go, argumentet variadike të tiposura thjesht mblidhen në një pjesë. Thtirrësi mund të kalojë në mënyrë eksplicite një slice në vend të argumenteve variadike, duke shtuar një ... për të bërë slice argumentin. Kjo mund të bëhet vetëm për një parametër variatik. Thirrësi nuk mund të aplikojë një grup argumentesh për parametrat jo-variadikë, pa përdorur reflektim.

 Haskell 
Në Haskell, funksionet mund të zbatohen me anë të një ballafaqimi të thjeshtë:func param1 param2 ...

 JavaScript 
Në JavaScript, objektet e funksionit kanë një metodë apply, argumenti i parë është vlera e fjalës kyçe të this funksioni brenda funksionit; e dyta është lista e argumenteve:func.apply(null, args);

 PHP 
Në PHP, apply quhet call_user_func_array :call_user_func_array('func_name', $args);

 Python dhe Ruby 
Në Python dhe Ruby, i njëjti shënim me yll që përdoret në përcaktimin e funksioneve variadike përdoret për thirrjen e një funksioni në një varg dhe grup përkatësisht:func(*args)Python fillimisht kishte një funksion apply, por ky u zhvlerësua në favor të yllit në 2.3 dhe u hoq në 3.0. 

 Vetia universale 
Konsideroni një funksion , domethënë,  ku shënimi i kllapave  shënon hapësirën e funksioneve nga A në B. Me anë të currying, ekziston një funksion unik  . Pastaj Apply ofron morfizmin universal

  ,

të tillë që



ose, në mënyrë të njëvlershme merret diagrami i lëvizjes



Më saktësisht, curry dhe app janë funktorë të përngjitur .
alt=Universal property of the exponential object|qendër| Vetia universale e objektit eksponencial

Kategoria:Faqe me përkthime të pashqyrtuara
Kategoria:Matematikë