Onemorenickname has quit [Read error: Connection reset by peer]
rcsole has joined #ocaml
malina has joined #ocaml
sh0t has quit [Remote host closed the connection]
rcsole has quit [Ping timeout: 260 seconds]
orbifx has quit [Ping timeout: 252 seconds]
copy` has quit [Quit: Connection closed for inactivity]
ygrek has joined #ocaml
jamesst20 has joined #ocaml
jamesst20 has quit [Ping timeout: 260 seconds]
al-damiri has quit [Quit: Connection closed for inactivity]
snhmib has joined #ocaml
moei has joined #ocaml
mfp has quit [Ping timeout: 260 seconds]
FreeBirdLjj has joined #ocaml
BitPuffin|osx has quit [Ping timeout: 260 seconds]
silver has quit [Quit: rakede]
snhmib has quit [Ping timeout: 240 seconds]
infinity0 has quit [Ping timeout: 260 seconds]
infinity0 has joined #ocaml
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
infinity0 has quit [Remote host closed the connection]
eimantas has quit [Quit: WeeChat 1.5]
infinity0 has joined #ocaml
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
ousado_ has quit [Remote host closed the connection]
ousado_ has joined #ocaml
d0nn1e has quit [Ping timeout: 240 seconds]
mengu has quit [Remote host closed the connection]
d0nn1e has joined #ocaml
spew has quit [Ping timeout: 264 seconds]
ousado_ is now known as ousado
ousado is now known as Guest46662
Guest46662 has quit [Changing host]
Guest46662 has joined #ocaml
Guest46662 is now known as ousado
sepp2k has quit [Quit: Leaving.]
spew has joined #ocaml
jamesst20 has joined #ocaml
jamesst20 has quit [Ping timeout: 264 seconds]
wtetzner has quit [Remote host closed the connection]
jamesst20 has joined #ocaml
govg has quit [Ping timeout: 260 seconds]
spew has quit [Ping timeout: 240 seconds]
govg has joined #ocaml
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
lucasem has left #ocaml [#ocaml]
wtetzner has joined #ocaml
ygrek has quit [Ping timeout: 268 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
tmtwd has joined #ocaml
spew has joined #ocaml
dnivra has joined #ocaml
<dnivra>
Hello everyone! I'm running OCaml 4.01.0 on Ubuntu 14.04 with findlib 1.4. I installed the LLVM bindings for OCaml from the Ubuntu repositories. However, findlib doesn't detect the package: it is not displayed in list of packages or when queried. Could someone help me understand and fix this issue?
jabroney has quit [Quit: Leaving.]
FreeBirdLjj has joined #ocaml
jamesst20 has quit [Remote host closed the connection]
jamesst20 has joined #ocaml
dnivra has quit [Ping timeout: 240 seconds]
dnivra has joined #ocaml
dnivra is now known as Guest29680
Guest29680 is now known as dnivra
dnivra has quit [Changing host]
dnivra has joined #ocaml
MercurialAlchemi has joined #ocaml
jamesst20 has quit [Ping timeout: 246 seconds]
wtetzner has quit [Remote host closed the connection]
<dnivra>
Found out the issue. Turns out the META.llvm file was in wrong location. Also, it seems the "directory" entry in the META.llvm file is also wrong. I copied the value from another file and it seems to be correct.
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 240 seconds]
dnivra has left #ocaml [#ocaml]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
AlexDenisov has joined #ocaml
sz0 has joined #ocaml
MercurialAlchemi has joined #ocaml
spew has quit [Quit: foobar]
FreeBirdLjj has quit [Remote host closed the connection]
AlexDenisov has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jamesst20 has joined #ocaml
FreeBirdLjj has joined #ocaml
jamesst20 has quit [Ping timeout: 260 seconds]
Simn has joined #ocaml
freusque has joined #ocaml
larhat has joined #ocaml
ygrek has joined #ocaml
jnavila has joined #ocaml
alfredo has joined #ocaml
mengu has joined #ocaml
mengu has quit [Ping timeout: 260 seconds]
freusque has quit [Ping timeout: 246 seconds]
AltGr has joined #ocaml
rcsole has joined #ocaml
zpe has joined #ocaml
tmtwd has quit [Quit: Leaving]
jave has quit [Ping timeout: 240 seconds]
jave has joined #ocaml
djellemah has quit [Ping timeout: 240 seconds]
djellemah has joined #ocaml
alfredo has quit [Ping timeout: 264 seconds]
AlexDenisov has joined #ocaml
AlexDenisov has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
_2can has quit [Remote host closed the connection]
freusque has joined #ocaml
after___ has joined #ocaml
AlexDenisov has joined #ocaml
jamesst20 has joined #ocaml
jamesst20 has quit [Ping timeout: 246 seconds]
snhmib has joined #ocaml
moei has quit [Quit: Leaving...]
djellemah_ has joined #ocaml
djellemah has quit [Ping timeout: 240 seconds]
mfp has joined #ocaml
mengu has joined #ocaml
larhat has quit [Quit: Leaving.]
moei has joined #ocaml
malina has quit [Ping timeout: 260 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
<steve_gh>
Hi. I'm running into problems with typing in chains of functors. I have functors A,B,C such that A = struct type s; type t = s list end;; B(A) = struct type r = A.t end;; C(B) = struct type t = B.t list; let foo(x:B.r) = ...; end;; Now I define modules including these basic types L = struct module MyA ... end; include B(MyA) end;; M = struct include C(L); let bar(x:B.t) ... ; end;; The problem is that when I try and compile M, I ge
AlexDenisov has joined #ocaml
<steve_gh>
hmm - too long. Let's finish that nicely
<steve_gh>
The problem is that when I try and compile M, I get an error from the compiler if I try and give M.bar an argument of type L.t. I would have hoped that since L includes B, it matches the signature of B, so the definition of M as including C(L) should be OK. What I can't work out is why the compiler won't recognise that since L is the module type(B) of the instantiation of C, then an L.t argument should be able to stand in where the
<steve_gh>
Where am I going wrong?
yomimono has joined #ocaml
<Drup>
please pastebin your current code
<steve_gh>
Hi Drup. I'll see what I can do - what I have posted above is a precis of the real code.
<Drup>
yeah, but "ocaml as english" is less useful and readable than actual ocaml ;)
govg has joined #ocaml
jnavila has joined #ocaml
jamesst20 has joined #ocaml
yomimono has quit [Ping timeout: 260 seconds]
mengu has quit [Remote host closed the connection]
jamesst20 has quit [Ping timeout: 268 seconds]
mengu has joined #ocaml
mengu has quit [Ping timeout: 246 seconds]
shinnya has joined #ocaml
freechips has quit [Ping timeout: 264 seconds]
<steve_gh>
Hi Drup. This seems to encapsulate the basic problem: http://pastebin.com/TXqgtCG4. Corebuild fails with a signature mismatch. It is a little simpler than the problem I am actually having, but I suspect it boils down to exactly the same thing
<Drup>
right, so the issue is that you are not propagating type equalities
AlexRussia has joined #ocaml
<Drup>
when you do ": B_intf", for example, you don't expose the fact that C(A).v = A.v
<Drup>
you need to do that manually, with ": B_intf with type v = A.v"
<Drup>
(and similarly for all the other types you want to expose)
freechips has joined #ocaml
<Drup>
In particular, in your case, B_intf does not specify that B.t is a list of list. That's only the case when the module of this type is produced by your functors
<Drup>
if you change "type at" by "type at = v list", it typechecks, but I doubt that's exactly what you want
<steve_gh>
Hi Drup. My bad - my code actually exposes the type equalities - but this doesn't help (as you kind of point out). I can expose that B.at = A.t and that C.bt = B.t
<steve_gh>
But this doesn't (by implication) expose that bt = v list list
<steve_gh>
I don't see how to get that exposure since C doesn't know (directly) about A
<Drup>
you don't want to change B_intf to expose the equality, I guess ?
<Drup>
(as said above)
frefity has quit [Ping timeout: 260 seconds]
<steve_gh>
Drup: In reality (of course) modules A, B and C have a whole bunch of functionality, so when in B_intf I define type at, I can define functions on B which will take or return a value of type at
<steve_gh>
If a bt is an at list, I can process that list using module A functionality. If a bt is a v list list, I can't :-(
<steve_gh>
Drup - you are of course right, and I suspect I have simplified my real problem a little too far (I am using multi argument functors in the real problem at the moment)
<steve_gh>
Let me go away and rework the pastebin code and get something closer to the real problem. Thanks for your help :-)
yomimono has joined #ocaml
al-damiri has joined #ocaml
Fistine has quit [Ping timeout: 255 seconds]
jamesst20 has joined #ocaml
jabroney has joined #ocaml
jamesst20 has quit [Ping timeout: 240 seconds]
awal is now known as not-awal
not-awal is now known as awal
zpe has quit [Remote host closed the connection]
Fistine has joined #ocaml
<steve_gh>
Drup. Right, I thank I have the problem exactly reproduced: http://pastebin.com/if9sbe7v. Corebuild fails on line 63, with a type mismatch
<Drup>
but my experience is that this is kind of an anti-pattern
<Drup>
I would take a B module as argument explicitely
<steve_gh>
:-) Ugly but working
yomimono has quit [Ping timeout: 240 seconds]
yomimono has joined #ocaml
<Drup>
steve_gh: is the fact that there is no link between BB.t and bt in C_intf or purpose ?
<Drup>
(your module hiearchy is a bit contrived)
sh0t has joined #ocaml
<steve_gh>
Drup - not on purpose : Just checked the real code and I had commented out bt, and used B.t instead.
<steve_gh>
I think I may go with the "anti-pattern" at the moment - I hadn't realised that "with type" could include modules as well as straight types.
<steve_gh>
Thanks for your help - I had spent about 3 days refactoring the code in various directions to try and get a solution!
MercurialAlchemi has quit [Ping timeout: 246 seconds]
<Drup>
it's not particularly pretty, but it's very uniform, so you can build up easily
<Drup>
(this is more or less how tyxml is constructed)
TheLemonMan has joined #ocaml
<Drup>
If you want the ability to do weird things, such as doing B(F')(A) with A.F ≠ F' (this is useful for tyxml, in particular), you need to use the destructive substitution version: https://bpaste.net/show/88f89e2a6220
<Drup>
this exposes a flatter API (since nested modules are eliminated by the destructive substitution), and it means consumers really need to make multi-argument functors, but the extra-flexibilité can be useful
<Drup>
flexibility*
<Drup>
(this kind of scheme is only useful if your functors are > 500/1000 lines, and you really need the modularity, otherwise, it's extremly overkill)
Muzer has quit [Read error: Connection reset by peer]
sepp2k has joined #ocaml
haesbaert has quit [Ping timeout: 255 seconds]
haesbaert has joined #ocaml
malina has quit [Ping timeout: 260 seconds]
spew has joined #ocaml
MercurialAlchemi has joined #ocaml
ryanartecona has quit [Quit: ryanartecona]
freehck has joined #ocaml
<freehck>
Hello people! :)
malina has joined #ocaml
<freehck>
I've just spent 3 hours and have written a simplified version of sexplib where elementary expressions is not `Atom of string` but `String of string`, `Symbol of string`, `Int of int` etc. :)
<freehck>
And I have to say that Menhir is fantastic! :)
tane has joined #ocaml
<freehck>
It decreases the amount of lines dramatically. The nearest analog is f.e. Ocs_lex. It's only lexer. But it has almost 3 times more lines than sexp parser and lexer made with Menhir. :)
<lyxia>
What do you mean? you still have a type `String of string
<lyxia>
The surface language doesn't need explicit constructors, certainly.
<freehck>
lyxia: I mean that the most annoying thing in sexplib was that atom can't differ string from symbol. And this parser can.
<freehck>
It is very useful for output.
<lyxia>
Oh I understand
<lyxia>
nevermind.
<Drup>
(I think there is something like that in containers :D)
slash^ has quit [Read error: Connection reset by peer]
larhat has joined #ocaml
larhat1 has joined #ocaml
larhat has quit [Read error: Connection reset by peer]
bernardo1pc has joined #ocaml
tane has quit [Quit: Leaving]
jrslepak_ has joined #ocaml
eimantas has joined #ocaml
yomimono has joined #ocaml
riveter_ec2 has joined #ocaml
lyxia has quit [*.net *.split]
jrslepak has quit [*.net *.split]
bernardofpc has quit [*.net *.split]
riveter has quit [*.net *.split]
riveter_ec2 is now known as riveter
ryanartecona has quit [Quit: ryanartecona]
arj has joined #ocaml
mengu has quit [Remote host closed the connection]
arj has quit [Client Quit]
arj has joined #ocaml
mengu has joined #ocaml
spew has joined #ocaml
yomimono has quit [Ping timeout: 256 seconds]
BitPuffin|osx has joined #ocaml
jrslepak_ is now known as jrslepak
fre has joined #ocaml
snowcrshd has quit [Ping timeout: 268 seconds]
lyxia has joined #ocaml
Mercuria1Alchemi has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 260 seconds]
Mercuria1Alchemi has quit [Ping timeout: 264 seconds]
wtetzner has joined #ocaml
Simn has quit [Quit: Leaving]
yomimono has joined #ocaml
AltGr has left #ocaml [#ocaml]
ryanartecona has joined #ocaml
yomimono has quit [Quit: Leaving]
yomimono has joined #ocaml
arj has quit [Quit: Leaving.]
justicefries has joined #ocaml
th5 has quit []
yomimono has quit [Ping timeout: 240 seconds]
fre has quit [Ping timeout: 260 seconds]
orbifx has joined #ocaml
fre has joined #ocaml
Anarchos has quit [Read error: No route to host]
Anarchos has joined #ocaml
<chindy>
Assuming i hav an mli file Stack.mli with the signature of a stack... is it possible to now have a file Stack_List.ml and Stack_Array.ml that both implement the Stack.mli signature? and if so how
dch_ has quit [Quit: ZZ]
yomimono has joined #ocaml
ryanartecona has quit [Quit: ryanartecona]
Anarchos has quit [Quit: sleep time]
<copy`>
chindy: You can include Stack in both stack_list.mli and stack_array.mli
wtetzner has quit [Remote host closed the connection]
yomimono has quit [Quit: Leaving]
<orbifx>
vbmithr:
<orbifx>
here?
kakadu_ has quit [Remote host closed the connection]
ygrek_ has joined #ocaml
ygrek has quit [Ping timeout: 256 seconds]
fre has quit [Ping timeout: 264 seconds]
mengu_ has joined #ocaml
mengu has quit [Read error: Connection reset by peer]