Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2017-04-26

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

All times shown according to UTC.

Time Nick Message
01:49 ilbot3 joined #divine
01:49 Topic for #divine is now DIVINE | http://divine.fi.muni.cz | http://irclog.perlgeek.de/divine/
09:15 yaqwsx_ joined #divine
09:20 yaqwsx_ V rámci přemýšlení nad "Integrace DiOSu s DIVINE simulátorem" mě napadlo, jestli by nestálo za to implementovat pro simulátor GDB/MI rozhraní (https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI.html#GDB_002fMI), což by umožnilo interpretovat protipříklady v nejrůznějších (i grafických) debuggerech
09:21 yaqwsx_ mornfall: Co si o tom myslíš?
10:06 mornfall yaqwsx: neříkám že to nechceme, ale bude to humáč :p
10:08 mornfall yaqwsx: navíc teda myslím že gdb samotný neumí fungovat jako frontend pro gdb/mi, takže to bude fungovat tak v eclipse a v emacsu, nevim kdo to ještě používá
10:08 mornfall ddd je na to asi moc starý
10:09 xstill ddd je co? myslíš, že až tolik lidí používá gdb bez jakéhokoli frontendu?
10:09 mornfall navíc se to teda stejně bude chovat jinak než ten frontend očekává :\
10:10 xstill v čem? nevidím teď nic co by nutně muselo být jiné ze základních věcí
10:11 yaqwsx_ mornfall: https://sourceware.org/gdb/wiki/GDB%20Front%20Ends + to bude fungovat v těch "cool" nástrojích jako je VS Code, Atom, etc.
10:11 yaqwsx_ mornfall: A nevím jestli je to utimátní řešení - je to jenom nápad, jak udělat DIVINE přistupnějí masám.
10:13 mornfall xstill: přístup k datům by se musel udělat výrazně jinak než je teď
10:13 xstill otázka je jak moc těžké je potom mít gdb-like rozhraí simulátoru, když už bychom měli toto. pak by ti ani nemuselo vadit, že samotné gdb se na divine rozhraní nepřipojí
10:14 mornfall xstill: parser gdb je nejspíš 10x větší než celej sim teďka...
10:14 mornfall (nepočítám ten kus co vyhodnocuje C/C++)
10:14 xstill jakože místo .x:defer a podobně? to by mi stejně přišlo docela vhodné udělat nějak víc user-friendly / C-like
10:15 xstill evaluátor výrazů jsme stejně chtěli, ne?
10:15 xstill je pravdě, že v gdb samotném toho bude milion navíc
10:16 xstill na druhou stranu mít rozumnou podmnožinu gdb příkazů + rozhraní které funguje s běžnými grafickými debuggery by nám mohlo dost pomoct, když budeme chtít někoho přesvědčit, že je divine skutečně prakticky použitelný
10:18 mornfall jako klidně, pokud to chcete někdo dělat, ale je nutný počítat s tím že to budou řádově stovky hodin práce
10:20 mornfall (a to nejspíš ještě bokem od toho, že by existoval funkční a dostatečně kompatibilní evaluátor na C/C++)
10:21 mornfall (to co jsem myslel tím 'jiným chováním' je třeba to, že gdb umí vlákna přepnout 'kdykoliv' a my jen v místech kde to dává smysl)
10:24 mornfall (udělat gdbserver by asi byl o něco málo menší projekt a s gdb/mi by to mělo v principu taky fungovat, pokud se to správně slepí)
10:25 mornfall (tam bude asi potřeba nějak hodně šachovat s překladem adres, ale o spoustu věcí se zase postará gdb samo podle debuginfa z binárky)
10:29 mornfall (no, to je ale taky dost divoký... gdb je fakt obří kus sw)
10:29 mornfall (gdbserver zjevně používá polobinární, polotextový protokol s občasným kusem xml)
10:30 mornfall (gdb/mi samozřejmě formátuje všechno úplně jinak)
10:32 mornfall pak je tady ještě lldb který je integrovaný (asi) do Xcode, to bude nejspíš ale na úrovni C++ API
10:34 mornfall asi by mě taky nepřekvapilo, kdyby C++ IDE (kdevelop, qtcreator) postupně přešly na lldb
10:38 mornfall ale někdo napsal něco co se jmenuje 'lldb mi driver' a to by mohlo jít vykrást
10:44 mornfall nicmeně, lots and lots of work... jdu radši psát
11:40 yaqwsx mornfall: gdbserver byla moje první myšlenka, ale podle mě použít nejde - je hodně závislý na binární reprezentacisamotného programu a nevím, jak dobře by mapoval na DIVINE
11:41 yaqwsx mornfall: Přišlo mi, že GDB/MI je právě mnohem abstraktnější a lépe mapuje na DIVINE
11:43 mornfall yaqwsx: jo, mapování adres je na úrovni GDB/MI určitě jednodušší, ale to je nejspíš taky jediný co je
11:44 yaqwsx mornfall: Ok, ale RSP (remote serial protocol) bez binárky s debugovacími informacemi neudělá ani krok.
11:44 yaqwsx A myslím si, že vyrobit správně modifikovanou binárku je komplikované/u hranice nemožného.
11:44 mornfall yaqwsx: to ne, ale tu binárku můžeš dodat (i když třeba nepůjde spustit)
11:45 yaqwsx mornfall: Anebo jenom málo rozumím (čti nerozumím) dwarfu na to, abych viděl jak na to.
11:45 mornfall v podstatě by to mohla být otázka prohnat .bc codegenem
11:45 mornfall jen je z toho pak potřeba vymlátit informace o adresách
11:46 mornfall (to taky není až tak těžký, nakonec)
12:05 xstill mornfall: jak vlastně funguje to iniciální označení kusu paměti za shared teď? (tj. jak to dios udělá, že to označí?)
12:07 mornfall __vm_obj_shared
12:07 xstill aha, to jsem si nevšiml, že na to máme hypercall
13:36 xstill mornfall: nová verze článku je na SVN, ještě ale koukám, že jsem nezapracoval všechny tvoje připomínky. konkrétně moc nevím jak mám na vyšší úrovni popsat vlastnosti které divine verifikuje a co se ti nelíbilo v tom textu o VM buildech
13:39 blurry_ joined #divine
14:12 kejsty joined #divine
14:14 mornfall xheno, yaqwsx, nie že budete kejsty zase robiť zle! :p
14:16 mornfall minimálne irssi by mala vedieť nastaviť /ignore na join/quit
14:16 mornfall (alebo jej niekto nastavte znc :p)
14:17 mornfall (vo weechat-e asi /filter)
14:18 mornfall kejsty: http://coding.debuntu.org/c-linux-socket-programming-tcp-simple-http-client ← toto by mohol byť dobrý príklad (ale je dosť možné že nemáme gethostbyname)
14:56 yaqwsx yaqwsx: My jí robíme zle,
14:56 yaqwsx ?
14:58 yaqwsx mornfall: Ah, takhle - my jí nerobili zle, nás jenom zajímalo, jak se dá IRC nastavit aby se přesně každých 5 minut odpojoval ;)
15:01 mornfall yaqwsx: ... :p
15:01 mornfall just be good, k? :p
15:01 yaqwsx mornfall: http://justcuteanimals.com/wp-content/uploads/2015/08/cute-bunny-rabbits-animals-pictures-pics.jpg
15:02 mornfall kejsty: ^^ :D
15:03 mornfall (sosweet)

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