companion_cube changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 4.14.0 released: https://ocaml.org/releases/4.14.0.html | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
pie_ has quit []
pie_ has joined #ocaml
Tuplanolla has quit [Ping timeout: 276 seconds]
olle has quit [Ping timeout: 246 seconds]
troydm has quit [Ping timeout: 260 seconds]
troydm has joined #ocaml
wingsorc has joined #ocaml
spip has quit [Ping timeout: 248 seconds]
bobo_ has joined #ocaml
jao has quit [Remote host closed the connection]
waleee has quit [Ping timeout: 246 seconds]
zebrag has quit [Quit: Konversation terminated!]
salkin has quit [Quit: salkin]
cedric has quit [Quit: Konversation terminated!]
Stumpfenstiel has quit [Ping timeout: 268 seconds]
dhil has quit [Quit: Leaving]
justPardoned has quit [Quit: ZNC 1.8.2 - https://znc.in]
justache has joined #ocaml
Haudegen has quit [Ping timeout: 255 seconds]
noddy has quit [Quit: WeeChat 3.7]
noddy has joined #ocaml
jao has joined #ocaml
drakonis has quit [Quit: WeeChat 3.6]
drakonis has joined #ocaml
chrisz has quit [Ping timeout: 272 seconds]
chrisz has joined #ocaml
Exa has quit [*.net *.split]
Exa has joined #ocaml
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #ocaml
<jedb> someone should have told Guest45 that "@@" is not function composition, not in the slightest
hannes has quit [*.net *.split]
hannes has joined #ocaml
infinity0 has quit [*.net *.split]
wpcarro has quit [*.net *.split]
Techcable has quit [*.net *.split]
grobe0ba has quit [*.net *.split]
CalimeroTeknik has quit [*.net *.split]
johnel has quit [*.net *.split]
SquidDev has quit [*.net *.split]
milia has quit [*.net *.split]
johnel has joined #ocaml
Techcable has joined #ocaml
SquidDev has joined #ocaml
grobe0ba has joined #ocaml
CalimeroTeknik has joined #ocaml
infinity0 has joined #ocaml
daimrod1 has quit [*.net *.split]
daimrod1 has joined #ocaml
milia has joined #ocaml
dh` has quit [Remote host closed the connection]
caasih has quit [*.net *.split]
Riviera has quit [*.net *.split]
ebb has quit [*.net *.split]
Riviera has joined #ocaml
caasih has joined #ocaml
dh` has joined #ocaml
ebb has joined #ocaml
justache has quit [Quit: ZNC 1.8.2 - https://znc.in]
justache has joined #ocaml
octachron has quit [*.net *.split]
pgiarrusso has quit [*.net *.split]
ardon has quit [*.net *.split]
lobo has quit [*.net *.split]
zozozo has quit [*.net *.split]
midgard has quit [*.net *.split]
gdd has quit [*.net *.split]
gahr has quit [*.net *.split]
micro has quit [*.net *.split]
rom1504 has quit [*.net *.split]
tristanC has quit [*.net *.split]
ardon_ has joined #ocaml
micro has joined #ocaml
micro has quit [Changing host]
micro has joined #ocaml
midgard has joined #ocaml
rom1504 has joined #ocaml
ardon_ is now known as ardon
zozozo has joined #ocaml
lobo has joined #ocaml
pgiarrusso has joined #ocaml
midgard has joined #ocaml
midgard has quit [Changing host]
lobo has quit [Changing host]
lobo has joined #ocaml
octachron has joined #ocaml
gdd has joined #ocaml
tristanC has joined #ocaml
gahr has joined #ocaml
troydm has quit [Ping timeout: 248 seconds]
dh` has quit [Quit: brb, client is hosed]
dh` has joined #ocaml
jao has quit [Ping timeout: 260 seconds]
jao has joined #ocaml
ewd has quit [Ping timeout: 248 seconds]
justache has quit [Quit: ZNC 1.8.2 - https://znc.in]
justache has joined #ocaml
SquidDev9 has joined #ocaml
grobe0ba_ has joined #ocaml
grobe0ba has quit [Ping timeout: 260 seconds]
Techcable has quit [Ping timeout: 260 seconds]
johnel has quit [Ping timeout: 260 seconds]
grobe0ba_ is now known as grobe0ba
johnel has joined #ocaml
SquidDev9 is now known as SquidDev
SquidDev has quit [Ping timeout: 260 seconds]
Techcable has joined #ocaml
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
daimrod1 has quit [Ping timeout: 260 seconds]
daimrod1 has joined #ocaml
gahr_ has joined #ocaml
gahr has quit [Read error: Connection reset by peer]
micro has quit [Ping timeout: 260 seconds]
micro has joined #ocaml
jao has quit [Ping timeout: 252 seconds]
ado has joined #ocaml
bartholin has joined #ocaml
grobe0ba has quit [Ping timeout: 260 seconds]
zozozo has quit [Quit: WeeChat 2.9]
zozozo has joined #ocaml
grobe0ba has joined #ocaml
Serpent7776 has joined #ocaml
troydm has joined #ocaml
gahr has joined #ocaml
gahr_ has quit [Ping timeout: 260 seconds]
micro has quit [Ping timeout: 260 seconds]
micro has joined #ocaml
daimrod1 has quit [Ping timeout: 252 seconds]
daimrod1 has joined #ocaml
Tuplanolla has joined #ocaml
ado has quit [Quit: Connection closed for inactivity]
CalimeroTeknik has quit [Changing host]
CalimeroTeknik has joined #ocaml
grobe0ba has quit [Ping timeout: 260 seconds]
grobe0ba has joined #ocaml
Haudegen has joined #ocaml
jedb_ has joined #ocaml
jedb has quit [Ping timeout: 255 seconds]
<ski> energizer : the ML interactors tend to (afaik) not support redefinition (rather than defining anew, possibly shadowing the old definition), and also not have condition handlers that allow you to have the expression in question compute to a then-user-provided value (expression), or retry the operation, possibly after live-/hot- swapping the implementation of something, like Lisp interactors often do (possibly
<ski> some Prolog ones as well ?)
waleee has joined #ocaml
<ski> (e.g. with SLIME, you can attach to a running Common Lisp process (there's also some versions for a few other languages, like some Schemes, i think Clojure, perhaps also some non-SExpy languages), and live-debug and live-edit it)
<ski> as for why, i think partly it's differing culture (and lack of experience/familiarity with such systems) .. but quite probably also due to it being less clear how to integrate that well with static types, at least for several of those kind of things
<ski> some SMLs (e.g. SML/NJ (`exportML',`exportFn')) have support for image-based interaction, where you can save the running state of a process into a file, and resume it later (can also be used to clone a process, or migrate it) .. like Lisps commonly allow (and Smalltalk systems, and Prologs)
<hannes> ski: but with OCaml + bytecode + dynlink that should be possible with OCaml (+emacs integration) as well, no?
<ski> to some extent at least, possibly
<ski> (although i'm not aware of any implementation .. but i haven't looked, either)
<ski> would that also support exchanging individual function definitions in a module ? or only whole compilation units (dynamically loaded) ?
<hannes> ski: AFAIU the loading/unloading is done on a module basis
<hannes> and I have barely any experience with that
<ski> i know Erlang only supports hot-swapping whole modules (and the process will continue to run inside the old module code, which is not discarded yet, until it calls with an explicit module qualification, which is typically done when sending the process a "hand-off to new version" message, so that it can pass its state, and the new code module can receive that, convert to its internal format, and continue from
<ski> where things left off)
<ski> (although, iirc, it can only have at most two versions of a module loaded at the same time. so you'd better migrate all old processes, before you update yet again)
<ski> hannes : it would still probably be a useful thing to try and see if one could get working
<hannes> ski: yes, would be highly appreciated
<ski> the main problem would be when you change the types, i thikn
<ski> (Prologs routinely have "retry" in the (procedural, as opposed to declarative) debugger, allowing you to retry an operation again .. very useful, if you'er skipping calls left and right until you get an unexpected result, at which point you want to revisit that call in more detail .. of course, it doesn't undo side-effects, though, just variable instantiations, and the control state)
<ski> (Mercury, which doesn't have an interactor per se, apart from its (procedural) debugger (which can be used, at least somewhat, as an interactor) (there was also a declarative one, that instead asked the user about whether results of intermediate operations were expected, but often could exploit data dependencies to avoid asking about calls that didn't contribute to a mismatch in expectation), does allow even
<ski> retry of I/O, through "I/O tabling". what it does is generate a sequence of IDs to track the I/O state that's threaded through, and record the results for each primitive I/O operation. then, on "retry", those recorded (tabled) results are just replayed, rather than actually executed anew, until it reaches "present time" again)
<ski> ("Idempotent I/O for safe time travel" by Zoltan Somogyi in 2003-11 at <https://www.mercurylang.org/documentation/papers.html#aadebug03-paper>. also possibly see the papers on (declarative) debugging)
<ski> (i've heard OCaml also has some support for time-travel debugging, iirc through snapshots (?) .. but i haven't tried it)
genpaku has quit [Remote host closed the connection]
genpaku has joined #ocaml
xd1le has joined #ocaml
grobe0ba has quit [Ping timeout: 260 seconds]
grobe0ba has joined #ocaml
azimut has quit [Ping timeout: 255 seconds]
grobe0ba has quit [Ping timeout: 248 seconds]
grobe0ba has joined #ocaml
foldright has joined #ocaml
spip has joined #ocaml
bobo_ has quit [Ping timeout: 248 seconds]
<companion_cube> hannes: I doubt it, if it were doable then HOL light people would do it
<companion_cube> It's all in a OCaml repl and known to take ages to load. I think they have weird unix snapshot hacks instead
troydm has quit [Ping timeout: 252 seconds]
waleee has quit [Ping timeout: 248 seconds]
waleee has joined #ocaml
foldright has quit [Quit: Bye]
genpaku has quit [Ping timeout: 260 seconds]
genpaku has joined #ocaml
ewd has joined #ocaml
xgqt has quit [Ping timeout: 246 seconds]
xgqt has joined #ocaml
olle has joined #ocaml
foldright has joined #ocaml
xd1le has quit [Quit: xd1le]
jao has joined #ocaml
foldright has quit [Quit: Bye]
foldright has joined #ocaml
olle has quit [Ping timeout: 252 seconds]
tizoc has quit [Quit: Coyote finally caught me]
tizoc has joined #ocaml
foldright has quit [Quit: Bye]
rgrinberg has joined #ocaml
Serpent7776 has quit [Ping timeout: 252 seconds]
ewd has quit [Ping timeout: 260 seconds]
ewd has joined #ocaml
xgqt has quit [Ping timeout: 260 seconds]
xgqt has joined #ocaml
foldright has joined #ocaml
perrierjouet has quit [Quit: WeeChat 3.7.1]
jlrnick has joined #ocaml
Stumpfenstiel has joined #ocaml
jlrnick has quit [Remote host closed the connection]
foldright has quit [Quit: Bye]
olle has joined #ocaml
foldright has joined #ocaml
perrierjouet has joined #ocaml
troydm has joined #ocaml
mro has joined #ocaml
foldright has quit [Quit: Bye]
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Ping timeout: 248 seconds]
foldright has joined #ocaml
mro has joined #ocaml
perrierjouet has quit [Quit: WeeChat 3.7.1]
ewd has quit [Ping timeout: 260 seconds]
ewd has joined #ocaml
mro has quit [Quit: Leaving...]
xgqt has quit [Ping timeout: 260 seconds]
xgqt has joined #ocaml
Haudegen has quit [Quit: No Ping reply in 180 seconds.]
Haudegen has joined #ocaml
foldright has quit [Quit: Bye]
Hrundi_V_Bakshi has joined #ocaml
Stumpfenstiel has quit [Ping timeout: 260 seconds]
Hrundi_V_Bakshi has quit [Quit: No Ping reply in 180 seconds.]
lobo has quit [Quit: lobo]
Stumpfenstiel has joined #ocaml
lobo has joined #ocaml
Serpent7776 has joined #ocaml
azimut has joined #ocaml
foldright has joined #ocaml
xgqt has quit [Ping timeout: 260 seconds]
xgqt has joined #ocaml
waleee has quit [Ping timeout: 260 seconds]
bartholin has quit [Quit: Leaving]
ewd has quit [Ping timeout: 252 seconds]
ewd has joined #ocaml
waleee has joined #ocaml
olle has quit [Ping timeout: 248 seconds]
szkl has quit [Quit: Connection closed for inactivity]
foldright has quit [Quit: Bye]
Serpent7776 has quit [Ping timeout: 252 seconds]
<energizer> interesting
perrierjouet has joined #ocaml
perrierjouet has quit [Quit: WeeChat 3.7.1]
perrierjouet has joined #ocaml
perrierjouet has quit [Quit: WeeChat 3.7.1]
Stumpfenstiel has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
perrierjouet has joined #ocaml
perrierjouet has quit [Quit: WeeChat 3.7.1]
perrierjouet has joined #ocaml
Tuplanolla has quit [Ping timeout: 248 seconds]
justache has quit [Quit: ZNC 1.8.2 - https://znc.in]