abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:00 | IT novinky

    Na Humble Bundle běží akce Linux: All the Things by O'Reilly a Picos, HATs, and More by Raspberry Pi Press. Elektronické knihy lze koupit se slevou a současně podpořit organizace Code for America a Raspberry Pi Foundation.

    Ladislav Hagara | Komentářů: 1
    včera 14:00 | Komunita

    FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, má nový vtipný a současně užitečný doplněk Banana For Scale (GitHub). Aktuálně umožňuje do výkresu vložit banán nebo plechovku pro porovnání a určení měřítka.

    Ladislav Hagara | Komentářů: 4
    včera 12:00 | Komunita

    Blender Studio nedávno oznámilo plán vytvořit svůj první otevřený (open source) celovečerní film. Film by se měl jmenovat Overgrown (YouTube). Film vznikne, pokud se zajistí financování. Prvním krokem je získat 7 000 předplatitelů Blender Studia. Cena je od 11,50 eur měsíčně. Aktuálně počet předplatitelů je 5 289. Předplatné pokryje 20 % nákladů. Zbytek, 80 % nákladů, má být financován externími producenty nebo distributory.

    Ladislav Hagara | Komentářů: 0
    12.7. 01:11 | Nová verze

    Byl vydán Debian 13.6, tj. šestá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.15, tj. poslední patnáctá opravná verze Debianu 12 s kódovým názvem Bookworm, k dispozici je LTS. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    10.7. 16:11 | Bezpečnostní upozornění

    V jádře Linux byla nalezena a v upstreamu již byla opravena kritická zranitelnost GhostLock aneb CVE-2026-43499. Lokálnímu uživateli umožňuje získat práva roota a také obejít kontejnerovou izolaci. Zranitelnost existovala v Linuxu 15 let, tj. od roku 2011, od Linuxu verze 2.6.39.

    Ladislav Hagara | Komentářů: 2
    10.7. 13:55 | IT novinky

    Evropská komise předběžně shledala, že návykový design aplikací Instagram a Facebook od americké společnosti Meta porušuje unijní nařízení o digitálních službách (DSA). Návykový design zahrnuje například takzvané nekonečné posouvání, automatické přehrávání videí, tzv. push notifikace, kdy aplikace uživatele vybízí k návratu do jejího prostředí, či vysoce personalizovaný algoritmus, který rychle pozná, co uživatele baví a snaží

    … více »
    Ladislav Hagara | Komentářů: 18
    10.7. 12:11 | Nová verze

    Byla vydána verze 1.97.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    10.7. 05:00 | IT novinky

    Švýcarská společnost Punkt. má nově v nabídce telefon Punkt. MC03. Telefon byl navržen ve Švýcarsku s důrazem na soukromí a digitální suverenitu a vyroben v Německu. V telefonu běží operační systém AphyOS (Apostrophy OS) založený na AOSP (Android Open Source Project) 15. Cena telefonu je 745 eur.

    Ladislav Hagara | Komentářů: 26
    10.7. 04:44 | Nová verze

    TypeScript (Wikipedie), tj. JavaScript rozšířený o statické typování a další atributy, byl vydán v nové verzi 7.0. Kompilátor byl kvůli výkonu přepsán z TypeScriptu do Go.

    Ladislav Hagara | Komentářů: 0
    9.7. 17:00 | IT novinky

    Europarlament podpořil pozměněnou verzi výjimky známé jako „chat control 1.0“ umožňující firmám skenovat soukromou komunikaci na internetu kvůli ochraně dětí před zneužitím. Pozměňovací návrhy přijaté europoslanci však počítají s tím, že z výjimky bude vyřazena šifrovaná komunikace. Výjimka přestala platit začátkem dubna poté, co se Evropský parlament a Rada EU nedokázaly shodnout na jejím prodloužení. Rada následně přijala

    … více »
    Ladislav Hagara | Komentářů: 12
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 2117 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Rekurze v erlang shellu

    4.7.2007 11:46 | Přečteno: 1198× | erlang

    Jedna z výtek na adresu erlangu, co jsem zaznamenal, je nemožnost napsat rekurzivní funkci přímo v shellu. Přitom je to spíše příznak nedostatku informovanosti. Přiznám se bez mučení, že jsem to taky ze začátku nevěděl, protože k tomu je potřeba devilish ingenuity (slovy Joe Armstronga na straně 57). Ve výše odkazované disertační práci je jako ukázka výpočet faktoriálu.

    6> Fact = fun(X) ->
          G = fun(0,F) -> 1;
                 (N, F) -> N*F(N-1,F)
          end,
          G(X, G)
       end.
    #Fun<erl_eval.5.123085357>
    7> Fact(4).
    24

    Pokud vás z uvedeného kódu nebolí hlava, tak jděme dále. Co třeba funkce, která bude vracet sekvencery (funkce vracející list hodnot se zvoleným krokem). Nic těžkého, ta rekurze je tam stejně jen jedna:

    14> StepSeqGen = fun(Step) ->
          G = fun(X,Y,Z,F) when X > Y -> [];
                 (X,Y,Z,F) -> [X|F(X+Z, Y, Z, F)]
          end,
          fun(Start,Stop) -> G(Start, Stop, Step, G) end
        end.
    #Fun<erl_eval.6.56006484>
    15> ByOne=StepSeqGen(1).
    #Fun<erl_eval.12.115169474>
    16> ByOne(1,10).
    [1,2,3,4,5,6,7,8,9,10]
    17> ByTwo = StepSeqGen(2), ByTwo(0,10).
    [0,2,4,6,8,10]
    18> (StepSeqGen(3))(0,10).
    [0,3,6,9]
    

    Takže rekurze přímo v shellu psát jdou i když to není na první pohled zrovna patrné. Stačí jen troška té devilish ingenuity.

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    4.7.2007 14:58 pkm
    Rozbalit Rozbalit vše Re: Rekurze v erlang shellu
    No to je tedy state of the art příspěvek (už dlouho se tu nikdo neodvolával na něcí disertaci, to jou samé wikiny a osnews :-)

    A když to není v shellu, tak rekurze jde i bez toho předávání funkce jako parametru?
    4.7.2007 15:17 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Rekurze v erlang shellu
    To je tak, když Erlang nemá letrec. ;-) Možná i v něm by se občas hodil.
    4.7.2007 18:58 Tom.š Ze.le.in | skóre: 21 | blog: tz
    Rozbalit Rozbalit vše Re: Rekurze v erlang shellu
    Ale co, letrec se vzdycky da funkcionalne nahradit Y kombinatorem, ne? :)
    5.7.2007 18:18 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Rekurze v erlang shellu
    a neni toto nahodou jen stary dobry y-kombinator?
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    4.7.2007 18:34 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Rekurze v erlang shellu
    A když to není v shellu, tak rekurze jde i bez toho předávání funkce jako parametru?
    Samozřejmě.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.