adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org and http://caml.inria.fr | http://ocaml.org/releases/4.02.0.html | Public channel logs at http://irclog.whitequark.org/ocaml
badon_ is now known as badon
badon is now known as badon_
avsm has quit [Quit: Leaving.]
avsm has joined #ocaml
avsm has quit [Client Quit]
badon_ is now known as badon__
badon__ is now known as badon___
badon___ is now known as badon
badon is now known as badon_
travisbrady has quit [Quit: travisbrady]
claudiuc has quit [Remote host closed the connection]
claudiuc has joined #ocaml
badon_ is now known as badon
claudiuc has quit [Ping timeout: 245 seconds]
claudiuc has joined #ocaml
claudiuc has quit [Remote host closed the connection]
claudiuc has joined #ocaml
sh1ken has joined #ocaml
madroach has quit [Ping timeout: 250 seconds]
madroach has joined #ocaml
seanmcl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
jonludlam has quit [Quit: Coyote finally caught me]
BitPuffin has joined #ocaml
NoNNaN has quit [Remote host closed the connection]
NoNNaN has joined #ocaml
badon has quit [Quit: Leaving]
btrace_ has quit [Quit: Leaving]
btrace has joined #ocaml
sh1ken has quit [Ping timeout: 255 seconds]
badon has joined #ocaml
sh1ken has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest91936
badon has quit [Remote host closed the connection]
jwatzman|work has quit [Quit: jwatzman|work]
Guest91936 has quit [Ping timeout: 255 seconds]
badkins has quit [Read error: Connection reset by peer]
badon has joined #ocaml
darkf has joined #ocaml
seanmcl has joined #ocaml
manud_ has joined #ocaml
ygrek has joined #ocaml
seanmcl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
manud_ has quit [Ping timeout: 255 seconds]
manud_ has joined #ocaml
seanmcl has joined #ocaml
seanmcl has quit [Client Quit]
tg has quit [Ping timeout: 265 seconds]
MrScout_ has joined #ocaml
MrScout has quit [Ping timeout: 240 seconds]
MrScout_ has quit [Ping timeout: 244 seconds]
hugomg has quit [Ping timeout: 265 seconds]
badon has quit [Quit: Leaving]
tg has joined #ocaml
girrig has quit [Ping timeout: 250 seconds]
girrig has joined #ocaml
badon has joined #ocaml
q66 has quit [Quit: Leaving]
badkins has joined #ocaml
emery has quit [Ping timeout: 250 seconds]
Submarine has quit [Remote host closed the connection]
badon has quit [Quit: Leaving]
badon has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest90181
manizzle has quit [Ping timeout: 265 seconds]
emery has joined #ocaml
Guest90181 has quit [Ping timeout: 272 seconds]
shinnya has quit [Ping timeout: 245 seconds]
struktured_ has joined #ocaml
<struktured_> if your program requires omake or oasis or whatever build system to install, should it be listed somewhere in opam ?
<whitequark> yes
<whitequark> as a dependency
<whitequark> "oasis" {build}
<struktured_> ok, thanks
BitPuffin has quit [Ping timeout: 244 seconds]
<ygrek> NB {build} is 1.2 feature
<struk> ygrek: no problem, thanks for fyi
<whitequark> there was some script for installing opam .install files without opam
<whitequark> what was it?
<ygrek> opam-installer?
<whitequark> yes, maybe
<whitequark> where is it located even?
samrat has joined #ocaml
<ygrek> nope, cannot find %)
<ygrek> actually it is installed with opam
<ygrek> so that's not a script
ggole has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
badkins has quit []
manud_ has quit [Quit: Lingo: www.lingoirc.com]
mcclurmc has joined #ocaml
Submarine has joined #ocaml
siddharthv_away is now known as siddharthv
samrat has quit [Quit: Computer has gone to sleep.]
cesar_ has joined #ocaml
cesar_ is now known as Guest86076
Guest86076 has quit [Ping timeout: 244 seconds]
mcclurmc has quit [Remote host closed the connection]
Submarine has quit [Ping timeout: 245 seconds]
ygrek has quit [Ping timeout: 255 seconds]
* ggole tries and fails to understand merlin internals
Submarine has joined #ocaml
<whitequark> it's magic
samrat has joined #ocaml
MercurialAlchemi has joined #ocaml
<ggole> Some of the naming is baffling
<ggole> Buffer.is_implementation
<ggole> Then when you look up the definition, it... compares something to 22.
<whitequark> lol
<ggole> I give up. I'll wait for def to turn up again.
larhat has joined #ocaml
<MercurialAlchemi> ggole: magic number?
<ggole> Generated by menhir, I think
ygrek has joined #ocaml
nojb has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest44238
Guest44238 has quit [Ping timeout: 258 seconds]
nojb has quit [Quit: nojb]
chambart has joined #ocaml
govg has joined #ocaml
pyon has quit [Quit: Know your place, 3D woman!]
jgjl has joined #ocaml
badon has quit [Ping timeout: 250 seconds]
octachron has joined #ocaml
nojb has joined #ocaml
arj has joined #ocaml
jgjl has quit [Quit: Textual IRC Client: www.textualapp.com]
badon has joined #ocaml
enitiz has quit [Ping timeout: 272 seconds]
thomasga has joined #ocaml
nojb has quit [Quit: nojb]
mcclurmc has joined #ocaml
mcclurmc has quit [Ping timeout: 264 seconds]
aubergines has joined #ocaml
samuel02 has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest33568
Guest33568 has quit [Ping timeout: 272 seconds]
Necrosporus has joined #ocaml
Submarine has quit [Remote host closed the connection]
<Necrosporus> Seems like OCaml does not support UTF-8. Is it going to stat to?
<Necrosporus> For example "unicode string".[index] returns incorrect results
<whitequark> short answer: no
<whitequark> opam install uutf uucd
<MercurialAlchemi> does the Opam server store the actual sources anywhere?
<MercurialAlchemi> (sources of its packages, that is)
<whitequark> I think it mirrors the package sources somehow
<MercurialAlchemi> good
oscar_toro has joined #ocaml
<MercurialAlchemi> not that I'm likely to put anything OCaml in production anytime soon, but the idea of having a deployment work only as long as a bunch of random people's servers are up would be scary
Necrosporus has quit [Quit: Leaving]
<whitequark> I think there is some planned way to enable offline installs, which can also be used for deployment
<MercurialAlchemi> whitequark: you mean cache sources on the disk?
<MercurialAlchemi> sounds like a good idea
<whitequark> well, more like export all sources on request
<whitequark> and import them on another machine
<MercurialAlchemi> mm
<MercurialAlchemi> I suppose that's something already
<whitequark> er, I phrased that badly
<whitequark> all sources required for a particular "opam install", I mean
<whitequark> you can mirror repositories trivially right now
<flux> is there a way to mirror all of opam trivially?
<whitequark> clone opam-repository; opam admin make
chambart has quit [Ping timeout: 264 seconds]
pierpa` has quit [Ping timeout: 240 seconds]
pierpa has quit [Ping timeout: 240 seconds]
<MercurialAlchemi> ah, I think my opam version is a bit old and doesn't do 'opam admin'
<flux> whitequark, great! can I somehow tell opam to use that as a mirror/fallback?
<flux> and updating us just a matter of doing git pull and opam admin make again?
<whitequark> flux: fallback, I don't think os
<whitequark> *so
<whitequark> you can update it via a cronjob or something
* MercurialAlchemi mutters darkly about Windows in general and .Net projects where 'dependency management' consists of vendored binary blobs probably downloaded from p0wnd.com
ocp has joined #ocaml
<whitequark> nuget?
<MercurialAlchemi> you wish
<MercurialAlchemi> but no, vendored binary blobs it is
<whitequark> "binary blobs"
<MercurialAlchemi> at the same time, when the way to make a fresh version of the database is "extract the schema from the dev database", I guess you shouldn't be too surprised
<whitequark> it's like "objective ocaml"
<MercurialAlchemi> true
<MercurialAlchemi> that said, it almost wasn't, I started writing 'binary blogs'
<flux> and apparently I can modify .opam/repo/default/config to point to my mirror
<whitequark> flux: huh?
<whitequark> opam repo remove default; opam repo add default yourrepo
<whitequark> or even just
<whitequark> opam repo set-url default yourrepo
<flux> ah, yes :)
chambart has joined #ocaml
<flux> so apparently the repos have priorities. I can just have mine be the top priority one and if it's not found there, opam.ocaml.org would be used?
<flux> but it doesn't yet try to retrieve from other repos if one fails to serve it?
<whitequark> I don't think it ever will, this is not the reason for priorities to exist
<whitequark> rather it is to allow you to override packages with your own versions
rand000 has joined #ocaml
vogler has quit [Quit: WeeChat 1.0.1]
ikaros has joined #ocaml
avsm has joined #ocaml
Simn has joined #ocaml
ygu has quit [Ping timeout: 255 seconds]
cesar_ has joined #ocaml
cesar_ is now known as Guest39624
munga has joined #ocaml
chambart has quit [Ping timeout: 244 seconds]
<Unhammer> how do I get eliom to "support a user service parameter on client side"?
Guest39624 has quit [Ping timeout: 244 seconds]
<Unhammer> http://ocsigen.org/eliom/manual/server-params#h5o-3 doesn't say what is required :(
bezirg has joined #ocaml
_andre has joined #ocaml
govg has quit [Ping timeout: 240 seconds]
jonludlam has joined #ocaml
larhat has quit [Quit: Leaving.]
nojb has joined #ocaml
zpe has joined #ocaml
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
govg has joined #ocaml
munga has quit [Quit: Ex-Chat]
mort___ has joined #ocaml
chambart has joined #ocaml
q66[lap] has quit [Read error: Connection reset by peer]
q66[lap] has joined #ocaml
govg has quit [Ping timeout: 264 seconds]
govg has joined #ocaml
avsm has quit [Quit: Leaving.]
thomasga has quit [Quit: Leaving.]
aubergines has quit [Quit: leaving]
aubergines has joined #ocaml
thomasga has joined #ocaml
samuel02 has quit [Read error: Connection reset by peer]
samuel02 has joined #ocaml
samuel02 has quit [Read error: Connection reset by peer]
thomasga has quit [Client Quit]
larhat has joined #ocaml
seanmcl has joined #ocaml
ygrek has quit [Ping timeout: 264 seconds]
govg has quit [Ping timeout: 250 seconds]
seanmcl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
rks`_ has quit [Quit: leaving]
govg has joined #ocaml
barth has joined #ocaml
avsm has joined #ocaml
<barth> Hello ! I've one question. In an expression containing several user defined infix operators and without parenthesing, the order of their evaluation is it specified ? For exemple in "a op1 b op2 c".
<whitequark> I believe it is not, given they have the same precedence
<whitequark> and e.g. +. and +* will have the same one
samuel02 has joined #ocaml
<barth> Ok. So, for operators with same precedence their is no rules as "left to right", like for division : a / b / c = (a / b) / c ?
<whitequark> no
<whitequark> order is undefined
<barth> Ok thanks.
choeger_tu has joined #ocaml
<choeger_tu> hey there. does anyone know how to use a ppx extension (in particular ppx_deriving) from inside utop?
seanmcl has joined #ocaml
<choeger_tu> I only get syntax errors:
<choeger_tu> type t =
<choeger_tu> | Leaf of int
<choeger_tu> | Node of t list
<choeger_tu> [@@deriving show]
<choeger_tu> Error: Parse error: ";;" expected after [str_item] (in [top_phrase])
cesar_ has joined #ocaml
<whitequark> choeger_tu: you need to disable camlp4
cesar_ is now known as Guest19443
<whitequark> in particular sexplib and core require camlp4; you cannot use ppx_deriving together with those
<whitequark> and a few other libraries as well
<choeger_tu> so, since utop requires core, I cannot use utop with ppx_deriving?
<whitequark> utop does not!
<choeger_tu> oh, you are right. I supposed so, because it was featured in "Real world ocaml"
seanmcl has quit [Ping timeout: 265 seconds]
<choeger_tu> so how do I disable camlp4?
samrat has quit [Quit: Computer has gone to sleep.]
bezirg has quit [Ping timeout: 244 seconds]
<whitequark> don't enable it :]
<whitequark> you probably have something that pulls it in in ~/.ocamlinit
<whitequark> like #require "core";; or #camlp4o;;
dsheets has joined #ocaml
<choeger_tu> indeed
<choeger_tu> thanks
Guest19443 has quit [Ping timeout: 245 seconds]
siddharthv is now known as siddharthv_away
ebzzry_ has joined #ocaml
ebzzry has quit [Read error: Connection reset by peer]
<flux> barth, whitequark, hmm, I think you were talking about different issues. whitequark probably meant that the order in which the expressions are evaluated is not defined (ie. if they have side effects, it is undefined in which order the side effects are performed), but the order in which the operators are applied is defined here: http://caml.inria.fr/pub/docs/manual-ocaml/expr.html
<flux> so 1 / 2 / 3 = (1 / 2) / 3 in ocaml always, because / is left-associative
<whitequark> oh, that is true
<Drup> hey barth :)
<Drup> actively working on Coq now ? :)
chambart has quit [Ping timeout: 265 seconds]
hugomg has joined #ocaml
<barth> I've just seen that associativity is defined by the first operator's letter. But the manual don't speak about '$' ...
<flux> it does
<flux> it's in the =... <... >... |... &... $... != list
BitPuffin has joined #ocaml
rand000 has quit [Quit: leaving]
<barth> Yes, sorry, not where i've looked first.
<choeger_tu> whitequark: how do I specify a custom equality function for a type that appears on the rhs of an algebraic datatype?
<flux> choeger_tu, you cannot define custom equality operator for values that are not defined in C
<choeger_tu> talking about ppx_deriving
<flux> oh ;-)
<flux> was wondering why you were writing specifically to whitequark ;)
<Drup> choeger_tu: https://github.com/whitequark/ppx_deriving#plugins-eq-and-ord look the second example
<choeger_tu> Drup: the second example uses a record, where the annotation is (sensibly) bound to the field in question
<Drup> it's the same for a variant constructor
BitPuffin has quit [Ping timeout: 250 seconds]
<choeger_tu> gives me a syntax errr
enitiz has joined #ocaml
<Drup> iirc, you need to attach the extension to the Constructor's name
<Drup> Named [@equal fun e1 e2 -> equal_expression e1 e2]
<Drup> whitequark: can you confirm ?
BitPuffin has joined #ocaml
<choeger_tu> hmm okay, but this does not seem to override the generated equal_foo functions
<choeger_tu> my use case is, I have three recursive ADTs, expr, model_expr and model_field
<choeger_tu> expr contains Parsetree.expression
<choeger_tu> and I want to derive eq for model_expr while using a custom equality for expr
govg has quit [Ping timeout: 255 seconds]
govg has joined #ocaml
nojb has quit [Quit: nojb]
govg has quit [Quit: leaving]
govg has joined #ocaml
BitPuffin has quit [Ping timeout: 245 seconds]
chambart has joined #ocaml
govg has quit [Quit: leaving]
samuel02 has quit [Read error: Connection reset by peer]
samuel02 has joined #ocaml
BitPuffin has joined #ocaml
arj1 has joined #ocaml
arj has quit [Ping timeout: 240 seconds]
ollehar has joined #ocaml
hugomg has quit [Remote host closed the connection]
ollehar has quit [Quit: ollehar]
ollehar has joined #ocaml
govg has joined #ocaml
thomasga has joined #ocaml
demonimin has quit [Ping timeout: 265 seconds]
demonimin has joined #ocaml
hugomg has joined #ocaml
AltGr has left #ocaml [#ocaml]
<Leonidas> barth: what '$'?
<Leonidas> ($);;
<Leonidas> Error: Unbound value $
demonimin has quit [Ping timeout: 264 seconds]
govg has quit [Quit: leaving]
w0rp has quit [Remote host closed the connection]
demonimin has joined #ocaml
<flux> let ($) a b = a b
nojb has joined #ocaml
w0rp has joined #ocaml
<companion_cube> the standard is now (@@), as defined in Pervasives
<flux> an interesting point comes to mind: using $ was looked down because it was used for campl4 for anti?quotations
<flux> but as campl4 is now on its way out, perhaps $ could find actual uses? alternatively, maybe ppx stuff could find nice use for it.
<flux> iirc @@ has nicer predecence properties than $, though, so better to use that, and as companion_cube said, it's the standard
samuel02 has quit [Remote host closed the connection]
bezirg has joined #ocaml
<MercurialAlchemi> flux: I can always find use for a few $
cesar_ has joined #ocaml
cesar_ is now known as Guest11623
samrat has joined #ocaml
jbalnit has quit [Remote host closed the connection]
Guest11623 has quit [Ping timeout: 255 seconds]
jbalnit has joined #ocaml
<Leonidas> flux: my point was that the manual does not specify any precedence of operators starting with $ is because the compiler does not ship with any such operators.
<flux> leonidas, but the manual -does- specify the precedence of such operators, because you cannot define them in program code..
<flux> you cannot define the precedence that is
<flux> you can define $, and for them to work in a predictable manner, a precedence must be defined
slash^ has joined #ocaml
zwer_v has joined #ocaml
<Leonidas> flux: oh, you are right. I compretely missed thr $… part.
<Leonidas> *completely
seanmcl has joined #ocaml
zwer has quit [Ping timeout: 250 seconds]
Sim_n has joined #ocaml
choeger_tu has quit [Ping timeout: 272 seconds]
Simn has quit [Ping timeout: 272 seconds]
Haudegen has quit [Remote host closed the connection]
Haudegen has joined #ocaml
Haudegen is now known as Guest49092
esden has quit [Ping timeout: 272 seconds]
Thooms has joined #ocaml
emmanueloga has quit [Ping timeout: 272 seconds]
mort___ has quit [Ping timeout: 272 seconds]
manud has quit [Ping timeout: 272 seconds]
mort___ has joined #ocaml
mrpantou1le has quit [Ping timeout: 272 seconds]
mrpantoufle has joined #ocaml
emmanueloga_ has joined #ocaml
travisbrady has joined #ocaml
esden has joined #ocaml
manud has joined #ocaml
pyon has joined #ocaml
Guest49092 is now known as Haudegen
zwer_v_r has joined #ocaml
zwer_v has quit [Remote host closed the connection]
yomimono has joined #ocaml
ygrek has joined #ocaml
Hannibal_Smith has joined #ocaml
samuel02 has joined #ocaml
shinnya has joined #ocaml
oscar_toro has quit [Ping timeout: 244 seconds]
<Leonidas> ok, merlin *is* pretty amazing to get into an existing ocaml codebase
zwer_v_r has quit [Remote host closed the connection]
tani has joined #ocaml
zwer_v_r_h has joined #ocaml
samuel02 has quit [Ping timeout: 264 seconds]
chambart has quit [Ping timeout: 240 seconds]
chambart has joined #ocaml
mcclurmc has joined #ocaml
badkins has joined #ocaml
bytbox has joined #ocaml
darkf has quit [Quit: Leaving]
lordkryss has joined #ocaml
ollehar has quit [Ping timeout: 256 seconds]
jbalnit has quit [Quit: Leaving.]
samuel02 has joined #ocaml
ikaros has quit [Quit: Ex-Chat]
travisbrady has quit [Quit: travisbrady]
travisbrady has joined #ocaml
jbalnit has joined #ocaml
barth has quit [Ping timeout: 246 seconds]
cesar has joined #ocaml
cesar is now known as Guest76423
Guest76423 has quit [Ping timeout: 245 seconds]
travisbrady has quit [Quit: travisbrady]
travisbrady has joined #ocaml
ygrek has quit [Ping timeout: 245 seconds]
struk has quit [Ping timeout: 258 seconds]
ocp has quit [Ping timeout: 245 seconds]
Hannibal_Smith has quit [Ping timeout: 265 seconds]
mort___ has quit [Remote host closed the connection]
MercurialAlchemi has quit [Remote host closed the connection]
demonimin has quit [Remote host closed the connection]
demonimin has joined #ocaml
zwer_v_r_h is now known as zwer
MercurialAlchemi has joined #ocaml
ygrek has joined #ocaml
ollehar has joined #ocaml
Sim_n is now known as Simn
Thooms has quit [Quit: WeeChat 1.0.1]
oscar_toro has joined #ocaml
avsm has quit [Quit: Leaving.]
kakadu has joined #ocaml
octachron has quit [Quit: Leaving]
travisbrady has quit [Quit: travisbrady]
nojb has quit [Ping timeout: 264 seconds]
travisbrady has joined #ocaml
WraithM has quit [Quit: Lost terminal]
WraithM has joined #ocaml
badkins has quit [Remote host closed the connection]
samuel02 has quit [Remote host closed the connection]
choeger_tu has joined #ocaml
ygrek has quit [Ping timeout: 265 seconds]
chambart has quit [Ping timeout: 245 seconds]
choeger_tu has quit [Quit: choeger_tu]
mcclurmc_ has joined #ocaml
cesar has joined #ocaml
mcclurmc has quit [Ping timeout: 240 seconds]
cesar is now known as Guest91808
aubergines has quit [Quit: leaving]
madroach has quit [Ping timeout: 250 seconds]
<dmbaturin> Drup: What is https://github.com/Drup/No. for?
madroach has joined #ocaml
hugomg has quit [Remote host closed the connection]
Guest91808 has quit [Ping timeout: 240 seconds]
marchelzo_ has joined #ocaml
zpe has quit [Remote host closed the connection]
<struktured> dmbaturin: it's an MIT license. make a fork and rename to it project Yes, in the spirit of the dividing communities :)
marchelzo_ has left #ocaml [#ocaml]
<dmbaturin> struktured: I think the license is wrong and a No Public License invented specifically for this project would be better. :)
octachron has joined #ocaml
<struktured> dmbaturin:Gno public license ?
<dmbaturin> This is an option too.
yomimono has quit [Ping timeout: 240 seconds]
larhat has quit [Quit: Leaving.]
hugomg has joined #ocaml
<ollehar> sorry, spam
<Armael> : D
hugomg has quit [Client Quit]
jonludlam has quit [Ping timeout: 240 seconds]
Hannibal_Smith has joined #ocaml
badkins has joined #ocaml
Necrosporus has joined #ocaml
<Necrosporus> What am I doing wrong? http://pastebin.com/kx85Bws0
MrScout has joined #ocaml
q66 has joined #ocaml
<dmbaturin> Necrosporus: Hard to tell without knowing what you expect.
<Necrosporus> I expect 3412 and got 0402
<dmbaturin> From what looks like a mistake to me: let empty str = 0;; loses its argument.
<Necrosporus> It should output 0 for every argument
<whitequark> Drup: gr, he quit
<dmbaturin> Necrosporus: You want to make a purely functional dict, right?
<Necrosporus> yes
ollehar has quit [Quit: ollehar]
<dmbaturin> Necrosporus: Do you want the dict[1234[ values to be functions?
octachron has quit [Ping timeout: 255 seconds]
<Necrosporus> dmbaturin, http://pastebin.com/TH3qsxMb
MrScout has quit [Remote host closed the connection]
MrScout has joined #ocaml
samuel02 has joined #ocaml
travisbrady has quit [Quit: travisbrady]
MrScout_ has joined #ocaml
MrScout has quit [Read error: No route to host]
<ggole> Necrosporus: key where you want key', I think
<dmbaturin> Necrosporus: Ok, now I see how you see it will work. "dict key" should be "dict key'"
<dmbaturin> Missed prime.
<Necrosporus> Thank you
<dmbaturin> Necrosporus: Where is the exercise from?
<dmbaturin> Just curios.
arj1 has quit [Ping timeout: 256 seconds]
pierpa` has joined #ocaml
pierpa has joined #ocaml
<dmbaturin> "This draft may be used until the time the book appears in print". Did it ever appear in print? If it's not to be redistributed why it's on a public server? :)
kdef has joined #ocaml
samuel02 has quit [Ping timeout: 240 seconds]
MrScout_ is now known as MrScout
<Necrosporus> I have no idea, but the book is mentioned in ocaml.org
mcclurmc_ has quit [Ping timeout: 264 seconds]
<dmbaturin> Well, it's a question for everyone who may know, not just for you. :)
hugomg has joined #ocaml
ben_ has joined #ocaml
benself has joined #ocaml
<benself> Having trouble building ocaml - ./configure worked fine, but when I did "make world" I get the error "Makefile:869: .depend: No such file or directory make: *** No rule to make target `.depend'. Stop."
mcclurmc has joined #ocaml
<benself> any help would be appreciated. Tried googling the error and didn't find much
bytbox has quit [Remote host closed the connection]
<struktured> benself: do you have to build it manually?
<benself> Not necessarily. I just figured that was the best way to go
<benself> I'm on Mac OS X
arj has joined #ocaml
<benself> Maybe I should try the OPAM thing?
<whitequark> yes
<struktured> benself: https://ocaml.org/docs/install.html see the mac section
<benself> Okay, I'll give that a shot. Thanks very much
travisbrady has joined #ocaml
arj has quit [Ping timeout: 265 seconds]
Muzer has quit [Excess Flood]
badon has quit [Ping timeout: 250 seconds]
Muzer has joined #ocaml
<dmbaturin> For OS X there's a binary package/
<struktured> any lwt-async maintainers here? got a few questions
arj has joined #ocaml
<whitequark> no
<whitequark> it' just diml
<struktured> whitequark: trying to figure out how big the divide between latest lwt (with ppx) and lwt-async. Pretty sures it fairly outdated.
arj has quit [Ping timeout: 245 seconds]
chambart has joined #ocaml
jwatzman|work has joined #ocaml
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
<whitequark> yes
<struktured> also, I imagine this is difficult, but would be nice if lwt-async and lwt depended on some shared lib
<whitequark> probably not going to happen
arj has joined #ocaml
psy_ has quit [Quit: Leaving]
tani has quit [Quit: Verlassend]
psy_ has joined #ocaml
octachron has joined #ocaml
<struktured> whitequark: because it's too dificult or no one cares enough, or both?
arj has quit [Ping timeout: 245 seconds]
<flux> I'm going with b
<flux> well, I suppose it would be a big job to do
<flux> for not that much benefit.
cesar_ has joined #ocaml
cesar_ is now known as Guest30724
<whitequark> yea
Necrosporus has quit [Quit: Leaving]
<struktured> I really feel kinda dead in the water If I ever wanted to run an ocaml process with both lwt and async. sigh
manizzle has joined #ocaml
<flux> two threads and.. :)
<struktured> the .. is the scary part :)
Guest30724 has quit [Ping timeout: 255 seconds]
<flux> but I think they should, if they haven't, make it possible to integrate with other runloops
<struktured> flux: yeah that would be adequate for a while
<flux> like how nice it was to integrate curl to work with glib
<flux> but what does lwt-async do? I haven't looked.
tane has joined #ocaml
<struktured> flux: its just a fork of lwt using the async scheduler, afaik. Got it compile to today with 4.02.1+ but the code base is definitely about a year beyind
hugomg has quit [Ping timeout: 264 seconds]
dsheets has quit [Ping timeout: 256 seconds]
typedlambda has quit [Ping timeout: 250 seconds]
bytbox has joined #ocaml
benself has quit [Ping timeout: 246 seconds]
hugomg has joined #ocaml
WraithM has quit [Quit: leaving]
arj has joined #ocaml
typedlambda has joined #ocaml
jao has quit [Ping timeout: 264 seconds]
arj has quit [Ping timeout: 240 seconds]
avsm has joined #ocaml
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
avsm has quit [Client Quit]
lordkryss has quit [Quit: Connection closed for inactivity]
thomasga has quit [Quit: Leaving.]
thomasga has joined #ocaml
thomasga has quit [Client Quit]
_andre has quit [Quit: leaving]
bezirg has quit [Ping timeout: 265 seconds]
arj has joined #ocaml
samuel02 has joined #ocaml
badon has joined #ocaml
arj has quit [Ping timeout: 240 seconds]
bytbox has quit [Remote host closed the connection]
samrat has quit [Quit: Computer has gone to sleep.]
bytbox has joined #ocaml
mcclurmc_ has joined #ocaml
atondwal has joined #ocaml
mcclurmc has quit [Ping timeout: 244 seconds]
badkins_ has joined #ocaml
abbe is now known as thijk
thijk is now known as abbe
badkins has quit [Ping timeout: 245 seconds]
atondwal has left #ocaml [#ocaml]
samuel02 has quit [Remote host closed the connection]
lordkryss has joined #ocaml
samuel02 has joined #ocaml
ggole has quit []
Submarine has joined #ocaml
Submarine has joined #ocaml
octachron has quit [Quit: Leaving]
bytbox has quit [Remote host closed the connection]
arj has joined #ocaml
jao has quit [Ping timeout: 255 seconds]
badkins_ is now known as badkins
Hannibal_Smith has quit [Quit: Sto andando via]
arj has quit [Ping timeout: 255 seconds]
* whitequark has decamlp4ified ocplib-endian
<struktured> the ppx ministry of truth strikes again
<whitequark> the beatings will continue until morale improves, I mean, camlp4 is deprecated for good
<flux> if only decamlp4ifying was as easy as violence :(
mcclurmc has joined #ocaml
mcclurmc_ has quit [Ping timeout: 272 seconds]
arj has joined #ocaml
nojb has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
arj has quit [Ping timeout: 256 seconds]
cesar_ has joined #ocaml
cesar_ is now known as Guest64280
mcclurmc has joined #ocaml
<jbalnit> i notice the map comes last in Map.add, etc. is there a reason for this convention?
Guest64280 has quit [Ping timeout: 272 seconds]
<nojb> currying : Map.add x (Map.add y m) etc
<jbalnit> is this a widespread convention?
<nojb> it varies
<jbalnit> i'm noticing the need for it in some of my functions ;)
<mrvn> argument order are somewhat random, tending towards what the compiler could use best
<jbalnit> I have an "apply_substitution substitution term" function and this seems like the intuitive order of params but reversing them would help with e.g. List.map to apply a list of substitutions
<jbalnit> which means ease of writing code?
<struktured> jbalnit: also, jane street's core map has the map first...so its not that standardized apparently
<jbalnit> ok, I'll keep it in mind to get a sense for it
<jbalnit> thx
<mrvn> jbalnit: how so? let map = List.fold_left (fun sub map -> Map.add sub map) map substituions
<jbalnit> avoids the lambda to reverse the args
<jbalnit> could go either way, now realizing it depends on my requirements
<mrvn> Since you never add the same thing to the same map twice I don't see how the order matters .... and then you tell me why :)
<jbalnit> the way I have it now is easier to apply one substitution to a list of terms
<jbalnit> mrvn: the substitutions have to be applied in order if that's what you're referring to
<mrvn> jbalnit: I was refering to the order in Map.add
<mrvn> The compiler probably had to apply one substitution to a list of terms so they implemented it that way around.
martintrojer has quit [Ping timeout: 256 seconds]
<jbalnit> ok
martintrojer has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
arj has joined #ocaml
arj has quit [Ping timeout: 240 seconds]
Anarchos has joined #ocaml
arj has joined #ocaml
mcclurmc_ has joined #ocaml
arj has quit [Ping timeout: 255 seconds]
mcclurmc has quit [Ping timeout: 255 seconds]
arj has joined #ocaml
travisbrady has quit [Quit: travisbrady]
arj has quit [Ping timeout: 265 seconds]
badon has quit [Remote host closed the connection]
badon has joined #ocaml
tane has quit [Quit: Verlassend]
mcclurmc has joined #ocaml
WraithM has joined #ocaml
mcclurmc_ has quit [Ping timeout: 250 seconds]
Submarine has quit [Ping timeout: 240 seconds]
arj has joined #ocaml
samuel02 has quit [Remote host closed the connection]
arj has quit [Ping timeout: 240 seconds]
kakadu has quit [Quit: Konversation terminated!]
badkins has quit [Remote host closed the connection]
<hugomg> Hi, is there a way to have an mli for defining a signature without a corresponding concrete module?
<hugomg> For example, to have a Functor.mli declaring a functor interface that I use in other places?
arj has joined #ocaml
<whitequark> yes
<whitequark> try it
<hugomg> hmm, it didn't work when I tried. "Unbound module type Functor" :/
<hugomg> I guess it must be somethingr really stupid
<whitequark> Functor is a module signature, not a module type
<whitequark> you could use e.g. "module type of Functor"
cesar_ has joined #ocaml
<hugomg> thats it! thanks whitequark! :)
cesar_ is now known as Guest8731
govg has joined #ocaml
arj has quit [Ping timeout: 240 seconds]
seanmcl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<whitequark> I'm sort of not really sold on the reason module signatures and module functors are different things
<whitequark> er, module types
Guest8731 has quit [Ping timeout: 255 seconds]
govg has quit [Ping timeout: 240 seconds]
kdef has quit [Remote host closed the connection]
<struktured> hugomg: I had same issue about two weeks. easy to forget!
<struktured> hugomg: *two weeks ago
<Drup> whitequark: what do you call "module signatures" that is not a module type ?
<Drup> ah, you mean a .mli without .ml ?
<Drup> (19:03:07) whitequark: Drup: gr, he quit <-- mmh ?
<whitequark> no, I mean that module signature and module type are the same thing
arj has joined #ocaml
<Drup> then I don't understand your sentence about them being different. =')
<whitequark> eh, nevermind
keen___________6 has joined #ocaml
keen___________5 has quit [Ping timeout: 250 seconds]
arj has quit [Ping timeout: 240 seconds]
samuel02 has joined #ocaml
mcclurmc_ has joined #ocaml
oscar_toro has quit [Ping timeout: 265 seconds]
mcclurmc has quit [Ping timeout: 255 seconds]
vanila has joined #ocaml
<cojy> I've read if a language is pure it's possible to get by with reference counting since you can't create cycles but then I also see claims of allowing high order functions at all allows you to create cycles does anyone know about this?
<cojy> i haven't been able to come up with any examples of it myself
<whitequark> think of the Y combinator
<Drup> cojy: total ? typed ?
<cojy> neither
<vanila> if lazy then I think you can make cyclic data using Y combinator, but if the language is strict isn't it impossible?
<Drup> whitequark: no garbage to collect with the Y combinator, you don't end, but you don't have any garbage :D
sivoais has quit [Ping timeout: 264 seconds]
<hugomg> cojy: if you allow "let rec" then you can build cyclic structures by tying the knot:
<hugomg> let rec ones = 1 :: ones
<hugomg> Or "let ones = 1 : ones" in haskell
<cojy> yea that one is obvious, same with laziness
<Drup> this can be considered non pure in a strict language.
<Drup> (under the hood, you implement that with mutation)
<Drup> you can tie the know manually, but you still need a recursive function afaict
<Drup> knot*
arj has joined #ocaml
nojb has quit [Quit: nojb]
arj has quit [Ping timeout: 245 seconds]
<hugomg> I have another question: I heard its impossible to pass a type w/ two parameters to a functor that expects a type w/ one parameter. Is that true? http://lpaste.net/114743
<whitequark> yes
<whitequark> it's annoying, too.
<Drup> hugomg: well, if you are ok with existential quantification, you can do taht
<Drup> it's not a general solution, though
<hugomg> how do you existentially qualify (and why is it not general)?
<hugomg> I tried using gadts because thats the only section of the manual w/ "existential in it"
<Drup> type 'a t = My_type : ('b, 'a) my_type -> 'a t
<Drup> the usual way
<Drup> you can try
<hugomg> weird, I got a "The parameter cannot be eliminated in the result type." error whenI tried that
<Drup> but you'll see it's not very nice
arj has joined #ocaml
<hugomg> nvm, I think it was just a typo
<hugomg> yeah, I imagine needing to wrap and unwrap the GADT a lot might be apain but I guess horrible is less worse than impossible :)
badkins has joined #ocaml