adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.09 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.09/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
jaar has quit [Ping timeout: 265 seconds]
nullcone has quit [Quit: Connection closed for inactivity]
aubian has quit [Ping timeout: 272 seconds]
vicfred has quit [Quit: Leaving]
vicfred has joined #ocaml
vicfred_ has joined #ocaml
vicfred has quit [Ping timeout: 260 seconds]
Haudegen has quit [Ping timeout: 258 seconds]
amiloradovsky has quit [Ping timeout: 265 seconds]
mfp has quit [Ping timeout: 256 seconds]
jwillia3 has joined #ocaml
c4rc4s has quit [Quit: Adios]
c4rc4s has joined #ocaml
GeoffK has joined #ocaml
<GeoffK> Merlin giving "Not in environment ’<symbol>’" - other things like C-c C-t work.
<GeoffK> + from within emacs.
GeoffK has quit [Quit: Leaving]
mbuf has joined #ocaml
narimiran has joined #ocaml
chripell has joined #ocaml
tane has joined #ocaml
dborisog has joined #ocaml
nicooo has quit [Remote host closed the connection]
nicooo has joined #ocaml
amiloradovsky has joined #ocaml
mbuf has quit [Quit: Leaving]
inkbottle has quit [Ping timeout: 260 seconds]
Haudegen has joined #ocaml
mfp has joined #ocaml
narimiran has quit [Ping timeout: 260 seconds]
chripell has quit [Ping timeout: 264 seconds]
inkbottle has joined #ocaml
wingsorc has joined #ocaml
<hannes> hmm, does the OCaml runtime use the same calling semantics as C (I guess the answer is yes)? or, is there a custom "C stack" and "OCaml stack" (I guess the answer is no)?
<Armael> I think there is indeed a C stack separate from the ocaml stack
Anarchos has joined #ocaml
<def> hannes: yes in bytecode, no in native non multicore
<Armael> oh.
<hannes> oh interesting, thanks
<def> in bytecode: the ocaml stack is basically a value array, ocaml calls appear in the C stack as calls to caml_interprete functions.
<def> so to unroll the stack 1) you unroll C calls until you reach an instance of caml_interprete, then you unroll until you reach a marker that goes back to C function, etc.
<def> in native non multicore, you can have a mix of C and OCaml frames on the callstack.
<def> calls to C externals with noalloc flag appear directly on the stack and are leaves, as far as the OCaml runtime is concerned (you cannot go back to OCaml code inside a call to a noalloc external).
<def> the compiler generates the code to switch from the OCaml calling convention to the C one
<def> for non-noalloc calls, calls to the caml_c_call primitive are inserted between OCaml and C frames in the stack.
<def> caml_c_call acts as a bridge between C and OCaml calling convention.
<hannes> ah
<def> in multicore world, the situation was more complex last time I checked. You have one C stack per domain (~ pthread managed by the runtime, rougly mapping to one logical CPU core), that is managed like the native stack from singlecore OCaml.
<def> But once you start using effect handlers, stacks are allocated in the OCaml heap and are regular OCaml values. Therefore calls to C have to go back to the system stack so the trampoline is a bit more complex.
<hannes> def: the effect handlers -- sth i'm interested in since years (even with a single-core runtime) -- are still in the process of getting upstreamed to ocaml-trunk (as in: they're not part of the 4.10/4.11 runtime)?
theglass has joined #ocaml
<def> no, effects will come later. The type system has not been figured out yet. The runtime is in a better shape but right now the focus is on multicore GC afaik.
raver has quit [Read error: Connection reset by peer]
narimiran has joined #ocaml
ygrek has joined #ocaml
<Anarchos> i converted my project to dune instead of handcrafted makefile. How should i generate the .merlin files ?
<companion_cube> dune will do it automatically
<Anarchos> companion_cube in _build ?
TC01_ has quit [Ping timeout: 260 seconds]
sagax has quit [Ping timeout: 258 seconds]
<companion_cube> no, in the source tree
<reynir> I think dune build @check will generate .merlin for you (or just dune build, but that does more)
<Anarchos> reynir thanks
TheLemonMan has joined #ocaml
TC01 has joined #ocaml
<Anarchos> companion_cube it didn't (i use dune 2.4.0)
<companion_cube> did you build your project?
<Anarchos> yes with dune build @all
<companion_cube> works for me 🤷
amiloradovsky has quit [Remote host closed the connection]
amiloradovsky has joined #ocaml
<reynir> ^
sagax has joined #ocaml
<Anarchos> companion_cube i pushed my dune config files on my github repos, if you would be kind enough to look at
<companion_cube> does dune build anything?
<companion_cube> like, libraries, binaries, etc.?
<Anarchos> companion_cube yes it builds
<companion_cube> are you sure the merlin files are not there? they're hidden files
<Anarchos> companion_cube i amsure (ls -a)
<companion_cube> try to clone another project that uses dune, and do the same command
<companion_cube> for example I know it works for containers
Serpent7776 has quit [Quit: Lost terminal]
Serpent7776 has joined #ocaml
amiloradovsky has quit [Quit: amiloradovsky]
amiloradovsky has joined #ocaml
<Anarchos> companion_cube which repo ?
<Anarchos> companion_cube of course, i should remembered it was your repo
ygrek has quit [Ping timeout: 265 seconds]
porchetta has quit [Ping timeout: 256 seconds]
nullifidian_ has joined #ocaml
nullifidian has quit [Ping timeout: 265 seconds]
Anarchos has quit [Quit: Vision[0.10.3]: i've been blurred!]
ygrek has joined #ocaml
porchetta has joined #ocaml
dborisog has quit [Ping timeout: 256 seconds]
porchetta has quit [Ping timeout: 256 seconds]
porchetta has joined #ocaml
muskan has joined #ocaml
porchetta has quit [Ping timeout: 260 seconds]
Anarchos has joined #ocaml
wingsorc has quit [Quit: Leaving]
Anarchos has quit [Quit: Vision[0.10.3]: i've been blurred!]
muskan has quit [Remote host closed the connection]
muskan has joined #ocaml
raver has joined #ocaml
narimiran has quit [Ping timeout: 258 seconds]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
muskan has left #ocaml [#ocaml]
tane has quit [Quit: Leaving]
nullifidian__ has joined #ocaml
nullifidian_ has quit [Ping timeout: 256 seconds]
Haudegen has quit [Ping timeout: 240 seconds]