Byla vydána nová stabilní verze 24.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Uakari. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
Byla vydána nová verze 1.48.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Mimo jiné se v nastavení místo mac-address-blacklist nově používá mac-address-denylist.
Před 25 lety, 31. května 1999, započal vývoj grafického editoru Krita (Wikipedie). Tenkrát ještě pod názvem KImageShop a později pod názvem Krayon.
Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 24.05.0 editoru videa Kdenlive (Wikipedie). Ke stažení brzy také na Flathubu.
David Revoy, autor mj. komiksu Pepper&Carrot, se rozepsal o své aktuální grafické pracovní stanici: Debian 12 Bookworm, okenní systém X11, KDE Plasma 5.27, …
Wayland (Wikipedie) byl vydán ve verzi 1.23.0. Z novinek lze vypíchnout podporu OpenBSD.
Craig Loewen na blogu Microsoftu představil novinky ve Windows Subsystému pro Linux (WSL). Vypíchnout lze GUI aplikaci pro nastavování WSL nebo správu WSL z Dev Home.
V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.
Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.
"Kostrukce let nám mnohdy pomůže, ale jsou situace, kdy je úroveň abstrakce, kterou poskytuje, příliš nízká, protože umožňuje pouze nahrazení konkrétními čísly. Pokud chceme nahrazovat obecným vzorcem, použijeme konstrukci lambda"Přiznám se, že téhle pasáži moc nerozumím. Let není nic jiného než převlečená lambda.
((lambda (jméno) (vzorec)) (výraz))je přesně totéž, co
(let ((jméno výraz)) (vzorec))Možná by bylo lépe zřejmé, co máš na mysli tou "nízkou úrovní abstrakce", kdybys lépe vysvětlil to "nahrazení konkrétními čísly".
Konstrukce let a lambda jsou velmi užitečné na úrovni výrazů, jenže nám nepomohou, pohybujeme-li se na úrovni celého programu. Pak nastupují na řadu procedury.Tomu taky nerozumím. To, co vytváří
lambda
, se také nazývá procedura. Tzv. top-level define
forma
(define (jméno argumenty) (tělo_funkce))obdobně prostou transformací vede na
(define jméno (lambda (argumenty) (tělo_funkce)))Tohle dokonce člověk najde přímo v R5RS.
Seznamy lze samozřejmě vnořovat, pak se vyhodnocují od toho nejhlouběji vnořeného.Tohle taky nedává smysl. Seznamy se přeci nevyhodnocují. Nepleteš si to s formami? A nezmizely Ti někam odkazy na konci článku? Růžový čumáček drží palce do dalšího schemování a doporučuje přečíst si Lambda Papery, RnRS a SICP, aby nedošlo k nedorozumění studenta s jazykem.
Seznamy lze samozřejmě vnořovat, pak se vyhodnocují od toho nejhlouběji vnořeného.co naplat, ony vyhodnocovat pri trose dobre vule jdou
(eval (list '+ 1 2 3))
, ale je to spis problem vadnosti celeho popisu a terminologie ;-] (btw. termin forma je lispovsky, r5rs tento termin nepouziva a pouziva misto toho jina zverstva, ale to je na uplne jinou diskuzi ;-])
pokud predpokladame vyhodnocovani z leva doprava (r5rs to nepredpoklada) pak v (+ (+ 1 2) (+ (+ 1 2) (+ 3 4)))
vyraz (+ 3 4)
bude vyhodnoceny jako jeden z poslednich.
cely ten clanek je takovy... jak bych to rekl... napsat clanek vyhodnocovani programu ve schemu, kde se termin symbol nebo s-vyraz nevyskytuje ani jednou a kdy termin ,,vyhodnocuje'' se vyskytuje prave jednou... je docela kumst.
define
je trosku neco jineho, nez prirazeni hodnoty v klasickem smyslu, jak jsme u programovacim jazyku zvykli. Vytvari se tim nove prostredi, ve kterem se navaze na urcity symbol vyhodnoceni vyrazu. No a to ma zajimave dusledky, protoze s prostredim se daji delat psi kusy a s nim uzce souvisi i continuations, s kterymi se daji delat dalsi psi kusy (treba celkem jednoducha implementace multitaskingu) a doufam, ze se o techto tematech v nejakem budoucim pokracovani docteme.
define
zadne prostredi nevytvari. define
navaze v aktualnim prostredi hodnotu na symbol. nic vic nic min. ke vzniku prostredi dochazi v momente ,,zavolani uzivatelske funkce''.
(define foo (lambda (x) (* x x)) ; zadne prostredi nevzniklo, jen na symbol, ; foo je navazana funkce, ktera v sobe drzi ; (ukazatel na) rodicovske prostredi (foo 1) ; vzniklo nove prostredi, kde na hodnotu x je navazana jednicka ; a v tomto prostredi se vyhodnoti (* x x)
A nezmizely Ti někam odkazy na konci článku?Viz "Odkazy a zdroje".
Nehlede na to, ze konstrukce let a lambda je mozne pouzit i na top-level urovni a define i v 'zanorene' urovni (s drobnou odchylkou v semantice oproti top-level define).Konstrukce let a lambda jsou velmi užitečné na úrovni výrazů, jenže nám nepomohou, pohybujeme-li se na úrovni celého programu. Pak nastupují na řadu procedury.Tomu taky nerozumím. To, co vytvářílambda
, se také nazývá procedura. Tzv. top-leveldefine
forma
Tiskni Sdílej: