<d_bot>
<Sean22> Or is there too few jobs in the ocaml ecosystem to make it ever worthwhile to have one?
<d_bot>
<carmysilna> I don’t see a rule against it, so I’d assume the latter
<d_bot>
<froyo> iman: is this for that one drag race
<companion_cube>
Good question
<d_bot>
<iman> huh? I have some assembly generated from ocamlc, and I want to match up the assemblies with the source code.
<companion_cube>
About the jobs I mean
<d_bot>
<iman> the -g option gives me the line number, so I know at line N in source code, the function X starts. If I could also parse the source code into a table of <foo,foo_source_code> I could then match them up. The let rec stuff makes things complicated.
<companion_cube>
I thought ocamlopt put a lot of info in the assembly?
<companion_cube>
Maybe see how godbolt does it?
hackinghorn has joined #ocaml
hornhack has quit [Ping timeout: 240 seconds]
<d_bot>
<Sean22> Except for jane street. That’s basically the only place that *might* give you a job.
average has joined #ocaml
mmalter has quit [Quit: Lost terminal]
<d_bot>
<colin> Jane Street seems exceedingly competitive. There are few OCamlers - but those who do write OCaml all know about Jane Street.
<d_bot>
<Sean22> ^ he must be talking about Jane Street, there's no where else some one can get paid to write OCaml
gravicappa has joined #ocaml
<d_bot>
<colin> prolly blockchain related Tezos money-making full employment theorem
gravicappa has quit [Ping timeout: 252 seconds]
favonia has quit [Ping timeout: 240 seconds]
Serpent7776 has joined #ocaml
<d_bot>
<mseri> Not true. I used to be paid by Citrix to write ocaml, there is ahrefs, tezos, tarides, lexifi, … they are not so many but they are out there
chrde[m] has left #ocaml [#ocaml]
olle has joined #ocaml
bartholin has joined #ocaml
gravicappa has joined #ocaml
hornhack has joined #ocaml
mro has joined #ocaml
hackinghorn has quit [Ping timeout: 252 seconds]
Haudegen has joined #ocaml
vb has quit [Ping timeout: 248 seconds]
vb has joined #ocaml
mro has quit [Remote host closed the connection]
<d_bot>
<v0idpwn> he works at tezos
<d_bot>
<v0idpwn> neither. they just get posted at discuss.ocaml.org instead
hendursa1 has joined #ocaml
hendursaga has quit [Ping timeout: 244 seconds]
<d_bot>
<Sean22> Woohoo, paying ocaml jobs where do I apply!
<d_bot>
<mseri> I loved working there, if you are looking for system programming in OCaml it is a fantastic team with a great manager (is it still Alan?)
<d_bot>
<mseri> Highly recommended
<d_bot>
<undu> Alan is now QA's manager, we have Mihaela now 🙂
<d_bot>
<mseri> Oh cool!
<Leonidas>
There's a number of OCaml jobs besides Jane Street, one just needs to look.
<Leonidas>
My previous job is looking for OCaml people
<sadiq>
Segfault are looking for compiler/gc developers and developers to kickstart porting codebases to multicore.
<sadiq>
though I think those roles specifically are India/India remote.
<sadiq>
(I'll check with kc)
Leonidas has quit [Quit: An ideal world is left as an exercise to the reader]
mro has quit [Ping timeout: 240 seconds]
Geekingfrog has joined #ocaml
<sadiq>
the roles are remote in India/UK/EU
Haudegen has quit [Quit: Bin weg.]
mro has joined #ocaml
Leonidas has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mbuf has quit [Quit: Leaving]
mro has quit [Ping timeout: 240 seconds]
<d_bot>
<dinosaure> And I think it's possible to try tarides if you want
<d_bot>
<dinosaure> When it's mostly about MirageOS, Irmin or tooling such as ocamlformat/ppx/ocaml-lsp
waleee has quit [Ping timeout: 258 seconds]
<d_bot>
<dinosaure> (Note that segfault/ocamllabs/tarides are highly linked each other)
waleee has joined #ocaml
mro has joined #ocaml
favonia has joined #ocaml
<d_bot>
<darrenldl> if only there are ocaml positions in australia
hornhack has quit [Ping timeout: 250 seconds]
Haudegen has joined #ocaml
<d_bot>
<Bluddy> @sadiq why specifically those place? if it's remote, can't they be anywhere?
<sadiq>
I don't speak for any of those companies but there are tax and employment law issues to consider.
<sadiq>
the other thing is that there are already established teams in the UK / EU and India, so scheduling meetings amongst them is relativelye asy.
<labor[m]>
it may be related to tz
<sadiq>
*easy
<sadiq>
meetings between UK and India tend to need to be organised at fixed time slots because otherwise it's anti-social for one or the other.
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Ping timeout: 248 seconds]
mro has joined #ocaml
favonia has quit [Ping timeout: 258 seconds]
PinealGlandOptic has quit [Quit: leaving]
<d_bot>
<carmysilna> Hi, I'm having a weird error that is being hard to debug. Running `dune build` works just fine, but when I run `dune exec bin/main.exe`, I get `fatal error: Stack overflow` . I've placed a print expression at the beginning of my main file, and it never prints, so I think this is an issue with the build step? Has anyone else experienced this?
<companion_cube>
you can try to run ./_build/default/bin/main.exe
<companion_cube>
this skips dune
<d_bot>
<carmysilna> I'm still getting the stack overflow
<companion_cube>
which means it's from your program
<companion_cube>
do you use lazy?
favonia has joined #ocaml
<d_bot>
<octachron> Are you flushing the relevant stdout buffers?
<d_bot>
<carmysilna> I'm not using lazy. I'll go through and check my writes to make sure I'm flushing
<d_bot>
<octachron> The executable could also be stuck when evluating a module loaded before the main module.
<d_bot>
<carmysilna> Okay, I've added flushing after `IO.write` (I'm using `batteries`) and the issue remains. I don't think I need to flush after `print_endline`, right?
<d_bot>
<carmysilna> could it be my parser module? maybe some recursion there is an issue?
<d_bot>
<carmysilna> using `mparser`
<d_bot>
<octachron> `print_endline` does flush by itself.
<d_bot>
<octachron> Yes this is a possibility. Some recursive parsers erroneously written in point-free style may loop.
<companion_cube>
so true
<d_bot>
<carmysilna> Okay, it still occurs when I comment out the recursive parts of my parser
<companion_cube>
on linux, you can use gdb on the coredump
<companion_cube>
(with a modern distro, `coredumpctl gdb` might directly plug you in)
<d_bot>
<carmysilna> I'm on macos, but I'll see if it works
<companion_cube>
ah, probably not then
<companion_cube>
maybe ldb, but not sure if/how it stores coredumps
gravicappa has quit [Ping timeout: 248 seconds]
<d_bot>
<carmysilna> ```
<d_bot>
<carmysilna> (lldb) run
<d_bot>
<carmysilna> Process 11781 launched: '/Users/cadenhaustein/projects/mlatu/_build/default/bin/main.exe' (x86_64)
<d_bot>
<carmysilna> okay, it is something in my parser
<companion_cube>
please don't paste stuff here though, on the IRC bridge it's spammy
<companion_cube>
but try to get a backtrace yeah
<d_bot>
<carmysilna> ah, sorry. Basically, I got a backtrace that referenced my parser module, so I'm systematically commenting out parts until it works
zebrag has joined #ocaml
mro has quit [Remote host closed the connection]
<d_bot>
<carmysilna> I'm going to try to use `opal` instead of `mparser` and see if that helps
<d_bot>
<octachron> Switching library is unlikely to help? I would expect your parser code to only define functions and to not compute anything at all. Do you have any (recursive) value that is not syntactically a function?
cemerick has quit [Read error: Connection reset by peer]
mro has joined #ocaml
<d_bot>
<undu> Does anybody know where can I see the changelog for JST's core? A module disappeared in 0.14 and can't see any post in discuss or any explanation in the repository
cemerick has joined #ocaml
mro has quit [Ping timeout: 252 seconds]
<d_bot>
<undu> nevermind, found the post in discuss using google, not sure why the internal search wouldn't work
<d_bot>
<carmysilna> https://pastebin.com/3aKVGbwt could it be due to my making `term` a function so I can define it recursively?
<d_bot>
<octachron> The issue is that you are calling `term ()` in the definition of `term ()` making it ill-founded and then reusing `term ()` in subsequent parsers.
<d_bot>
<carmysilna> Oh, I see. Converting it to an explicit `term = fun input -> ... input` worked to make it `let rec`able and there's no more stack overflow. Thanks for your help!
Serpent7776 has quit [Read error: Connection reset by peer]
<d_bot>
<EduardoRFS> bit of context, I'm Brazilian and working for a company that pays me international rates in Brazil, so it's not like I'm rich or something like that. Also please don't use my twitter as a base for anything in your life, is pure shitposting
gravicappa has quit [Ping timeout: 252 seconds]
<d_bot>
<EduardoRFS> There is any way to close polyvars without duplicating all the rows?
<d_bot>
<EduardoRFS> ```ocaml
<d_bot>
<EduardoRFS> type a('a) = [> `A] as 'a
<d_bot>
<EduardoRFS> type b = close(a('a))
<d_bot>
<EduardoRFS> ```
<companion_cube>
`type b = [a]` maybe?
<d_bot>
<EduardoRFS> nope, only work if the original polyvar is already closed
<d_bot>
<EduardoRFS> also sorry for Reason syntax, just copied my example
<d_bot>
<octachron> It doesn't work since `a` requires its parameter (which is contrained by the definition) .... The reverse direction works `` type b= [`A] type a = [> b ]``.
<d_bot>
<EduardoRFS> That's interesting, didn't thought about it
<d_bot>
<EduardoRFS> Still, if I open it it doesn't solve my problem, I'm trying to close the output of a function ;/