Leonidas changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 4.13.0 released: https://ocaml.org/releases/4.13.0.html | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
Haudegen has quit [Ping timeout: 256 seconds]
Tuplanolla has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
unyu has quit [Quit: WeeChat 3.3]
<d_bot> <infiniteregrets> I just installed frama-c using https://frama-c.com/html/installations/calcium.html but it's nowhere to be find on my PC
<d_bot> <infiniteregrets> Any ideas?
Haudegen has joined #ocaml
Anarchos has joined #ocaml
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
rgrinberg has quit [Client Quit]
mro has joined #ocaml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
rgrinberg has joined #ocaml
mro has quit [Ping timeout: 268 seconds]
shawn has joined #ocaml
waleee has quit [Ping timeout: 252 seconds]
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
gravicappa has joined #ocaml
shawn is now known as shawnw
Serpent7776 has joined #ocaml
xd1le has joined #ocaml
<Franciman> mclovin: thanks, but is there a list of the ocaml user groups?
<Franciman> paris is a bit far for me
olle_ has joined #ocaml
mro has joined #ocaml
spip has joined #ocaml
<Leonidas> There's a functional programming group in Copenhagen
spip has quit [Quit: Konversation terminated!]
spip has joined #ocaml
zebrag has quit [Quit: Konversation terminated!]
mro has quit [Remote host closed the connection]
salkin has joined #ocaml
mro has joined #ocaml
Anarchos has joined #ocaml
<Anarchos> when i run the testsuite of the compiler, where can i find exactly the line which triggers an exception making the test failed ?
<octachron> In ocamltest logs in the _ocamltest directory . Or your can run ocamltest on the failing test.
<Anarchos> octachron thanks
<Anarchos> i only have two tests failing on unix_recvfrom on my platform, i could be happy to solve them
<Anarchos> octachron the failing part is in a C primitive
<Anarchos> are the tests compiled with debugged symbols to be debugged in gdb ?
waleee has joined #ocaml
bartholin has joined #ocaml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
jakzale has joined #ocaml
mro has quit [Remote host closed the connection]
Anarchos has joined #ocaml
<d_bot> <zakkor> is there an online "odig" that lets me search all (or lots of) OCaml libraries?
<d_bot> <zakkor> like hoogle
waleee has quit [Ping timeout: 252 seconds]
vb_ has quit [Ping timeout: 250 seconds]
vb has joined #ocaml
xd1le has quit [Quit: xd1le]
<Anarchos> zakkor what is « odig » ?
<lobo> i've recently stumbled upon https://sherlocode.com/ but that's more like a code search rather than searching for signatures. but still awesome :)
Morgado has joined #ocaml
<Morgado> Hello
<Morgado> I have a question
<Morgado> how do i read binary file?
<Morgado> Thanks
<theblatte> zakkor: the next version of the ocaml website has online doc for all of opam, eg https://v3.ocaml.org/p/core/v0.14.1/doc/index.html
<Anarchos> Morgado what you mean by "read" ? there is open_in_bin for opening a channel on a binary file
<Morgado> Thanks!
average has joined #ocaml
unyu has joined #ocaml
Morgado has quit [Quit: Client closed]
waleee has joined #ocaml
kurfen has joined #ocaml
waleee has quit [Ping timeout: 252 seconds]
<d_bot> <d4hines> I'm working on several event-driven applications (e.g. web servers, user interfaces, etc.). I really like the Elm architecture, which has you describe a state transition function that maps a state and a transition to a new state and a list of side effects to perform (which could include new state transitions). This pattern includes a lot of boiler plate, but it's _easy_ boiler plate, and it allows you reason about and test your s
<d_bot> <d4hines>
<d_bot> <d4hines> Is there a good library for doing this pattern in OCaml? Ideally it would be completely independent of UI concerns and have good performance.
<d_bot> <d4hines>
<d_bot> <d4hines> I could roll it by hand with the OCaml React event library (not reactjs), but this pattern is only one concrete instance of the things you can do with React.
<d_bot> <VPhantom> @d4hines I only know of <https://github.com/LexiFi/ocaml-vdom> which is described as "the Elm architecture and vdom for OCaml" but I haven't played with it.
<d_bot> <d4hines> VDom is related to browser interfaces I assume. Browser interfaces are one instance of a reactive application. But I'm interested in other reactive applications, such as web servers.
mro has joined #ocaml
<d_bot> <leonidas> @zakkor There used to be Ocamloscope
<Anarchos> opam list gives list of packages, some underlined, some followed by a star. Where may i find the meanings of those decorations ?
Haudegen has quit [Quit: Bin weg.]
<d_bot> <zakkor> theblatte: That looks really good! Can you search by type signature like in hoogle? like `'a list -> int`
<theblatte> no I don't think you can
<Anarchos> When i try to compile ocp-indent i get this strange error :
<Anarchos> Files /boot/home/.opam/5.00.0+trunk/lib/ocaml/dynlink.cmxa and /boot/home/.opam/5.00.0+trunk/lib/ocaml/stdlib.cmxa make inconsistent assumptions over implementation Stdlib__Sys
<Anarchos> how come my cmxa files could be incompatible ? Is there a mean to verify which one is a too old version of the lib ?
<octachron> You can use ocamlobjinfo to check the hash of linked modules.
<octachron> If this is the installation where you copied by hand dynlink.cmxa, it sounds like you have a mismatched version of dynlink and stdlib.
<Anarchos> octachron yes it is, but what is strange is that all the cmxa have been compiled by "make" at same time
<octachron> You should probably try to start from make clean. There is some intermediary state that is not handled correctly in the interaction of dynlink's abbreviated-compilerlibs and the rest of the build.
<d_bot> <VPhantom> Oh I didn't know Elm was used server-side. Interesting.
<Anarchos> octachron this is what i get (notice the grep at the end of command) : https://pastebin.com/z0dpbKs2
<Anarchos> octachron and they have been installed by "opam pin ." in the ocaml source directory
mro has quit [Remote host closed the connection]
gravicappa has quit [Ping timeout: 252 seconds]
snatx has joined #ocaml
<snatx> hi, is there a standard function in ocaml that will zip two lists of different lengths (returning a list of the shorter length) (like e.g. Haskell's zip)
<snatx> List.combine raises in that case
<d_bot> <Wulfman> Hi. Excuse me if I asked already. But do you guys know of any good library for comandline parsing ? My specification are ability to do command subgroups (git remote add) , command autocompletion, and multiplatform. autogeneration of `--help` would be nice. So far, I tried `Cmdliner` but I could do subgroup and there is no autocompletion , `tezos-clic` but it is buggish and flags has to be at the end. `Core.Command` seems to be id
Haudegen has joined #ocaml
<haesbaert> Cmdliner is what lots of projects use
gravicappa has joined #ocaml
<haesbaert> autocompletion is not something your program can do, it has to come from the shell
snatx has quit [Quit: Client closed]
shawnw has quit [Ping timeout: 256 seconds]
average has quit [Quit: Connection closed for inactivity]
<Anarchos> octachron so how can i remove the old .cmxa from my switch to reinstall them ? Do "opam unpin ocaml ; opam pin ocaml" suffices ?
<octachron> "opam switch reinstall" might work depending on how you installed the switch.
<companion_cube> omg but Atomic is on mainline OCaml already?!?
rgrinberg has joined #ocaml
<smondet[m]> haesbaert: the CLI library can generate the configuration for the shell (that's what tezos-clic and Core.Command do I think)
<companion_cube> there's a long standing issue in cmdliner to be able to do that, I think
<companion_cube> (generating shell completions)
<Anarchos> octachron i did "opam switch create 5.00.0+trunk ; opam pin ocaml"
<haesbaert> ah nice
<octachron> companion_cube, since 4.12, but as stated in the documentation, the implementation is trivial on a non-multicore version of OCaml.
<companion_cube> yeah that's cool
<companion_cube> octachron: btw, do you think a module like that would belong in the stdlib? https://c-cube.github.io/ocaml-containers/3.6/containers-thread/CCLock/index.html
<companion_cube> I mean, it's really better than a naked mutex in many cases
<smondet[m]> octachron: trivial in the sense that it looks simple but to convince myself that it works I had to go find this comment :)
<smondet[m]> X. Leroy:
<smondet[m]> > I'm pretty sure the implementation is atomic both in native-code and in bytecode.
<companion_cube> that seems right
<companion_cube> if you don't allocate, this stuff is atomic
<companion_cube> afaik
<octachron> I am not familiar enough with multithreading. This might be the right time to ask. Or maybe just after multicore is merged in trunk?
<companion_cube> multicore changes everything tho :p
<companion_cube> well
<companion_cube> this will still hold among threads in one domain, afaiu
<smondet[m]> companion_cube: afaik too and afaiu too, but I assume there are a lot of things I don't know or understand :)
<d_bot> <jumpnbrownweasel> List.combine_shortest in the containers library does this.
<octachron> Anarchos, I am not sure what "opam pin ocaml" is doing? "ocaml" is meta-package.
<Anarchos> octachron no it is the name of directory containing my git clone of the source code
<octachron> then "opam reinstall ocaml-variants" should work
olle_ has quit [Ping timeout: 256 seconds]
average has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
olle_ has joined #ocaml
bartholin has quit [Quit: Leaving]
salkin has quit [Ping timeout: 256 seconds]
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Anarchos> octachron after "opam reinstall", i get "Error: No implementations provided for the following modules: Dynlink referenced from src/ocp_indent_dynlink.cmxa(IndentLoader)" while compiling ocp-indent
<companion_cube> does haiku support dynamic linking, anyway?
<mclovin> Franciman, I've not idea if there's such a list sorry
<Franciman> np, bonne chance pour vous meeting!
<Anarchos> companion_cube yes
<Anarchos> companion_cube when i compile ocaml, it builds all the cmx, cmxa files...
<companion_cube> not the same thing, is there any .cmxs in there?
<Anarchos> companion_cube no
<Anarchos> companion_cube but i am pretty sure haiku supports dynlink, it is rather posixish
<Anarchos> companion_cube maybe i missed a flag to pass to configure ?
<octachron> You might check that the configure script is detecting the support for dynlinking: `ocamlc -config` should have a support_shared_libraries
<Anarchos> supports_shared_libraries: true
<Anarchos> i think some things are missing in 5.00 trunk...
<octachron> No, 5.00.0+trunk works fine (on all system tested on the CI).
zebrag has joined #ocaml
<octachron> You could try to add a prefix to the configure and check what make install is doing.
Haudegen has joined #ocaml
<Anarchos> octachron. It just finished. what path should i verify ?
<octachron> You should check that dynlink.cmxa was built and installed.
<Anarchos> it is not installed
Tuplanolla has joined #ocaml
<Anarchos> but it is compiled in otherlibs/dynlink
<Anarchos> octachron i found the trouble : in configure.ac, i put the natdynlink for haiku 32 bits, but not for haiku 64 bits.
* Anarchos really appreciates all the help from friendly people here
chrisz has quit [Remote host closed the connection]
Morgado has joined #ocaml
<Morgado> Who knows Simao de Sousa?
SdeSousa has joined #ocaml
<SdeSousa> im here Morgado
SdeSousa has quit [Client Quit]
waleee has joined #ocaml
SdeSousa has joined #ocaml
<SdeSousa> arroz
<Morgado> arroz
<theblatte> arroz
<companion_cube> ?!
<Franciman> hi companion_cube
<companion_cube> hmm, hi?
<companion_cube> ah, from that other chan 👋
Morgado has quit [Quit: Client closed]
Anarchos has quit [Quit: Vision[]: i've been blurred!]
waleee has quit [Ping timeout: 252 seconds]
<companion_cube> octachron: the multicore report for november mentions "C11 compiler" which means dropping MSVC
<companion_cube> is there a reason not to use C++ instead?
<companion_cube> C++11 support is quite widespread at this point
waleee has joined #ocaml
<octachron> Recent version of MSVC supports C11 but not the needed C11 atomics.
<octachron> I am not sure if the atomics end up in the C API which would be a potential obstacle.
<companion_cube> it must support C++ atomics
<companion_cube> which afaik are the same (and came first)
<octachron> yes, but you cannot export C++11 atomic types in a C interface.
waleee has quit [Ping timeout: 252 seconds]
<companion_cube> hmm good point
<companion_cube> it's templates in C++ iirc
<octachron> But I imagine that part of the reason is also that the multicore didn't want or didn't dare to change the runtime language.
<companion_cube> yeah
<companion_cube> windows support was never stellar anyway :p
<sadiq> windows support will still be there
<sadiq> just no msvc temporarily
<companion_cube> do people use clang on windows? hmm
<sadiq> I think mingw is there
<sadiq> there are some intrinsics we can use for msvc, it's just not something we're planning to do before the merge to trunk
gravicappa has quit [Ping timeout: 256 seconds]
<sadiq> this should hopefully get rebased soon
SdeSousa has quit [Ping timeout: 256 seconds]
waleee has joined #ocaml
romildo has joined #ocaml
<d_bot> <Ulugbek> Hi. Somewhat strange question. Does the compiler keep information like
<d_bot> <Ulugbek> 1. "this top-level symbol in ml file corresponds to this symbol in mli file" or "this top-level symbol in ml file appears in mli file"?
<d_bot> <Ulugbek> 2. "this top-level symbol in ml file is shadowed (later)"?
waleee has quit [Ping timeout: 252 seconds]
waleee has joined #ocaml
waleee has quit [Ping timeout: 268 seconds]
romildo has quit [Quit: Leaving]
Serpent7776 has quit [Quit: leaving]
waleee has joined #ocaml
sagax has quit [Ping timeout: 252 seconds]
olle_ has quit [Ping timeout: 252 seconds]
glassofethanol has joined #ocaml
waleee has quit [Ping timeout: 252 seconds]
waleee has joined #ocaml
namkeleser has joined #ocaml
Haudegen has quit [Ping timeout: 252 seconds]
namkeleser has quit [Quit: Client closed]