adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | Current MOOC: https://huit.re/ocamlmooc | OCaml 4.04.0 release notes: http://ocaml.org/releases/4.04.html | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
moei has quit [Quit: Leaving...]
jamesst20 has joined #ocaml
jamesst20 has quit [Ping timeout: 268 seconds]
AlexRussia has quit [Ping timeout: 240 seconds]
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]
malina has joined #ocaml
jgjl has joined #ocaml
fre has joined #ocaml
larhat has joined #ocaml
jamesst20 has joined #ocaml
jamesst20 has quit [Ping timeout: 240 seconds]
ygrek has quit [Ping timeout: 264 seconds]
rcsole has quit [Ping timeout: 260 seconds]
<flux> it was always annoying how new ocaml release would break ppx here and there
BitPuffin|osx has joined #ocaml
djellemah_ has quit [Ping timeout: 246 seconds]
<def`_> flux: I ported ppx_tools on top of that.
djellemah_ has joined #ocaml
<def`_> But there are not many actual ppx using that yet :)
larhat has quit [Quit: Leaving.]
ohama has quit [Ping timeout: 268 seconds]
dhil has joined #ocaml
yomimono has joined #ocaml
jamesst20 has joined #ocaml
ohama has joined #ocaml
jamesst20 has quit [Ping timeout: 268 seconds]
rcsole has joined #ocaml
after___ has quit [Ping timeout: 240 seconds]
after___ has joined #ocaml
AlexDenisov has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
djellemah_ has quit [Ping timeout: 240 seconds]
jnavila has quit [Quit: It was time]
djellemah_ has joined #ocaml
yomimono has quit [Ping timeout: 240 seconds]
after___ has quit [Quit: Textual IRC Client: www.textualapp.com]
larhat has joined #ocaml
govg has quit [Ping timeout: 246 seconds]
silver has joined #ocaml
yomimono has joined #ocaml
steve_gh has joined #ocaml
<steve_gh> Hi. I'm running into problems with typing in chains of functors. I have functors A,B,C such that:
snowcrshd has joined #ocaml
steve_gh has quit [Ping timeout: 260 seconds]
yomimono has quit [Ping timeout: 264 seconds]
<flux> such that.. :)
steve_gh has joined #ocaml
<steve_gh> sorry - WiFi disconnected me. Let's try again.
<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 :-(
<Drup> ok, so the good solution for this is to turn C into a functor: https://bpaste.net/show/dab8366f5d46
<Drup> a multi-argument functor*
frefity has joined #ocaml
<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
th5 has joined #ocaml
<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]
shinnya has quit [Ping timeout: 264 seconds]
ryanartecona has joined #ocaml
freehck has quit [Quit: "restart"]
<Drup> steve_gh: https://bpaste.net/show/acb56ecf5d89 here is a systematic way of doing this kind of things
<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)
AlexDenisov has quit [Quit: Textual IRC Client: www.textualapp.com]
AlexDenisov has joined #ocaml
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)
<freehck> Drup: what are containers?
Muzer has joined #ocaml
<freehck> Drup: btw, thx for this snippet. Now I see that I forgot to cut comments.
<freehck> And boolean type too. :)
<freehck> Will make it soon.
steve_gh has quit [Ping timeout: 260 seconds]
sz0 has quit [Quit: Connection closed for inactivity]
n4323 has left #ocaml ["WeeChat 1.7"]
n4323 has joined #ocaml
ygrek has joined #ocaml
fre has quit [Ping timeout: 264 seconds]
dhil has quit [Ping timeout: 260 seconds]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
wtetzner has joined #ocaml
tautologico has joined #ocaml
jnavila has quit [Quit: It was time]
AlexDenisov has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jao has joined #ocaml
vramana has joined #ocaml
johnelse_ has joined #ocaml
johnelse has quit [Ping timeout: 240 seconds]
Joao has joined #ocaml
<tautologico> is there any new option for building/structuring projects in ocaml? my projects still use OASIS
Joao has quit [Client Quit]
<companion_cube> not really
jgjl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
wtetzner has quit [Remote host closed the connection]
<_y> :D
jabroney has quit [Quit: Leaving.]
<tautologico> can oasis use jenga?
yomimono has quit [Ping timeout: 260 seconds]
<companion_cube> not that I know of, but now it can use omake
<companion_cube> (not sure if anyone outside JST uses jenga)
ryanartecona has joined #ocaml
after___ has joined #ocaml
copy` has joined #ocaml
<tautologico> omake's last version is from 2010?
<companion_cube> I don't think so? 0.10 is quite recent
<tautologico> a tutorial on ocaml.org points to a site that has 0.9 something as the latest
<tautologico> that tutorial came up in a search
<companion_cube> it's been moved, I think
<companion_cube> last commit 23 days ago
<tautologico> yeah, found it
AlexDenisov has joined #ocaml
yomimono has joined #ocaml
yomimono has quit [Ping timeout: 260 seconds]
AlexDeni_ has joined #ocaml
AlexDenisov has quit [Ping timeout: 240 seconds]
jumpinja3kflash has joined #ocaml
ygrek has quit [Ping timeout: 240 seconds]
dch_ has joined #ocaml
tane has quit [Ping timeout: 258 seconds]
d0nn1e has quit [Ping timeout: 240 seconds]
d0nn1e has joined #ocaml
djellemah_ has quit [Ping timeout: 264 seconds]
djellemah_ has joined #ocaml
fre has joined #ocaml
rcsole has quit [Ping timeout: 240 seconds]
ryanartecona has quit [Quit: ryanartecona]
BitPuffin|osx has quit [Ping timeout: 260 seconds]
jabroney has joined #ocaml
yomimono has joined #ocaml
spew has quit [Ping timeout: 240 seconds]
larhat has quit [Quit: Leaving.]
ygrek has joined #ocaml
djellemah_ has quit [Quit: Leaving]
ryanartecona has joined #ocaml
yomimono has quit [Ping timeout: 264 seconds]
djellemah has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 260 seconds]
tane has joined #ocaml
slash^ has joined #ocaml
malina has quit [Ping timeout: 260 seconds]
MercurialAlchemi has joined #ocaml
dhil has joined #ocaml
fre has quit [Ping timeout: 264 seconds]
freusque has quit [Ping timeout: 256 seconds]
Anarchos has joined #ocaml
mengu has joined #ocaml
jumpinja3kflash is now known as dtornabene
slash^ has quit [Remote host closed the connection]
slash^ has joined #ocaml
kakadu_ has joined #ocaml
jabroney1 has joined #ocaml
jabroney has quit [Ping timeout: 260 seconds]
after___ has quit [Quit: Textual IRC Client: www.textualapp.com]
dtornabene has quit [Quit: Leaving]
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]