Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2017-03-11

| Channels | #divine index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:49 Guest11442 joined #divine
02:49 ilbot3 joined #divine
02:49 Topic for #divine is now DIVINE | http://divine.fi.muni.cz | http://irclog.perlgeek.de/divine/
07:38 mornfall asi umřel /home
07:41 xstill_ joined #divine
07:42 mornfall ok lepší, ten prázdnej se mi moc nelíbil
07:43 xstill už je to zpátky, thecus se rozhodl odpojit iscsi když jsem hrábnul na velikost raidu (vyměnil jsem ten poslední 3TB disk za 4TB a tím pádem jsem chtěl naalokoval zbytek místa), už to funguje ale je dost na kokot, že to odpojít iscsi bez varování
09:48 mornfall (temporary) = x není ani warning?
09:48 yaqwsx Máme v divinu něco jako make clean nebo musím pomazat CMakeCache ručně?
09:49 mornfall rm -rf na builddir třeba ... ninja má nějaký clean, ale ten asi cmakecache nezničí
09:50 mornfall řekl bych rm -rf $(make show var=OBJ) ale to je trochu hazard ;-)
09:50 xstill jako že přiřazuješ do něčeho co zmizí? to nevím, mohl by to být asi warning ne nepoužitou hodnotu, ale spíš čekám, že to nikoho nenapadlo napsat jako warning
09:51 mornfall to je ale hrozně divný, temporary přece není lvalue
09:52 mornfall a nikde nevidim žádný podezřelý operátory
09:53 xstill no ale operator= se dá volat i na rvalue, není moc důvod aby se nedal
09:53 xstill (pokud to není operator=(…) &)
09:54 mornfall no, int x() { ... } ; x() = 5; fakt nejde
09:54 mornfall ale když to je struktura tak jo
09:56 mornfall a i to jen když se to překládá jako C++ (v C to je furt error)
09:56 mornfall (úplně stejnej kód)
09:56 xstill ono to vlastně dává smysl vzhledem k tomu, že přiřazování do struktury je v c++ volání metody
09:57 mornfall je to dost solidní wtf
09:58 xstill jakože, je to dost divný, ale smysl to vlastně dává
10:02 mornfall když tam napíšu Slot &operator=( const Slot & ) & = default; tak se to chová rozumně
10:02 mornfall ale asi nechápu ten usecase kdy tohle není default
10:05 mornfall navíc je to dost nekonzistentní s tím, že (temporary).x = 5; už je zase error
10:11 mornfall (aby toho nebylo málo, tak to vypadá že v C++11 tady ta konstrukce navíc způsobí že to pak nebude trivially copyable, omylem opraveno v C++14)
10:23 yaqwsx Pokouším se zkompilovat Divine lokálně a nemůžu se dostat přes následující chybu: http://pastebin.com/GDWwfdAx
10:23 yaqwsx Nějaký hint k tomu, co by mohlo být špatně? Naklonoval jsem repo a spustil make.
10:24 mornfall yaqwsx: naklonoval kdy? :)
10:24 mornfall yaqwsx: tohle by mělo být opravený (minimálně 12 hodin)
10:24 yaqwsx Před 10 minutami.
10:24 mornfall to je podezřelý
10:24 yaqwsx Beru to z anna.fi.muni.cz:/home/xrockai/src/divine/next
10:25 mornfall tenhleten patch máš?
10:25 mornfall * runtime: Fix building of libc++ with clang 4.
10:25 mornfall asi pátej dozadu
10:25 yaqwsx jj, mám.
10:27 mornfall v tom případě stížnosti vyřizuje xstill :-)
10:27 yaqwsx BTW: Jak tato chyba souvisí s clangem? Je to na začátku buildu, kdy se to buildí ještě systémovým GCC 5.4
10:27 mornfall hm, tak pak to je regrese tímto patchem vytvořená
10:27 mornfall zkus unpull :-))
10:27 mornfall s gcc 5 to předtím fungovalo
10:28 yaqwsx Jojo, po unpullu už to vypadá, že funguje. Díky!
10:28 yaqwsx xstill_: Ping
10:29 yaqwsx Build začal v 11:28, uvidíme, jak se s ním popere můj noťas.
10:30 mornfall 11:45 se začnou rozpouštět plasty ;-)
10:31 yaqwsx Venku je -6, to to jistí!
10:31 mornfall divine on ice
10:31 yaqwsx Pořád lepší mít na půl rozpuštěný notebook než se štvát s vypadávajícím internetem... ;-)
10:48 mornfall xstill: kdybys měl někdy chvíli, mohl bys opravit move konstruktor smallvectoru tak aby skutečně noexcept byl? (prozatím jsem tam dal jen specifier, ale na pohled to může alokovat... mělo by to jít udělat tak aby to potřeba nebylo)
10:49 mornfall (no, možná to bude chtít omezit na případy kdy je value_type move taky noexcept, když je ten vektor skutečně small)
10:56 divine-next joined #divine
10:56 divine-next 1 new patch validated [mornfall]
10:58 xstill yaqwsx: aha, jo, podívám se na to, neuvědomil jsem si, že chyby při buildu toolchainu se neprojeví, leda v čistém buildu, takže jsem ot vlastně nezkontroloval
10:58 xstill mornfall: jj
10:59 xstill a navíc se to zjevně na archu zbuildilo
11:07 xstill yaqwsx: co máš přesně za systém a GCC?
11:10 xstill yaqwsx: případně zkus jestli s patchem navrchu ~xstill/DIVINE/divine4 to funguje taky (budeš  muset přebuildit runtime, make -B runtime)
11:12 divine-next 2 new patches validated [mornfall]
12:42 yaqwsx Tak, máme 13:42 a build Divinu je na světě. Heňův notebook se může jít zahrabat :D
12:43 yaqwsx xstill: Jdu to vyzkoušet. Mám ubuntu 16.04
12:51 yaqwsx xstill: Vypadá to, že to funguje. Build se rozběhl, původně touto dobou už hlásil chybu.
13:04 xstill yaqwsx: dík
13:05 xstill jak dlouho že jsi to buildil?
13:06 yaqwsx Hodinu a půl - nestihl jsem konec.
13:38 xstill mornfall: u mě jsou nějaké relevantní patche, včetně toho SmallVector a toho s čím měl problém Honza (v ~xstill/DIVINE/divine4)
15:55 yaqwsx Otázka: když budu mít různé tabulky syscallů, je lepší mít nachystaných více tabulek a v initu jenom přehodit pointer na tu správnou nebo je vhodnější mít jednu tabulku a tu vyplit v initu?
16:05 mornfall yaqwsx: pokud je to tak jako tak jedna tabulka a jde ji napočítat celou staticky, je lepší ji napočítat staticky
16:06 yaqwsx Ok, díky za info.
16:07 yaqwsx mornfall: DiOS asi ještě nekompilujeme C++17, že?
16:07 mornfall xstill: ty interní hlavičky z tre bych radši nechal kde jsou (± všechno krom tre.h a tre-config.h)
16:08 mornfall xstill: co znamená uninitialized symbols?
16:15 yaqwsx mornfall: Mohl bys mi prosím připomenout, proč máme v Contextu pointer na globals? Neměla by tohle být spíše část scheduleru?
16:34 divine-next 3 new patches validated [xstill]
16:35 mornfall yaqwsx: čistě proto ze někde být musí a když nejsou procesy tak to asi vyjde nastejno kde
16:35 mornfall yaqwsx: jestli 17 nebo 14 je asi jedno, ale bylo by dobrý aby to šlo přeložit divinem ;-)
16:36 mornfall yaqwsx: jinak 'veřejné' hlavičky resp veřejné části interních hlaviček jsem začal přesouvat do libc/include/sys
16:36 mornfall to sis asi všiml
16:36 mornfall dios/kernel.hpp je to co zbylo z dios.h, +/-
16:37 yaqwsx Jojo, to jsem si všimnul.
16:37 mornfall ale je toho furt dost co se musí přeskládat aby to dávalo nějaký smysl
16:37 yaqwsx Jojo, to vidím.
16:37 yaqwsx Já teď páchám konfigurovatelný stav a globals ve stavu mi moc nesedí. Přestěhuji do scheduleru.
16:37 mornfall jasně
16:38 mornfall nicméně je to teda věc který se asi zbavit nepůjde v žádný konfiguraci
16:38 yaqwsx Kde se globals používá? Jediné, co teď je, tak je že se nastaví na hodnotu z registru.
16:39 mornfall používá se na to, že to co není ze stavu dosažitelné neexistuje :)
16:40 yaqwsx Ah, takhle. Ok, ale přijde mi rozumné, aby si toto pod svá křídla převzal Scheduler - nehledě na to, jaký bude.
16:40 mornfall ale je možná pravda že by asi šlo napsat program kterej nebude globální nic mít
16:40 mornfall je to ale dost hypotetické, protože by nemohl používat libc
16:41 mornfall jo, to jedno patro by nemělo dělat nijak zásadní rozdíl v ničem
16:41 mornfall až budou procesy bude se o to starat skutečně scheduler
16:42 yaqwsx Ok, tak já jdu pokračovat v rozbíjení DiOSu...
16:42 divine-next 1 new patch validated [xstill]
16:46 mornfall s chutí do toho :-)
16:48 yaqwsx macro SYSCALLSEP má jaký význam? Chápu ho u DiOSích syscallů, ale je použito i u sync, open apod.
16:49 mornfall yaqwsx: zeptej se Katky :) taky mi přišlo že některý SEP by šlo zapsat aj číselným makrem
16:50 mornfall ale zas tak hluboce abych to věděl jistě jsem se nezamýšlel
16:50 mornfall yaqwsx: u open je to třeba proto, že ten wrapper musí některý flagy vyřešit interně než udělá syscall
16:51 yaqwsx Ale fuj, to mi rozbíjí plány!
16:51 mornfall yaqwsx: každej problém tohoto typu jde vyřešit kusem perlu :p
16:52 yaqwsx Šel jsem do Norska s tím, že se naučím Perl, zatím se mi podařilo naučit pouze Go...
16:54 mornfall kusem go bys v tomto případě asi vyrobil problémů mnohem víc než vyřešil
16:55 yaqwsx To už jsem také zjistil... Ve spoustě věcí hezké, ale spousta věcí se tam rozbíjí :/
18:25 yaqwsx Jsem trochu ve slepé uličce - docházejí mi nápady. Chci generovat wrappery syscallů pomocí maker. To ale vede na to, že potřebuji makra SCHEDULER_SYSCAL{n}, VFS_SYSCALL{n} (abych mohl v případě vypnutí VFS dodat implementaci, která hází fault). V makrech se totiž nerozhodnu na základě argumentu. Nějaký nápad, jak to vyřešit, bez vyrobení tuny maker?
19:02 mornfall no, už to tu jednou padlo :p perl? :)
19:19 yaqwsx Že bych se ho už konečně naučil?
19:36 mornfall no nebo teda C++ a šablony
19:36 yaqwsx S tím jsem si před 7 minutami začal hrát.
19:39 mornfall máš nějakou novou posedlost časem? :-)
19:41 mornfall ty makra jak tam jsou jsou tam proto že to je ± standardní metoda
19:41 mornfall a v tý době to bylo pro Katku myslím tak přiměřeně magie
19:42 yaqwsx Tak tu magii pojďme povýšit! :D
19:43 mornfall kdyby tě náhodou eventuelně vylovili ze Svratky, nebyl jsem to já
19:43 yaqwsx Mě by našli tak maximálně v Nidelvě
19:44 mornfall nemyslel jsem nutně zítra
20:09 yaqwsx Dobře, přes šablony to nechci. Jak správně zakomponovat Perl do build procesu Divinu?
20:17 mornfall add_custom_command
20:17 mornfall nějak podobně jako třeba funguje stringify
20:17 mornfall to je nakonec taky perlovej skript
20:19 xstill mornfall: OK, na ty headry se podívám pořádně
20:20 xstill mornfall: uninitialized má být undefined, je to nějaký divný nicméně, protože v unit testech to funguje
20:21 mornfall není to tím že assert je pod __divine__ definovanej jinak?
20:23 xstill on už není jinak právě
20:33 mornfall jo default je ten throw a nothrow je jen v benchmarkovacích instancích jo?

| Channels | #divine index | Today | | Search | Google Search | Plain-Text | summary