Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2014-07-13

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

All times shown according to UTC.

Time Nick Message
08:07 xstill daj se ty brick testy zabalit do nějakýho makra aby se nekompilovali při normálním includování?
09:33 xstill hm, to že vyhazuješ RegistrationDone v brick-unittest je dost otrava protože pak nefunguje pořádně catch throw v cgdb
09:44 xstill ten _register je teda pěkná magie
09:48 xstill jednak nechápu proč se to pouští takhle 2x a navíc ani nechápu kam se to vlastně zaregistruje
09:55 xstill aha už vidím jak se to registruje
09:55 xstill no to je černá magie
09:58 xstill jo on se ten __attribute__((constructor)) zavolá poprvé s nějakáými vadnými argumenty
10:01 xstill teda asi spíš s žádnými, co?
10:16 mornfall jo :)
10:16 mornfall catch throw funguje když ho uděláš až na breakpointu na main
10:17 mornfall a teda když tomu nedáš -DBRICK_UNITTEST_REG tak se registrace vůbec nevolá
10:52 mornfall hm, nepatří Label spíš do graph/ než do toolkit/?
10:53 xstill může být, Probability byla v toolkit, tak jsem to hodil vedle
10:56 mornfall hmm, a nešlo by Csdr podědit od Reachability?
10:56 mornfall resp. od CommonReachability
10:58 mornfall přijde mi že dost pomocných věcí tam vypadá úplně stejně
10:58 mornfall a rpc už by mělo jít bez problémů overridovat
10:59 xstill teoreticky asi jo, jen teda nevím co to udělá s RPC když bude překrytý _visit aniž by bylo virtual
10:59 xstill no ale problém je, že shared není stejný, takže by se stejně musaly překrýt všechny RPC věci
10:59 mornfall musíš mu ho překrýt aj v DIVINE_RPC
11:00 mornfall jakto?
11:00 mornfall hm
11:00 mornfall to bych možná CommonReachability tím shared parametrizoval
11:00 xstill nebo teda nevím jak to přesně manimuluje se shared
11:00 xstill to by asi šlo
11:01 mornfall jako není to nějaký extra hezký, ale ty copy&paste metody ve mně nevyvolávají zrovna dobrý pocit
11:01 xstill no ani ve mě popravdě
11:02 xstill tak kdyžtak pushni po "instances: Add ControlLLVM, use it for simulate." pokud to je OK a já ten CSDR zkusím předělat
11:02 mornfall já ti to klidně pushnu celý a předělat to můžeš navrchu
11:03 xstill i to by šlo
11:03 mornfall co tě inspirovalo k tomu to naimplementovat? :-)
11:06 mornfall kdyžtak taky přesuň ten Label (možná aj spolu s probability)
11:06 xstill ale tak jsem přemejšlel jesli by to šlo když to všichni mají a došel jsem k názoru, že by to nebylo těžký. A teda na to abys něco našel potřebuješ relativně dost context-switchů, což je docela zajímavý (vzhledem k tomu, že všichni dělaj tak 3)
11:06 xstill jo přesunu
11:07 mornfall :-))
11:07 xstill večer na to mrknu, teď tu mám divný syntax error a pak musím vyvenčit psa
11:07 mornfall :D
11:08 xstill heh, /home/xstill/DiVinE/mainline/bricks/brick-gnuplot.h:84:28: error: ‘numeric_limits’ is not a member of ‘std’ to ti fixnu (gcc)
11:08 mornfall nojo, gcc
12:52 mornfall xstill: hm, reachabilita mi teď říká approximation :-) i když by asi neměla
12:53 xstill no t oby určitě neměla, kdy ti to říká?
12:53 xstill to by ale znamenalo, že nemáš full state space, to je taky divný ne?
12:55 mornfall The property HOLDS (approximation)
12:55 mornfall Full-State-Space: Yes
12:56 xstill nojo fakt
12:56 mornfall jenže ten print banneru je dávno předtím než se tohle vyplní :-)
12:56 xstill nojo
12:57 xstill proč není banner až nakonci?
12:57 mornfall protože protipříklad
12:57 mornfall nevim :-)
12:57 xstill no klidně by mohl být na konci, ne?
12:58 mornfall asi jo
12:58 xstill já bych ho tam posunul, a nebo by se to musalo dát jako parametr jestli je to aproximace, ale to mi příjde zbytečný
13:00 mornfall ok
13:04 xstill jo a existuje teda nějaký to makro na skrytí testů v bricks?
13:04 mornfall 12:16 (@ mornfall ) a teda když tomu nedáš -DBRICK_UNITTEST_REG tak se registrace vůbec nevolá
13:04 mornfall to by mělo stačit ne?
13:05 xstill jo, takže když tím za #ifndef celý napespace brick_test tak to bude v pohodě, ne?
13:05 mornfall proč bys to dělal?
13:05 xstill aby se zbytečně nepřekládaly testy
13:05 mornfall proč?
13:05 xstill protože potřebují víc include než zbytek kódu
13:06 xstill a zbytečně se tam instanciují šablony
13:06 xstill ale to nejde, pak tam ten test není
13:06 mornfall to jsou fakt drobný :)
13:07 mornfall když se to překládá vždycky, má to zásadní výhodu že to *jde* přeložit
13:07 xstill hm, taky fakt
13:08 mornfall jinak to měl být #ifdef ne #ifndef
13:08 mornfall (pak by to asi i fungovalo)
13:08 xstill :-D
13:09 xstill jo no
13:10 mornfall jako možná by šlo udělat BRICKS_UNITTEST_SKIP, rozdělit brick-unittest.h na asserty a registraci, posunout #include <brick-unittest.h> dolů, etc.
13:11 mornfall to by mohlo být smysluplný v tom, že bys mohl vzít brick a nemusel brát brick-unittest.h
13:11 mornfall taky kdybys náhodou něco někdy dělal v C++98
13:13 mornfall (ale stejě bys musel vždycky vzít brick-assert a většinou stejně brick-unittest chceš, tak nevim jestli to je úplně win)
13:13 mornfall (a C++98 jde vyřešit aj jinak)
15:34 mornfall hm, možná by bylo dobrý zjistit proč pooly alokujou 10x víc paměti než používaj
16:36 mornfall jo no to dává smysl
16:36 mornfall hm
18:29 xstill dává?
19:02 mornfall no při tom co to dělá jo
19:03 mornfall http://pastebin.dqd.cz/PW8Z/
19:03 mornfall bude to chtít „rozběh“
19:03 xstill nojo
19:04 xstill máš dost rozmanité délky
19:05 xstill i když ono to v praxi funguje relativně dobře, protože OS tu pamět většinou vůbec fyzicky nealokuje
19:05 xstill ale kazí to teda limit
19:05 mornfall jo, dost :-)
19:09 xstill můžu zabalit všechny změny související s přesunem Label/Probability do jednoho patche?
19:22 mornfall jo proč ne
19:53 xstill fuj
19:55 mornfall co?
19:56 xstill ale dostal jsem compile error v RPC
19:56 mornfall :]
19:56 xstill jedna 'note' skoro na celou obrazovku…
19:57 mornfall jo, na chybový hlášky by to chtělo nějaký AI
19:57 mornfall v GHC to začíná vypadat dost podobně
19:58 xstill a teda CommonReachability asi bude muset být mixin
19:59 mornfall hm, to asi záleží jak moc toho chceš sdílet
20:00 xstill no problém je s tím _visit jak přesvědčit RPC aby ho sežralo
20:00 xstill hm, ale já to možná dělám blbě
20:01 mornfall no, mělo by to fungovat analogicky s tím jak to je v AlgorithmUtils vs. algoritmy
20:02 xstill no problém je v tom, že algoritmus je parametrem do Parallel
20:04 xstill a tím pádem mi RPC nechce brát &This::_visit kde this je Csdr (což dědí z CommonReachability)
20:04 mornfall pravda... ale mohlo by jít dát CommonReachability jako parametr hotový Parallel ne?
20:05 xstill snad jo
20:05 xstill pořád lepší než z toho dělat mixin asi (stejně to moc nefungovalo…), ale nebudu potom mít ten stejný problém (jen obráceně?)
20:06 mornfall doufám že ne (ale zaručit ti to nemůžu :D)
20:12 mornfall mám pocit že Release by defaultně mohl zapínat NVALGRIND ;-)
20:12 mornfall hm, on zapíná, jen v reportu to není vidět

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