flux 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.03.0 announced http://ocaml.org/releases/4.03.html | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
pierpa has quit [Ping timeout: 276 seconds]
nivek has joined #ocaml
walter|r has joined #ocaml
nicholasf has joined #ocaml
wiredsister has quit [Remote host closed the connection]
<Algebr`> How hard is it to replace the backend implementation of lwt?
<Algebr`> like I saw someone did a libuwt or something like that instead of libev
bruce_r has quit [Ping timeout: 250 seconds]
sillyotter has joined #ocaml
sillyotter has quit [Client Quit]
vishesmch has quit [Quit: WeeChat 1.4]
FreeBirdLjj has joined #ocaml
vishesh has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 250 seconds]
rgrinberg has joined #ocaml
nicholasf has quit []
<aantron> Algebr`: im not fully sure how hard yet, but you have to implement one of these things: http://ocsigen.org/lwt/2.5.1/api/Lwt_engine#2_Engines
<aantron> there has been some grief reported about it: https://github.com/ocsigen/lwt/issues/237
FreeBirdLjj has joined #ocaml
jaredly has joined #ocaml
walter|r has quit [Remote host closed the connection]
<jaredly> So ocamlfind/ocamlbuild create these binary artifacts `.cmo` and `.cmi` and stuff -- is there a way to configure it so these files are put in some temporary directory, or anywhere other than right next to my source files?
hcarty has joined #ocaml
<Algebr`> ocamlfind doesn't build code, ocamlbuild does
<Algebr`> and pretty sure there should be a _build directory, at least you get that if you use ocamlbuild via oasis
walter|r has joined #ocaml
<hcarty> Algebr`: ocamlfind can be used to build - it's effectively a wrapper around ocamlc/ocamlopt/etc
<jaredly> mmk figured it out. I'm hacking on someone else's project, still very new at things
Algebr` has quit [Ping timeout: 250 seconds]
<aantron> yeah, in fact, ocamlbuild drives ocamlfind.. which drives ocamlc, etc
kushal has quit [Ping timeout: 246 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
hcarty has quit [Ping timeout: 272 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
ygrek_ has quit [Ping timeout: 260 seconds]
NingaLeaf_ has quit [Read error: Connection reset by peer]
NingaLeaf_ has joined #ocaml
nivek has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
kushal has joined #ocaml
jonasen has joined #ocaml
walter|r has quit [Remote host closed the connection]
spion has quit [Ping timeout: 240 seconds]
spion has joined #ocaml
A1977494 has quit [Quit: Leaving.]
tmtwd has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
MercurialAlchemi has joined #ocaml
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
darkf_ has joined #ocaml
darkf has quit [Ping timeout: 250 seconds]
MercurialAlchemi has quit [Ping timeout: 264 seconds]
darkf_ is now known as darkf
MercurialAlchemi has joined #ocaml
jaredly has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
tmtwd has quit [Ping timeout: 252 seconds]
MercurialAlchemi has quit [Ping timeout: 260 seconds]
FreeBird_ has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 260 seconds]
FreeBird_ has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
rgrinberg has quit [Ping timeout: 260 seconds]
pyon is now known as catnaroek
<AllanDaemon> another newbie doubt: How do I create functions with variable arguments, like `Printf.sprintf`?
<jun> you cannot actually
tmtwd has joined #ocaml
<jun> the first argument of *printf family of fuctions is not a string but some magical object whose type encode the necessary arguments
<jun> by first argument, I mean "format string"
<nore> These functions are a hack of the typing system
<nore> Well, technically, you could do it, but you'll need Obj.magic
MercurialAlchemi has joined #ocaml
<nore> And some way to know which arguments you need
<nore> But this will break type safety
<AllanDaemon> ok... this sound to scary to me dive into by now. Thanks
<AllanDaemon> *too
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
<jun> with gadt maybea safer way would be to use gadt
Algebr` has joined #ocaml
jaredly has joined #ocaml
jaredly has quit [Client Quit]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
A1977494 has joined #ocaml
A1977494 has quit [Client Quit]
gwenloh has joined #ocaml
gwenloh has quit [Quit: gwenloh]
freusque has quit [Ping timeout: 264 seconds]
tmtwd has quit [Ping timeout: 276 seconds]
jaredly has joined #ocaml
jaredly has quit [Client Quit]
Simn has joined #ocaml
tmtwd has joined #ocaml
d0nn1e has quit [Ping timeout: 240 seconds]
d0nn1e has joined #ocaml
kushal has quit [Quit: Leaving]
Sorella has quit [Quit: Connection closed for inactivity]
freusque has joined #ocaml
copy` has quit [Quit: Connection closed for inactivity]
rbocquet has quit [Remote host closed the connection]
rbocquet has joined #ocaml
tmtwd has quit [Ping timeout: 250 seconds]
AllanDaemon has quit [Ping timeout: 240 seconds]
jaredly has joined #ocaml
jaredly has quit [Client Quit]
_2can has quit [Remote host closed the connection]
kushal has joined #ocaml
darkf_ has joined #ocaml
darkf has quit [Ping timeout: 250 seconds]
dexterph has joined #ocaml
AltGr has joined #ocaml
sshine has left #ocaml [#ocaml]
<Leonidas> yes, I think in OCaml 4 these are type safe because it was re-implemented with GADTs but no idea.
<companion_cube> nore: please don't give advice including Obj.magic :p
jaredly has joined #ocaml
<nore> companion_cube: I precised it would break type safety ;)
jwatzman|work has joined #ocaml
<nore> companion_cube: btw, couldn't there be a way to avoid using it in the code of Printf?
<companion_cube> say it will break the program* :p
<flux> there is actually a way to write printf-like-interfaces in any ML language
<flux> of course it's not quite as convenient as printf
<companion_cube> Printf doesn't use Obj.magic anymore, afaik
jaredly has quit [Client Quit]
<flux> but find "functional unparsing" white paper for showing one idea
<companion_cube> thanks to GADT
<flux> nowadays I understand it can be even more succinct.. thanks to GADT
<nore> companion_cube: oh, it doesn't? I'll read the new code then
<companion_cube> the format string is transformed into a complex GADt
AltGr has quit [Remote host closed the connection]
<chelfi> yes, IIUC, the fact that the format string is a string is compiler magic, but if you were willing to pass the "processed" format string explicitly you could implement the behaviour yourself
<companion_cube> yes
<companion_cube> it would look terrible though
<flux> btw, most realistic approach to get the most printf-like experience would be to combine appropriate typing with a ppx syntax extension..
Algebr` has quit [Ping timeout: 250 seconds]
<mrvn> process the format string by ppx?
<flux> let's say [%fmt "%myformat%string] gets converted into some code representing the format string in a type-safe fashion.
<flux> with the closing " :)
<mrvn> only slightly less magicy than now
<mrvn> more obvious that it happens
<mrvn> One could combine that with gettext support
<companion_cube> some people already do this with sql, also
dhil has joined #ocaml
<mrvn> [%sql "select * from bla where id=%d"]?
<companion_cube> yeah
<companion_cube> look at ocaml-sqlexpr
<companion_cube> (which is neat, and would be even more if it was regularly released...)
silver has joined #ocaml
<mrvn> That would have to type * from the type of blas rows. I would rather not do that through strings.
larhat has joined #ocaml
<Leonidas> at which point we would arrive at type providers as in F#
<mrvn> select ~where=[`Id x] bla
sdothum has joined #ocaml
yomimono has joined #ocaml
<companion_cube> well sqlexpr does type rows
<zozozo> you have to specify the name and types of the fields you want to get in a query though
<mrvn> zozozo: names sure, types should come from the name.
<zozozo> mrvn: well, for that you need to have actual access to the table definition
<companion_cube> I'm frightened by the thought of what type providers would mean for build systems
<zozozo> which shouldn't be done in the ppx
<flux> with pgocaml it means a postgresql server must be available
<flux> in practice that's been a non-issue for me :)
<flux> you're going to run tests after building anyway, right?!
<mrvn> zozozo: In pythons sqlalchemy you define the tables in python and it then creates them in the DB and know what types there are.
<flux> and in sqlalchemy you don't have compile errors :)
<companion_cube> and then you have all sorts of migration issues
<companion_cube> :]
darkf_ is now known as darkf
<mrvn> companion_cube: you always have those
<flux> companion_cube, what do you mean with migration issues?
<zozozo> mrvn: sure, when tou create the table in the same program, it is reasonable, but what about when you want to simply read a table from somewhere else
<companion_cube> well if the tables already exist, but in an older version
<mrvn> flux: say you have a text field in latin1 and want utf-8 now
<flux> companion_cube, well the program is not going to work in that case, probably it's nice to get an error about it :)
<mrvn> and yes, you get a runtime error if the DB and code mismatch
<flux> I think the way to properly do with with pgocaml is just create the database from scratch on each compile
<flux> not compile against production database
<companion_cube> sure, but it would be nicer, I think, if the compiler uses type providers from the table and fails to compile
<flux> so the creation script for the database is of course version controlled
<mrvn> companion_cube: I don't have a running DB on my compile system
<companion_cube> I imagine so, yeah
AltGr has joined #ocaml
<flux> maybe the database is called dbname-$(git describe --tags --dirty) :)
<mrvn> It would be nice to have versioned DB views with converters between them and at runtime it picks the right version.
<flux> I don't think it's worth playing the compatibity game that hard in the db level
<flux> what I did was just having a table "version" with one row indicating the table version. and then a bunch of scripts going from v 1->2 , 2->3, etc
<flux> and you can check if the version is correct when connecting, if you care :)
<mrvn> flux: Me too. It's a pain in sqlalchemy though.
Simn has quit [Read error: Connection reset by peer]
<flux> and combined with pgocaml's versioned DDL that's pretty super, you can just run a script inside a transaction
<flux> or even all the scripts
Simn has joined #ocaml
<flux> mrvn, why is it pain in sqlalchemy? I haven't really used it.
<mrvn> flux: you can't define two versions of the same table so that you can read the old version and write the new version. At least I haven't found a way.
<flux> so you mean you cannot write the conversions in sqlalchemy?
<mrvn> at least not nicely
<flux> I just did them in sql
<flux> does that mean you cannot connect two databases at the same time as well?
rand__ has joined #ocaml
<mrvn> flux: don't think that is a problem.
dhil has quit [Ping timeout: 244 seconds]
<mrvn> worst case I had I copied the old table into a temp, remove table, reconnect so it creates the new table and copy back.
<chelfi> mrvn: flux a popular (I think ?) solution to db versionning for users of sqlalchemy is alembic, which basically does what flux describes (stores the current revision of the DB, maintains transitions between revisions, and offers helpers to navigate between revisions)
dhil has joined #ocaml
freehck has joined #ocaml
jaredly has joined #ocaml
jaredly has quit [Client Quit]
AltGr has left #ocaml [#ocaml]
dakk has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
abk has joined #ocaml
kushal has quit [Quit: Leaving]
Kakadu has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
Algebr` has joined #ocaml
Algebr` has quit [Ping timeout: 244 seconds]
lostman has quit [Quit: Connection closed for inactivity]
jaredly has joined #ocaml
jaredly has quit [Client Quit]
AltGr has joined #ocaml
dwillems has joined #ocaml
seangrove has joined #ocaml
dwillems has quit [Ping timeout: 260 seconds]
_2can has joined #ocaml
lusory has quit [Quit: leaving]
TheLemonMan has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
zaquest has quit [Read error: Connection reset by peer]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
nivek has joined #ocaml
zaquest has joined #ocaml
martinkl_ has joined #ocaml
dhil has quit [Ping timeout: 244 seconds]
jaredly has joined #ocaml
jaredly has quit [Client Quit]
AltGr has left #ocaml [#ocaml]
companion_square has joined #ocaml
companion_square has quit [Client Quit]
kushal has joined #ocaml
seangrove has quit [Ping timeout: 260 seconds]
agarwal1975 has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
martinkl_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
martinkl_ has joined #ocaml
dhil has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBird_ has joined #ocaml
jaredly has joined #ocaml
jaredly has quit [Client Quit]
rgrinberg has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 244 seconds]
FreeBird_ has quit [Ping timeout: 244 seconds]
martinkl_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
nicoo has quit [Remote host closed the connection]
nicoo has joined #ocaml
catnaroek is now known as pyon
<beginner> i am trying to build ocaml from source msvc14 on windows 7 and ran into similar problems than this one http://caml.inria.fr/mantis/print_bug_page.php?bug_id=7263
<beginner> i applied the notes, but still have the same problems
seangrove has joined #ocaml
hcarty has joined #ocaml
jaredly has joined #ocaml
martinkl_ has joined #ocaml
dexterph has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
dexterph has joined #ocaml
seangrove has quit [Ping timeout: 258 seconds]
pierpa has joined #ocaml
unbalancedparen has joined #ocaml
nivek has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
seangrove has joined #ocaml
crass has joined #ocaml
crass has quit [Remote host closed the connection]
crass has joined #ocaml
crass has quit [Read error: Connection reset by peer]
copy` has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 260 seconds]
darkf has quit [Quit: Leaving]
abk has quit [Ping timeout: 246 seconds]
seangrove has quit [Remote host closed the connection]
seangrove has joined #ocaml
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
AltGr has joined #ocaml
shinnya has joined #ocaml
A1977494 has joined #ocaml
freusque has quit [Quit: WeeChat 1.4]
jaredly has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
noddy has joined #ocaml
thomasga has joined #ocaml
<hcarty> Drup: Regarding yesterday - sorry if I wasn't clear, but that was part of my point. Less experience is something of a virtue for a position like that because they'll more easily see things from a newcomer's perspective.
manizzle has quit [Ping timeout: 246 seconds]
sepp2k has joined #ocaml
theblatte has quit [Ping timeout: 244 seconds]
jonasen has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jeffmo has joined #ocaml
kushal has quit [Quit: Leaving]
jwatzman|work has quit [Quit: jwatzman|work]
dexterph has quit [Remote host closed the connection]
dexterph has joined #ocaml
thomasga has quit [Quit: Leaving.]
slash^ has joined #ocaml
sh0t has joined #ocaml
<sh0t> hi guys can you install menhir=20141215 with ocaml 4.03.0 ?
<sh0t> or is it just me who gets hygiene violations?
dr_toboggan has quit [Ping timeout: 244 seconds]
nivek has joined #ocaml
MercurialAlchemi has joined #ocaml
shinnya has quit [Ping timeout: 250 seconds]
<rgrinberg> sh0t: wasn't that an ocamlbuild issue?
<sh0t> I don't know really...
<sh0t> i am new to ocaml and to all its dev environment :)
<sh0t> is there a way to solve that?
<rgrinberg> Sure, use 4.02.3 :)
<sh0t> eh
AltGr has left #ocaml [#ocaml]
ygrek_ has joined #ocaml
<sh0t> i am trying to build a project whose readme specifically says to use 4.03.0
<sh0t> :)
<sh0t> indeed with 4.02.3 doesnt compile
yomimono has quit [Ping timeout: 246 seconds]
nivek has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<sh0t> what if i add -no-hygiene to the ocamlbduil command line in the Makefile?
ygrek_ has quit [Ping timeout: 244 seconds]
kushal has joined #ocaml
sh0t has quit [Quit: Leaving]
sh0t has joined #ocaml
benwbooth has joined #ocaml
noddy has quit [Quit: "it's a bit backwards around here"]
dexterph has quit [Ping timeout: 260 seconds]
jonasen has joined #ocaml
seangrove has quit [Ping timeout: 264 seconds]
kushal has quit [Quit: Leaving]
nivek has joined #ocaml
mncharity has joined #ocaml
Algebr` has joined #ocaml
<gasche> sh0t: have you contacted the maintainers of the problematic packages (Menhir, Why3)?
<gasche> if not, *why*?
hannes has quit [Remote host closed the connection]
<gasche> instead of spending time here finding work-arounds for just you, I would rather have *them* fix their stuff for you *and everyone else*
<gasche> it's *trivial* for François to fix the issue with Menhir versions on 4.03
<sh0t> yeah i have to...i had this problem yesterday and since i am very new i thought it was just be doing something wrong
<sh0t> *me
<gasche> (François may not be familiar with the workflow to add patches to existing releases on OPAM, on the other hand.)
<gasche> well
<gasche> I don't mean to criticize you, I understand that our 4.03 ecosystem sucks for beginners right now
<gasche> but the rule is
<gasche> if you do "opam install foo" and you get a compilation error, *someone else than you screwed up*
hannes has joined #ocaml
AltGr has joined #ocaml
<gasche> (if opam tells you that it cannot install that package, then it is fine)
<gasche> it may be the package author, it may be the people that wrote the packaging metadata
<sh0t> ok, so where should i report the bug?
<sh0t> :)
<sh0t> like on the menhir github page?
<gasche> hm
<gasche> do I understand correctly that you are actually trying to install why3?
<gasche> if yes, then you should contact the frama-C people I believe, and they would have to deal with the Menhir issue I guess
<gasche> err
<companion_cube> gasche: another possibility would be for opam maintainers to, after the grace period, add upper bounds on packages that still fail to compile on OWS
<gasche> sorry, the why3 people I meant
<companion_cube> if maintainers are alive, they would still be able to update and release a version compatible with the new release
<gasche> companion_cube: are you referring to my email?
<companion_cube> yes
<gasche> I think that was a possibility considered in the text , but maybe not clearly enough
<companion_cube> thatwould also mean that old versions of packages would become upper-bound automatically if they fail to compile
<companion_cube> I read it quickly tbh
<companion_cube> but the point is real, I was annoyed by Coq not compiling
<gasche> obviously I'm not interested in "we'll just upper-bound whenever we want to release", but upper-bounding during the grace period if you consider that properly fixing it is too hard is reasonable
<companion_cube> (and I have no idea why it fails)
<gasche> I fixed this yesterday
<gasche> it's just not in opam yet
<companion_cube> cool!
nivek has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<gasche> sh0t: I would first open an issue on https://github.com/ocaml/opam-repository/issues
<sh0t> yes gasche i want to install why3=0.86
tane has joined #ocaml
<sh0t> and it requires me to downgrade menhir...and then it fails
<gasche> and, at the same time, contact the maintainers of the package that you really want to use (menhir if it's really menhir, but why3 if you want why3), and point them to the issue
<sh0t> *why3-base
<gasche> let them deal with what to do (maybe get Menhir fixed, maybe support future Menhir versions)
<gasche> (in this case I see no reason for them not to easily support the 4.03-ready Menhir version)
<sh0t> ok :)
nivek has joined #ocaml
AltGr has left #ocaml [#ocaml]
<gasche> sh0t: feel free to cc: me in your meail
<gasche> ( gabriel.scherer at gmail )
<sh0t> ok thanks gasche
<sh0t> i thought i should use a bug/tracking system
<sh0t> in the inria page
<gasche> you can also use that if you find one :p
<gasche> or contact the why3 mailing-list directly
<gasche> do think of the opam-repository issue in parallel (that's were other people may look for if they encounter the same problem and wonder what's the status)
<gasche> companion_cube: if you agree with my email, feel free to indicate support in a reply :-)
<companion_cube> yes, indeed
<companion_cube> let me just read it more thoroughly
<hannes> gasche: wouldn't a sensible solution include that weather service / automated builds which find out package X does not work with OCaml-Y to open a PR on opam-repository?
<gasche> hannes: I would like a system that gives incentives to maintainers to fix the software
octachron has joined #ocaml
<gasche> if you make it too easy to add a version bound, you're just delaying the issue
<gasche> (it's still better as users get installation errors rather than compilation failure, but you still get a crippled 4.0x environment)
avsej has quit [Quit: Quit]
avsej has joined #ocaml
avsej has quit [Changing host]
avsej has joined #ocaml
mncharity has quit [Quit: Page closed]
ygrek_ has joined #ocaml
Kakadu has quit [Quit: Page closed]
nivek has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tane has quit [Ping timeout: 264 seconds]
copy` has quit [Quit: Connection closed for inactivity]
tane has joined #ocaml
seangrove has joined #ocaml
AllanDaemon has joined #ocaml
nivek has joined #ocaml
dexterph has joined #ocaml
agarwal1975 has quit [Ping timeout: 246 seconds]
agarwal1975 has joined #ocaml
Kakadu has joined #ocaml
octachron has quit [Quit: Leaving]
jonasen has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<hcarty> rgrinberg: cohttp and ppx_deriving(_yojson) do not seem to be co-installable under 4.03.0
<rgrinberg> hcarty: hmm, so there's a conflict? I've checked cohttp alone on 4.03 btw and it worked
<hcarty> Something in the dependency chain is forcing an older version of ppx_deriving which is not compatible with 4.03.0
<rgrinberg> ppx_sexp_conv requires ppx_deriving < 4.0 at this point
<rgrinberg> So I guess the latest deriving is broken against all ppx_type_conv packages
<hcarty> But the issue does seem to be a conflict between one of the Jane St packages and ppx_deriving
<rgrinberg> hcarty: that's b/c it's a ppx_type_conv issue
<rgrinberg> no need to put the conflict on the individual plugins
<hcarty> Ah, thanks
<hcarty> Well that sucks
<rgrinberg> It should be a trivial fix I think. AFAIK it's just that ppx_deriving's new support for deriving on module types
<rgrinberg> changes the signature of derivers
<rgrinberg> if you have an hour to kill and want to fix it...
<hcarty> Will Jane St accept external contributions? I haven't followed their external interactions on something like this before
<rgrinberg> they would if diml is around. Possibly trefis as well?
Sorella has joined #ocaml
AllanDaemon has quit [Ping timeout: 246 seconds]
<hcarty> Realistically I'd love to fix it but don't have the hour to kill...
<hcarty> flambda will have to wait til another day
Denommus has joined #ocaml
martinkl_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Algebr`> it sucks, i kept getting that ppx_sexp_conv error all day
<rgrinberg> Algebr`: i fixed the constraints yesterday
<Algebr`> ah, will try now again
<rgrinberg> You should at least stop getting build errors now
malc_ has joined #ocaml
edwin has quit [Ping timeout: 244 seconds]
edwin has joined #ocaml
ncthom91 has joined #ocaml
dhil has quit [Ping timeout: 244 seconds]
ahf has quit [Ping timeout: 244 seconds]
pitastrudl has quit [Ping timeout: 244 seconds]
pitastrudl has joined #ocaml
ahf has joined #ocaml
dhil has joined #ocaml
martinkl_ has joined #ocaml
Algebr` has quit [Read error: Connection reset by peer]
nivek has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Algebr` has joined #ocaml
agarwal1975 has quit [Quit: agarwal1975]
martinkl_ has quit [Client Quit]
agarwal1975 has joined #ocaml
copy` has joined #ocaml
Denommus` has joined #ocaml
Denommus has quit [Ping timeout: 244 seconds]
slash^ has quit [Remote host closed the connection]
Denommus` is now known as Denommus
pierpa` has joined #ocaml
pierpa has quit [Ping timeout: 244 seconds]
tane has quit [Quit: Leaving]
cpitclaudel has joined #ocaml
cpitclaudel has quit [Client Quit]
clement` has joined #ocaml
tane has joined #ocaml
<clement`> Is there a way to use OPAM with a modified version of a dependency? Say I have two packages Main and Dep; Main depends on Dep, and I want to compile Main against my (in-development) fork of Dep. Main has other dependencies, which I don't need to touch. Can I use OPAM to manage the other dependencies an recompile Main as I edit Dep? Or should I install everything manually?
<hcarty> clement`: "opam pin add dep --dev-repo" or "opam pin add dep <path/url to dep's repository or code>"
<hcarty> clement`: "opam pin" allows you to point opam to a specific version or instance of a package
<clement`> hcarty: Thanks! With that solution I'll have to do a full uninstall/reinstall of Main every time I modify Dep, though, right? Also, can I point pin to a folder on my machine?
<gasche> sh0t: thanks for the report; to quote text verbatim, use ``` on its own line before the text, and again ``` after it
<gasche> (three backquotes)
martinkl_ has joined #ocaml
<gasche> clement`: in this situation I use the package's install script directly when I want to reinstall it without reinstalling its dependencies, and `opam reinstall dep` when I do want to reinstall its dependencies
<hcarty> clement`: And yes, you can pin to a local directory, or a local git repository
<hcarty> Or a particular branch or tag in that repository
<clement`> gasche, hcarty: I see. So essentially I clone Main and build it locally, and I clone Dep separately; then I use opam pin to use the clone of Dep as the install source for Dep. Finally every time I want to test Main with Dep I opam update Dep and I build Main manually. Is that right?
<hcarty> clement`: If you're modifying Dep and Main, then yes
<hcarty> clement`: If there is an existing version of Dep that you want to point to (ex. git master on github for Dep) then you can pin directly to that remote source
<hcarty> Without needing to create a local clone
<clement`> hcarty: I'm modifying Dep, not Main
<clement`> The reason for cloning main as well was that I thought recompiling Main in full through OPAM would be slower than recompiling it manually.
TheLemonMan has joined #ocaml
dhil has quit [Ping timeout: 272 seconds]
<gasche> I see no reason why
<gasche> well
<gasche> actually I do; recompiling can reuse build products
<gasche> good point
<gasche> (is there an option in opam to reuse previous build directories? I understand why it's not the default as starting from a clean slate is more robust)
<clement`> gashe: Exactly; most of the code in Main is orthogonal to Dep, so it wouldn't have to be rebuilt.
Algebr` has quit [Ping timeout: 250 seconds]
MercurialAlchemi has quit [Ping timeout: 244 seconds]
malc_ has quit [Quit: ERC (IRC client for Emacs 25.0.50.2)]
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<gasche> clement`: so opam has a --keep-build-dir option but I just tried and it actually still swipes it at reinstallation time; I'll open an issue
tane has quit [Quit: Leaving]
<hcarty> clement`: If you pin a directory I think it uses the directory as-is by default
<hcarty> Which can cause strange issues
<hcarty> with builds
<clement`> gasche, Neat, thanks for checking.
nivek has joined #ocaml
<clement`> hcarty, gasche: Thanks; this discussion was very helpful!
<gasche> ( clement` : I would be happy to credit you directly if you have a name or github username I can use )
<clement`> @cpitclaudel ; thanks!
<gasche> ah...
<gasche> this brat again :-'
<gasche> done
<hcarty> gasche: brat?
mncharity has joined #ocaml
clement` has quit [Quit: Leaving]
<gasche> an internal joke I should have avoided, sorry
martinkl_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rand__ has quit [Quit: leaving]
hcarty has quit [Ping timeout: 246 seconds]
<mncharity> I would like to find a language a saw recently. I recall it as a small, active project. An ocaml transpiler. Basically
<mncharity> ocaml with historical rough edges polished smooth.
<mncharity> Any thoughts?
<companion_cube> "reason"
d0nn1e has quit [Ping timeout: 240 seconds]
<mncharity> Yay. My thanks.
d0nn1e has joined #ocaml
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
dexterph has quit [Ping timeout: 258 seconds]
AltGr has joined #ocaml
k1000 has quit [Ping timeout: 264 seconds]
k1000 has joined #ocaml
<sh0t> hi gasche no problem. But where did I have to quote verbatim? Or is it a generic suggestion? :)
ncthom91 has joined #ocaml
ncthom91 has quit [Client Quit]
sh0t has quit [Ping timeout: 250 seconds]
nojb_ has quit [Ping timeout: 276 seconds]
pierpa` is now known as pierpa
mncharity has quit [Quit: Page closed]
agarwal1975 has quit [Quit: agarwal1975]
sh0t has joined #ocaml
sdothum has quit [Read error: Connection reset by peer]
sdothum has joined #ocaml
yunxing_ has joined #ocaml
nivek has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Kakadu has quit [Remote host closed the connection]
rgrinberg has quit [Ping timeout: 246 seconds]
darkf has joined #ocaml
<gasche> sh0t: you copy-pasted the error message and the markup interpretation of it is rather terrible
<gasche> but nothing world-breaking, don't worry
<sh0t> oh thanks!
<sh0t> ok
<gasche> (on the ocaml/ repo I would edit directly to add the quoting, but I don't have edit rights on opam-repository)
manizzle has joined #ocaml
Simn has quit [Quit: Leaving]
sepp2k has quit [Quit: Leaving.]
Sorella has quit [Quit: Connection closed for inactivity]
AltGr has left #ocaml [#ocaml]
<sh0t> yeah gasche done :) i didnt notice how horrible that looked like
Sorella has joined #ocaml
bruce_r has joined #ocaml
<bruce_r> seliopou: when I try to run 'opam install aws', I get this error message back
<bruce_r> [ERROR] The compilation of aws failed at "ocaml setup.ml -configure --prefix /home/bruce/.opam/4.02.1 --enable-lwt --disable-async".
<bruce_r> Any idea what is going on?
hay207 has joined #ocaml
madroach has quit [Ping timeout: 244 seconds]
<bruce_r> OK it's not exactly that. If I run 'opam install aws' from scratch, that works, but if I try to pin it, it tells me it needs to be reinstalled, and that's where it fails.
<bruce_r> It's my first time using pin, I'm not too confident what it's doing
madroach has joined #ocaml
<bruce_r> Forgot to mention that the reason why it fails is that it cannot find setup.ml
bruce_r has quit [Ping timeout: 250 seconds]
rgrinberg has joined #ocaml