companion_cube changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 4.12 released: https://ocaml.org/releases/4.12.0.html | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
zebrag has joined #ocaml
waleee has quit [Ping timeout: 255 seconds]
zebrag has quit [Quit: Konversation terminated!]
TakinOver has quit [Read error: Connection reset by peer]
vicfred has quit [Quit: Leaving]
vicfred has joined #ocaml
mbuf has joined #ocaml
<d_bot> <dj charlie> guys what was that post on hackernews or lobsters a while back
<d_bot> <dj charlie> that was a tool for git where you write the commit before the change, sort of like coming up with the intention to do somethnig
<d_bot> <dj charlie> wanted to give it a whirl and forgot the name
gravicappa has joined #ocaml
<d_bot> <antron> i dont know about the tool, but you can get much of this with `git commit --allow-empty` and `git commit --amend`
<d_bot> <thangngoc89> @dj charlie git hooks ?
<d_bot> <undu> Maybe stacked git
<d_bot> <dj charlie> lemme take a suss
<d_bot> <dj charlie> nope
<d_bot> <dj charlie> nope, but very interesting
<d_bot> <dj charlie> it was like some simple thing where you conceptualise what you want and you describe it, then write your code and commit that thing, idea is to reduce the amount of crap you do per commit to be a single thing or a few things at a time
<d_bot> <dj charlie> stacked git seems awesome
mro has joined #ocaml
gravicappa has quit [Ping timeout: 255 seconds]
Haudegen has joined #ocaml
Tuplanolla has joined #ocaml
favonia has quit [Ping timeout: 255 seconds]
mro has quit [Quit: Leaving...]
vicfred has quit [Quit: Leaving]
gareppa has joined #ocaml
gareppa has quit [Remote host closed the connection]
neiluj has joined #ocaml
isekaijin has quit [Quit: WeeChat 3.2]
neiluj has quit [Remote host closed the connection]
neiluj has joined #ocaml
bartholin has joined #ocaml
<d_bot> <tsnobip> for those wondering, I managed to fix this issue just by reinstalling esy, maybe it could help others
cygwin-ocaml-use has joined #ocaml
<cygwin-ocaml-use> Hello! I'm using OCaml for Windows (Cygwin-based), with OCaml 4.12, and I'm having some weird behaviors I had never noticed before: When I run, for instance, Sys.command "echo a > /dev/null", the "> /dev/null" part causes the command to fail with "The specified path does not exist". Is this something expected, or documented somewhere?
<d_bot> <antron> yes, you should use `> NUL` IIRC
<d_bot> <antron> @cygwin-ocaml-use
<d_bot> <antron> OCaml for Windows runs inside cygwin, but it uses MinGW to output executables for native windows (not cygwin)
<d_bot> <antron> there is no /dev/null on windows, IIRC it's called nul instead
gravicappa has joined #ocaml
<d_bot> <antron> if you'd like to run in cygwin and target cygwin, you can use cygwin's own opam and ocaml packages
<d_bot> <antron> instead of OCaml for Windows
<d_bot> <antron> such executables will see a /dev/null because iirc cygwin has a /dev/null
octachron_ is now known as octachron
<cygwin-ocaml-use> So, if I want to make code that is cross-platform (primarily Linux, but should work in Cygwin with a MinGW-based compiler if possible), I could simply replace all occurrences of `/dev/null` in my Sys.command's with `if Sys.os_type = "Win32" then "NUL" else "/dev/null"` ?
<cygwin-ocaml-use> In any case, thanks for the explanation.
<d_bot> <antron> yes about replacing. ive done similar things on occasion in some scripts
mro has joined #ocaml
berberman_ has joined #ocaml
berberman has quit [Ping timeout: 246 seconds]
cygwin-ocaml-use has quit [Quit: Client closed]
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Ping timeout: 255 seconds]
elf_fortrez has joined #ocaml
cygwin-ocaml-use has joined #ocaml
<cygwin-ocaml-use> Still on the topic of Unix/Windows `/dev/null` compatibility: a colleague noticed that `Unix.create_process` might be a better alternative, since it does not use shell redirection operators, but explicit arguments for `stdout` and `stderr`. However, I don't see a default way to obtain a file descriptor to something equivalent to `/dev/null`,
<cygwin-ocaml-use> similar to what Python's `subprocess` module does, when using the default value `None`. Is there something equivalent in the OCaml standard library? Otherwise, I'd still have to use the `if Sys.os_type` solution, so `Unix.create_process` would not help.
ebb has quit [Ping timeout: 245 seconds]
elf_fortrez has quit [Quit: Client closed]
<cygwin-ocaml-use> Oh, I just found `Filename.null` (since 4.10), which seems to be just what I wanted...
mro has joined #ocaml
krnkktz has quit [Quit: Bridge terminating on SIGTERM]
labor[m] has quit [Quit: Bridge terminating on SIGTERM]
inkbottle[m] has quit [Quit: Bridge terminating on SIGTERM]
smondet[m] has quit [Quit: Bridge terminating on SIGTERM]
brettgilio has quit [Quit: Bridge terminating on SIGTERM]
marinelli[m] has quit [Quit: Bridge terminating on SIGTERM]
schube[m] has quit [Quit: Bridge terminating on SIGTERM]
fluxm has quit [Quit: Bridge terminating on SIGTERM]
krnkktz has joined #ocaml
labor[m] has joined #ocaml
inkbottle[m] has joined #ocaml
brettgilio has joined #ocaml
fluxm has joined #ocaml
smondet[m] has joined #ocaml
schube[m] has joined #ocaml
marinelli[m] has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Read error: Connection reset by peer]
mro_ has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
ebb has joined #ocaml
favonia has joined #ocaml
waleee has joined #ocaml
cygwin-ocaml-use has left #ocaml [#ocaml]
favonia has quit [Ping timeout: 246 seconds]
favonia has joined #ocaml
mbuf has quit [Quit: Leaving]
cedric has joined #ocaml
waleee has quit [Ping timeout: 240 seconds]
mro_ has quit [Remote host closed the connection]
Haudegen has joined #ocaml
rak has quit [Quit: Segmentation fault (core recycled)]
rak has joined #ocaml
favonia has quit [Ping timeout: 246 seconds]
favonia has joined #ocaml
vb_ has quit [Ping timeout: 272 seconds]
vb has joined #ocaml
<d_bot> <antron> nice, i didnt know about it!
favonia has quit [Ping timeout: 255 seconds]
favonia has joined #ocaml
mbuf has joined #ocaml
waleee has joined #ocaml
favonia has quit [Ping timeout: 240 seconds]
favonia has joined #ocaml
neiluj has quit [Remote host closed the connection]
neiluj has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
favonia has quit [Ping timeout: 240 seconds]
mro has joined #ocaml
favonia has joined #ocaml
favonia has quit [Remote host closed the connection]
favonia has joined #ocaml
mro has quit [Remote host closed the connection]
bartholin has quit [Quit: Leaving]
favonia has quit [Ping timeout: 245 seconds]
neiluj has quit [Ping timeout: 240 seconds]
mbuf has quit [Quit: Leaving]
favonia has joined #ocaml
hackinghorn has joined #ocaml
Haudegen has joined #ocaml
favonia has quit [Ping timeout: 255 seconds]
favonia has joined #ocaml
<d_bot> <Ulugbek> There've quite several PRs in `ocaml/ocaml` that mention a "polling pass." What's a polling pass? What's being polled?
<d_bot> <octachron> The pending signals, GC work, or any kind of runtime work.
<d_bot> <octachron> Before this kind of internal works only happened at allocation time for the native backend. Thus it was possible to write non-allocating loops that never let the runtime runs (so no non-handling of kill signals for instance).
<d_bot> <octachron> This is mostly fine for singled-threaded programs : the fact that you cannot interrupt your hot numerical loops is not that important.
<d_bot> <octachron> However, for multicore that creates problem of fairness between threads. Thus the safepoints add a polling pass that makes sure that no executation path can monopolize the runtime for unbounded amount of time.
<companion_cube> I missed something, isn't multicore able to rely on the OS scheduling for that?
<d_bot> <octachron> I think that with minor gc done in parallel in the current design, all threads need to cooperate?
<companion_cube> oh right.
<companion_cube> so a domain that is in a hot non allocating loop might starve others?
<d_bot> <Ulugbek> thanks! 🙂 another unrelated question: I remember John Whitington was working on the ocaml manual with OSF. Is it still the case? Are there any plans for the manual?
<d_bot> <octachron> And/or partially block the stop-the-world gc phase.
<companion_cube> right
<d_bot> <octachron> John has done some work in the 4.13 cycle on ocaml.org and the manual, mostly on the organization side for the manual. I am not sure what is the current status. I am not aware of any set-in-stone plan.
<sadiq_> octachron is correct
sadiq_ is now known as sadiq
<sadiq> the minor collector does a stop-the-world pause
<sadiq> and there are two stop the world pauses for the major collection phase changes
<sadiq> (the actual work in the major collection can be done independently, there's some coordination needed for final cleanups and to change the phase)
dwt_ has quit [Ping timeout: 268 seconds]
dwt_ has joined #ocaml
mro has joined #ocaml
mro has quit [Remote host closed the connection]
dwt_ has quit [Ping timeout: 246 seconds]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
dwt_ has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
favonia has quit [Ping timeout: 240 seconds]
favonia has joined #ocaml
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
favonia has quit [Ping timeout: 255 seconds]
favonia has joined #ocaml
zebrag has joined #ocaml
mro has quit [Ping timeout: 246 seconds]
Stumpfenstiel has joined #ocaml
gravicappa has quit [Ping timeout: 240 seconds]
Stumpfenstiel has quit [Quit: No Ping reply in 180 seconds.]
Stumpfenstiel has joined #ocaml
elf_fortrez has joined #ocaml
elf_fortrez has quit [Client Quit]
zebrag has quit [Quit: Konversation terminated!]
favonia has quit [Ping timeout: 255 seconds]
favonia has joined #ocaml
cedric has quit [Quit: Konversation terminated!]
favonia has quit [Ping timeout: 246 seconds]
favonia has joined #ocaml
zebrag has joined #ocaml
favonia has quit [Ping timeout: 255 seconds]
favonia has joined #ocaml
Stumpfenstiel has quit [Ping timeout: 255 seconds]
Haudegen has quit [Ping timeout: 255 seconds]
favonia has quit [Ping timeout: 255 seconds]
favonia has joined #ocaml