adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml MOOC http://1149.fr/ocaml-mooc | OCaml 4.02.3 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
ollehar has quit [Quit: ollehar]
silver has quit [Quit: rakede]
<Anarchos> Are there progress towards an ocaml multicore version ?
jimt has quit [Ping timeout: 276 seconds]
jimt has joined #ocaml
jeffmo has quit [Ping timeout: 268 seconds]
ygrek_ has quit [Ping timeout: 244 seconds]
dsheets has joined #ocaml
dsheets has quit [Read error: Connection reset by peer]
dsheets has joined #ocaml
mistermetaphor has quit [Read error: Connection reset by peer]
jeffmo has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
hxegon has quit [Ping timeout: 276 seconds]
mistermetaphor has joined #ocaml
misterme_ has joined #ocaml
mistermetaphor has quit [Ping timeout: 252 seconds]
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
misterme_ has quit [Ping timeout: 252 seconds]
mistermetaphor has joined #ocaml
rgrinberg has quit [Ping timeout: 260 seconds]
mistermetaphor has quit [Ping timeout: 252 seconds]
jeffmo has quit [Ping timeout: 240 seconds]
mistermetaphor has joined #ocaml
jeffmo has joined #ocaml
Kyo9142 has joined #ocaml
dsheets has joined #ocaml
misterme_ has joined #ocaml
mistermetaphor has quit [Ping timeout: 252 seconds]
yomimono has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
jeffmo has quit [Ping timeout: 250 seconds]
jeffmo has joined #ocaml
yomimono has quit [Ping timeout: 260 seconds]
misterme_ has quit [Remote host closed the connection]
dsheets has joined #ocaml
jeffmo has quit [Ping timeout: 244 seconds]
jeffmo has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
Guest28036 is now known as kandu
jeffmo has quit [Read error: Connection reset by peer]
jeffmo has joined #ocaml
hxegon has joined #ocaml
jeffmo has quit [Quit: jeffmo]
hxegon has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Reshi has joined #ocaml
johnelse has quit [Ping timeout: 252 seconds]
johnelse has joined #ocaml
mistermetaphor has joined #ocaml
johnelse has quit [Ping timeout: 268 seconds]
abruanese has joined #ocaml
rgrinberg has joined #ocaml
johnelse has joined #ocaml
Kyo9142 has quit [Ping timeout: 260 seconds]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
slash^ has joined #ocaml
A1977494 has joined #ocaml
pierpa has quit [Ping timeout: 250 seconds]
g4143 has joined #ocaml
cdidd has quit [Ping timeout: 246 seconds]
cdidd has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
g4143 has quit [Quit: Leaving]
slash^ has joined #ocaml
mistermetaphor has quit [Remote host closed the connection]
demonimin has quit [Ping timeout: 264 seconds]
copy` has quit [Quit: Connection closed for inactivity]
demonimin has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
slash^ has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Remote host closed the connection]
hxegon has joined #ocaml
FreeBirdLjj has joined #ocaml
sh0t has joined #ocaml
<twobitsp1ite> So, I asked earlier about Bigarrays with structs/records, and hcarty replied after I had gone AFK that I could use multiple separate arrays, one for each value I would use in a struct... That's actually something I was thinking about doing..
<twobitsp1ite> however, I'd like to tie each array together in some kind of unit... I was thinking of making a module type that would contain each array and provide functions for accessing each "member"... i.e., a get_color, get_size, get_type, etc, that would pull values from the appropriate array...
<twobitsp1ite> So, I'm thinking, given my module is named World, that I would have "type t = { color_ar of Array.t; size_ar of Array.t; type_ar of Array.t } or something like that...
sh0t has quit [Ping timeout: 268 seconds]
<twobitsp1ite> then have the get_* function within the module all accept the same tuple type for coordinates, but query different array attributes of the 't' struct
<twobitsp1ite> Does that sound like a reasonable way to go about things?
<twobitsp1ite> I.e., if you were using a library that followed some system like that, would you feel like it was a natural way to express your code?
twobitsp1ite is now known as twobitsprite
tane has joined #ocaml
<twobitsprite> (re-nicked to twobitsprite, in case anyone has NICK blocked, etc (I do... :P))
rgrinberg has quit [Ping timeout: 246 seconds]
MercurialAlchemi has joined #ocaml
solrize has quit [Ping timeout: 250 seconds]
nicholasf has joined #ocaml
TheLemonMan has joined #ocaml
mistermetaphor has joined #ocaml
mistermetaphor has quit [Remote host closed the connection]
mistermetaphor has joined #ocaml
clog has quit [Ping timeout: 244 seconds]
solrize has joined #ocaml
clog has joined #ocaml
troydm has quit [Ping timeout: 244 seconds]
A1977494 has quit [Remote host closed the connection]
mistermetaphor has quit [Remote host closed the connection]
nicholasf has quit []
mistermetaphor has joined #ocaml
mistermetaphor has quit [Remote host closed the connection]
pierpa has joined #ocaml
hxegon has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Reshi has quit [Ping timeout: 260 seconds]
Reshi has joined #ocaml
Simn has joined #ocaml
jita has joined #ocaml
jita has quit [Client Quit]
Reshi has quit [Ping timeout: 250 seconds]
malc_ has joined #ocaml
Kakadu has joined #ocaml
mistermetaphor has joined #ocaml
mistermetaphor has quit [Ping timeout: 268 seconds]
pierpa` has joined #ocaml
pierpa has quit [Ping timeout: 260 seconds]
yegods has joined #ocaml
AlexRussia has quit [Ping timeout: 252 seconds]
yegods has quit [Remote host closed the connection]
silver has joined #ocaml
Reshi has joined #ocaml
Reshi has quit [Ping timeout: 252 seconds]
<companion_cube> twobitsprite: yes, you can do a record of bigarrays
<companion_cube> it's maybe not very natural (arrays of records are easier), but it's good for numeric code or, perhaps, for interacting with C
demonimin has quit [Remote host closed the connection]
tane has quit [Ping timeout: 250 seconds]
demonimin has joined #ocaml
yegods has joined #ocaml
<StatelessCat> Hey
<companion_cube> ho
<StatelessCat> I want to install Opam on my Fedora 23. In the installation page [http://opam.ocaml.org/doc/Install.html] there is a link to http://software.opensuse.org/download.html?project=home%3Aocaml&package=opam , wich does not contains packages for Fedora 23, only for Fedora <23
<StatelessCat> What do you recommand me to install Opam ?
<companion_cube> maybe the package would still work on fedora 23? :D
<StatelessCat> maybe, maybe not..
<Kakadu> opam is really straightforward for checkisntall
tane has joined #ocaml
<Kakadu> you can even install latest beta
<Kakadu> I usually use checkinstall in my ubuntus
<StatelessCat> Hum I don't know what is checkinstall. This is the prefered way ?
<Kakadu> I think that it is the best balance between newest package versions and trashing your system
<Kakadu> I meant '_not_ trashing your system'
<StatelessCat> Kakadu: yes but how to install checkinstall without doing it from sources and trashing my system ?
troydm has joined #ocaml
<Kakadu> from repo?
<Kakadu> Also you `make install` checkinstall, use checkinstall to create RPM of checkinstall after that, `make uninstall` checkinstall and install the RPM.
AlexRussia has joined #ocaml
<Kakadu> I even think that will be nice
<StatelessCat> there is no checkinstall in fedora repos :/
<adrien> simply rebuild the rpm on your machine
<adrien> it's unlikely it won't work the same
<adrien> really, I see no reason to not just take source of the fedora package and build again
yegods has quit [Ping timeout: 260 seconds]
leyyin has joined #ocaml
<companion_cube> or the opam sources directly from opam.ocaml.org
<StatelessCat> until I understand more RPM, I'll not do anything. I maybe can avoid to install Opam for now
<adrien> there isn't a lot to understand, it's going to be a single command that will produce a .rpm similar to what you'd get from the opam website
<adrien> companion_cube: yeah, I meant opam sources from opam.ocaml.org and packaging sources from the current package
<StatelessCat> the solution is maybe 'docker pull ocaml/opam'
leyyin has quit [Remote host closed the connection]
<StatelessCat> ok I'll try with checkinstall it can be fun
<StatelessCat> I do not need to worry about the fact that the last release of checkinstall is 1.6.2 witch was released 2 yers ago ?
leyyin has joined #ocaml
yegods has joined #ocaml
yegods has quit [Remote host closed the connection]
yegods has joined #ocaml
<StatelessCat> urg cannot compile checkinstall :/ http://pastebin.com/raw/xRWpwt9X
<StatelessCat> adrien: to rebuild RPM on my machine, what tools/notion i need to learn ?
<adrien> StatelessCat: it's described in https://wiki.centos.org/HowTos/RebuildSRPM
<adrien> if you have a source rpm it's very simple; otherwise you need to locate the specs file used to build the rpm (it's probably under version-control on opam's repository)
<StatelessCat> ok
mistermetaphor has joined #ocaml
hcarty has joined #ocaml
mistermetaphor has quit [Ping timeout: 240 seconds]
hcarty has quit [Ping timeout: 250 seconds]
adelbertc has quit [Quit: Connection closed for inactivity]
yegods has quit [Read error: Connection reset by peer]
yegods has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
natimic2 has quit [Ping timeout: 260 seconds]
Reshi has joined #ocaml
Reshi has quit [Ping timeout: 252 seconds]
yegods has quit [Remote host closed the connection]
Sorella has quit [Quit: Connection closed for inactivity]
slash^ has joined #ocaml
yegods has joined #ocaml
A1977494 has joined #ocaml
yegods has quit [Remote host closed the connection]
A1977494 has quit [Client Quit]
copy` has joined #ocaml
mistermetaphor has joined #ocaml
matason has joined #ocaml
mistermetaphor has quit [Ping timeout: 276 seconds]
matason has quit [Ping timeout: 252 seconds]
<pierpa`> I suppose there's a profound theoretical reason for not closing automatically files before the termination of programs?
pierpa` is now known as pierpa
<adrien> pierpa: context?
<pierpa> context is programming in ocaml
<adrien> there's no need to close files on termination because the OS does it anyway
<adrien> so there's no advantage of doing a series of blind close() from the application compared to doing a series of blind close() from the kernel
<pierpa> yes, in every programming language since 1950, with the notable exception of ocaml
<pierpa> even *C* flushes its files automatically!
<adrien> *flush*
<adrien> not *close*
<adrien> and it's not files nor file descriptors but buffered output
<pierpa> at the level of the language libs, that's indistinguishable
<adrien> I disagree but anyway
<pierpa> ok, change close to flush, if yuo like it more
<pierpa> no, close is correct. Closing files implies flushing. Ocaml neither closes not flushes automatically
<malc_> pierpa: where did you get the flushing idea from?
<pierpa> uh?
<malc_> pierpa: "Closing files implies flushing." where is the source of this statement?
<malc_> it's true for ptys, but otherwise I can't find anything that backs this assertion up
<pierpa> the source is the observation of several programming language, with no exception found
<pierpa> *languages
<adrien> that motivated me to check; from Pervasives' doc:
<adrien> val exit : int -> 'a
<adrien> Terminate the process, returning the given status code to the operating
<adrien> system: usually 0 to indicate no errors, and a small positive integer
<adrien> to indicate failure. All open output channels are flushed with
<adrien> flush_all . An implicit exit 0 is performed each time a program termi‐
<adrien> nates normally. An implicit exit 2 is performed if the program termi‐
<adrien> nates early because of an uncaught exception.
<pierpa> then this is a bug?
<Drup> depends, are you using format ?
<pierpa> yes
<Drup> format has an internal queue (in order to do the layout) that is distinct from the channel buffering
<malc_> @. is your friend
<malc_> or foe... depends
<Drup> If boxes are unclosed, for example, it's not sent to the underlying formatter just yet
<pierpa> this should not have observable consequences on the behaviour of programs
<pierpa> anyway I'm using no boxes
<Drup> Just add @. at the end of your format sentences
<pierpa> Even if this should fix the problem (give me 2 minutes for trying), still is crazy
<pierpa> and does not fix the problem
<Drup> #showusthecode
yegods has joined #ocaml
<Drup> that's printf, not format
<malc_> yeah
<malc_> %!
<Drup> unfortunatly, for reason that eludes me, the runes are not the same for both ~~
<pierpa> oops
tane has quit [Quit: Verlassend]
<pierpa> malc_: flushing at every print is not necessary in this program. Having to do it for avoiding this is at best a workaround.
<malc_> pierpa: don't do it at every print then
<pierpa> this bring us back at the start of this conversation
<malc_> #include <stdlib.h>
<malc_> #include <stdio.h>
<malc_> int main (void) {printf ("hmm");_Exit (0);}
<malc_>
<malc_> see how nothing is printed
<malc_> in C
<malc_> so uhm
<pierpa> in C the buffers are flushed automatically
<malc_> well try the above snippet
<pierpa> _Exit is not a C function. It may a function preent in your implementation of C whose is undefined wrt C
<malc_> oh geez
<pierpa> *it may be
<pierpa> in C there's exit
<malc_> pierpa: 7.22.4.4
<malc_> of ISO/IEC 9899:201x
<pierpa> so now C is the term of comparison to which Ocaml should aspire?
<adrien> _exit() terminates at once without calling anything registered through atexit(); it's definitely valid
<pierpa> _exit is not the normal way to terminate C programs
<adrien> in C you have setvbuf() and the libc will flush upon encountering \n
<pierpa> the purpose of _exit is to be used in the implementation of exit, which is the normal way
<adrien> err
<adrien> on stderr, not stdout
<adrien> for stdout it waits until the buffer is full
<adrien> or an explicit flush is asked
<pierpa> th flushing in C depends on the flushing mode
<pierpa> it *may* be set to line buffering, but it's not mandatory
<pierpa> and anyway is orthogonal wrt the issue of flushing on normal program termination
noddy has joined #ocaml
malc_ has quit [Ping timeout: 246 seconds]
<sgronblo_> ok, so i was having some trouble accessing Re.Group. any ideas why its unbound?
djellemah has joined #ocaml
yegods has quit [Remote host closed the connection]
<Drup> which version of re ?
<sgronblo_> 1.4.1 apparently
<Drup> yeah, update
<sgronblo_> update? but i just installed it like yesterday?
<sgronblo_> opam update re says "cannot update the package re because it is not pinned
<Drup> upgrade* :p
<def`> sgronblo_: ls `ocamlfind query re`
<Drup> def`: what for ? O_o
<sgronblo_> Drup: what is aspcud for?
<Drup> sgronblo_: it replaces the internal solver, it's much better at finding the right dependencies and all that
<Drup> (and faster too)
dsheets has joined #ocaml
infinity0 has quit [Remote host closed the connection]
<def`> Drup: I thought re install was broken, but ok it is not the right one :P
<sgronblo_> I cant just opam install aspcud?
<Drup> No :(
<sgronblo_> and without it i get some old version of re only?
<Drup> No, it's just that it's better in the long run
<Drup> Ok, let's reformulate
<Drup> 1) the internal opam solver is not very good, it was designed to be used with a good external solver
<Drup> 2) you are using the internal solved, so it doesn't always find the best solution (in your cast, it installed an old re instead of the most up to date one)
<sgronblo_> how do i even check if i have it or not?
<Drup> 3) you can get the last re if you ask for it, even with the internal solved
<Drup> "opam config report"
<sgronblo_> # external-solver aspcud $in $out $criteria
<Drup> Oh ? that's surprising
<Drup> just upgrade then *shrug*
<sgronblo_> upgrade what how?
<Drup> "opam upgrade re"
<sgronblo_> oh so update is different from upgrade
<Drup> update = update repositories and caches
<sgronblo_> opam upgrade re -> Already up-to-date
<Drup> Can you pastebin "opam config report" ?
<sgronblo_> ok i ran opam update
<sgronblo_> and now it found re 1.5.0
<Drup> that's weird, not sure how you installed it
<Drup> (re 1.5.0 was released several months ago ..)
<sgronblo_> how many?
<sgronblo_> last time i played with ocaml was around christmas time
wiredsister has joined #ocaml
AlexRussia has quit [Ping timeout: 246 seconds]
infinity0 has joined #ocaml
<sgronblo_> ok now it seems to find Re.Group, thanks
mettekou has joined #ocaml
<sgronblo_> whats the best place to check the docs for Core?
mistermetaphor has joined #ocaml
<sgronblo_> I'm getting some stuff about Deprecated_use_float_module but cannot figure out which float module we are talking about
<sgronblo_> hmm, bug on the doc site apparently
<sgronblo_> I feel like the OCaml ecosystem has quite a few warts
mistermetaphor has quit [Ping timeout: 252 seconds]
Kakadu has quit [Quit: Page closed]
<pierpa> understatement of the month
<companion_cube> :D
<sgronblo_> hehe
<sgronblo_> but the vim experience is pretty awesome so far
<sgronblo_> did OCaml lists have a get by index function?
<companion_cube> List.nth
<sgronblo_> so this .(i) is only for arrays?
tane has joined #ocaml
<pierpa> yes, AFAIK
rgrinberg has joined #ocaml
<sgronblo_> is this not allowed let a in { a } as a shortcut for let a in { a = a } ?
<reynir> I think 4.03 is supposed to allow .(i) for user types
shinnya has joined #ocaml
<reynir> erm
<companion_cube> reynir: not sure
<lyxia> module Array = struct let get f g x = f (g x) end;; (fun x -> x + 1) . (fun x -> x + 1) 2
darkf has quit [Quit: Leaving]
<Drup> reynir: no, not yet
<Drup> lyxia: that's going to break one day (and let's be honest, it's disgusting :p)
<reynir> :o
<Drup> sgronblo_: yes, that's allowed
<Drup> well, let a = foo in { a }
<sgronblo_> Drup: yeah it worked, i just had forgotten how i had defined my record types :)
<sgronblo_> So Core flips the arguments for things like List.map?
<companion_cube> Core introduces labels
<sgronblo_> hmm, so can someone remind me how to compile and run my program?
<companion_cube> are you reading RWO?
<sgronblo_> seems like this might have been what i used last time: ocamlbuild -use-ocamlfind myprog.byte
<companion_cube> ah, yeah, that should do the trick
<sgronblo_> companion_cube: no. i did the FUN course around christmas. but since most of the coding was done in the web browser im really lost with how to actually build ocaml code.
<companion_cube> ah ok! then, yes, ocamlbuild is the way to go
<sgronblo_> unbound module Core
<companion_cube> if you have dependencies, ocamlbuild -use-ocamlfind -package core foo.byte
<companion_cube> (or use a _tags file)
<sgronblo_> ah yeah i was using a _tags file last time
<sgronblo_> so last time i had one dependency: true: package(str)
<sgronblo_> now i have two: core and re
<sgronblo_> how do i combine that?
<companion_cube> package(core), package(re)
<sgronblo_> error from package threads, missing -thread or -vmthread switch
<companion_cube> package(threads), I think
<sgronblo_> i need to add a thread flag to my _tags file it seems
<sgronblo_> So the answer is: add -tag thread to your ocamlbuild invocation line, or just thread in the relevant place in _tags.
<sgronblo_> so whats the relevant place? :)
<sgronblo_> ok my guess was correct
malc_ has joined #ocaml
AlexRussia has joined #ocaml
cdidd has quit [Ping timeout: 240 seconds]
snhmib has quit [Ping timeout: 260 seconds]
rgrinberg has quit [Ping timeout: 276 seconds]
cdidd has joined #ocaml
noddy has quit [Ping timeout: 244 seconds]
cdidd has quit [Ping timeout: 244 seconds]
A1977494 has joined #ocaml
sepp2k has joined #ocaml
hxegon has joined #ocaml
mettekou has quit [Read error: Connection reset by peer]
tane has quit [Ping timeout: 260 seconds]
tane has joined #ocaml
rgrinberg has joined #ocaml
malc_ has quit [Ping timeout: 252 seconds]
g4143 has joined #ocaml
jbrown is now known as |jbrown|
g4143 has quit [Client Quit]
|jbrown| is now known as jbrown
hxegon has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
SomeDamnBody has joined #ocaml
<SomeDamnBody> Is there a way to tell oasis that for a particular executable you have a module dependency in another directory?
<rgrinberg> SomeDamnBody: Is that module dependeny an oasis library section?
SomeDamnBody has quit [Remote host closed the connection]
FreeBirdLjj has quit [Remote host closed the connection]
cdidd has joined #ocaml
SomeDamnBody has joined #ocaml
<SomeDamnBody> rgrinberg: just a module dependency in an oasis executable
<SomeDamnBody> I found that things will work fine if I refactor my oasis to partition the modules into two libraries
Sorella has joined #ocaml
ggole has joined #ocaml
<StatelessCat> adrien: thanks for your advices, i did a RPM rebuild and it run fine. And now I know how to build a RPM :)
noddy has joined #ocaml
noddy has quit [Ping timeout: 252 seconds]
* dsheets is surprised that type t = Infinity | Limit of it and type t = Limit of int | Infinity both have Infinity as the polymorphic comparatively lesser element with Obj.magic : int giving 0
rgrinberg has quit [Read error: Connection reset by peer]
<Drup> Interesting, it aggregates constant constructors at the beginning
pierpa has quit [Ping timeout: 250 seconds]
<Drup> didn't knew that
sepp2k has quit [Ping timeout: 240 seconds]
<dsheets> I don't know what good that does but it seems very wrong when the order of the constructors matters to signatures...
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
malc_ has joined #ocaml
shinnya has quit [Ping timeout: 240 seconds]
<flux> well, I imagine it follows naturally from the way it's represented
<ggole> Nullary and non-nullary constructors are numbered separately
<ggole> In order to make the most of the tag space in the header
<flux> in any case, it cannot be changed, due to backwards compatibility
<flux> but perhaps modular implicits bring decent value comparisons to ocaml?-o
<ggole> I'm not sure. Other observable behaviours have been changed.
<flux> the benefits of redefining the comparison are quite small, though
<flux> basically if you need a certain order for comparison, you define a comparisno functino..
<dsheets> maybe there are matching optimizations for nullary constructors that this aids
<ggole> It would only make sense if accompanying a change in representation strategy.
<ggole> Which seems unlikely at this point.
sepp2k has joined #ocaml
<dsheets> i'd like to see modular implicits and the deprecation of polymorphic compare
<ggole> I don't think compare and == can reasonably be deprecated
<flux> I guess that's a tricky one, because 'compare' is such a nice name ;)
<ggole> Too much stuff relies on them.
<dsheets> == is fine, = is not
<dsheets> 5.0?
<zozozo> problem is that generic hashtables depend on generic hash/equality
<zozozo> s/generic/polymorphic
noddy has joined #ocaml
matason has joined #ocaml
<flux> surely they could be fixed once a modular-implicit comparison ends up to the main line
<ggole> Without changing the interface? How?
<flux> no, not without changing the interface
<flux> term "deprecate" was mentioned :)
<ggole> Therefore, not without breaking huge swathes of OCaml code
<flux> leave the one hashtbl be, have a new one with this issue fixed
SomeDamnBody has left #ocaml ["Leaving..."]
<ggole> Yeah, that makes more sense.
dsheets has quit [Remote host closed the connection]
<ggole> (And presumably the same for all the stdlib functions that use equality.)
<flux> has someone tried implementing such a hashtbl for implicits?-o
yegods has joined #ocaml
wiredsister has quit [Ping timeout: 260 seconds]
noddy has quit [Ping timeout: 246 seconds]
ocaml455 has joined #ocaml
noddy has joined #ocaml
gasche has joined #ocaml
<gasche> hi #ocaml
noddy has quit [Ping timeout: 250 seconds]
seangrove has joined #ocaml
noddy has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
Anarchos has joined #ocaml
sepp2k has quit [Quit: Leaving.]
<gasche> any interesting feedback you haven't turned into a mantis issue or bugreport yet? :p
yegods has quit [Read error: Connection reset by peer]
yegods has joined #ocaml
<ocaml455> Hello, I am new in ocaml and trying to use ppx_deriving in my project. When I add ppx_deriving or ppx_deriving.std to my _oasis file however, as I saw other projects do, I get the error ocamlfind: Package `ppx_deriving' not found. ocamlfind query ppx_deriving returns /home/user/.opam/4.02.3/lib/ppx_deriving I would be grateful for any help.
yegods has quit [Remote host closed the connection]
noddy has quit [Ping timeout: 260 seconds]
noddy has joined #ocaml
dsheets has joined #ocaml
<hannes> Drup: around? is there somewhere an example for how to use the svg part of TyXML?
octachron has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
<Drup> there is a similar question on the bug tracker
noddy has quit [Ping timeout: 268 seconds]
noddy has joined #ocaml
octachron has quit [Quit: Leaving]
<Drup> hannes: do you have a specific issues ? aantron_ just made a large patch fixing a lot of various issues in the svg stuff.
dsheets has joined #ocaml
noddy has quit [Ping timeout: 260 seconds]
Kakadu has joined #ocaml
<gasche> ocaml455: I would check that your opam environment is correctly configured (eg. re-do "eval $(opam config env)")
yegods has joined #ocaml
rgrinberg has joined #ocaml
<ocaml455> thank you gasche. the command didn't help, but reinstalling opam did the trick!
bba has joined #ocaml
<gasche> I must say that I don't like the "mutates your shell environment" part of using opam switches
<gasche> it is confusing to beginners, and even I treat it as black magic and ritually re-evaluate the config whenever I think it may matter
<gasche> I dislike the "global state" aspect, but I think that we could have better realization of a global state interface; I would prefer a local approach, and I think it's in the pipes for future opam versions
<gasche> (I've seen seliopou work on "opam local" command, I have no idea what this is but in my dream it is about having project-local roots that work well)
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
Anarchos has joined #ocaml
leyyin has quit [Quit: So Long, and Thanks for All the Fish]
<Drup> "and even I treat it as black magic" <- that's probably the reason you don't like it, because it's really not complicated and you can almost never get it wrong
bba has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<Drup> of the various wrath of opam, this is the less harmful one, far behind the internal solver/aspcud-not-by-default one
yegods has quit [Ping timeout: 246 seconds]
ocaml455 has quit [Ping timeout: 250 seconds]
adelbertc has joined #ocaml
octachron has joined #ocaml
ggole has quit []
<octachron> gasche, not exactly a feedback in itself, but I have been thinking that having expect test on the manual examples' code could be interesting to avoid code rot
<gasche> I don't get it wrong in practice
<gasche> (opam switches)
<gasche> but I cringe when I see beginners use them
<gasche> for example, I don't know how to answer the question of "how do I configure my machine to have OCaml version X by default from everywhere?" in a way that I find acceptably simple
rgrinberg has quit [Read error: Connection reset by peer]
<gasche> octachron: I experimented with using <caml_eval> when writing examples in the documentation of the second warning
<gasche> but I couldn't make it work as I wanted, so I dropped it
<gasche> I agree with you
<gasche> (also I was frustrated by the lack of syntax highlighting in the rendered HTML output)
dsheets has quit [Remote host closed the connection]
tane has quit [Quit: Verlassend]
A1977494 has quit [Quit: Leaving.]
lokien_ has joined #ocaml
<Drup> gasche: err "put the eval thingy in your bash and do "opam switch X"" ? It's not complicated compared to so many other things ...
Kakadu has quit [Remote host closed the connection]
malc_ has quit [Remote host closed the connection]
wiredsister has joined #ocaml
bba has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
<gasche> octachron: I started writing an issue for it, but I find that I can't really articulate why {caml_example} would not be enough
<gasche> I'm not sure it handles well the examples that should produce warnings, but errors work well (for example http://caml.inria.fr/pub/docs/manual-ocaml/objectexamples.html#sec33)
<gasche> expect tests have the advantage of letting us know if the behaviour changes in a way that contradicts the documentation, but conversely the inconvenience that it could break for trivial wording changes that shouldn't require intervention in the manual
<gasche> I'll give another try to {caml_examples} for the warning documentations, and maybe file an issue to get better support for warnings
avarsh has joined #ocaml
<octachron> gasche, well discriminating between trivial wording changes and inconsistent changes sounds like a quite hard AI problem
<gasche> but I would expect that the former significantly outperform the latter
<gasche> outnumber, sorry
<gasche> I can't remember of a case in the past where a code example in the manual stopped working as intended
<gasche> (while I do hope we keep refining/clarifying warning and error messages in the future)
matason has quit [Ping timeout: 276 seconds]
<gasche> of course we may have just missed them as we don't particularly watch for them
<octachron> if it is easy to update the expect test, it might be not so problematic
<octachron> gasche, I would say that the use of deprecated function in some manual's example were a caml_example error
<gasche> hm
<gasche> so we could propose for caml_example to be refined in various ways
<octachron> simultaneously, the use of verbatim in the extension section for code example, i.e without code verification, is a missed possibility
<gasche> such as being able to specify command-line flags, to declare that "some {warning,error} is expected" (or on the contrary that none should happen), or to give a precise output
<gasche> and also, http://caml.inria.fr/mantis/view.php?id=7146 should be fixed
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
rbocquet has quit [Ping timeout: 250 seconds]
<gasche> heh, trying caml_example I found a syntax error in my example
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
psnively has joined #ocaml
<adrien> StatelessCat: :)
rbocquet has joined #ocaml
psnively has quit [Ping timeout: 276 seconds]
MercurialAlchemi has quit [Ping timeout: 260 seconds]
psnively has joined #ocaml
<fds> What happened here: https://opam.ocaml.org/1.3/urls.txt ?
copy` has quit [Quit: Connection closed for inactivity]
octachron has quit [Ping timeout: 246 seconds]
hxegon has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
madroach has quit [Ping timeout: 244 seconds]
avsej has quit [Quit: Quit]
avsej has joined #ocaml
avsej has joined #ocaml
madroach has joined #ocaml
lokien_ has quit [Quit: Connection closed for inactivity]
Nahra has quit [Ping timeout: 244 seconds]
darkf has joined #ocaml
bba has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
psnively has quit [Quit: Textual IRC Client: www.textualapp.com]
noddy has joined #ocaml