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 :)
<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 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>
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
<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)"?