Kakadu has quit [Remote host closed the connection]
badkins has quit [Remote host closed the connection]
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
antkong has joined #ocaml
antegallya has joined #ocaml
reem has quit [Remote host closed the connection]
psy_ has quit [Read error: Connection reset by peer]
psy_ has joined #ocaml
reem has joined #ocaml
badkins has joined #ocaml
reem has quit [Remote host closed the connection]
oscar_toro has quit [Ping timeout: 255 seconds]
struktured has joined #ocaml
Hannibal_Smith has quit [Quit: Leaving]
rgrinberg1 has joined #ocaml
rgrinberg has quit [Ping timeout: 245 seconds]
antkong has quit [Ping timeout: 265 seconds]
reem has joined #ocaml
ygrek has quit [Ping timeout: 265 seconds]
malc_ has quit [Quit: leaving]
skinkitten has quit [Quit: Leaving]
seliopou has quit [Ping timeout: 256 seconds]
nopf has quit [Ping timeout: 256 seconds]
badkins has quit [Ping timeout: 256 seconds]
pdewacht has quit [Ping timeout: 256 seconds]
sheijk has quit [Ping timeout: 256 seconds]
hnrgrgr_ has quit [Ping timeout: 256 seconds]
tg has quit [Ping timeout: 256 seconds]
jlouis has quit [Ping timeout: 256 seconds]
voglerr1 has quit [Ping timeout: 256 seconds]
majoh has quit [Ping timeout: 256 seconds]
srax has quit [Ping timeout: 256 seconds]
ygu has quit [Ping timeout: 256 seconds]
jpdeplaix has quit [Ping timeout: 256 seconds]
kerneis_ has quit [Ping timeout: 256 seconds]
adrien_znc has quit [Ping timeout: 256 seconds]
Antoine59 has quit [Ping timeout: 256 seconds]
AlexRussia has quit [Ping timeout: 256 seconds]
Haudegen has quit [Ping timeout: 256 seconds]
pollux has quit [Ping timeout: 256 seconds]
troydm has quit [*.net *.split]
vpm has quit [*.net *.split]
emias has quit [*.net *.split]
Muzer has quit [*.net *.split]
ia0 has quit [*.net *.split]
hilquias` has quit [Read error: Connection reset by peer]
seliopou has joined #ocaml
sheijk_ has joined #ocaml
jlouis_ has joined #ocaml
badkins_ has joined #ocaml
natrium1970 has joined #ocaml
<natrium1970>
I’m trying to get aspcud working with opam. Running “opam update” spews out some error information without actually telling me what the problem is. “error: could not lstat file” is the last line. What FILE?!
hnrgrgr has joined #ocaml
pdewacht_ has joined #ocaml
jpdeplaix1 has joined #ocaml
nopf_ has joined #ocaml
srax1 has joined #ocaml
voglerr2 has joined #ocaml
<natrium1970>
Is there an easier solver to work with, or is just a difficult issue?
kerneis__ has joined #ocaml
<bernardofpc>
natrium1970: strange
<bernardofpc>
you could guess what the file is by running opam under strace -e trace=file
nullcat has joined #ocaml
<bernardofpc>
(if you're on linux, at least)
<natrium1970>
I probably installed aspcud wrong, but they don’t actuallly say how to install it.
<natrium1970>
I’m not. I’m on OS X.
Antoine60 has joined #ocaml
<bernardofpc>
(btw, I've found some strange things about opam using strange, like going to the aspcud solver in "opam list")
<aubergines>
struktured: ok, I will take a look at it
rgrinberg1 has quit [Quit: Leaving.]
paradoja has joined #ocaml
Thooms has joined #ocaml
huza has quit [Quit: WeeChat 0.3.8]
iago has quit [Ping timeout: 264 seconds]
larhat has joined #ocaml
MisaMisa has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Thooms has quit [Quit: WeeChat 1.0.1]
mfp has quit [Ping timeout: 264 seconds]
mfp has joined #ocaml
hilquias has quit [Read error: Connection reset by peer]
hilquias has joined #ocaml
seliopou has quit [Ping timeout: 264 seconds]
skinkitten has joined #ocaml
seliopou has joined #ocaml
tane has quit [Excess Flood]
tane has joined #ocaml
so has quit [Ping timeout: 245 seconds]
so has joined #ocaml
elfring has joined #ocaml
chris2 has joined #ocaml
Thooms has joined #ocaml
_5kg has quit [Ping timeout: 264 seconds]
vanila has joined #ocaml
iago has joined #ocaml
darkf_ has joined #ocaml
Thooms has quit [Ping timeout: 245 seconds]
nopf_ is now known as nopf
darkf has quit [Ping timeout: 272 seconds]
sivoais has quit [Ping timeout: 244 seconds]
darkf_ is now known as darkf
govg has quit [Quit: leaving]
sivoais has joined #ocaml
ygrek has quit [Ping timeout: 245 seconds]
chris2 has quit [Quit: trotz alledem!]
iago has quit [Ping timeout: 264 seconds]
_5kg has joined #ocaml
dsheets_ has joined #ocaml
destrius has joined #ocaml
dsheets has quit [Ping timeout: 276 seconds]
dsheets_ has quit [Ping timeout: 255 seconds]
dsheets has joined #ocaml
chris2 has joined #ocaml
dsheets_ has joined #ocaml
dsheets has quit [Ping timeout: 255 seconds]
ontologiae has joined #ocaml
ontologiae has quit [Ping timeout: 265 seconds]
psy_ has quit [Quit: Leaving]
psy_ has joined #ocaml
zwer_z is now known as zwer
ontologiae has joined #ocaml
ontologiae has quit [Ping timeout: 265 seconds]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
Thooms has joined #ocaml
destrius has quit [Ping timeout: 240 seconds]
Sim_n has quit [Ping timeout: 265 seconds]
waneck_ has quit [Read error: Connection reset by peer]
tobiasBora has joined #ocaml
MrScout has joined #ocaml
enitiz has joined #ocaml
_5kg has quit [Ping timeout: 250 seconds]
_5kg has joined #ocaml
destrius has joined #ocaml
dmbaturin_ is now known as dmbaturin
Mercuria1Alchemi has quit [Ping timeout: 264 seconds]
antegallya has quit [Quit: Leaving.]
antegallya has joined #ocaml
leowzukw has quit [Quit: leaving]
ygrek has joined #ocaml
paradoja has quit [Ping timeout: 265 seconds]
Thooms has quit [Quit: WeeChat 1.0.1]
darkf has quit [Quit: Leaving]
ontologiae has joined #ocaml
MrScout_ has joined #ocaml
trap_exit has quit [Ping timeout: 246 seconds]
MrScout has quit [Ping timeout: 240 seconds]
MrScout_ has quit [Ping timeout: 250 seconds]
ontologiae has quit [Ping timeout: 250 seconds]
MrScout has joined #ocaml
govg has joined #ocaml
chinglish has joined #ocaml
paradoja has joined #ocaml
oriba has joined #ocaml
MrScout has quit [Ping timeout: 244 seconds]
Cypi_ is now known as Cypi
jao has quit [Ping timeout: 246 seconds]
MercurialAlchemi has joined #ocaml
enitiz has quit [Quit: Leaving]
chaptastic has joined #ocaml
struktured has quit [Ping timeout: 245 seconds]
ygrek has quit [Ping timeout: 256 seconds]
reem has quit [Remote host closed the connection]
tani has joined #ocaml
tane has quit [Ping timeout: 264 seconds]
yminsky has joined #ocaml
yminsky has quit [Quit: yminsky]
lordkryss has quit [Quit: Connection closed for inactivity]
Sim_n has joined #ocaml
skinkitten has quit [Ping timeout: 252 seconds]
aliasananas has joined #ocaml
<aliasananas>
Hello, a stupid question here : what module is created when I compile foo.bar.ml ? Foo.bar ? Foo_bar ? Foobar ?
<tokenrove>
Warning 24: bad source file name: "Foo.bar" is not a valid module name.
paradoja has left #ocaml ["Killed buffer"]
<aliasananas>
:(
<tokenrove>
indeed :-/
<aliasananas>
Thank you :)
<ggole>
I think packs are the usual way to do things like that
destrius has quit [Quit: Leaving.]
chinglish has quit [Quit: Nettalk6 - www.ntalk.de]
rgrinberg has joined #ocaml
swgillespie has joined #ocaml
skinkitten has joined #ocaml
aliasananas has quit [Ping timeout: 245 seconds]
rgrinberg has quit [Quit: Leaving.]
chaptastic has quit [Read error: No route to host]
chaptastic has joined #ocaml
micrypt has joined #ocaml
oriba has quit [Quit: Verlassend]
skinkitten has quit [Ping timeout: 256 seconds]
ontologiae has joined #ocaml
dlat has joined #ocaml
skinkitten has joined #ocaml
rgrinberg has joined #ocaml
leowzukw has joined #ocaml
jave has quit [Ping timeout: 272 seconds]
MisaMisa has joined #ocaml
jave has joined #ocaml
pyon has quit [Quit: fix]
Leonidas has quit [Ping timeout: 265 seconds]
pyon has joined #ocaml
BitPuffin has quit [Ping timeout: 240 seconds]
aliasananas has joined #ocaml
Leonidas has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
swgillespie has joined #ocaml
TheCommieDuck has joined #ocaml
tane has joined #ocaml
<TheCommieDuck>
Hey. Is 'a option /roughly/ equivalent to Optional<T> in imperative languages?
Sim_n is now known as Simn
<Drup>
it's not-roughly equivalent
<TheCommieDuck>
so it's..equivalent? Or it's 'you have no idea what you're talking about'? :P
<vanila>
int option has values like: None or Some 4
<Drup>
it's exactly the same, yes :)
<TheCommieDuck>
awesome, thanks :)
tani has quit [Ping timeout: 264 seconds]
ontologiae has quit [Ping timeout: 256 seconds]
MisaMisa has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<MercurialAlchemi>
exactly the same except the stdlib falls short on option-related utilities
<TheCommieDuck>
Is there some built-in Some a -> a | None -> exception function?
AlexRussia_ has quit [Ping timeout: 245 seconds]
<companion_square>
no, but all stdlib replacements/enhacements provide some
<companion_square>
none provides none
<Drup>
BatOption is the module we need. :D
<companion_square>
*Option ;)
companion_square is now known as companion_cube
<TheCommieDuck>
ah :P
<MercurialAlchemi>
TheCommieDuck: don't worry
<MercurialAlchemi>
you want an stdlib replacement/enhancement anyway
MisaMisa has joined #ocaml
<TheCommieDuck>
MercurialAlchemi: I'll guess I'll get to that stuff later on :)
<Drup>
writing your own option functions is not a bad exercise initially anyway.
<flux>
thecommieduck, I think the key difference is that some imperative languages still have the value 'null' even if the type is Optional<T>
<TheCommieDuck>
flux: whereas OCaml has no null directly, right?
<flux>
right
<flux>
thecommieduck, another is that one should typically avoid using the kind of functions you just described, because they are great at producing 'null pointer exceptions'
<flux>
usually one would consider all the cases when deconstructing a value
<flux>
and then pass the deconstructed value forward
<TheCommieDuck>
you mean the Some unboxing-type?
<flux>
I don't think boxing comes into picture here..
<TheCommieDuck>
bad choice of words, then
<flux>
let's say, there wouldn't be a function 'print_client_info' that takes Optional<Client> as a parameter
<TheCommieDuck>
I'm assuming you mean avoiding 'Some a -> a | None -> exception' kind functions
<flux>
yes
<companion_cube>
yes, avoid this
<TheCommieDuck>
makes sense
<flux>
instead, the Optional-part is stripped somewhere explicitly and the case of 'None' is considered separately
<Drup>
this function should be named "(╯°□°)╯︵ ┻━┻"
<flux>
there are of course times when it's more convenient to do otherwise, but this is a rule of thumb :)
<Drup>
(un)fortunatly, no utf8 in names in ocaml :p
<flux>
yet! ;-)
rgrinberg has quit [Quit: Leaving.]
mort___ has joined #ocaml
<TheCommieDuck>
I must say...these error messages actually giving you the source of an error are a breath of fresh air
AlexRussia_ has joined #ocaml
<ggole>
Drup: you'll have to settle for Option.you_only_live_once
<flux>
you know.. you could just write the function inline in that case..
<flux>
you need to find a name that's just short enough to not do that
<Drup>
Option.magic
<flux>
but still annoying to use
<companion_cube>
Obj.option
<companion_cube>
flux: not bad
<companion_cube>
reminds me of the amusing replacement of (==), in Core, with something of type [`Consider_using_physical_eq] where physical_eq is the new name of ==
<flux>
well, I'm sure in short time Merlin will learn how to convert a value from type x to type y
<flux>
using all available conversion and pattern matching methods!
<whitequark>
"In the oneshot category the leading submission manages to achieve over 1.5 gigabytes of error. This is remarkable especially given that the source size is limited to 256 bytes.
<ggole>
That's the competition I mentioned, yeah
<ggole>
A wonderful and terrible thing.
<Drup>
ggole: if you add "module Bli = Bla (Bla)"
<Drup>
you get a 40M type error.
<Drup>
\O/
<flux>
whitequark, I belive it's been stated that the challenge is actually producing the greatest size error message within the time allocated
<flux>
otherwise it would be too easy I guess :-)
_5kg has quit [Ping timeout: 250 seconds]
goraci has joined #ocaml
<goraci>
hi - can we add something to tuple ? (1,2,"house") for example
<goraci>
or how to modify to get new tuple ? pattern matching ?
<ggole>
goraci: pull it apart and put it back together with matching
<ggole>
There's no variadic machinery so you'll have to pick a size (or write variants for each size, blugh)
<goraci>
something like let new_tpl (x,y,z) = (1,2,"house")
<goraci>
and then how to add something ?
<Drup>
tuples are immutables, so you never "add" something.
<ggole>
let add_t4 (a,b,c) d = a,b,c,d
<Drup>
ggole: please add parens :<
<ggole>
Boo!
<ggole>
It's probably a good idea though.
<Drup>
(and don't tell me you can't because your code is immutable !)
dario has joined #ocaml
leowzukw has quit [Quit: Lost terminal]
<dario>
Drup: just noticed an anomaly on $OPAM/lib/tyxml -- files named tymlx_p.*
<dario>
Am I correcting in presuming this to be a typo?
<Drup>
no it's not
<Drup>
it's the internal name of the parser
<dario>
Ah, okay...
<Drup>
is there an issue with it ?
<Drup>
well, there are tons of issues with this parser, but a specific one :D
<dario>
Probably not...
<dario>
...However...
<dario>
...On the toplevel, I tried to #require "bookaml.ocamlnet" and got an error message...
<dario>
..."Reference to undefined global `Simplexmlparser'"...
<dario>
(which is why I was looking into the Tyxml lib dir)
<Drup>
you forgot a dependency to tyxml.parser then
<dario>
Hmm, I see it now. Is the addition of subpackages to Tyxml recent(ish)?
<Drup>
not really
<dario>
It's been a while since I needed Bookaml.ocamlnet, though...
<Drup>
I don't remember modifying that, so > 2 years
<dario>
I've been using only Bookaml.ocsigen, so Bookaml.Ocamlnet has just bitrotted...
<dario>
But it's a simple update, thankfully...
<dario>
Btw, is Ocsigen moving away from Ocamlnet completely?
ggole has quit []
<Drup>
yeah
<Drup>
because of the C dependencies
<dario>
Because of Mirage?
<dario>
I mean: because you want Ocsigen to be Mirage-friendly?
<Drup>
yes
<dario>
Anyway, it's good to know that.
<dario>
Also, is Ocsigenserver going to use Cohttp exclusively or are you functorising the HTTP engine?
<Drup>
the former
<dario>
Ah... good to know, thanks!
pyon has quit [Ping timeout: 264 seconds]
enitiz has quit [Ping timeout: 245 seconds]
<Drup>
we use this occasion to just drop a big chunk of code that is hold and hard to maintain :)
<dario>
Understandable...
pyon has joined #ocaml
<dario>
Moreover, OPAM makes the issue of external dependencies less of a hassle...
<Drup>
exactly
<dario>
One request, though: you guys should write a blog post describing these plans...
<dario>
...particularly the new set of libraries you will depend on...
<dario>
...so that projects around the Ocsigen ecosystem can move in tandem...
<dario>
(Myself I've been considering moving to Cohttp, and now will definitely do so)
pyon has quit [Client Quit]
<Drup>
I really need to put up this ocsigen blog
<dario>
Or write an email to the mailing-list...
<dario>
Besides Cohttp, which other libraries will you use to replace Ocamlnet?
<Drup>
ocaml-re probably
<Drup>
it remains to be done, so the plans are not really set in stone
<dario>
Probably ocaml-uri for the stuff currently done by Netstring?
<dario>
Okay. Once those plans solidify, do announce them! :-)
<Drup>
Didn't look at that part, so not sure
<Drup>
(but using ocaml-uri would be a very good idea)
<dario>
Hmm, the Mirage guys also have ocaml-base64, which you might need...
<dario>
(Ocamlnet is huge!)
<dario>
Oh, and there's also ocaml-ipaddr...
<dario>
(I'm looking at Mirage's Github page...)
<Drup>
some of those are already used by cohttp
<dario>
OK, makes sense...
rgrinberg has quit [Quit: Leaving.]
<dario>
Anyway, I have to go soon. Nice chatting with you!
<struktured>
has any written a "has at least one element" collection type in ocaml?
slash^ has quit [Read error: Connection reset by peer]
pyon has joined #ocaml
<Tekk_>
struktured: I believe that you can't have a zero element tuple :)
yminsky has joined #ocaml
<struktured>
Tekk_: sure, but tuples are strongly typed for each dimension
pyon has quit [Quit: bye bye rcirc, hello circe]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
_5kg has joined #ocaml
lordkryss has joined #ocaml
<Drup>
Tekk_: nor a one-tuple
<Drup>
struktured: ('a * 'a set) ? :p
<Tekk_>
Drup: any binding is a one-tuple, when you think about it
<Tekk_>
:p
<Drup>
Tekk_: ppx authors disagree with you
<Tekk_>
Drup: bah, surely charlatans with their "degrees" and "research" and "mathematics" :)
araujo has joined #ocaml
araujo has joined #ocaml
<struktured>
Drup: I'm running into this because I find the case of folding a possibly empty collection awkward and have to return an optional type in the accumulator to handle that case.
<nicoo>
Tekk_: Well, you could consider unit to be a degree 0 tuple and 'a to be degree 1, but I don't see the point
<struktured>
Drup: and in practice, my lists are never empty, or should have died earlier because they were empty
<nicoo>
struktured: You could have a type for non-empty lists :3 (ok, that's a bit unwieldy though)
<Tekk_>
nicoo: to amuse myself, mostly.
<struktured>
nicoo: I've considered it..hrpmh..anyhow gotta run, thanks for the ideas
<nicoo>
struktured: Bye
goraci has quit [Quit: Leaving]
Submarine has quit [Quit: Leaving]
Submarine has joined #ocaml
Guest554 has joined #ocaml
Guest554 has quit [Changing host]
Guest554 has joined #ocaml
Guest554 has quit [Client Quit]
yminsky has quit [Quit: yminsky]
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
pdewacht_ is now known as pdewacht
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
rom1504_ is now known as rom1504
pyon has joined #ocaml
tane has quit [Quit: Verlassend]
BitPuffin has joined #ocaml
oriba has joined #ocaml
nullcat has joined #ocaml
yminsky has joined #ocaml
Submarine has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
yminsky has quit [Quit: yminsky]
antegallya has quit [Quit: Leaving.]
mort___ has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
antkong has joined #ocaml
swgillespie has joined #ocaml
<TheCommieDuck>
How do you say 'type 'a foo' = Integer of int | Boolean of bool'? foo is a disjoint union over type 'a, with cases Integer of type int and Boolean of type bool? Just trying to make sure I don't think about these the wrong way.
<companion_cube>
why do you have a parameter 'a?
<TheCommieDuck>
er, I'm not sure D:
<TheCommieDuck>
No, that should not be there.
<companion_cube>
type foo = Int of int | Bool of bool
<TheCommieDuck>
That's what I'm meaning, yes.
<companion_cube>
↑ this is a disjoint union
<companion_cube>
you can create values of type foo like this: Int 42 or Bool true
<TheCommieDuck>
Yep
<companion_cube>
and pattern-match to deconstruct :)
<TheCommieDuck>
Just making sure I've not got the wrong idea in mind about what it represents :P
<TheCommieDuck>
Thanks!
<MercurialAlchemi>
you only use a type parameter to say 'any type'
<MercurialAlchemi>
eg, type 'a option = None | Some of 'a;;
<companion_cube>
yes
Haudegen has quit [Ping timeout: 246 seconds]
<MercurialAlchemi>
this lets you feed a value of any type to the Some constructor
<companion_cube>
then, you can talk about int option, string option, etc.
<companion_cube>
Some 1 : int option
<companion_cube>
Some [1;2;3] : int list option
<companion_cube>
are you using the toplevel?
<MercurialAlchemi>
companion_cube: a better question is, are you using utop :)
<companion_cube>
yeah
<companion_cube>
that was going to be my point ;)
<MercurialAlchemi>
even with rlwrap, the toplevel is... well...
Hannibal_Smith has quit [Quit: Leaving]
rgrinberg has joined #ocaml
<MercurialAlchemi>
quite lacking
<MercurialAlchemi>
or rather, in the spirit of the stdlib
<companion_cube>
:)
<companion_cube>
it works, but doesn't do much more
Haudegen has joined #ocaml
<companion_cube>
I prefer having a good language and a slightly lacking stdlib than a bad language with a good stdlib anyway
Thooms has joined #ocaml
<MercurialAlchemi>
indeed
enitiz has joined #ocaml
<MercurialAlchemi>
some stuff you can't patch away
<MercurialAlchemi>
on this, bedtime
<companion_cube>
good night MercurialAlchemi
waneck has joined #ocaml
<MercurialAlchemi>
companion_cube: oh, and there is a new toml with the location fix (at last) and less verbosity, I'll try and push it to the opam repo tomorrow
<companion_cube>
nice
<TheCommieDuck>
yeah, I based it off an example using a parameter then made an example not using one :p
Kakadu has quit [Remote host closed the connection]
Haudegen has quit [Ping timeout: 245 seconds]
milosn has quit [Ping timeout: 272 seconds]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
milosn has joined #ocaml
Haudegen has joined #ocaml
jao has quit [Ping timeout: 252 seconds]
milosn has quit [Ping timeout: 256 seconds]
hellofunk has quit [Ping timeout: 245 seconds]
Thooms has quit [Ping timeout: 250 seconds]
Thooms has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 245 seconds]