adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.08 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.08/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
ziyourenxiang has joined #ocaml
yawaramin has joined #ocaml
yawaramin has quit [Client Quit]
kvda has joined #ocaml
hio has quit [Quit: Connection closed for inactivity]
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mal`` has quit [Ping timeout: 248 seconds]
kvda has joined #ocaml
dhil has quit [Ping timeout: 248 seconds]
kvda has quit [Client Quit]
mal`` has joined #ocaml
kvda has joined #ocaml
AtumT has quit [Quit: AtumT]
cmk_zzz has joined #ocaml
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
kvda has joined #ocaml
kvda has quit [Client Quit]
mfp has quit [Ping timeout: 268 seconds]
ygrek has quit [Ping timeout: 258 seconds]
eikke has quit [Remote host closed the connection]
kvda has joined #ocaml
rgrant has joined #ocaml
jao has quit [Ping timeout: 272 seconds]
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rgrant is now known as [rg]
<xvilka> dmbaturin: only opam pin --dev, only hardcore
keep_learning_M has joined #ocaml
kvda has joined #ocaml
[rg] has quit [Quit: [rg]]
keep_learning_M has quit [Quit: This computer has gone to sleep]
dhil has joined #ocaml
keep_learning_M has joined #ocaml
gravicappa has joined #ocaml
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
uzuki has quit [Quit: Reboot.]
kvda has joined #ocaml
SegFaultAX has quit [Quit: ZNC - http://znc.in]
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
narimiran has joined #ocaml
dhil has quit [Ping timeout: 244 seconds]
keep_learning_M has quit [Quit: This computer has gone to sleep]
keep_learning_M has joined #ocaml
smondet[m] has quit [Read error: Connection reset by peer]
peddie has quit [Remote host closed the connection]
stan[m] has quit [Remote host closed the connection]
isaachodes[m] has quit [Remote host closed the connection]
dl3br[m] has quit [Write error: Connection reset by peer]
Virgile[m] has quit [Remote host closed the connection]
otini has quit [Remote host closed the connection]
regnat[m] has quit [Remote host closed the connection]
Haudegen[m] has quit [Remote host closed the connection]
jimt[m] has quit [Remote host closed the connection]
copy` has quit [Write error: Broken pipe]
hdurer[m] has quit [Write error: Connection reset by peer]
aspiwack[m] has quit [Remote host closed the connection]
sepp2k has quit [Remote host closed the connection]
flux[m] has quit [Write error: Connection reset by peer]
aecepoglu[m] has quit [Write error: Connection reset by peer]
rgr[m] has quit [Remote host closed the connection]
aspiwack[m] has joined #ocaml
<progman2019> I posted to the caml-list and got back an email requesting confirmation to sympa_inria@inria.fr ... but it rejects my 'address' despite my being a subscriber. anyone know what's going on?
flux[m] has joined #ocaml
copy` has joined #ocaml
hdurer[m] has joined #ocaml
aecepoglu[m] has joined #ocaml
dl3br[m] has joined #ocaml
Haudegen[m] has joined #ocaml
smondet[m] has joined #ocaml
peddie has joined #ocaml
jimt[m] has joined #ocaml
rgr[m] has joined #ocaml
sepp2k has joined #ocaml
regnat[m] has joined #ocaml
stan[m] has joined #ocaml
isaachodes[m] has joined #ocaml
Virgile[m] has joined #ocaml
otini has joined #ocaml
keep_learning_M has quit [Quit: This computer has gone to sleep]
emias has quit [Quit: WeeChat 2.3]
keep_learning_M has joined #ocaml
keep_learning_M has quit [Client Quit]
emias has joined #ocaml
keep_learning_M has joined #ocaml
Guest68904 has joined #ocaml
Guest68904 has quit [Remote host closed the connection]
keep_learning_M has quit [Quit: This computer has gone to sleep]
keep_learning_M has joined #ocaml
Haudegen has joined #ocaml
keep_learning_M has quit [Quit: This computer has gone to sleep]
jaar has joined #ocaml
powerbit has joined #ocaml
keep_learning_M has joined #ocaml
keep_learning_M has quit [Quit: This computer has gone to sleep]
themsay has quit [Ping timeout: 246 seconds]
keep_learning_M has joined #ocaml
mfp has joined #ocaml
_whitelogger has joined #ocaml
themsay has joined #ocaml
<xvilka> how did you ever code before 4.08? All pre-4.08 exceptions are useless
<xvilka> Raised at file "format.ml" (inlined), line 242, characters 35-52 printed on every occasion
<def`> ?
<aecepoglu[m]> How are the 4.08.0+ exceptions?
<xvilka> aecepoglu[m]: they produce useful backtraces
<def`> xvilka: ok :)
<xvilka> so if it is not your own exception with unique string - good luck with finding the cause
<xvilka> especially if it is something basic like negative pow, like in my case right now
<xvilka> sorry for the rage
themsay has quit [Read error: Connection reset by peer]
themsay has joined #ocaml
hio has joined #ocaml
<int-e> xvilka: you could just narrow things down with printf-debugging of course
<xvilka> int-e: this is what I do, also surgically cut program function by function, until you isolate the problem
<xvilka> but it would be so much easier with a proper backtrace
<xvilka> this is why I am pushing 4.08 everywhere I can
<Kitambi> make sure you register pretty-printers for your own exceptions with Printexc, otherwise the output for those is similarly useless
<Kitambi> "Exception_name(_,_,_)" isn't very helpful ;)
<xvilka> yeah, I do my own pretty printers
<theblatte> xvilka: we would make sure all code that was catching then rethrowing exceptions was preserving the backtrace :)
<progman2019> does anyone know how byte-linking works? in particular, how are references to external values resolved. through an indirection block or by back-filling at link time?
<progman2019> Reloc_get/setglobal alone?
<progman2019> I ask because I have turned off crc consistency checking for linking and find that an out of date compilation unit has some fixed notions about where other modules' components are.
<progman2019> ie. it doesn't look like it is being patched with the correct references/addresses.
<progman2019> if things were handled by Reloc_getglobals alone, then I would expect refreshed Reloc_setglobal's from an up-to-date unit to match those getglobals.
<progman2019> ... from the out-of-date compilation unit.
silver has joined #ocaml
<aecepoglu[m]> Did anyone use named pipes in ocaml code?
Haudegen has quit [Remote host closed the connection]
<progman2019> ah! what must be going on is that signatures give indexes and relocs turn those into code addresses - the signature/indexes are rolled up in the lambda so in out-of-date units may no longer correspond to the order of components in another, refreshed module.
zolk3ri has joined #ocaml
keep_learning_M has quit [Quit: This computer has gone to sleep]
<progman2019> no. relocs handle ident.t's. back to the drawing board...
keep_learning_M has joined #ocaml
<dmbaturin> xvilka: Regarding opam pin -dev, you still can install 3.07 from 2003 with opam switch. The breadth of choice it gives you goes both ways. :)
<dmbaturin> Anyone knows how to actually use menhir --compare-errors? No matter what I try, it still doesn't like it.
<progman2019> Is there a bit of JIT in the bytecode interpreter that substitutes indirections to external functions on 1st invocation?
keep_learning_M has quit [Quit: This computer has gone to sleep]
keep_learning_M has joined #ocaml
Haudegen has joined #ocaml
keep_learning_M has quit [Quit: This computer has gone to sleep]
<Drup> No
AtumT has joined #ocaml
keep_learning_M has joined #ocaml
<progman2019> so do external function calls take the hit of an indirection?
<progman2019> by external I mean 'from an outside module' rather than to 'external blah: t -> ...'
<Drup> There are no indirections to access these functions
jao has joined #ocaml
<Drup> (unless your modules are computed dynamically using first class modules, and even then ..)
<progman2019> thanks. but how is it done at link time? only then are the cmo codeblocks positions known...
<progman2019> I just checked and Reloc_getglobals refer to an entire module rather than component values
<Drup> At least for native, all the functions end up in static symbols, and a module is just an array of pointers to these static symbols.
<Drup> A function call almost never go through the module, it goes directly to the symbol
FreeBirdLjj has joined #ocaml
<progman2019> which is how I would expect it to work with my background in C/as. But the byte code way looks different
FreeBirdLjj has quit [Ping timeout: 268 seconds]
<progman2019> drup: can you explain the way it works in bytecode?
spew has joined #ocaml
keep_learning_M has quit [Quit: This computer has gone to sleep]
FreeBirdLjj has joined #ocaml
SpiceGuid has joined #ocaml
Haudegen has quit [Read error: Connection reset by peer]
SpiceGuid has quit [Quit: ChatZilla 0.9.93 [SeaMonkey 2.49.4/20180713174829]]
Serpent7776 has joined #ocaml
dhil has joined #ocaml
micro has joined #ocaml
_whitelogger has joined #ocaml
jaar has quit [Ping timeout: 252 seconds]
<louisg> I'm using ppx_deriving to derive `show` for a bunch of types, and I'd like to be able to write the `show` implementation not as a part of the type. Is there a good way to do this?
<Armael> do you mean generating the code for show in an other place than the type definition?
<louisg> that'd be a solution
<louisg> what I mean is, I can write [@printer ...] to implement a custom show for some types, but I'd like to be able to write the "body" of the show fn somewhere else
<Armael> I'm not sure I understand
<Armael> isn't the show function generated by the ppx
<louisg> yes, but you are able to tell ppx how to show a certain type (by annotating it with [@printer ...], and then it will use the custom printing function for that type
<Armael> ahh
<Armael> (I don't know then :()
jao has quit [Ping timeout: 272 seconds]
mk__ has joined #ocaml
ygrek has joined #ocaml
jao has joined #ocaml
<louisg> In case anyone else comes along, what I want to do is be able to say [@printer some_fn_defined_elsewhere] for a type/part of a type instead of having to declare it inline
<louisg> but declaring the fn before means I can't reference the type's constructors, and declaring it after means it isn't defined fo rthe [@printer]
<Drup> to be defined for @printer, the only constraints is that it's called the same as the one deriving would make
<Drup> (so, M.pp for M.t type, and M.pp_foo for M.foo type with foo ≠ "t")
mk__ has quit [Ping timeout: 260 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
ziyourenxiang has quit [Ping timeout: 268 seconds]
Anarchos has joined #ocaml
narimiran has quit [Remote host closed the connection]
Haudegen has joined #ocaml
tane has joined #ocaml
mk__ has joined #ocaml
Anarchos has quit [Quit: Vision[0.10.3]: i've been blurred!]
Anarchos has joined #ocaml
Anarchos has quit [Quit: Vision[0.10.3]: i've been blurred!]
Anarchos has joined #ocaml
Anarchos has quit [Client Quit]
zolk3ri has quit [Remote host closed the connection]
mk__ has quit [Ping timeout: 260 seconds]
gravicappa has quit [Ping timeout: 246 seconds]
jao has quit [Remote host closed the connection]
dhil has quit [Ping timeout: 246 seconds]
Guest39026 has quit [Ping timeout: 245 seconds]
dhil has joined #ocaml
Haudegen has quit [Remote host closed the connection]
Haudegen has joined #ocaml
tane has quit [Quit: Leaving]
wagle has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
wagle has joined #ocaml
dhil has quit [Ping timeout: 268 seconds]
Serpent7776 has quit [Quit: leaving]
rgrant has joined #ocaml
jao has joined #ocaml
rgrant is now known as [rg]
themsay has quit [Ping timeout: 272 seconds]
ygrek has quit [Ping timeout: 272 seconds]
jbrown has quit [Ping timeout: 252 seconds]
jao has quit [Remote host closed the connection]
jbrown has joined #ocaml
Haudegen has quit [Ping timeout: 245 seconds]
keep_learning_M has joined #ocaml
[rg] has quit [Quit: [rg]]
ziyourenxiang has joined #ocaml