johnnydiabetic has quit [Ping timeout: 276 seconds]
boogie has joined #ocaml
avsm1 has quit [Quit: Leaving.]
avsm has joined #ocaml
avsm has quit [Ping timeout: 240 seconds]
tautologico has joined #ocaml
<rgrinberg>
solved my problem btw, I should call getcwd as a toplevel binding instead of inside a rule
<rgrinberg>
hacky as hell
cross has quit [Quit: leaving]
cross has joined #ocaml
avsm has joined #ocaml
jpdeplaix has quit [Ping timeout: 265 seconds]
jpdeplaix has joined #ocaml
avsm has quit [Ping timeout: 240 seconds]
jao has quit [Ping timeout: 276 seconds]
philtor has quit [Ping timeout: 255 seconds]
divyanshu has quit [Quit: Computer has gone to sleep.]
michael_lee has joined #ocaml
tlockney is now known as tlockney_away
inf-groupoid has joined #ocaml
divyanshu has joined #ocaml
inf-groupoid has quit [Read error: Connection reset by peer]
siddharthv is now known as siddharthv_away
siddharthv_away has quit [Quit: Lost terminal]
yacks has joined #ocaml
<ebzzry>
What is the closest equivalevnt of Lisp's `cond' in OCaml?
<whitequark>
if / else if / else if / else ?
<ebzzry>
whitequark: ok
<ebzzry>
whitequark: thanks
pango has quit [Ping timeout: 255 seconds]
avsm has joined #ocaml
avsm has quit [Ping timeout: 265 seconds]
pango has joined #ocaml
Bynbo7 has joined #ocaml
Axman6 has quit [Ping timeout: 252 seconds]
WraithM has quit [Ping timeout: 240 seconds]
ontologiae has quit [Ping timeout: 264 seconds]
maattdd has joined #ocaml
axiles has joined #ocaml
toroidalcode has joined #ocaml
WraithM has joined #ocaml
ggole has joined #ocaml
nikki93 has quit [Remote host closed the connection]
toroidalcode has quit [Read error: Connection reset by peer]
avsm has joined #ocaml
nikki93 has joined #ocaml
avsm has quit [Ping timeout: 240 seconds]
Simn has joined #ocaml
araujo has quit [Quit: Leaving]
rgrinberg1 has joined #ocaml
Arsenik has joined #ocaml
rgrinberg has quit [Ping timeout: 264 seconds]
studybot has quit [Ping timeout: 272 seconds]
studybot has joined #ocaml
rgrinberg1 has quit [Quit: Leaving.]
sgnb has quit [Remote host closed the connection]
avsm has joined #ocaml
avsm has quit [Ping timeout: 252 seconds]
boogie has quit [Remote host closed the connection]
ygrek_ has joined #ocaml
ontologiae has joined #ocaml
sgnb has joined #ocaml
sgnb has quit [Remote host closed the connection]
sgnb has joined #ocaml
<companion_cube>
ebzzry: I tend to favor match something with | _ when ... -> ... | _ when ... -> ... | ......
ontologiae has quit [Ping timeout: 240 seconds]
<companion_cube>
when there are many cases
WraithM has quit [Read error: Connection reset by peer]
<ia0>
I +1 companion_cube
<ia0>
I do that all the time
avsm has joined #ocaml
WraithM has joined #ocaml
maattdd has quit [Ping timeout: 252 seconds]
<whitequark>
hm, good idea
<whitequark>
incr companion_cube;
<companion_cube>
please, I'm no reference, just a humble programmer :p
<whitequark>
:P
<flux>
and not a number either, but a free man :)
rand000 has joined #ocaml
* adrien
puts barriers around companion_cube
<companion_cube>
noes
ikaros has joined #ocaml
eikke__ has joined #ocaml
arj has joined #ocaml
Kakadu has joined #ocaml
boogie has joined #ocaml
patojo has joined #ocaml
boogie has quit [Ping timeout: 252 seconds]
patojo has quit [Ping timeout: 240 seconds]
claudiuc has joined #ocaml
BitPuffi1 has quit [Ping timeout: 265 seconds]
<gasche>
companion_cube: | () when ... is better!
<gasche>
(I had a pa_cond camlp4 extension back in the days)
troydm has joined #ocaml
remy2 has joined #ocaml
remy2 is now known as remyzorg
<companion_cube>
gasche: yes, I often use unit for this
ollehar has joined #ocaml
<gasche>
I usually dislike 'when', except in this pattern or when it's really hard to do without it
<gasche>
that said
<gasche>
I don't remember actually using this pattern myself
<gasche>
I guess I don't hack on the kind of software that needs it
<gasche>
but with varianats (sum types) it's rarely needed to match on a condition rather than a value
<gasche>
*variants
<gasche>
("varianats" looks like another ATS backend)
<companion_cube>
depends, you don't always encode everything in the variant
<companion_cube>
e.g. when writing a unification algorithm, you might match on the structure of both terms: | App (f, xs), App (g, ys) when List.length xs = List.length ys -> .....
avsm has quit [Quit: Leaving.]
<gasche>
yep, it depends on the application
<gasche>
but more often than not it works just as well to match anyway and handle the "different lengths" cases in the pattern
keen___ has joined #ocaml
<companion_cube>
the "different lengths" case is a failure here
keen__ has quit [Ping timeout: 265 seconds]
ustunozgur has joined #ocaml
ontologiae has joined #ocaml
avsm has joined #ocaml
avsm has quit [Client Quit]
eikke__ has quit [Ping timeout: 252 seconds]
eizo has joined #ocaml
eikke__ has joined #ocaml
dsheets has joined #ocaml
Arsenik has quit [Remote host closed the connection]
nikki93 has quit [Remote host closed the connection]
kaustuv has joined #ocaml
<kaustuv>
Is there a simple way to see what version of cmdliner a given opam binary is linked to?
boogie has joined #ocaml
<adrien>
strings!
<adrien>
(seriously, that's probably almost the best option)
<kaustuv>
Ah, right, thanks. It seems that opam distributes its own local copy of cmdliner
<kaustuv>
Or maybe not. Hmm.
<gasche>
if it's using a released version, ocamlobjinfo should give you the hash
<gasche>
and then you could manually compare with the hashes of the known-version
<gasche>
maybe library authors should take the habits of listing the interface hashes of their releases on some webpage for this purpose
<kaustuv>
ocamlobjinfo is the thing I tried first but it didn't work.
boogie has quit [Ping timeout: 240 seconds]
<adrien>
ocamlobjinfo on an EFL file?
<gasche>
ah
<gasche>
yeah, native compilation
<kaustuv>
Anyway, I found the issue. Opam is using cmdliner version 0.9.3 which still has the annoying leaking temporary files bug. I'll file an bug report that this should be updated to 0.9.4
BitPuffi1 has joined #ocaml
BitPuffi1 is now known as BitPuffin
<jpdeplaix>
gasche: nice blog post ! When you say « reuse Jenga's runtime », you mean « copy/past the code or put it in a library » or use Jenga directly ?
<jpdeplaix>
The second option is IMHO horrible, because it would require all the Jenga's dependencies
<adrien>
:D
* companion_cube
wonders whether React's internal structures are good to represent the build dependency graph
<gasche>
I'm not sure jpdeplaix and I think that's premature optimization
<gasche>
probably "put it in a library"
adrien_o1w has joined #ocaml
adrien_oww has quit [Ping timeout: 252 seconds]
<jpdeplaix>
gasche: About the ocamlbuild PR, I think you can merge it by yourself as you have the write right
<jpdeplaix>
gasche: why « premature optimization » ? Avoid having a *tones* of dependencies ?
<adrien>
gasche: in the stdlib? :D
<companion_cube>
\o/
<gasche>
what is premature is talking about using bits from jenga in OCamlbuild when no one (except you and I guess Anil) gave a fuck about contributing to this central tool of the ecosystem for more than one year
<adrien>
companion_cube: I've built basic FRP stuff which was _way_ simpler than ocamlbuild
<gasche>
actually less than one year
<adrien>
dunno if it was really sound
<gasche>
my point is
<adrien>
and it only provided fold
<adrien>
but it was enough for my needs
<gasche>
right now I'll be happy if we can make a good 4.02 release with *improvements* on OCamlbuild's side
<gasche>
I don't give a damn about Jenga's dependencies
<adrien>
:)
<companion_cube>
adrien: you mean your own FRP library?
<companion_cube>
wow, dependencies in the compiler?
<gasche>
I think anything else than "improving ocamlbuild for 4.02" is *premature*
<gasche>
I'm quite happy to see that for some reason, hhugo and gildor apparently have a well-hidden passion for ocamlbuild that would be unleashed by splitting it as an independent project
<gasche>
but that's not the right time to work on this
<companion_cube>
I'm not sure I understand, what you say seems in total contradiction with the way the compiler is managed so far: it strives to be minimalistic and have no dependencies
<companion_cube>
and you'd have it depend on core_kernel just to make ocamlbuild faster?
<gasche>
not sure who you are talking to
<gasche>
I don't think anyone ever considered adding core_kernel as a dependency of the OCaml distribution
<companion_cube>
ouf
<companion_cube>
:D
<adrien>
:D
<gasche>
jpdeplaix: would you submit a PR to disable -use-ocamlfind by default again?
<whitequark>
core_kernel isn't that bad, it just needs some gentle handling, using a chainsaw
<gasche>
something else I'd be interested in is someone taking the time to see how ocamlbuild mixes with -trans-mod and what needs to be done
<whitequark>
-trans-mod?
<gasche>
I'd like it to be done before the release, but I've been too busy with other things so far
<gasche>
I guess it's now called -no-alias-deps
<gasche>
module aliases
<gasche>
(also contributions to the documentation are welcome, of course)
<gasche>
how *Batteries* behave with module aliases is also an interesting question, but again, no time on my side
<companion_cube>
last time I looked it didn't change the size much
<gasche>
even when you use batteries.ml?
<gasche>
(of course if you use eg. BatList directly it shouldn't change anything)
<companion_cube>
I think that's what I tested
<companion_cube>
but it was some time ago
<companion_cube>
the problem is also that BatList still depends on several other modules by itself
<companion_cube>
including BatIO, BatInnerIO and BatInnerWeaktbl
<companion_cube>
and BatEnum of course
thomasga has joined #ocaml
<kaustuv>
Will the OUPS talks this Thursday be recorded and youtubed?
<rks`>
kaustuv: the previous ones were, but they're generally in french
<kaustuv>
French is fine for me as long as I don't have to speak it
<kaustuv>
Unrelated question: why does the caml-list archive honour X-No-Archive headers?
michael_lee has quit [Quit: Ex-Chat]
<whitequark>
that sounds logical, it is an archive after all
<kaustuv>
But a mailing list is not USENET and missing messages in a thread make it very hard to follow
cdidd_ has joined #ocaml
<whitequark>
what's the best way to resolve a hostname in OCaml?
<Drup>
and if you want to talk about ocsimore, then ask jpdeplaix
<Drup>
I carefully avoid going into this code base.
<jpdeplaix>
:)
tobiasBora has joined #ocaml
SethTisue has joined #ocaml
boogie has joined #ocaml
avsm has joined #ocaml
boogie has quit [Ping timeout: 276 seconds]
axiles has quit [Ping timeout: 240 seconds]
avsm has quit [Ping timeout: 265 seconds]
<Drup>
(and if you want to rage patch it, you are *very* welcome to do it.)
axiles has joined #ocaml
avsm has joined #ocaml
Eyyub has joined #ocaml
mal`` has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
ontologiae has quit [Ping timeout: 276 seconds]
studybot has joined #ocaml
ontologiae has joined #ocaml
mal`` has joined #ocaml
thomasga has joined #ocaml
maattdd has joined #ocaml
Nuki has joined #ocaml
ygrek has joined #ocaml
araujo has joined #ocaml
Simn has quit [Ping timeout: 265 seconds]
ygrek_ has joined #ocaml
ygrek has quit [Ping timeout: 276 seconds]
avsm has quit [Quit: Leaving.]
sgnb has joined #ocaml
boogie has joined #ocaml
ygrek_ has quit [Ping timeout: 252 seconds]
tnguyen has joined #ocaml
boogie has quit [Ping timeout: 240 seconds]
metasyntax has joined #ocaml
ygrek has joined #ocaml
<BitPuffin>
what platforms can ocaml run on and is there a way to expose ocaml functions for FFI?
<BitPuffin>
ie, make a C interface for an ocaml library
<adrien>
all?
<BitPuffin>
no not all
<BitPuffin>
just some functions that call internal ocaml functions
<adrien>
I meant: all platforms
<BitPuffin>
ah
<BitPuffin>
including ios, android and windows mobile, windows RT etc?
<adrien>
it's not ocaml which will impose limitations
<adrien>
more likely store policies
kaustuv has left #ocaml ["ERC Version 5.3 (IRC client for Emacs)"]
<BitPuffin>
store policies?
<adrien_oww>
yes
Eyyub has quit [Ping timeout: 240 seconds]
<adrien_oww>
for example windows store policies restrict what applications are allowed to do
<adrien_oww>
you want to use threads? you must be kidding!
maattdd has quit [Ping timeout: 252 seconds]
<BitPuffin>
well that's not a concern
<BitPuffin>
we won't be in the store
<gasche>
are you considering developping malware in OCaml? that would be kind of cool, I guess :-'
divyanshu has quit [Quit: Computer has gone to sleep.]
<BitPuffin>
lol no :)
<gasche>
"we had 7 millions OCaml programs running on mobile phones... until the FBI killed the command-control network"
<BitPuffin>
it's just more of a enterprise solution thing
<BitPuffin>
or whatever you should call it
<BitPuffin>
it's an app but it's not an app for everybody :P
<adrien_oww>
gasche: side-loading is a valid thing ;-)
<adrien_oww>
BitPuffin: basically ocaml is not an issue for that task because there's ocaml code with C API and then you call from C
<adrien_oww>
it cannot break
<adrien_oww>
(famous last words)
arj has quit [Quit: Leaving.]
<BitPuffin>
adrien_oww: well the point is to have a shared codebase for some stuff and then call that from whatever is the native programming language for the platform
<adrien>
as long as you can interop C and the other language, you're fine
<jpdeplaix>
gasche ?
<BitPuffin>
adrien: okay so it can interoperate both ways?
racycle_ has joined #ocaml
racycle_ has quit [Client Quit]
<ousado>
adrien: couldn't there be memory management issues?
<adrien_oww>
like? :)
darkf has quit [Quit: Leaving]
<ousado>
assumptions the GCs make, for instance
<adrien_oww>
there can be but they shouldn't be specific to a given system
<adrien_oww>
don't think so plus at that level you have: Linux, Darwin, Windows
<adrien_oww>
OCaml already runs on all of these
<BitPuffin>
ie can I define a function in OCaml that is callable from C