Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2014-08-09

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

All times shown according to UTC.

Time Nick Message
08:30 xstill joined #divine
08:31 xstill joined #divine
09:54 mornfall hm, clang mi schoval zrovna ten jeden důležitej řádek v template backtrace...
10:13 xstill potěší
10:19 mornfall chybí mi zip a drop v query :-)
10:21 xstill tak to není problém dodělat
10:21 mornfall ideálně ještě zipWith :-) teď to mám open-coded
10:23 mornfall no mapa z typů do hodnot a polymorfní lambdy... vůbec nejsem náročnej :D
10:24 xstill mapa z typů do hodnot?
10:24 xstill co děláš?
10:24 mornfall no ten splitter :-)
10:25 xstill jo a query se snažím udržet C++11, a totéž by asi bylo vhodný pro divine
10:25 xstill protože jinak to zase nepůjde nikde zkompilovat
10:26 mornfall no, já právě uvažoval jestli zvládáme nějaký C++11 překladače co nemaj poly lambdy
10:26 mornfall ale je možný že jo
10:26 xstill no c++1y mi naposedy nezkompilovat clang 3.3 asi, kvůli nějakýmu bugu v knihovně
10:27 mornfall ono zrovna ty auto parametry jsou dost triviální
10:27 mornfall ale jo
10:27 xstill https://gcc.gnu.org/projects/cxx1y.html
10:27 xstill auto lambdy až od 4.9
10:27 mornfall stejně se mi tu hmapu nechce implementoat
10:27 mornfall wtf gcc
10:28 xstill return type deduction od 4.8 (ale asi ne úplně dobře, protože ho pak maj v 4.9 znova)
10:28 mornfall je to podle jiný specifikace
10:29 xstill constexpr koukám vůbec, ach jo
10:29 mornfall si ještě počkáme
10:29 mornfall a na auto parametry v normálních fcích navíc minimálně na novej standard
10:30 xstill tak auto parametr je jen šablona
10:30 mornfall je to k zlosti no, ale zase furt lepší než být zaseklej s C++98 jako deset let předtím
10:30 xstill http://clang.llvm.org/cxx_status.html clang 3.4 už asi umí všechno
10:31 mornfall jo, jen už mě nebaví ty zbytečný template< typename X, typename Y > void f( X x, Y y ) ... :-)
10:31 mornfall je to dlouhý jak prase
10:33 mornfall hlavně teda funkce co maj 2x delší hlavičku než implementaci ...
10:33 mornfall no, splitter v0 pro llvm asi funguje
10:33 mornfall teď ta rekurze
10:35 mornfall no nebo taky ne :-)
12:53 mornfall koukám že neumíme pointry v agregátech na jiný pozici než první, to taky není úplně dobře
12:53 mornfall (teda týká se to jen registrů, na haldě to samozřejmě funguje normálně)
14:30 xstill hm, to je hezký, že buildujeme test-bricks ale pustit bysme ho taky mohli :-)
14:38 mornfall tak, ono by to bylo zbytečný kdybychom měli brick-based unit testy v divinu
14:40 xstill tak to časem budeme počítám
14:40 xstill jo s tím souvisí
14:40 xstill zkoušel jsem pustit pool přes brick asserty a nezkompiloval jsem to kvůlit těm llvm souborům co se kompilují s -fno-rtti
14:40 xstill protože tam někde máš typeid
14:40 mornfall to jsem už mezičasem opravil :)
14:41 xstill aha
14:41 xstill a má to -fno-rtti smysl?
14:41 mornfall jo, bez toho to neslinkuješ :)
14:41 xstill jakto?
14:42 mornfall protože libLLVM* nemá vygenerovaný typeinfo data
14:42 xstill aha
14:42 mornfall typicky
14:42 mornfall LLVM má vlastní implementaci typeid
14:42 mornfall v podstatě
14:44 xstill jo to jsem někde zahlíd
14:45 mornfall hm, zrychlil jsem LLVM generátor zhruba 4x (aspoň na ipcqueue), ale něco jsem u toho lehce rozbil
14:45 xstill co jsi s tím udělal?
14:45 mornfall callgrind :-)
14:45 xstill aha :-)
14:46 mornfall tak to že kanonizace je děsivě pomalá se ví už dlouho, jen jsem se k tomu nikdy nějak nedostal
14:47 mornfall ale bylo by lepší kdyby to generovalo stejnej stavovej prostor teda
14:52 xstill to jo no
14:56 mornfall chtělo by to něco jako dess-diff :-)
14:57 xstill no dess je závislej i na pořadí generování, ale můžeš si udělat draw a pak diff na tom .dot
14:58 xstill *spíš procházení než generování
14:58 mornfall pustit to na jednom vlákně bych přežil
16:04 xstill hm, neví náhodou o nějakém jiném texové balíku na formántování zdrojáků než listings?
16:07 mornfall je jich aspoň půl tuctu a všechny jsou špatný :-)
16:07 mornfall jaký zdrojáky máš zhruba na mysli?
16:09 xstill haskell ve sbírce
16:09 xstill jako on ten listings skoro jde, jenže se strašně snadno rozbije a nedává český znaky
16:09 mornfall pandoc umí generovat tex z lhs
16:11 xstill hm teoreticky, ale já potřebuju vkládat i krátké kódy do textu
16:12 mornfall jako v contextu to není problém, ale počítám že chceš latexovat :-)
16:12 xstill jo, myslím že by to nebylo praktické pro spolupráci
16:13 xstill ale tak já si s tím asi poradím
16:14 mornfall jako lualatex nebo aspoň xelatex by asi pomohl
16:14 mornfall ale to furt spousta lidí neumí používat
16:16 xstill jo, kdyby ten krám uměl utf tak by to bylo o dost lepší…
16:16 xstill hm, ale přišel jsem na to jak do kódu vkládat matiku
16:17 xstill jenže pak tam zase nedostanu dolar, otázka je jestli ho tam vůbec chci někdy použít
16:18 mornfall (€) = ($) ;-)
16:18 mornfall a máš vystaráno
16:23 xstill ach jo, mě příjde že půlka těch nastavení stejně nefunguje
16:56 mornfall latex měl být dávno ve šrotu... :P
17:59 mornfall tak tomu říkám dementní chyba
19:48 xstill nojo jenže pořád je asi nejpoužívanější
19:49 mornfall to je ten nesmrtelnej US-centrizmus :)
19:50 mornfall ono v podstatě jedinej problém je nainstalovat funkční texlive
19:50 mornfall tam je pak už všechno, včetně docela novýho luatexu
19:50 xstill co je zase luatex?
19:51 mornfall máš pdftex (etex), xetex a luatex :-)
19:51 mornfall nad tím pdflatex, xelatex, lualatex
19:51 mornfall luatex je to jak to zní... tex kterej jde programovat v lua
19:52 mornfall což je asi tak 1000% pokrok proti texovýmu makrojazyku
19:52 xstill zajímavý
19:52 mornfall to že klasický latexový balíčky náhodně přestávaj fungovat když je kombinuješ s jinýma má ještě jinej důvod než jen to že to píšou prasata :P
19:53 xstill lua teda neznám, ale slyšel jsem o tom
19:54 mornfall latex3 bude možná snad postavenej nad luatexem, až někdy bude
19:54 mornfall pravda, context už je a má dost velkej náskok
19:55 mornfall http://tex.stackexchange.com/questions/29979/how-do-latex3-and-context-compare
20:07 xstill já se na ten context budu muse asi podívat :-)
20:10 mornfall jsem se docela lekl že opravení chyby mi zpomalilo divine na polovinu, ale to je jen -w 1 :-)
20:11 xstill :-D
20:19 mornfall xstill: mohl by sis přečíst ten splitHint patch, a jestli máš nějakej nápad jak otestovat že se to chová stejně jako předtím tak by to taky nebylo zlý
20:19 xstill jo ukaž
20:23 mornfall je to na listu
20:24 mornfall http://pastebin.dqd.cz/suYQ/ je llvm splitter v0
20:25 xstill jo mě bude chvíli trvat se tím prokousat
20:48 xstill aha teď mi došlo, že jen ten první parametr splitHint musí bejt zachovanej v překrytých verzích a ty ostatní si může každej řešit jinak, ne?
20:49 xstill ten základní splitter je asi OK, i když nevím jak pořádně ověřit že to dělá totéž
20:51 xstill zajímavý, vypadá to docela pěkně, asi bych to nevymyslel
20:52 xstill i když nad tím splitHint v timed jsem se musel dost zamyslet aby mi došlo jak to vlastně děláš a to je dost krátkej
20:52 xstill ale lepší než ten starej
21:14 xstill jo ten llvm splitter asi taky dobrý, ačkoli místo těch dvou deque by šlo použít 2 iterátory do jednoho vektoru/něčeho, ne?
21:15 xstill a nějak nechápu k čemu tam je ten typ (enum Ty)
21:15 xstill a taky ten komentář /* all these include slack in their offsets */
21:30 mornfall no, to přijde teprv
21:30 mornfall některý ty kusy budou potřebovat speciální sub-splitter
21:30 xstill aha
21:31 mornfall teda ono to asi pomůže i takhle
21:31 mornfall trochu
21:31 mornfall ale zásobníky určitě budu sekat podle vláken a pak asi i podle rámců
21:31 mornfall a haldu ještě nevim
21:31 mornfall problém je že na haldě bude spousta malých věcí
21:31 xstill nebudou už rámce moc malý?
21:32 mornfall rámce ne
21:32 mornfall jako časem budou menší, ale i tak
21:32 mornfall 200B je docela normální velikost rámce
21:33 mornfall podívej se to bitkódu, vezmi největší číslo registru a vynásob to cca 4
21:34 xstill aha ono těch registrů je vlastně docela dost, já sem přemýšlel na urovni kódu, ale to je blbě
21:35 xstill a i kdyby byl registre reuse tak jich asi bude dost na to aby ten kus nebyl příliš malej
21:35 mornfall třeba pthread_barrier_wait jich má tak 70, něco z toho jsou pointry, takže to tak 300B bude
21:35 mornfall to už skoro stojí za to sekat ještě víc
21:35 mornfall ale s reuse by to mohlo vyjít zhruba na ten rámec jako optimální jednotku
21:36 xstill jo, to by mohlo stačit
23:38 mornfall má to nějaký mouchy ještě, http://divine.fi.muni.cz/hydra/build/6323730/nixlog/1/raw

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