Samsung představil headset Galaxy XR se 4K Micro-OLED displeji, procesorem Snapdragon XR2+ Gen 2, 16 GB RAM, 256 GB úložištěm, operačním systémem Android XR a Gemini AI.
Před konferencí Next.js Conf 2025 bylo oznámeno vydání nové verze 16 open source frameworku Next.js (Wikipedie) pro psaní webových aplikací v Reactu. Přehled novinek v příspěvku na blogu.
Sovereign Tech Fund oznámil finanční podporu následujících open source projektů: Scala, SDCC, Let's Encrypt, Servo, chatmail, Drupal, Fedify, openprinting, PHP, Apache Arrow, OpenSSL, R Project, Open Web Docs, conda, systemd a phpseclib.
Bylo vydáno OpenBSD 7.8. S předběžnou podporou Raspberry Pi 5. Opět bez písničky.
Valkey (Wikipedie) byl vydán v nové major verzi 9.0. Valkey je fork Redisu.
Byly publikovány informace o kritické zranitelnosti v knihovně pro Rust async-tar a jejích forcích tokio-tar, krata-tokio-tar a astral-tokio-tar. Jedná se o zranitelnost CVE-2025-62518 s CVSS 8.1. Nálezci je pojmenovali TARmageddon.
AlmaLinux přinese s verzí 10.1 podporu btrfs. XFS bude stále jako výchozí filesystém, ale instalátor nabídne i btrfs. Více informací naleznete v oficiálním oznámení.
Společnost OpenAI představila svůj vlastní webový prohlížeč ChatGPT Atlas. Zatím je k dispozici pouze na macOS.
Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.5 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.
Rodina jednodeskových počítačů Orange Pi se rozrostla (𝕏) o Orange Pi 6 Plus.
use v6; subset Filename of Str where { $_ ~~ :f }; sub foo (Filename $name) { say $name; } my Filename $test = $*EXECUTABLE_NAME; foo($test); foo($*EXECUTABLE_NAME); foo('no_such_file');Výstup:
/Users/zoul/Code/rakudo/parrot_install/bin/perl6 /Users/zoul/Code/rakudo/parrot_install/bin/perl6 Constraint type check failed for parameter '$name' in Main (file src/gen_setting.pm, line 324)Hádám, že s tím si v novém Perlu hodně vyhrajeme. Mimochodem mě to konečně donutilo nainstalovat Rakudo:
$ git clone git://github.com/rakudo/rakudo.git $ cd rakudo/ $ perl Configure.pl --gen-parrot $ make && make install $ alias perl6=./parrot_install/bin/perl6Potřebujete tuším jen git, svn a normální unixový systém.
Tiskni
Sdílej:
subset Filename of Str where { $_ ~~ :f };
, a tak jsem jedním dotazem do Googlu narazil na zápisek, který se tentýž problém snaží aspoň trochu vysvětlovat: http://waffle.wootest.net/2009/12/19/perl-6-feature-ep1/. Oproti němu je přítomný text opravdu prachbídný. Předpokládám, že :f
je tedy role "býti existujícím souborem"? Pobavilo mne mimochodem, že parametr $name
ve funkci foo
má staticky deklarovaný typ role "býti existujícím souborem"Tedy "býti názvem existujícího souboru", když je to řetězec.
multi sub fib (Int $n where 0|1) { return $n } multi sub fib (Int $n) { return fib($n-1) + fib($n-2) }…případně:
multi sub fib (0) { return 0 } multi sub fib (1) { return 1 } multi sub fib (Int $n) { return fib($n-1) + fib($n-2) }To je pěkné, vzory jsem Haskellu vždycky záviděl :)
Multiple dispatch is based on the notion that methods often mediate the relationships of multiple objects of diverse types, and therefore the first object in the argument list should not be privileged over other objects in the argument list when it comes to selecting which method to run.Kažpodádně demonstracë multiple dispatch na funkci jedné proměnné mi pořád přijde zvláštní.
The order in which candidates are considered is defined by a topological sort based on the "type narrowness" of each candidate's long name, where that in turn depends on the narrowness of each parameter that is participating.…plus několik dalších odstavců textu.
Thus, constrained signatures are considered to be much more like a switch defined by the user. So for tiebreaker A the candidates are simply called in the order they were declared, and the first one that successfully binds (and completes without calling nextsame or nextwith) is considered the winner, and all the other tied candidates are ignored.
subset Odd of Int where { $_ % 2 };I typ
Filename
se ale může hodit, třeba v menších skriptech. Důležité je, aby si člověk uvědomoval jeho omezení.
$ perl6 -e ' multi sub foo($n where :f) { say "OK $n" } multi sub foo($n) { say "NAAH $n" } foo("/bin/pwd"); foo("/bagr"); ' OK /bin/pwd NAAH /bagrKazdopadne krasna featura :)