Klausimai pažymėti „kombinatoriais“

Kombinatorius yra aukštesnės eilės funkcija, kuri naudoja tik taikomąją funkciją ir anksčiau apibrėžtus kombinatorius, kad nustatytų savo argumentų rezultatą.
17
atsakymai

Kas yra y-kombinatorius?

Y-combinator yra comp-sci koncepcija iš „funkcinės“ pusės. Dauguma programuotojų net nieko nežino apie juos, net jei jie apie juos girdėjo. Kas yra y-kombinatorius? Kaip jie veikia? Kokie jie geri? Ar jie naudingi procedūroje ...
rugsėjo 18 d '08 18:21
4
atsakymai

foldl vs foldr su begaliniais sąrašais

„MyAny“ funkcijos kodas naudoja foldr šiuo klausimu. Jis sustabdo begalinio sąrašo apdorojimą, kai vykdomas predikatas. Aš perrašiau ją naudojant foldl: myAny :: (a -> Bool) -> [a] -> Bool myAny p sąrašas = foldl žingsnis False lis ...
birželio 21 d., 8 val
1
atsakymas

Darbinio žmogaus kombinatorių paaiškinimas

Kas yra kombinatorius? Ar tai funkcija ar apibrėžimas be laisvų kintamųjų? (kaip apibrėžta SO)? Arba kaip apie tai: pagal John Hughes savo žinomame straipsnyje apie strėles, „kombinatorius yra funkcija, kuria sukuriama programa ...
rugsėjo 23 d '11 10:26 val
7
atsakymai

Užlenkta uodega yra rekursyvi, taigi, kaip foldr veikia greičiau nei foldl?

Aš norėjau išbandyti foldl vs foldr. Nuo to, ką aš mačiau, turėtumėte naudoti foldl over foldr, kai tik galite dėl uodegos rekursijos optimizavimo. Tai prasminga. Tačiau, atlikus šį testą, aš supainiuosi: foldr (priima komandą 0 ...
nustatyti 07 rug '10, 10:54
9
atsakymai

Kaip veikia sulankstomas sandėlis?

Ar kas nors gali paaiškinti, kaip veikia foldr? Paimkite šiuos pavyzdžius: Preliudas> foldr (-) 54 [10, 11] 53 Preliudas> foldr (xy -> (x + y) / 2) 54 [12, 4, 10, 6] 12,0 Aš esu painus dėl šių įvykių. Bet kokie pasiūlymai?
lapkričio 18 d. '09 20:36
8
atsakymai

Geras „Combinators“ (ne matematikai) paaiškinimas

Ar kas nors gavo gerą „kombinatorių“ (Y-kombinatorių ir tt, o ne įmonės) paaiškinimą. Aš ieškau vieno praktinio programuotojo, kuris supranta rekursiją ir aukštesnės eilės funkcijas, bet neturi stiprios teorijos ar matematinio pagrindo. (...
rugsėjo 19 d '08 1:25
7
atsakymai

„Haskell“ atlieka „ir“ ir „arba“ už logines funkcijas

Aš tiesiog parašiau šias dvi funkcijas: fand :: (a -> Bool) -> (a -> Bool) -> a -> Bool fand f1 f2 x = (f1 x) (f2 x) f_or :: (a -> Bool) -> (a -> Bool) -> a -> Bool f_or f1 f2 x = (f1 x) || (f2 x) Jie ...
nustatytas 19 d '11, 2:45
4
atsakymai

Kaip veikia Data.MemoCombinators?

Pažvelgiau į šaltinį „Data.MemoCombinators“, bet aš negaliu suprasti, kur yra jo širdis. Prašome paaiškinti man, kokia logika yra už visų šių kombinatorių ir mechanikos, kaip jie iš tikrųjų dirba, kad paspartintų jūsų programą realiu ...
nustatyti 12 vas '11 22:25
14
atsakymai

Kokia įdomi aukštesnio lygio funkcijų naudojimas?

Šiuo metu esu užsiėmęs funkciniu programavimo kursu, ir esu labai nustebęs dėl aukštesnės kategorijos funkcijų ir funkcijų kaip pirmos klasės piliečiai. Tačiau aš vis dar negaliu sugalvoti daugelio praktiškai naudingų, konceptualių ...
nustatytas balandžio 26 d '11, 18:38
2
atsakymai

Y kombinatoriaus diskusija skyriuje „Mažoji schema“

Taigi, aš praleidau daug laiko skaityti ir perskaityti paskutinį 9 skyrių „The Little Schemer“, kur Y kombinatoriaus programa skirta ilgio funkcijai. Manau, kad mano painiavos kyla dėl vieno teiginio, kuris prieštarauja dviem galimybėms ...
gegužės 8 d., 12 val
2
atsakymai

Haskell lygiagrečios kortelės

Ar yra žemėlapio submeniu, kuris vertina sąrašą lygiagrečiai? Man nereikia, kad jis būtų tingus. Kažkas panašaus į: pmap :: (a -> b) -> [a] -> [b] leidžia man pmap cost_function big_list ir turėti visus mano branduolius 100%.
nustatytas balandžio 09 d '11 19:14
5
atsakymai

Kas yra zygo / meta / histo / para / futu / dyna / kokia-morfizmas?

Ar yra jų sąrašas su pavyzdžiais, prieinamais asmeniui be išsamių žinių apie kategorijų teoriją?
gegužės 28 d. 19:51
4
atsakymai

Kombinuotas metodas, pvz., Čiaupas, bet gali grąžinti kitą vertę?

Aš einu per etapą, stengiantis išvengti laikinų kintamųjų ir pernelyg didelių sąlyginių sąlygų naudojimo, kur galiu naudoti daugiau skysčio kodavimo stilių. Man tikrai patiko naudoti #tap tose vietose, kur noriu gauti vertę, kuri ...
nustatyti 24 okt. '11 19:21
2
atsakymai

Kas yra supercinatoriai ir nuolatinės taikomosios formos?

Aš kovoju su tuo, kad „Supercombinators“: „Supercombinator“ yra pastovus arba kombinatorius, kuriame yra tik supercinatoriai kaip subekspresijos. Ir taip pat su tuo, kad nuolatinės taikomosios formos: bet kuris supercentratorius, kuris ...
nustatyti 30 lapkričio '11 21:09
7
atsakymai

Haskell žemėlapis / zip Vs. sąrašą

Kuris iš šių būdų labiausiai tikėtina rašyti? r = zip xs $ map sqrt xs arba r = [(x, sqrt x) | x <- xs] Interneto kodo pavyzdys rodo, kad pirmasis yra labiau paplitęs ir pageidautinas.
liepos 4 d., 10 val