adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.02.2 announced http://ocaml.org/releases/4.02.html | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
jwatzman|work has quit [Quit: jwatzman|work]
SuperNoeMan has joined #ocaml
rgrinberg2 is now known as rgrinberg
rand__ has quit [Quit: leaving]
echo-area has joined #ocaml
Radvendii has joined #ocaml
Radvendii has quit [Ping timeout: 252 seconds]
lmaocaml has quit [Quit: Page closed]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ontologiae has quit [Ping timeout: 264 seconds]
rgrinberg has quit [Ping timeout: 246 seconds]
travisbrady has joined #ocaml
rgrinberg has joined #ocaml
tmtwd has joined #ocaml
Guest38 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rgrinberg has quit [Ping timeout: 244 seconds]
rgrinberg has joined #ocaml
travisbrady has quit [Quit: travisbrady]
alpha has joined #ocaml
alpha is now known as smtb
travisbrady has joined #ocaml
ibor1 has joined #ocaml
ibor has quit [Ping timeout: 250 seconds]
obadz has quit [Ping timeout: 246 seconds]
obadz has joined #ocaml
small-wolf has joined #ocaml
<small-wolf> Can ocaml recover from trying to stat a file/directoy it doesn't have permission to?
ontologiae has joined #ocaml
travisbrady has quit [Quit: travisbrady]
<small-wolf> http://pastebin.com/5iNFT6YG . For some reason even if I catch Sys_error the program immediately terminates
<small-wolf> actually nevermind
<small-wolf> sorry
<dmbaturin> small-wolf: try ... with Sys_error -> ...
<dmbaturin> * with Sys_error msg -> ...
tmtwd has quit [Ping timeout: 250 seconds]
rgrinberg has quit [Ping timeout: 246 seconds]
travisbrady has joined #ocaml
chambart has quit [Quit: Quitte]
c74d3 has quit [Ping timeout: 240 seconds]
ibor1 has quit [Quit: Leaving.]
c74d3 has joined #ocaml
c74d3 has quit [Excess Flood]
c74d3 has joined #ocaml
ontologiae has quit [Ping timeout: 265 seconds]
c74d3 has quit [Excess Flood]
c74d3 has joined #ocaml
BitPuffin|osx has quit [Ping timeout: 250 seconds]
swgillespie has joined #ocaml
small-wolf has quit [Ping timeout: 246 seconds]
smtb has quit [Quit: WeeChat 0.4.2]
travisbrady has quit [Quit: travisbrady]
travisbrady has joined #ocaml
echo-area has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
echo-area has joined #ocaml
rgrinberg has quit [Ping timeout: 250 seconds]
travisbrady has quit [Quit: travisbrady]
darkf has joined #ocaml
alpen has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
psy has joined #ocaml
psy has quit [Max SendQ exceeded]
psy has joined #ocaml
mac10688 has quit [Ping timeout: 264 seconds]
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 264 seconds]
rgrinberg has joined #ocaml
tmtwd has joined #ocaml
nullcatxxx_ has joined #ocaml
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ygrek has quit [Ping timeout: 265 seconds]
lagrangi-wan is now known as pyon
shinnya has quit [Ping timeout: 256 seconds]
tmtwd has quit [Ping timeout: 246 seconds]
mea-culpa has joined #ocaml
nullcatxxx_ has joined #ocaml
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
pyon has quit [Quit: F...ix you, Emacs!]
pyon has joined #ocaml
Submarine has joined #ocaml
Submarine has joined #ocaml
igoroliveira has quit [Quit: Connection closed for inactivity]
tnguyen has quit [Read error: Connection reset by peer]
tnguyen has joined #ocaml
slash^ has joined #ocaml
Major_Biscuit has joined #ocaml
MercurialAlchemi has joined #ocaml
igitoor_ has joined #ocaml
igitoor has quit [Read error: Connection reset by peer]
yurug has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 272 seconds]
MercurialAlchemi has joined #ocaml
ygrek has joined #ocaml
The_Mad_Pirate has joined #ocaml
qrvpzvb has joined #ocaml
igitoor_ has joined #ocaml
igitoor_ has quit [Changing host]
igitoor_ is now known as igitoor
MercurialAlchemi has quit [Ping timeout: 246 seconds]
Major_Biscuit has quit [Quit: WeeChat 1.1.1]
yurug has quit [Ping timeout: 260 seconds]
Simn has joined #ocaml
Prael has joined #ocaml
psy has quit [Ping timeout: 246 seconds]
psy has joined #ocaml
MercurialAlchemi has joined #ocaml
mort___ has joined #ocaml
rgrinberg has quit [Ping timeout: 246 seconds]
tibor_ has joined #ocaml
orbifx1 has joined #ocaml
ygrek has quit [Ping timeout: 272 seconds]
orbifx1 has quit [Read error: Connection reset by peer]
yurug has joined #ocaml
yurug has quit [Ping timeout: 246 seconds]
yurug has joined #ocaml
ontologiae has joined #ocaml
obadz has quit [Ping timeout: 246 seconds]
obadz has joined #ocaml
Major_Biscuit has joined #ocaml
Kakadu has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 246 seconds]
rgrinberg has joined #ocaml
Major_Biscuit has quit [Quit: WeeChat 1.1.1]
mort___ has quit [Quit: Leaving.]
rgrinberg has quit [Ping timeout: 255 seconds]
ely-se has joined #ocaml
pyon has quit [Quit: fix config]
pyon has joined #ocaml
rand__ has joined #ocaml
Kakadu has quit [Remote host closed the connection]
Major_Biscuit has joined #ocaml
AlexRussia has joined #ocaml
ggole has joined #ocaml
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 256 seconds]
yurug1 has joined #ocaml
ibor has joined #ocaml
yurug has quit [Ping timeout: 246 seconds]
rand__ has quit [Quit: leaving]
ontologiae has quit [Ping timeout: 264 seconds]
xman has joined #ocaml
dmbaturin has quit [Ping timeout: 246 seconds]
<xman> for a server in Lwt_io, using this snippet results in blocking callback function f
<xman> let _ = Lwt_io.establish_server socket f in while_lwt true do return ()
<xman> is there any standard way of not letting other functions to block server callback function?
dmbaturin has joined #ocaml
<enjolras_> i don't really understand your question
<xman> I first create the server, and I have a call back function that uses Lwt_io to read/write over the channel (inside Lwt.ignore_results)
<enjolras_> why do you need ignore result at all ?
<xman> but server doesn't send/receive anything, unless I add sleep (for example sleep 10.0) inside the while loop
<enjolras_> yes, you could add Lwt_unix.yield instead, but you really want to use Lwt_main.run instead
<enjolras_> instead of the while loop
yurug1 has quit [Ping timeout: 240 seconds]
<xman> signature of establish_server enforces f to return unit
<enjolras_> the thing is the while loop will never hand the cpu to another thread
<enjolras_> because it never blocks
MercurialAlchemi has joined #ocaml
<enjolras_> so it will enter the infinite loop and stay here forever
keen________ has quit [Read error: Connection reset by peer]
<enjolras_> (ah true, you're right for ignore_result. But async is a better choice usually though)
<xman> do you mean using Lwt_main.run in the callback function?
keen________ has joined #ocaml
<enjolras_> No, i mean instead of the while loop but it won't be enough in this case actually. I usually do Lwt_io.read_line Lwt_io.stdin to block forvever but i guess there is a better alternative
<enjolras_> you can also create a waiter with Lwt.wait and wake it up when you catch a signal
<enjolras_> but your infinite loop will never let the server run
<enjolras_> something along the line Lwt_main.run begin let wait, forever = lwt.wait () in let server establish_server in wait end
<enjolras_> and if you want to can set up a signal handler for sigterm to wakeup the wait thread
<xman> let me paste my code somewhere for you
<enjolras_> do you understand the issue or do you want me to explain it further ?
Haudegen has quit [Ping timeout: 265 seconds]
<xman> This is a simple version of the code
<xman> so what ypou suggets is to have server_establish inside lwt.wait, is that right?
<enjolras_> not quite. I suggest you find another method to block forever
Haudegen has joined #ocaml
<enjolras_> Lwt.wait is an option, it creates a thread which waits until you send wakeup to it
<enjolras_> i don't know any "block forever" function in Lwt, maybe there is one
rgrinberg has joined #ocaml
<enjolras_> i suggest you replace for instance your while loop by the thread returned to Lwt.wait
<Drup> Enjolras_: creates a wait and throw away the wakener
<enjolras_> Drup: yeah that's what i usually do and what i suggested :) i just didn't kno if it was the clean solution
<enjolras_> the good part of this method is that like i said you can catch signals and wakeup the thread in the signal handler
<enjolras_> which allows you to write teardown code before exiting
<enjolras_> xman: did you get why your code doesn't work ? i think it's quite important :)
yurug has joined #ocaml
<Drup> Enjolras_: the API for establish_server is weird, though, it should really return a pair of a server and a thread
<enjolras_> I agree. I usually don't use it
<xman> yes, the while loop doesn't hand over the control to the callback function. Adding sleep inside while loop solved the problem, but not in an elegant way
rgrinberg has quit [Ping timeout: 272 seconds]
<enjolras_> xman: btw, you might want to try lwt.ppx instead of the camp4 lwt syntax extension
<xman> what is the benefits?
<enjolras_> let's just say it's more in line with the current trend of ocaml ecosytem
<enjolras_> no benefits per say, it's basically the same thing
<enjolras_> but a lot of people want to get rid of campl4
<flux> the error messages are more standard without camlp4
<xman> I will have a look at that, thanks
<enjolras_> per se*
<Drup> some little details are better
<Armael> a benefit is that it interacts better with say merlin
<enjolras_> Armael: you can use EXT lwt, but that's still true indeed
<flux> well, I think merlin has some special builtin magic to work in that particular case of camlp4, doesn't it?
<Armael> didn't know that :p
<flux> do ppx and camlp4 work together, though? no I think?
<xman> so, I replace while loop with Lwt.wait and and throw away the wakener then. Drup, is that what you mean?
<enjolras_> flux: i think it should. But i wouldn't try that :p
<Drup> flux: badly
<Drup> (camlp4 shoke on some ppx syntax)
<enjolras_> can i fork you paste ?
<Drup> choke*
<enjolras_> hmm, i need an account. But the answer is yes xman
tibor_ has quit [Ping timeout: 246 seconds]
<xman> ok, that works, thanks guys
Haudegen has quit [Ping timeout: 264 seconds]
LnL has joined #ocaml
Haudegen has joined #ocaml
Simn has quit [Ping timeout: 256 seconds]
ontologiae has joined #ocaml
ely-se has quit [Quit: Leaving]
reynir is now known as Reynir
Reynir is now known as reynir
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 256 seconds]
ely-se has joined #ocaml
orbifx has joined #ocaml
<orbifx> what's the best module for string substitutions (in terms of simplicity and tersity)
<Drup> regex or not regex ?
<orbifx> maybe not regex
<orbifx> for now I need to do very simple substitutions
<Drup> most extension of the stdlib provide a "replace" function in the String module
<Drup> (batteries does, in particular)
<orbifx> hm.. only found Str so far
<Drup> yeah, no, don't use Str
<orbifx> it's not a bright idea to name modules "batteries@
<orbifx> "
<Drup> it's a library :)
<orbifx> noobs get lost :P
<orbifx> so, I;m looking for a module named batteries which has replace?
<Drup> that should makes things clearer
<Armael> that webpage kinda needs a good overhaul
<orbifx> what kind of sick person sticks batteries up a camel!?!? :P
<adrien> these are hydrogen cells on the back of the camel
<adrien> camels are alien creatures
<Armael> cyborgs*
<orbifx> haha ok
<Drup> ( otherwise, if you want regex things, https://github.com/ocaml/ocaml-re )
<Drup> companion_cube: there is no replace function in CCString
mac10688 has joined #ocaml
<orbifx> So I get Batteries with opam, include BatString as String and use replace?
<Drup> BatString.replace
ely-se has quit [Quit: Leaving]
<orbifx> when doing `open BatString;;` does it not being it's functions in the global scope?
<Drup> Sure, but then you have no idea who comes from where anymore
<orbifx> yeah
<orbifx> and what about qualified imports?
<Drup> module Foo = BatString
<orbifx> okie
<orbifx> brb
orbifx has quit [Quit: WeeChat 1.3]
orbifx has joined #ocaml
<orbifx> back
Simn has joined #ocaml
<qrvpzvb> What are .annot files? How am I supposed to use them?
xman has quit [Ping timeout: 246 seconds]
raphaelsss has joined #ocaml
<Drup> .annot (and .cmt) files are mostly for editors, they export some information discovered during compilation. You shouldn't need to use them yourself
raphaelss has quit [Ping timeout: 250 seconds]
<qrvpzvb> Drup: Yeah, I understood that, but... does vim know what to do with them? And if so, are there mappings and commands I need to learn?
ely-se has joined #ocaml
<qrvpzvb> I do have merlin installed
<qrvpzvb> (and I'm using it)
travisbrady has joined #ocaml
<Drup> then that's all
<qrvpzvb> As I understand it, annot is kind of like ctags, and merlin is kind of like YouCompleteMe
<Drup> No, .annot is just the old way of doing things, before merlin was around
<qrvpzvb> Well, like ctags, it's a static file with types and stuff that you need to generate yourself
<Drup> except types and stuff are provided by merlin, you don't need .annot anymore
<reynir> I think some other vim plugin also knows about .annot
<qrvpzvb> I know, I get that, I'm just doing a comparison. I'm not using ctags either :P
<qrvpzvb> reynir: The default "runtime" seems to support them
<Drup> Then what is your actual question ? x)
<qrvpzvb> What are .cmt files? It's some binary format that I can't read
ely-se has quit [Quit: Leaving]
<Drup> it's a binary version of .annot that contains more information
<Drup> (it's a dump of the typedtree, to be precise)
<qrvpzvb> Oh. Ok then
<reynir> when are .cmt files produced? :o
<Drup> reynir: -bin-annot
<qrvpzvb> --bin-annot as i understand it
<reynir> Aah right
<orbifx> man.. opam takes ages to build all the stuff on archlinux-arm :/
ely-se has joined #ocaml
<Drup> orbifx: well, it's an arm ...
raphaelsss has quit [Quit: Leaving]
ely-se has quit [Client Quit]
<orbifx> there could be pre-builts
<enjolras_> there are fast arm fwiw
ely-se has joined #ocaml
rgrinberg has joined #ocaml
travisbrady has quit [Quit: travisbrady]
<orbifx> Enjolras_: indeed
<orbifx> I think they are fine
<orbifx> devs need to stop spreading out so much :P
<orbifx> the benchmark is the fastests machine rather than the average or less
rgrinberg has quit [Ping timeout: 252 seconds]
<orbifx> how is everyone finding ocaml's language design? is it changing often? I read that it changes as newer version of ocaml come out.
<orbifx> Seeing a lot of warnings as opam is being build.
igoroliveira has joined #ocaml
travisbrady has joined #ocaml
<apache2> immutable strings was a major change, but it seems to be stabilizing
<orbifx> is that for performance advantages?
<apache2> I don't know what the exact reasoning was. consistency / integrity / security seem like major benefits, but I would guess that it also allows some optimizations
<Armael> yea, it's often awkward do design data structures that can contain strings, if you try to take in account the fact that the user may modify them anytime
<Armael> to*
<qrvpzvb> I think the tutorials said that strings are mutable.
<qrvpzvb> Are they immutable now? Is this a recent change?
<apache2> mutable strings were deprecated in 4.01 and enforced from 4.02 IIRC
<Armael> other awkward things include modifying strings of the runtime
<apache2> the "bytes" module has taken the place of mutable strings
<qrvpzvb> That's awesome.
<qrvpzvb> Even python has immutable strings, it seemed kind of weird for a functional lang to not have them
<apache2> oh, python has immutable strings?
<apache2> python3 feature?
<qrvpzvb> No, it was that way since before 3
<apache2> I thought you could do a[2]="c"
<Drup> mutable strings have been deprecated, there is an option to enforce it, but it's not going to be the default before at least several versions
<Drup> big breakage in the compiler/stdlib are very slow to happen
<qrvpzvb> apache2: Nope. You get a "TypeError 'str' object does not support item assignment"
<apache2> Drup: ah, right! and there's -safe-strings or something as a compile flag to turn on the enforcing?
<apache2> qrvpzvb: I didn't know that, nice
<Drup> apache2: yes
* orbifx gets a warm fuzzy feeling when the compiler tells me that the pattern matching is not exhaustive :)
<orbifx> how do I get a string from a char?
<orbifx> tried string_from_char :P
<Armael> String.make
<orbifx> ok
<orbifx> thanks Armael
<dmbaturin> orbifx: Note that sometimes it's wrong about it. :)
<orbifx> dmbaturin: what?
<Drup> dmbaturin: is it ?
<Drup> do you have a non-GADT example ?
<dmbaturin> orbifx: If you use when clauses or nested matches, it may produce that warning when matching is actually exhaustive.
<dmbaturin> It doesn't make the warning less useful of course, in most cases the compiler is right.
<Drup> (I consider the "I have nested matches" cases as the compiler warning you that your code is unidiomatic :D)
<dmbaturin> Drup: Well, good point. :)
<qrvpzvb> The type of (::) is basically 'a -> 'a list -> 'a list ?
<Drup> yes
<dmbaturin> qrvpzvb: Yep. But that's an imaginary type, as ocaml data constructors are not first class (as in something like List.map Some xs wouldn't work).
<qrvpzvb> dmbaturin: Oh, I didn't know that
<orbifx> is there a difference between ocamlbuild and ocamlopt?
<reynir> Yes
<reynir> one is a build tool and the other is a compiler
<enjolras_> one is a build system and the other is a native compiler
<enjolras_> think make vs gcc
<orbifx> ok
<orbifx> yeah
<orbifx> i'm trying to include batteries. Installed them with opem, using `open Batteries;;` but it tells me it's unbound.
<orbifx> So I'm thinking I'm missing something in the compile flags?
<enjolras_> yeah, :: looks like an operator but it's actually a constructor
<enjolras_> the only infix constructor in ocaml
<enjolras_> orbifx: with ocamlbuild : ocamlbuild -use-ocamlfind -linkpkg -package batteries main.native
<reynir> orbifx: You need to tell ocaml to use batteries
<enjolras_> orbifx: you might want to have a look at oasis to automate the boilerplate and just type "make"
<enjolras_> (whetre your file is called main.ml)
<orbifx> Enjolras_: yeah, going to get into oasis soon
<orbifx> I read about it
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 246 seconds]
travisbrady has quit [Quit: travisbrady]
lobo has joined #ocaml
yurug1 has joined #ocaml
yurug has quit [Ping timeout: 240 seconds]
<orbifx> how does ocaml define the "entry-point" in a program? last let? The one whose dependencies are available?
yurug has joined #ocaml
<Drup> orbifx: there is no entry point
yurug1 has quit [Read error: Connection reset by peer]
<Drup> everything is executed in order
<orbifx> thanks Drup
ousado has quit [Changing host]
ousado has joined #ocaml
<Drup> (among linked modules, it's the link order)
<enjolras_> (depending on this dounds like a bad idea)
<Drup> Enjolras_: and yet ...
travisbrady has joined #ocaml
Haudegen has quit [Ping timeout: 264 seconds]
yurug1 has joined #ocaml
yurug has quit [Ping timeout: 246 seconds]
Haudegen has joined #ocaml
travisbrady has quit [Quit: travisbrady]
yurug has joined #ocaml
BitPuffin|osx has joined #ocaml
yurug1 has quit [Ping timeout: 246 seconds]
tmtwd has joined #ocaml
lobo has quit [Quit: leaving]
darkf has quit [Quit: Leaving]
moei has quit [Read error: Connection reset by peer]
moei has joined #ocaml
shinnya has joined #ocaml
<Drup> Does anyone has knowledge of a good article which would explain "Parametric polymorphism is not generics (and is still fucking useful)" ? I'm getting very annoyed by the confusion on various discussion website that I will not name
rgrinberg has joined #ocaml
jonludlam has joined #ocaml
<dmbaturin> Drup: I like http://www.csee.umbc.edu/courses/undergraduate/331/resources/papers/OnUnderstandingFP.pdf , even though it doesn't delve too deep into polymorphism vs. generics issue.
<Drup> yeah, no, I would like something shorter and not type-theory oriented
yurug has quit [Remote host closed the connection]
rgrinberg has quit [Ping timeout: 264 seconds]
<Drup> (some of the diagrams are very cool, though)
<Drup> (the one page 35 in particular)
<ggole> Is "generics" a usefully precise term?
ely-se has quit [Quit: Leaving]
Prael has quit [Ping timeout: 264 seconds]
ely-se has joined #ocaml
ygrek has joined #ocaml
<Drup> ggole: it's a bit of a mixed bag, yet
jonludlam has quit [Ping timeout: 260 seconds]
<Drup> ggole: what I'm hitting at, in this case, is mostly the difference between functor-style genericity and polymorphism
<Drup> (C++ template and Java's generics being quite similar to functors in the way they are used)
<ggole> So a type variable + some information about how to do something with values of that type
<ggole> Bounded polymorphism, more or less
<Drup> ggole: I'm talking about usage, not really type theory =)
<ggole> Mmm.
<ggole> I can think of some type theoryish papers, but no articles really come to mind.
papy_ has joined #ocaml
ely-se has quit [Quit: dinner]
<papy_> Is it possible to write a map_of_list function for all maps? (ie specify a dependency between the type of the lhs in the elements and the t type of the Ord module given to create the map)
<Drup> papy_: you can cheat
<dmbaturin> ggole: If you know of papers that attemtp to formalize generics, please link.
<papy_> Drup: ?
rgrinberg has joined #ocaml
<Drup> (first class modules to the rescue !)
<Drup> papy_: a better solution : https://bpaste.net/show/af5fbc747356
<Drup> you should use the second most of the time
jonludlam has joined #ocaml
<Drup> (In practice, I think the first one is a code smell that something should be defined higher up in the chain)
<ggole> dmbaturin: I was thinking of work regarding parametric polymorphism, eg, parametricity
ely-se has joined #ocaml
<dmbaturin> In pervasives there's type ('a, 'b) result = Ok of 'a | Error of 'b, but in 4.02.3 I get unbound constructor when I try to use it. Why is it so?
<Drup> dmbaturin: because it's not released yet ? :D
Major_Biscuit has quit [Quit: WeeChat 1.1.1]
<dmbaturin> Drup: Oh. I thought I was looking in 4.02 branch.
nullcatxxx_ has joined #ocaml
<orbifx> anyone had this in archlinux before: ocamlfind: Package `camlp4.quotations' not found
<Drup> are you using the system switch ?
jonludlam has quit [Ping timeout: 265 seconds]
empyrean has quit [Remote host closed the connection]
<orbifx> maybe.... :P what is the system switch?
lobo has joined #ocaml
<Drup> orbifx: pastebin "opam config report"
<Drup> wait, have you just tried "opam install camlp4" ? :D
<orbifx> yeah
<orbifx> and that is installed
<orbifx> and also I have installed them in it in teh system too Drup
<Drup> Meh
<orbifx> ?
<Drup> orbifx: I don't know, so I will give you the usual solution "opam switch install 4.02.3", it will compile a new compiler that does not depend on the system (hence less chance to be fucked up)
<Drup> (if it's on your small arm, it may take a bit of time ..)
<orbifx> darn :P
<orbifx> its only for setting up oasis.. not worth it for now
<orbifx> I will develop this on a my main machine and then use the makefiles on the the arm machine.
<Drup> that sounds like a good solution. oasis emits a independent build system
ygrek_ has joined #ocaml
pango_ has joined #ocaml
rgrinberg has quit [Ping timeout: 256 seconds]
ygrek has quit [Ping timeout: 250 seconds]
rgrinberg has joined #ocaml
<orbifx> if I change an _oasis file, do I need to run update procedure to regenerate make et. al?
<mrvn> yes
<orbifx> ?
ygrek_ has quit [Remote host closed the connection]
ygrek_ has joined #ocaml
PamExx has joined #ocaml
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<orbifx> mrvn: I added a library in the _oasis, it doesn't seem to be mentioned in the compile commands
<orbifx> I tried running the "oasis setup" command to no avail
<orbifx> reading online to see if I can find anything
<Drup> please pastebin
<Drup> name of the ocamlfind package starts with a lowercase letter
<orbifx> ow, let me try it
<orbifx> simple as that :P
<orbifx> thanks Drup
nullcatxxx_ has joined #ocaml
rand__ has joined #ocaml
<mrvn> did you configure again?
rgrinberg has quit [Ping timeout: 256 seconds]
<mrvn> Some changes rerun the right commands automatically but I'm not sure which do.
<Drup> none of them in the traditional setup, all of them in the dynamic one
rgrinberg has joined #ocaml
<orbifx> i did
<orbifx> it's all good now (on my local machine)
<orbifx> I now use the build files generated on my local x64 machine, to build on the Arm machine.
<orbifx> but on the Arm machine I get: Error: Unbound module Batteries
<orbifx> but it is there if i run ocamlfind list
Tekilla has joined #ocaml
<Drup> it works on the local machine ?
<orbifx> yeah
<orbifx> compiles and runs
<mrvn> Drup: ahh, I always use dynamic because otherwise lots of generated stuff ends up in git.
<orbifx> mrvn: what generated stuff? why not .gitignore it?
ontologiae has quit [Ping timeout: 265 seconds]
<mrvn> orbifx: because the files have a user editable part and a generated part.
<mrvn> e.g. _tags
<orbifx> Drup: it builds and runs on the x86 (local) on the Arm one I get the error about unbound module batters, but it does exist
<orbifx> mrvn: I .gitignored tags. they get generated right?
<mrvn> orbifx: no. They only have a generated part enclosed in a BEGIN/END comment.
<orbifx> ow.. not got that far then :P
<mrvn> orbifx: look into the files and you see the big glaring header and foote
<mrvn> sometimes you want to add some extra tags, then you notice.
<mrvn> 7h24m and 30.15mm into a 65mm 3D print job *sigh*...
<mrvn> I'm running out of things to do.
<orbifx> can help get ocaml work on archlinux-arm :P
<mrvn> Under debian it was just apt-get install ocaml
<orbifx> on ARM?
igoroliveira has quit [Quit: Connection closed for inactivity]
<orbifx> also do you reckon it matters if I'm using the system installed ocamlfind instead of the opam installed one?
<mrvn> they would ave different paths
lmaocaml has joined #ocaml
<mrvn> best to use the same setup on both systems so you don't get some path carried over from one that doesn't exist on the other.
<mrvn> or generate the stuff fresh on arm once.
<lmaocaml> hello, mrvn how are you 24x7 active on #ocaml
rgrinberg has quit [Ping timeout: 260 seconds]
<orbifx> mrvn: I can't get oasis to install on ARM, so I'm generating it's stuff on the x86
<orbifx> but I will grep to see if any paths ar there
echo-area has quit [Remote host closed the connection]
echo-area has joined #ocaml
<orbifx> ok no paths found there
<mrvn> lmaocaml: i'm not
mea-culp` has joined #ocaml
mea-culpa has quit [Ping timeout: 255 seconds]
travisbrady has joined #ocaml
Simn has quit [Quit: Leaving]
ygrek_ has quit [Ping timeout: 264 seconds]
zaquest has quit [Ping timeout: 240 seconds]
Haudegen has quit [Ping timeout: 264 seconds]
travisbrady has quit [Quit: travisbrady]
travisbrady has joined #ocaml
Haudegen has joined #ocaml
xet7_ has quit [Read error: Connection reset by peer]
xet7_ has joined #ocaml
Submarine has quit [Remote host closed the connection]
travisbrady has quit [Quit: travisbrady]
travisbrady has joined #ocaml
travisbrady has quit [Client Quit]
sh0t has joined #ocaml
travisbrady has joined #ocaml
Haudegen has quit [Ping timeout: 246 seconds]
travisbrady has quit [Client Quit]
xet7_ has quit [Ping timeout: 246 seconds]
xet7_ has joined #ocaml
PamExx has quit [Quit: WeeChat 0.4.2]
travisbrady has joined #ocaml
Fleurety has quit [Remote host closed the connection]
Haudegen has joined #ocaml
rgrinberg has joined #ocaml
travisbrady has quit [Quit: travisbrady]
travisbrady has joined #ocaml
Haudegen has quit [Ping timeout: 260 seconds]
swgillespie has joined #ocaml
nullcatx_ has joined #ocaml
nullcatx_ has quit [Read error: Connection reset by peer]
swgillespie has left #ocaml [#ocaml]
Algebr has joined #ocaml
nullcatxxx_ has quit [Ping timeout: 272 seconds]
<Algebr> How do you make oasis generate a _tags file. I am pulling my hair out over the _tags file. All I want is to ignore some hygienic rules and its breaking my build altogether!
<mrvn> what pulgins do you use?
<Algebr> No plugins
<Algebr> This thing is so STUPID. as soon as I make a _tags file it ignores my CCopts and thereby craps out
<Algebr> I just need some directories ignored, its infuriating
<Algebr> all I did was create a _tags file with "foo":-traverse "foo":not_hygienic
Haudegen has joined #ocaml
<Algebr> Why is the _tags file having anything to do with CCopts
<Algebr> Oh I see, this stupid thing is taking precedence over the _oasis file
Kakadu has joined #ocaml
<Algebr> There's seriously no way to say hygienic from just the _oasis file.
travisbrady has quit [Quit: travisbrady]
pango_ has quit [Ping timeout: 255 seconds]
<Algebr> How can I give Extra CC args in a _tags file?
sh0t has quit [Ping timeout: 256 seconds]
zaquest has joined #ocaml
ygrek has joined #ocaml
AlexRussia has quit [Quit: WeeChat 1.3-dev]
zaquest has quit [Ping timeout: 272 seconds]
<orbifx> mrvn: My whole problem was missing those _tags!! :P
<orbifx> Drup, mrvn: building on the ARMv7 works now. Half a day later :P
shinnya has quit [Ping timeout: 268 seconds]
<mrvn> orbifx: Just create it. oasis will only edit it, not replace it.
<orbifx> okie
<orbifx> well i synced it.. its all part of the same repo
<orbifx> I only wanted to bootstrap it on the x86, since building oasis on the ARMv7 fails.
DanielRi1hman is now known as DanielRichman
<Algebr> this is ridiculous, I was able to get this to work only after having to leave oasis dynamic, had to make the myocamlbuild.ml which I prefer not having
ggole has quit []
<Algebr> all of this monkey work just to deal with the hygienic tag
psy has quit [Disconnected by services]
<Drup> Algebr: you didn't asked, it's very simple
<Drup> if a file is present and doesn't contain the little oasis section, oasis doesn't touch it
<Drup> period
psy_ has joined #ocaml
<Drup> (for once, it's the right behavior ...)
<orbifx> bbl
orbifx has quit [Quit: WeeChat 1.3]
pango_ has joined #ocaml
AlexRussia has joined #ocaml
travisbrady has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
travisbrady has quit [Quit: travisbrady]
shinnya has joined #ocaml
troydm has joined #ocaml
Algebr has quit [Ping timeout: 272 seconds]
rgrinberg has quit [Ping timeout: 250 seconds]
ygrek has quit [Ping timeout: 246 seconds]
LnL has quit [Quit: ZNC - http://znc.in]
ygrek has joined #ocaml
travisbrady has joined #ocaml
orbifx has joined #ocaml
BitPuffin|osx has quit [Ping timeout: 264 seconds]
Major_Biscuit has joined #ocaml
ollehar has joined #ocaml
Tekilla has quit [Ping timeout: 250 seconds]
MercurialAlchemi has quit [Ping timeout: 250 seconds]
travisbrady has quit [Quit: travisbrady]
rgrinberg has joined #ocaml
lobo has quit [Quit: leaving]
ely-se has quit [Quit: Leaving]
genkito has joined #ocaml
tnguyen has quit [Quit: tnguyen]
rgrinberg has quit [Ping timeout: 240 seconds]
genkito has quit [Ping timeout: 268 seconds]
igoroliveira has joined #ocaml
swgillespie has joined #ocaml
orbifx has quit [Quit: WeeChat 1.3]
swgillespie has left #ocaml [#ocaml]
Major_Biscuit has quit [Quit: WeeChat 1.1.1]
Kakadu has quit [Remote host closed the connection]
rand__ has quit [Quit: leaving]
pango_ has quit [Ping timeout: 264 seconds]
larhat has joined #ocaml
xet7_ has quit [Read error: Connection reset by peer]
xet7_ has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
tnguyen has joined #ocaml