aphprentice has quit [Quit: Connection closed for inactivity]
boegel has joined #ocaml
w1gz_ is now known as w1gz
aaronelkins has joined #ocaml
MercurialAlchemi has quit [Read error: Connection reset by peer]
MercurialAlchemi has joined #ocaml
sepp2k has quit [Ping timeout: 240 seconds]
Simn has quit [Quit: Leaving]
Simn has joined #ocaml
yegods has quit [Remote host closed the connection]
zpe has joined #ocaml
zpe has quit [Read error: Connection reset by peer]
sepp2k has joined #ocaml
charpi has joined #ocaml
ontologiae has joined #ocaml
dsheets has joined #ocaml
FreeBirdLjj has joined #ocaml
ely-se has quit [Quit: leaving]
Kakadu has joined #ocaml
MercurialAlchemi has quit [Read error: Connection reset by peer]
MercurialAlchemi has joined #ocaml
Haudegen has quit [Ping timeout: 260 seconds]
MercurialAlchemi has quit [Read error: Connection reset by peer]
AlexRussia has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
Haudegen has joined #ocaml
hannes` is now known as hannes
MercurialAlchemi has quit [Read error: Connection reset by peer]
MercurialAlchemi has joined #ocaml
infinity0 has joined #ocaml
freehck has joined #ocaml
<freehck>
hello everybody!
<freehck>
I've got an issue while building ocamlnet.3.7.3: the problem is type mismatch.
<freehck>
command: STDERR: Error: The implementation ssl_exts.ml
<freehck>
command: STDERR: does not match the interface ssl_exts.cmi:
<freehck>
command: STDERR: Values do not match:
<freehck>
command: STDERR: val single_read : Ssl.socket -> Bytes.t -> int -> int -> int
<freehck>
command: STDERR: is not included in
<freehck>
command: STDERR: val single_read : Ssl.socket -> string -> int -> int -> int
<freehck>
Is there a way to tell ocaml that in 4.01.0 Bytes.t and string are the same?
MercurialAlchemi has quit [Read error: Connection reset by peer]
MercurialAlchemi has joined #ocaml
jonludlam has quit [Remote host closed the connection]
jlouis_ is now known as jlouis
<freehck>
Hm... I suppose that I need base-bytes module?
<Drup>
it should be the default
<freehck>
Drup: I'm packing these packages into rpm. I don't use opam.
yegods has joined #ocaml
<Drup>
except if you somehow added -safe-string to the compilation options
<freehck>
Oooh!
<freehck>
I see that opam package build it with "make world".
<freehck>
I missed this command.
<freehck>
According to Makefile it's very important for bytes!
Sorella has joined #ocaml
ely-se has joined #ocaml
MercurialAlchemi has quit [Read error: Connection reset by peer]
MercurialAlchemi has joined #ocaml
yegods has quit [Remote host closed the connection]
dsheets has quit [Ping timeout: 260 seconds]
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
Haudegen has quit [Ping timeout: 240 seconds]
MercurialAlchemi has quit [Read error: Connection reset by peer]
MercurialAlchemi has joined #ocaml
jonludlam has joined #ocaml
Haudegen has joined #ocaml
MercurialAlchemi has quit [Read error: Connection reset by peer]
MercurialAlchemi has joined #ocaml
MercurialAlchemi has joined #ocaml
chnyda has joined #ocaml
mort___1 has joined #ocaml
Haudegen has quit [Ping timeout: 240 seconds]
mort___ has quit [Ping timeout: 250 seconds]
ely-se has quit [Ping timeout: 260 seconds]
MercurialAlchemi has quit [Read error: Connection reset by peer]
dsheets has joined #ocaml
MercurialAlchemi has joined #ocaml
ely-se has joined #ocaml
MercurialAlchemi has quit [Read error: Connection reset by peer]
MercurialAlchemi has joined #ocaml
Haudegen has joined #ocaml
nicoo has quit [Ping timeout: 260 seconds]
yegods has joined #ocaml
BitPuffin has joined #ocaml
rand has quit [Quit: leaving]
MercurialAlchemi has quit [Read error: Connection reset by peer]
MercurialAlchemi has joined #ocaml
sz0 is now known as sz0`
aaronelkins has left #ocaml [#ocaml]
sz0` is now known as sz0
NingaLeaf has joined #ocaml
octachron has quit [Read error: Connection reset by peer]
mort___1 has quit [Quit: Leaving.]
mort___ has joined #ocaml
MercurialAlchemi has quit [Read error: Connection reset by peer]
MercurialAlchemi has joined #ocaml
clog_ has quit [Quit: ^C]
clog has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
dsheets has joined #ocaml
<freehck>
No. I was mistaken. "make world" hasn't solved anything.
<freehck>
So I still don't know how to separate Bytes.t and string types.
<freehck>
Drup: is the difference specified while ocaml build process? Or maybe while ocamlfind build?
<Drup>
except if you have some OCAMLPARAM variable, no
<freehck>
Drup: I'm sure this variable's empty.
octachron has joined #ocaml
<freehck>
Drup: you know, I even can't find the declaration of Bytes.t type. There's no one in the bytes.ml in ocamlfind sources... :(
<Drup>
it's in the compiler
<freehck>
Drup: Or the type "t" is supposed when I create some module?
tobiasBo1 is now known as tobiasBora
<Drup>
no
<freehck>
Drup: ah, I got: it's "include String" in the top.
MercurialAlchemi has quit [Read error: Connection reset by peer]
<ely-se>
does OCaml support parallelism within a single process?
MercurialAlchemi has joined #ocaml
<freehck>
ely-se: concurrency only.
<Drup>
no
<ely-se>
i.e. threads without GIL
<ely-se>
oh :(
quater-nyon has quit [Quit: Angels fall, all for you, heretic! Demon heart, bleed for us! (My soul is yours, Dark Master. I will fight for you.)]
<ely-se>
why not?
pyon has joined #ocaml
<companion_cube>
because making a good multicore GC is hard™
<ely-se>
:(
<Drup>
or, rather, making a multicore GC has fast as our monocore GC is hard
igoroliveira has joined #ocaml
<Drup>
as*
<def`>
both are true :P
<flux>
and doing it without a fast multicore GC would be pointless
<pierpa>
has a model with separate heaps, a la Erlang, been investigated?
<freehck>
flux: why can't we just teach GC to "pause" all the threads while doing its work?
pyon is now known as quater-nyan
<ely-se>
oh wait, I don't need parallelism in OCaml
<Drup>
freehck: see the section where we don't want to slow the GC down
<ely-se>
oh wait, nevermind, I do, lol
<flux>
freehck, it certainly would be possible, but it would very fast lead into most time being consumed by one thread doing GC, all others waiting
<ely-se>
the reason I didn't write this project in C++ but in OCaml was precisely because OCaml had a precise GC
<Drup>
pierpa: it's kinda the design that is used for the multicore GC
<pierpa>
aha!
<flux>
the new model is sort of interesting
yegods has quit [Read error: Connection reset by peer]
<Drup>
one heap per thread, and a big shared (slow) heap for everyone
<flux>
but on the other hand it sounds a bit like a research project, as I haven't heard of such a system before..
<charpi>
how will it work with lwt ?
<flux>
the project also comes with an effect system that that lwt would probably make use of
<flux>
but I predict new non-lwt solutions will pop up as well
<Drup>
ely-se: if you don't need a lot of communication between your <unit of parallelism>, then forking is fine
<Drup>
(there are libraries for that)
<ely-se>
Drup: I need shared memory
<ely-se>
there's no other option
<Drup>
do you need ti GCd ?
<ely-se>
ys
<Drup>
that's not going to be possible :)
<ely-se>
does OCaml currently support threads a la Python?
<ely-se>
so only one will run at a time
<Drup>
yeah
yegods has joined #ocaml
<ely-se>
ok, then I'll use that until OCaml gets proper parallelism
<Drup>
I advise Lwt
<ely-se>
I'm writing a VM for my programming language
coody has joined #ocaml
<ely-se>
the compiler is almost working for very trivial programs
<def`>
yep, I advise lwt (or async) too
<def`>
thread is the primitive one doesn't want to use :P
<ely-se>
I initially wanted to use Lua as VM but I figured that since OCaml has a GC I could just as well write a VM in OCaml
<charpi>
Is there any 'usable' pre-version of a multicore OCaml run-time available ?
<ely-se>
I don't want to implement a GC myself. It's too much work.
<def`>
ely-se: as in generating bytecode?
<ely-se>
that's what the compiler does, yes. the VM interprets that bytecode
<def`>
you plan to generate OCaml bytecode?
<ely-se>
No.
<def`>
ok
<pierpa>
It's ok to choose Ocaml over Lua, but Lua has a GC too :)
<ely-se>
Yeah, but I don't think Lua will ever support parallelism, but I read OCaml is working on it
<ely-se>
Also, Lua doesn't optimise for immutability.
<pierpa>
yes, that may be a better reason :)
<ely-se>
whereas my VM may do that, as my language completely lacks mutations
<pierpa>
good!
<companion_cube>
ely-se: can't you use the JVM?
<companion_cube>
oh, no mutation
<charpi>
the erlang vm can be a choice
<pierpa>
and it's impossible to implement proper tail calls efficiently on the JVM
<companion_cube>
it is, if they are not mutual
<companion_cube>
I mean self-tail call
<pierpa>
yes, self calls are the easy case
<def`>
tail call is hard, tail rec easy
<def`>
tada
<def`>
(well hard... intrusive when upstream monkeys didn't think about it)
<pierpa>
'efficiently' is the key word
<ely-se>
companion_cube: no, the JVM is too heavyweight
theblatt1 is now known as theblatte
<ely-se>
the goal of my language is to have one with the same use-cases as Python and Ruby (i.e. configuration, plugins and small throwaway applications), but typed and purely functional
<ely-se>
so I prefer to keep the dependencies very low, and the JVM is rather large
<companion_cube>
sounds difficult if you also need multicore GC
<pierpa>
ely-se: why not ocaml, then?
<pierpa>
(except the purely functional)
<ely-se>
I _am_ using OCaml. :P
<ely-se>
to implement it
<pierpa>
instead of your language, not as the implementation language :)
<ely-se>
oh. not purely functional, broken equality and comparison, and AFAIK the compiler isn't easily embeddable
<pierpa>
ocaml with a tailored pervasives lib?
sz0 is now known as sz0`
<Drup>
charpi: the current implementation only works for bytecode atm, iirc
<charpi>
Drup: oh ... interesting. I am new to OCaml but coming from Erlang i am quite interested by the multicore aspect
<Drup>
charpi: search for multicore ocaml (in particular, in reddit), you will find plenty of informations
<charpi>
Drup: thanks. I guess I will have to build it myself and not pulling it from opam
<freehck>
People, I have a problem with types while compiling ocamlnet with -enable-ssl option. Here's a log of build. Need help please. http://pastebin.com/zAVVi8UT
mac10688 has quit [Ping timeout: 265 seconds]
<ely-se>
bernardofpc: je ne parle pas francais
<freehck>
I've already read sources of ocamlfind. It seems that Bytes module uses "include String" so it should have the same interfaces that String has. But in String module type t is defined like "type t = string" so I cant understand what's the problem.
<freehck>
The main thing I can't understand is why it does compile perfectly with opam.
<Drup>
freehck: what you don't understand , I think, is that Bytes is originally a module in the *stdlib*
<freehck>
oh, really?
<Drup>
the module in ocamlfind is used only as a compat, for old version of ocaml
<freehck>
Drup: is it thue for Ocaml 4.01.0?
<Drup>
Hum, I don't remeber
<freehck>
Aaah, so I'm right. I use 4.01.0. And Bytes from ocamlfind should be used.
<theblatte>
there's no Bytes in 4.01
<orbifx>
is there a way to wrap/call C++ or C code on the fly? Without writing stubs?
<Drup>
orbifx: see ctypes
yegods has quit [Read error: Connection reset by peer]
<freehck>
theblatte: Yes, but there's a code that already uses Bytes and that should be compiled with older ocaml compilers.
<freehck>
theblatte: f.e. Ssl module.
<orbifx>
Thanks Drup
<theblatte>
then use the compat module?
<theblatte>
(I just found out this existed, haven't actually tried)
<orbifx>
Drup: nothing for C++?
slash^ has joined #ocaml
<bernardofpc>
humpf, sorry for the french... well, this is the second computer that complains about oasis when doing an opam upgrade
<freehck>
Has somebody really take a look on my pastebin?
<bernardofpc>
(after opam upgrade)
<freehck>
I just wanna know wether I can get a help here.
<freehck>
*taken
grebensh has joined #ocaml
djellemah has quit [Ping timeout: 260 seconds]
<gasche_>
freehck: it seems that you compile with -safe-string a program that was not meant to support it yet
<freehck>
gasche_: there's no such option in Ocaml of version 4.01.0
yegods has joined #ocaml
<gasche_>
I would suggest trying to compile an older version of ocamlnet if you can
MercurialAlchemi has quit [Read error: Connection reset by peer]
ncthom91 has joined #ocaml
<freehck>
No. Sadly but I must use specifically this version of ocamlnet.
<gasche_>
and specifically this version of OCaml
tane has joined #ocaml
<freehck>
Yes. :(
MercurialAlchemi has joined #ocaml
<tane>
hello :)
<gasche_>
the compatibility module should work (this is what you appear to be using), so the type error may be somewhere else
djellemah has joined #ocaml
<Drup>
orbifx: no, nothing for C++
<Drup>
you have to go through a C api
<tane>
is there any tutorial or example project featuring either oasis + menhir, or a project using two distinct menhir powered parsers and lexers?
jonludlam has quit [Ping timeout: 265 seconds]
Mercuria1Alchemi has joined #ocaml
<Drup>
tane: for the first, there is nothing special to do
<tane>
zozozo, how to actually make ocamlbuild use two different lexers, as it just supplies "external-tokens Lexer"
<ely-se>
orbifx: doing this for C++ is very difficult, because there are many C++ ABIs, and often multiple C++ ABIs are used on a single platform
<tane>
Drup, alright, thank you
<zozozo>
tane: well when you call your parser, you give it the appropriate token function
<ely-se>
you also can't instantiate templates without a full-blown C++ compiler
<zozozo>
which will most likely be Lxer1.token and Lexer2.tken
<orbifx>
ely-se: delightful :P
<orbifx>
Drup: ow well... seems that even with C++ being "high-level" it's still best used wrapped around C :P
<zozozo>
tane: plus it's most likely that your lexer will depend on the associated parser to pull the token type
<ely-se>
orbifx: if the C++ ABI used is the Itanium ABI, you can just use treat it as a C library and use the layouts and name mangling as described here: https://mentorembedded.github.io/cxx-abi/abi.html
<tane>
zozozo, yes, I'll try again, maybe things will clear up then :) thank you
<Drup>
tane: there is also 2 parsers in this project, so you can look at that
<ely-se>
I don't know anything about other ABIs, though.
hcarty has joined #ocaml
groovy3shoes has quit [Quit: Leaving]
<freehck>
Okay, I don't know the reason of that behaviour. I just did "sed -i 's/Bytes/String/g ssl.ml ssl.mli".
<freehck>
And now ocamlnet builds fine.
<freehck>
Maybe in some ideal future we will switch to 4.02... :/
<orbifx>
thanks ely-se, will take a look
<Drup>
freehck: could that be an incompatibility with a recent ssl version ?
<freehck>
Drup: I suppose no because I has all these libraries in my opam configuration on developers' machines and ocamlnet builds perfectly.
<freehck>
*I have
<gasche_>
do you have a module called Bytes in your code?
<gasche_>
the Bytes compatibility module should *work* before 4.02.0, so there is something fishy with your setup
<gasche_>
this may be a compilation unit name conflict
<freehck>
gasche_: My code? I just build modules.
<freehck>
Opam modules.
jonludlam has joined #ocaml
<gasche_>
(or in the ocamlnet sources, but I would be surprised if Gerd made a mistake there; maybe still send him an email just in case)
<gasche_>
(the point of the Bytes compatibility module is precisely to support pre-4.02 version for bytes-using code, so something is going wrong here)
<freehck>
gasche_: Yes. I was trying to understand what exactly but failed.
yegods has quit [Read error: Connection reset by peer]
yegods has joined #ocaml
<freehck>
gasche_: I feel that I can't solve it myself. I need a help of some ocaml packager. Could I ask a help from Stefano Zacchiroli maybe? )
<freehck>
He was a good one for Debian. )
<freehck>
But he's such a busy man...
yegods has quit [Read error: Connection reset by peer]
<tane>
Drup, zozozo thank you, works perfectly well now :)
ely-se has quit [Quit: leaving]
hcarty has quit [Ping timeout: 265 seconds]
cyraxjoe_ is now known as cyraxjoe
tane has quit [Quit: Verlassend]
charpi` has joined #ocaml
charpi` has quit [Remote host closed the connection]
igoroliveira_ has joined #ocaml
apache2 has joined #ocaml
yegods has joined #ocaml
tizoc` has joined #ocaml
djellemah_ has joined #ocaml
apache2_ has quit [Remote host closed the connection]
M-Illandan has quit [Ping timeout: 240 seconds]
igoroliveira has quit [Ping timeout: 240 seconds]
djellemah has quit [Ping timeout: 240 seconds]
tizoc has quit [Ping timeout: 240 seconds]
hbar has quit [Ping timeout: 240 seconds]
tobiasBora has quit [Ping timeout: 240 seconds]
thegameg has quit [Ping timeout: 240 seconds]
Drup has quit [Ping timeout: 240 seconds]
hbar has joined #ocaml
igoroliveira_ is now known as igoroliveira
charpi has quit [Remote host closed the connection]
tobiasBora has joined #ocaml
thegameg has joined #ocaml
Drup has joined #ocaml
M-Illandan has joined #ocaml
octachron has joined #ocaml
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tizoc` is now known as tizoc
tizoc has quit [Changing host]
tizoc has joined #ocaml
rand has quit [Quit: leaving]
habnabit is now known as _habnabit
orbifx has quit [Quit: WeeChat 1.3]
tane has joined #ocaml
NingaLeaf1 has joined #ocaml
NingaLeaf1 has quit [Client Quit]
ollehar has joined #ocaml
ontologiae has joined #ocaml
yegods has quit [Read error: Connection reset by peer]
jonludlam has quit [Quit: Leaving]
yegods has joined #ocaml
^elyse^ has joined #ocaml
mort___ has quit [Ping timeout: 264 seconds]
octachron has quit [Quit: Leaving]
yegods has quit [Remote host closed the connection]
tibor_ has quit [Quit: Page closed]
<tane>
is there any way to achieve something like %token <string,string> INFO in menhir, without defaulting to some external module?
<edwin>
I was testing https://github.com/ocaml/opam-repository/pull/5185/files by manually putting those files in the source dir, but opam pin didn't pick up the .install file. Is that expected, or should I use some other way to test that patch to the opam repository?