spew has quit [Quit: Connection closed for inactivity]
jmiven has quit [Quit: co'o]
jmiven has joined #ocaml
rpcope has joined #ocaml
rpcope has quit [Ping timeout: 240 seconds]
Algebr` has quit [Ping timeout: 245 seconds]
malina has quit [Remote host closed the connection]
pierpal has quit [Ping timeout: 250 seconds]
Algebr` has joined #ocaml
tennix has quit [Ping timeout: 244 seconds]
jao has quit [Disconnected by services]
jao has joined #ocaml
rpcope has joined #ocaml
tennix has joined #ocaml
mfp has quit [Ping timeout: 276 seconds]
Algebr` has quit [Ping timeout: 240 seconds]
Algebr` has joined #ocaml
themsay has quit [Ping timeout: 268 seconds]
Algebr` has quit [Ping timeout: 246 seconds]
Algebr` has joined #ocaml
Algebr` has quit [Ping timeout: 268 seconds]
jao has quit [Ping timeout: 246 seconds]
tormen_ has joined #ocaml
tormen has quit [Ping timeout: 252 seconds]
noddy2OOO has quit [Ping timeout: 272 seconds]
kark has joined #ocaml
Algebr` has joined #ocaml
qwidj has joined #ocaml
pierpal has joined #ocaml
Algebr` has quit [Ping timeout: 252 seconds]
Algebr` has joined #ocaml
MadcapJake has quit [Quit: MadcapJake]
MadcapJake has joined #ocaml
jao has joined #ocaml
MadcapJake_ has joined #ocaml
MadcapJake has quit [Ping timeout: 245 seconds]
MadcapJake_ is now known as MadcapJake
jao has quit [Remote host closed the connection]
jao has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #ocaml
jao has quit [Ping timeout: 240 seconds]
gravicappa has joined #ocaml
Rosslaew has joined #ocaml
Rosslaew has quit [Remote host closed the connection]
bramford has quit [Quit: leaving]
freyr69 has joined #ocaml
iAmDecim has quit [Ping timeout: 252 seconds]
jimt has quit [Quit: WeeChat 1.9.1]
sagotch has joined #ocaml
orbifx2 has joined #ocaml
Haudegen has joined #ocaml
orbifx2 has quit [Ping timeout: 272 seconds]
slamzy has joined #ocaml
keep_learning has joined #ocaml
sagotch has quit [Quit: Leaving.]
sagotch has joined #ocaml
sagotch has quit [Client Quit]
malina has joined #ocaml
asymptotically has joined #ocaml
jimt has joined #ocaml
slamzy has quit [Ping timeout: 256 seconds]
slamzy has joined #ocaml
jim7j1ajh has joined #ocaml
mfp has joined #ocaml
jimt has quit [Ping timeout: 246 seconds]
jim7j1ajh is now known as jimt
Haudegen has quit [Remote host closed the connection]
tennix has quit [Ping timeout: 268 seconds]
sagotch has joined #ocaml
webshinra has joined #ocaml
tennix has joined #ocaml
sagotch has quit [Quit: Leaving.]
slamzy has quit [Remote host closed the connection]
gjaldon__ has quit [Quit: Connection closed for inactivity]
slamzy has joined #ocaml
nicoo has quit [Ping timeout: 256 seconds]
nicoo has joined #ocaml
noddy2OOO has joined #ocaml
sagotch has joined #ocaml
tennix has quit [Ping timeout: 250 seconds]
<freyr69>
Why does something like this `type t = C { x : 'a v * 'a } -> t` works, while `type t = { x :
<freyr69>
`type t = { x : 'a v * 'a }` doesn't?
<freyr69>
I.e. the compiler complains that the field is not generic enough
manas has joined #ocaml
<octachron>
'a is existentially quantified in your first example, and unbound in your second one
noddy2OOO has quit [Ping timeout: 268 seconds]
<freyr69>
Thanks
sagotch has quit [Quit: Leaving.]
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
noddy2OOO has joined #ocaml
bartholin has joined #ocaml
noddy2OOO has quit [Ping timeout: 244 seconds]
psacrifice has joined #ocaml
sagotch has joined #ocaml
manas has quit []
malina has quit [Ping timeout: 246 seconds]
gravicappa has quit [Ping timeout: 246 seconds]
tennix has joined #ocaml
malina has joined #ocaml
averell has quit [Quit: .]
averell has joined #ocaml
Denommus has joined #ocaml
jao has joined #ocaml
gravicappa has joined #ocaml
noddy2OOO has joined #ocaml
dtornabene has joined #ocaml
FreeBirdLjj has joined #ocaml
rpcope has quit [Ping timeout: 246 seconds]
sammie has quit [Ping timeout: 252 seconds]
gareppa has joined #ocaml
jaar has joined #ocaml
freyr69 has quit [Remote host closed the connection]
sagotch has quit [Quit: Leaving.]
gravicappa has quit [Ping timeout: 244 seconds]
jrslepak has quit [Ping timeout: 252 seconds]
<jstolarek>
is Menhir known to be significantly slower than ocamlyacc ?
<jstolarek>
with ocamlyacc my project compiles in <10s. After switching to Menhir it is over 20s
<jstolarek>
by "switching" I mean simply modifying my project configuration to use Menhir, with no changes to the parser itself
al-damiri has joined #ocaml
Algebr` has quit [Ping timeout: 268 seconds]
<companion_cube>
it may produce more code, I'm not sure
<companion_cube>
are you using flambda?
ggole has joined #ocaml
<jstolarek>
no
groovy2shoes has quit [Quit: moritura te salutat]
<companion_cube>
that's a bit surprising, I must say, but menhir is more sophisticated
<jstolarek>
companion_cube: I just checked - the generated parser is ~4 times larger (380kB vs. 1.5MB)
<companion_cube>
ouch indeed
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
<companion_cube>
there's --table which may change that
groovy2shoes has joined #ocaml
* jstolarek
tries to figure out how to deal with "Unbound module MenhirLib" error
Algebr` has joined #ocaml
<companion_cube>
ah you may have to use the menhirlib library then
<companion_cube>
menhirLib, sorry
<jstolarek>
ah, case sensitivity
<jstolarek>
got it
slamzy has quit [Quit: Leaving]
<jstolarek>
ok, compilation time is back below 10s. Thanks
waleee has joined #ocaml
Algebr` has quit [Ping timeout: 244 seconds]
<companion_cube>
what about size?
<jstolarek>
1.1MB
<jstolarek>
so about 3 times larger than with ocamlyacc
Algebr` has joined #ocaml
ygrek__ has joined #ocaml
tennix has quit [Ping timeout: 268 seconds]
<nore>
tables are a compact representation of the parser, and are interpreted, while menhir produces recursive functions by default, which correspond to a compiled version of the tables, so the output is larger and takes more time to compile, but usually takes less time at execution
<companion_cube>
interesting. There are other options (--lalr?) but not sure what they do
<nore>
so which of them you want to use depends on your needs; for not-too-large parsers, recursive functions are usually a good choice, for larger ones, the choice is less obvious
<def`>
jstolarek: interesting case, is that with a bytecode executable or a native one?
iAmDecim has joined #ocaml
sagotch has joined #ocaml
<sagotch>
Hey.
<sagotch>
Is there a way to define f so this does not compile because of a type error (because of the ?o argument):
<sagotch>
let f : (int -> int) -> (int -> int) = fun f -> f in let g = fun ?o:_ x -> x in f g
<erkin>
I'm trying to install opam, but opam init fails on me.
Bronsa has quit [Remote host closed the connection]
Denommus has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
gareppa has quit [Quit: Leaving]
<def`>
The log says that it fails at configure step.
<def`>
I wonder what is the output of configure
<octachron>
sagotch, it is a brittle solution but you can use "f @@ g" plus "-principal" and "-w @19", or simply "g |> f"
<theblatte>
I have a problem with bubblewrap and javalib. This works fine if I disable sandboxing but with sandboxing I get "# ocamlfind: Cannot mkdir /home/jul/.opam/ocaml-variants.4.07.1+flambda/lib/ptrees: Read-only file system"
sagotch has quit [Read error: Connection timed out]
<theblatte>
I guess I should report this on opam-repository, but I'm new to opam2 so maybe I'm doing it wrong
sagotch has joined #ocaml
waleee has quit [Quit: WeeChat 2.3]
sagotch has quit [Ping timeout: 268 seconds]
<Leonidas>
theblatte: no, it is probably because javalib tries to write outside of its build directory. that's not allowed since 2.0~rc2 I believe
<theblatte>
looks like it's trying to install another lib (ptrees) inside the opam switch
FreeBirdLjj has quit [Remote host closed the connection]
<theblatte>
I wish opam2 had an escape hatch for temporarily disabling the sandbox, maybe I missed something but it looks like ~/.opam/config is basically impossible to modify with scripts
rpcope has quit [Ping timeout: 244 seconds]
pierpal has joined #ocaml
<Leonidas>
i think that would just lead to installation steps being broken forever
<Leonidas>
"just disable the sandbox, then it'll work"
<Leonidas>
and I ran into these issues myself, a number of times.
iAmDecim has joined #ocaml
noddy2OOO has quit [Ping timeout: 240 seconds]
infinity0 has quit [Remote host closed the connection]
<theblatte>
Leonidas: maybe, maybe not (eg you could require that rule updates work with the sandbox so we gradually get a better ecosystem)
<theblatte>
the result for now is that if I want to use opam2 I have to disable the sandbox globally
<Leonidas>
theblatte: what about packages like calendarlib which never get updated?
<theblatte>
then they never get broken ;)
infinity0 has joined #ocaml
<theblatte>
the situation is the same regardless of whether you make it impractical to disable the sandbox
<theblatte>
anyway, that's a minor rant, opam 2 is cool and all :)
rpcope has joined #ocaml
kakadu_ has joined #ocaml
pierpal has quit [Ping timeout: 250 seconds]
pierpal has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
fraxamo has quit [Quit: Leaving]
jrslepak has joined #ocaml
rand__ has joined #ocaml
SU2xU1 has joined #ocaml
<SU2xU1>
Hello
<SU2xU1>
I'm familiar with C and Python. How difficult would it be to learn OCaml?
<oni-on-ion>
medium
<oni-on-ion>
it is difficult or impossible to say the exact point where "it is not learned yet" and "it is fully learned now." so it is a process during using the language that one learns which really has no end.
<oni-on-ion>
however in order to feel comfortable with it as a language to speak with computers/devs, i would say, medium =)
<oni-on-ion>
from the perspective of C and python
<oni-on-ion>
should be fairly smooth. and if ever you feel lost, check out julia as it is like C and python together, and can do functional things
gravicappa has joined #ocaml
maarhart has joined #ocaml
gravicappa has quit [Remote host closed the connection]
gravicappa has joined #ocaml
oni-on-ion has quit [Read error: No route to host]
iAmDecim has quit [Ping timeout: 264 seconds]
<SU2xU1>
Thanks, I've also been meaning to check out Julia, it seems quite high performance too, though my interest in OCaml is due to a potential employer