ChanServ changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.02.1 announcement at http://ocaml.org/releases/4.02.html | Public channel logs at http://irclog.whitequark.org/ocaml
rgrinberg1 has quit [Ping timeout: 264 seconds]
rgrinberg1 has joined #ocaml
pyon has quit [Quit: fix config]
ingsoc has quit [Ping timeout: 256 seconds]
inf-gropeoid has joined #ocaml
mcclurmc_ has joined #ocaml
struktured has joined #ocaml
mcclurmc has quit [Ping timeout: 246 seconds]
tmtwd has quit [Ping timeout: 265 seconds]
tmtwd has joined #ocaml
noze has quit [Ping timeout: 244 seconds]
struktured has quit [Ping timeout: 265 seconds]
struktured has joined #ocaml
tmtwd has quit [Ping timeout: 264 seconds]
MrScout has quit [Ping timeout: 256 seconds]
idegen has quit [Quit: Leaving.]
AltGr has joined #ocaml
swgillespie has joined #ocaml
tinhead has quit [Ping timeout: 256 seconds]
wraithm has quit [Quit: leaving]
AltGr has left #ocaml [#ocaml]
Tekk_ has joined #ocaml
<Tekk_> Does opam require any sort of bootstrapping? I decided to see if I can build it on cygwin, and I was able to get it to mostly install, but I get a failure on "searching for valid remotes" on opam init
<Tekk_> There's a failure during make install itself, but it's just in removing temporary files since you can't unlink open files on windows
sepp2k has quit [Quit: Leaving.]
struktured has quit [Ping timeout: 256 seconds]
milosn has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
struktured has joined #ocaml
swgillespie has joined #ocaml
swgillespie has quit [Max SendQ exceeded]
swgillespie has joined #ocaml
swgillespie has quit [Client Quit]
struktured has quit [Ping timeout: 265 seconds]
The_Mad_Pirate has quit [Excess Flood]
The_Mad_Pirate has joined #ocaml
struktured has joined #ocaml
struktured has quit [Remote host closed the connection]
struktured has joined #ocaml
<struktured> Tekk_: stlil trying cygwin install?
rgrinberg1 has quit [Ping timeout: 264 seconds]
<Tekk_> struktured: Not actively, I was stuck and unsure if I was able to proceed
<Tekk_> why?
jonh has joined #ocaml
rgrinberg1 has joined #ocaml
The_Mad_Pirate has quit [Excess Flood]
inf-gropeoid is now known as pyon
The_Mad_Pirate has joined #ocaml
rgrinberg1 has quit [Ping timeout: 250 seconds]
darkf has joined #ocaml
<struktured> Tekk_: I'm interested in this as well. I have a little bootstrapping script that layers on top of opam's script. Been meaning to try with cygwin but haven't. I could give a shot in a little bit
<Tekk_> struktured: The thing that's catching me right now is the "looking for remotes" thing
<Tekk_> I had to make some small changes anyway, to opam.install
<Tekk_> because windows uses .exe
<struktured> Tekk_: how are you doing it? using make cold with opam source?
<Tekk_> yeah
<Tekk_> pulled opam source, did configure/make
<Tekk_> had to edit opam.install for make install to work
rgrinberg1 has joined #ocaml
<struktured> ok let me try..one sec..gotta login to a wor kmachine remotely
<struktured> Tekk_: btw, this is the thing I'm using..but it probably won't help you...yet: https://github.com/struktured/ocaml-bootstrap
<Tekk_> Yeah, I'm ahead of where you've got
<Tekk_> I just used the binary ocaml installer on the site
<struktured> cygwin binary or windows binary?
<Tekk_> the cygwin binary, not ocpwin
<Tekk_> I need to use cygwin/mingw stuff anyway
<struktured> Tekk_: cool, and is that an opam binary, ocaml binary, or both?
<Tekk_> ocaml binary, opam built from the 1.22 release off of github
<Tekk_> opam-full-1.22.tar.gz
<struktured> ok, what's this looking for remotes issue
<Tekk_> 1.2.2.*
<Tekk_> right
<struktured> my cygwin is busted sadly, haven't used in ages, fixing it first..
<Tekk_> so I ran configure/make. Make install failed because opam.exe didn't exist. edited opam.install to append .exe to the binary names
<Tekk_> the make install still technically fails, but it fails on removing temp files and everything's hwere it's supposed to be far as I can tell
<Tekk_> running opam init gives this output: http://pastebin.ca/3018966
<Tekk_> the cannot remove stuff is just windows being windows, if I had to guess
<Tekk_> I can remove the files just fine after the process closes itself
<struktured> why doesn't /bin/sh work ?
<struktured> I feel like that usually works in cygwin
<Tekk_> it does work
<Tekk_> I wonder if I can..
<Tekk_> what I'm guessing though
<Tekk_> is that the remote was supposed to pull a shell script
<Tekk_> and it tries to execute /bin/sh on a file that doesn't exist
<struktured> oh yeah I see, the that device busy thing is root cause
<struktured> is it a permission thing?
<Tekk_> lemme pull up procomon and watch the process though
<Tekk_> oh..
<Tekk_> okay
* Tekk_ will brb but he has part of it
<Tekk_> Okay
<Tekk_> so it's looking for C:\bin\sh
<struktured> yuck...and this is why I hate cygwin. hmm..wish my install would finish so I can try some things out
teiresias has quit [Quit: leaving]
<Tekk_> I made some initial fixes
<Tekk_> building opam now
teiresias has joined #ocaml
<Tekk_> ugh
<Tekk_> lib-ext is written wrong
<Tekk_> the makefile target
<struktured> wrong in general, or wrong for cygwin?
paarth has quit [Quit: Leaving]
<Tekk_> wrong in general, it breaks on -j n
<Tekk_> which means dependencies are wrong somewhere
deavidsedice has quit [Ping timeout: 265 seconds]
<struktured> easy to fix at least
<struktured> but taking out j param, which I'm sure u are trying now
<struktured> *but/by
<Tekk_> yeah, I did
<Tekk_> it was just annoying because that target takes a while
<Tekk_> now opam-install decided that it doesn't know how paths work
<Tekk_> which is weird
systmkor has quit [Quit: Leaving]
<Tekk_> it's trying to copy src\opam.exe to /usr\bin\opam.exe
<Tekk_> maybe something to do with me passing --prefix..
gabemc has quit [Ping timeout: 246 seconds]
<Tekk_> struktured: I'm going to warn you now
<Tekk_> this is a pointless task, I'd bet
<Tekk_> mostly pointless anyway
<Tekk_> as soon as I get opam working, I'm going to find that pretty much all of the builds for opam packages assume unixy things that can't be assumed
<Tekk_> so then not only are we going to need a patchset for opam itself
<Tekk_> but a repository of patches to the packages
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
swgillespie has joined #ocaml
swgillespie has quit [Client Quit]
<Tekk_> no, okay
deavid has joined #ocaml
<Tekk_> So somewhere it's trying to be cross platform and use \
<Tekk_> even though / has worked with microsoft since like
<Tekk_> dos 3
<struktured> so..verdict is what then?
<Tekk_> that I need to play with it
<struktured> ok, please take good notes :)
ygrek has quit [Ping timeout: 252 seconds]
The_Mad_Pirate has quit [Quit: Konversation terminated!]
mort___ has joined #ocaml
kushal has joined #ocaml
pyon has quit [Quit: I have irrefutable proof that D < 0. It follows trivially from 2D > 3D, which is obviously true.]
mort___ has quit [Quit: Leaving.]
walter|r has quit [Remote host closed the connection]
walter|r has joined #ocaml
keen___________6 has joined #ocaml
keen___________5 has quit [Ping timeout: 246 seconds]
walter|r has quit [Ping timeout: 246 seconds]
<Tekk_> okay, so
<Tekk_> with the patch stuff I did
<Tekk_> if I make
<Tekk_> and then manually copy opam.exe into the cygwin path
inf-gropeoid has joined #ocaml
<Tekk_> it then errors out differently, complaining that I don't have rsync, wget, git, etc.
deavid has quit [Ping timeout: 272 seconds]
<Tekk_> which means it's not respecting PATH from cygwin
deavid has joined #ocaml
nullcat has joined #ocaml
<Tekk_> or path at all, apparently
<Tekk_> struktured: okay, so I think this is ocaml's fault
kushal has quit [Quit: Leaving]
nullcat has quit [Quit: gone...]
slash^ has joined #ocaml
<Tekk_> struktured: so what I think is happening is that it's using the right PATH
<Tekk_> but it's parsing it as a unix path
nullcat has joined #ocaml
<Tekk_> I may be wrong, but there'd be some non-trivial amount of porting involved in getting opam to run on windows
<Tekk_> In brighter news, I see no reason why opam wouldn't work under Haiku
<struktured> can you humor me and send the patches, or put on gists/github, whatever
<Tekk_> struktured: hg clone http://tekk.in/vcs/wopam
<Tekk_> initial commit is purely opam 1.22
<Tekk_> 1.2.2*
<Tekk_> so yo ucan look at the couple of changes from that
<Tekk_> you can*
The_Mad_Pirate has joined #ocaml
<struktured> thanks
<Tekk_> no problem
<Tekk_> remember that you have to manually copy opam.exe out to get to where i got, opam-install is broken too
<Tekk_> along with everything else :p
Simn has joined #ocaml
BitPuffin|osx has joined #ocaml
BitPuffin|osx has quit [Ping timeout: 255 seconds]
MercurialAlchemi has joined #ocaml
mcclurmc has joined #ocaml
rishabhjain has joined #ocaml
mcclurmc_ has quit [Ping timeout: 276 seconds]
A1977494 has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
mcclurmc has joined #ocaml
waneck has quit [Remote host closed the connection]
MercurialAlchemi has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
MercurialAlchemi has quit [Quit: Lost terminal]
MercurialAlchemi has joined #ocaml
rishabhjain has quit [Remote host closed the connection]
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ggole has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
BitPuffin|osx has joined #ocaml
BitPuffin|osx has quit [Ping timeout: 256 seconds]
govg has quit [Read error: Connection reset by peer]
struk|desk2 has quit [Ping timeout: 240 seconds]
struk|desk2 has joined #ocaml
struktured has quit [Ping timeout: 256 seconds]
struk|desk2 has quit [Read error: Connection reset by peer]
struk|desk2 has joined #ocaml
struk|desk has joined #ocaml
struk|desk2 has quit [Read error: Connection reset by peer]
Kakadu has joined #ocaml
thomasga has joined #ocaml
LnL has joined #ocaml
freling has joined #ocaml
freling has quit [Read error: Connection reset by peer]
freling has joined #ocaml
ollehar has joined #ocaml
A19774941 has joined #ocaml
A1977494 has quit [Read error: Connection reset by peer]
thomasga has quit [Quit: Leaving.]
A19774941 has left #ocaml [#ocaml]
ollehar has quit [Ping timeout: 246 seconds]
haesbaert has quit [Quit: leaving]
haesbaert has joined #ocaml
rishabhjain has joined #ocaml
amnn has joined #ocaml
rishabhjain has quit [Remote host closed the connection]
wwilly has joined #ocaml
BitPuffin|osx has joined #ocaml
rgrinberg1 has quit [Ping timeout: 256 seconds]
BitPuffin|osx has quit [Ping timeout: 250 seconds]
mfp has quit [Read error: Connection reset by peer]
milosn has quit [Quit: leaving]
<dtscode> Is it common to have eval `opam config env` in your dotfiles?
rishabhjain has joined #ocaml
freling has quit [Quit: Leaving.]
Cyanure has joined #ocaml
freling has joined #ocaml
rgrinberg1 has joined #ocaml
sdothum has joined #ocaml
cml has joined #ocaml
rgrinberg1 has quit [Ping timeout: 244 seconds]
sepp2k has joined #ocaml
wwilly has quit [Quit: Leaving]
mfp has joined #ocaml
tane has joined #ocaml
dsheets has quit [Ping timeout: 265 seconds]
BitPuffin|osx has joined #ocaml
ingsoc has joined #ocaml
zpe has joined #ocaml
zpe has quit [Remote host closed the connection]
rand000 has joined #ocaml
Gama11 has joined #ocaml
rishabhjain has quit []
<cml> I want to write a simple tcp server, and wrote the following code using Lwt_io.establish_server:
<cml> I call this function somewhere in my main: rpc_server ();
<cml> client can connect to the server and sends a string
<cml> but it receves nothing
<cml> when client closes the connection, I can see the printf executed on server side after some delay
<companion_cube> first, you can use functions in Lwt_io to replace Printf.printf
<companion_cube> then, maybe it's a missing flush?
<companion_cube> (this paste website kind of sucks, it requires lots of javascript -_-)
<cml> I try another code sharing website :)
<companion_cube> no problem
<companion_cube> try writing "lwt _ = Lwt_io.flush oc in" after line 5, maybe
zipace has joined #ocaml
<cml> I changed the code a bot
<cml> your suggestion didn't work
<companion_cube> aww :/
<cml> I have added a print_endline after read
<companion_cube> do you use Lwt_main.run around your code?
<cml> the only case that I can see *** printing on server side is when I exit the client (which closes the connection)
<cml> yes
<cml> something like this:
<cml> Lwt_main.run ( let _ = server () in .... )
Anarchos has joined #ocaml
<cml> hmm, I think Lwt_io.read still is waiting for more input
The_Mad_Pirate has quit [Ping timeout: 256 seconds]
Hannibal_Smith has joined #ocaml
Haudegen has quit [Ping timeout: 256 seconds]
jonh has left #ocaml ["WeeChat 0.4.2"]
The_Mad_Pirate has joined #ocaml
tmtwd has joined #ocaml
The_Mad_Pirate has quit [Quit: Konversation terminated!]
rgrinberg1 has joined #ocaml
struktured has joined #ocaml
Haudegen has joined #ocaml
rgrinberg1 has quit [Ping timeout: 250 seconds]
The_Mad_Pirate has joined #ocaml
Hannibal_Smith has quit [Quit: Leaving]
The_Mad_Pirate has quit [Read error: Connection reset by peer]
The_Mad_Pirate has joined #ocaml
Hannibal_Smith has joined #ocaml
freling has quit [Quit: Leaving.]
<Drup> dtscode: It's pretty much mandatory :)
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
rand000 has quit [Quit: leaving]
mort___ has joined #ocaml
struktured has quit [Ping timeout: 265 seconds]
ingsoc has quit [Ping timeout: 246 seconds]
ingsoc has joined #ocaml
milosn has joined #ocaml
Haudegen has quit [Ping timeout: 276 seconds]
walter|r has joined #ocaml
Gama11_ has joined #ocaml
Gama11 has quit [Ping timeout: 256 seconds]
rgrinberg1 has joined #ocaml
psy_ has quit [Read error: No route to host]
TheLemonMan has joined #ocaml
mlen has quit [Quit: WeeChat 0.4.3]
rgrinberg1 has quit [Ping timeout: 264 seconds]
ziprar has joined #ocaml
zipace has quit [Disconnected by services]
zipace has joined #ocaml
Hannibal_Smith has quit [Quit: Leaving]
lyxia has joined #ocaml
Haudegen has joined #ocaml
idegen has joined #ocaml
mort___ has quit [Quit: Leaving.]
Haudegen has quit [Ping timeout: 246 seconds]
mort___ has joined #ocaml
mort___ has quit [Quit: Leaving.]
sh0t has joined #ocaml
Submarine has quit [Ping timeout: 272 seconds]
shinnya has joined #ocaml
Submarine has joined #ocaml
dsheets has joined #ocaml
rgrinberg1 has joined #ocaml
Haudegen has joined #ocaml
<tobiasBora> Hello !
waneck has joined #ocaml
mlen has joined #ocaml
rgrinberg1 has quit [Ping timeout: 272 seconds]
ollehar has joined #ocaml
<ggole> o/
tnguyen has quit [Quit: tnguyen]
ollehar has quit [Ping timeout: 245 seconds]
ollehar has joined #ocaml
darkf has quit [Quit: Leaving]
<tobiasBora> Is it possible to give to ocamlbuild a set of library to use ?
tnguyen has joined #ocaml
<tobiasBora> (I mean for example if I need fileutil in myocamlbuild.ml can I use it ?)
ollehar has quit [Ping timeout: 245 seconds]
<Drup> Use -plugin-tags
<tobiasBora> Drup: Great thank you !
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
ollehar has joined #ocaml
mort___ has joined #ocaml
govg has joined #ocaml
govg has quit [Client Quit]
govg has joined #ocaml
Hannibal_Smith has joined #ocaml
govg is now known as Guest70174
tmtwd has quit [Ping timeout: 264 seconds]
idegen has quit [Quit: Leaving.]
badkins has joined #ocaml
zipace has quit [Read error: Connection reset by peer]
ingsoc has quit [Quit: Leaving.]
mort___ has quit [Quit: Leaving.]
frankjea1er has quit [Remote host closed the connection]
sh0t has quit [Ping timeout: 250 seconds]
cml has quit [Ping timeout: 246 seconds]
rgrinberg1 has joined #ocaml
dsheets has quit [Ping timeout: 276 seconds]
<tobiasBora> I am trying to creating my own myocamlbuild.ml rule, is it possible to call an ocaml function instead of a system function ? I can't find that in the doc spec : http://nicolaspouillard.fr/ocamlbuild/html/Signatures.PLUGIN.html#TYPEaction
sh0t has joined #ocaml
rgrinberg1 has quit [Ping timeout: 272 seconds]
Guest70174 has quit [Quit: leaving]
govg has joined #ocaml
<tobiasBora> I'm stupid
tmtwd has joined #ocaml
robink has quit [Ping timeout: 255 seconds]
robink_ has joined #ocaml
apache2 has quit [Ping timeout: 255 seconds]
amnn_ has joined #ocaml
robink_ is now known as robink
amnn has quit [Ping timeout: 264 seconds]
jlouis has quit [Ping timeout: 264 seconds]
tmtwd has quit [Ping timeout: 264 seconds]
jlouis has joined #ocaml
milosn has quit [Ping timeout: 265 seconds]
zpe has joined #ocaml
zpe has quit [Ping timeout: 244 seconds]
rgrinberg1 has joined #ocaml
milosn has joined #ocaml
mort___ has joined #ocaml
rgrinberg1 has quit [Ping timeout: 256 seconds]
lobo has joined #ocaml
psy_ has joined #ocaml
psy_ has quit [Max SendQ exceeded]
rgrinberg1 has joined #ocaml
mort___ has quit [Quit: Leaving.]
l1x has quit [Remote host closed the connection]
IbnFirnas has quit [Remote host closed the connection]
ggherdov has quit [Remote host closed the connection]
strmpnk has quit [Remote host closed the connection]
Haudegen has quit [Ping timeout: 264 seconds]
Hannibal_Smith has quit [Ping timeout: 265 seconds]
ygrek has joined #ocaml
nullcat_ has joined #ocaml
l1x has joined #ocaml
strmpnk has joined #ocaml
sh0t has quit [Ping timeout: 256 seconds]
Hannibal_Smith has joined #ocaml
_habnabit has quit [Ping timeout: 248 seconds]
martintrojer has quit [Ping timeout: 264 seconds]
robink has quit [Ping timeout: 248 seconds]
robink_ has joined #ocaml
IbnFirnas has joined #ocaml
swgillespie has joined #ocaml
_habnabit has joined #ocaml
nullcat_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
martintrojer has joined #ocaml
<MercurialAlchemi> clearly some people thing Core is *too small*
Haudegen has joined #ocaml
<Tekk_> MercurialAlchemi: my main complaint with core is that it breaks stuff
<Tekk_> does recore?
<MercurialAlchemi> it adds stuff to Core
<Tekk_> by breaks stuff, I mean that it's not drop-in. It replaces standard library functions with incompatible ones
<Drup> eatonphil is an adorable newby, but he is a bit presomptuous about the quality of what he is building
<Drup> MercurialAlchemi: no, it adds stuff to the stdlib
<MercurialAlchemi> well, you know what they say about the road to hell
<Drup> Tekk_: batteries is here for that
<MercurialAlchemi> oh, good grief
<MercurialAlchemi> that's even worse
<Drup> no really, it's not useful. eatonphil is just very good at advertising/communication
<MercurialAlchemi> ugh, camelCase everywhere, too
<MercurialAlchemi> well, apparently he has a consultancy
<MercurialAlchemi> the ocsigen team should hire him to do marketing
<Drup> I asked him, in fact
<Drup> :D
<MercurialAlchemi> It may work better with money
<Tekk_> Drup: I remember looking at batteries
<MercurialAlchemi> :)
<Drup> MercurialAlchemi: I don't have that, unfortunatly
<Tekk_> It was kinda annoying, core had all the fancy stuff I needed but broke the standard API
<Tekk_> battery didn't, but it didn't have as much and it received no mention at all in what I was using to learn
<Drup> Tekk_: what did you needed that was in Core on not in batteries ?
<Tekk_> (real world ocaml)
<Tekk_> I don't remember, this was months ago
<MercurialAlchemi> well, RWO is made by people who made Core, so...
<Drup> yes, real world ocaml is very core oriented
<Tekk_> exactly
<Tekk_> that in itself was annoying
<Tekk_> because I was trying to follow using stdlib
<Tekk_> and sometime stuff would just randomly not work
<MercurialAlchemi> haha, I can imagine
<Tekk_> but anyway, I'm interested in ocaml for gamedev
<Tekk_> and on a whim I felt like doing it again
<Tekk_> but opam can't be used on windows, so that kinda ruins it for any sort of client usage for me
<Drup> ?
<Drup> opam shouldn't be used for distributing your program to the end user anyway
<Drup> so I don't see how that's relevant
<Tekk_> No, but it certainly makes getting tsdl and the other stuff easier
<Drup> opam is for the developer
<Tekk_> I suppose I could manually build everything, but I'm sure that I'll just come across more assumed unixisms
<Tekk_> which is what I am :)
<Drup> what you really want is cross compilation to windows
<Drup> which .. is slowly getting there, very slowly
<Tekk_> Not really. What I'd like is to be able to develop it on windows, through cygwin
<Tekk_> that way I can test
<MercurialAlchemi> Tekk_: as far as I understand, the opam people are looking at making it work on windows
<Drup> ah, you dev on windows
<Drup> poor soul =')
<Tekk_> Drup: I dev on slackware
<Tekk_> but when I'm getting my program to run on windows, I prefer to be on windows so I can test it quickly
<Tekk_> because there's going to be *something* wrong with it, in my experience
<Drup> sure, but it doesn't mean you have to actually build on windows
ggherdov has joined #ocaml
<Tekk_> set up my server as a build server to cross-compile to windows, then pull it back to test?
<Tekk_> that'd be...interesting
<Tekk_> but like you said, cross compiling isn't an option yet
* MercurialAlchemi ponders the chance of convincing his new employer of next week that F# is almost like C#
<Tekk_> MercurialAlchemi: hmm...
<Tekk_> you raise a good point, I forgot about F#
<Tekk_> I can probably use monogame from it
<MercurialAlchemi> "you can't see the difference once it's compiled" sounds like a great selling point
<Tekk_> struk|desk: apparently opam devs are looking at making it work on windows, see Drup above.
Hannibal_Smith has quit [Read error: Connection reset by peer]
Nahra has joined #ocaml
<MercurialAlchemi> Is monogame a thing?
ggVGc has quit [Ping timeout: 256 seconds]
<Drup> that is .... just plain bad
<pippijn> that is really bad
<Tekk_> MercurialAlchemi: yeah
<Tekk_> I saw a post recently about a another similar library for C#
<Tekk_> so maybe I'd look into that too
<Drup> Tekk_: technically, F# is usable with unity
<Tekk_> interesting, but unity's overkill for what I do
<Drup> I don't think there is such thing as overkill when you are building a game.
<MercurialAlchemi> why do I feel such dread at the prospect of an owebl "suite"?
<Drup> MercurialAlchemi: the fact that owebl still doesn't have .mlis, maybe ? :3
<tane> lol, at least this guy seems very active
<Tekk_> "humps does not rely on releases"
<MercurialAlchemi> Drup: I wish this was the main sticking point
<Tekk_> *immediately shows the spec file where almost everything is tagged to a release*
<Drup> MercurialAlchemi: let's just call it a symptom
<MercurialAlchemi> well, at least there is some realism when he says "better suited for development"
<MercurialAlchemi> that said, I haven't really figured out what problem it's supposed to solve that OPAM doesn't solve better
<MercurialAlchemi> so you need to specify all your transitive dependencies in order to get an environment?
<Drup> MercurialAlchemi: "I couldn't bother to look what opam pin is doing"
<MercurialAlchemi> Drup: as you know, real men don't RTFM
<MercurialAlchemi> they reinvent the wheel but make it square
<MercurialAlchemi> well, at least it makes for good entertainment
<MercurialAlchemi> I just hope not too many inexperienced people will confuse this "suite" with quality software
<Drup> MercurialAlchemi: it's not on the mailing list yet, that would be better for the entertainment value :D
<MercurialAlchemi> :)
<Drup> apparently it's not on the ocaml planet either
<Drup> funny, nobody added it.
<rgrinberg1> lol
Snark has quit [Read error: Connection reset by peer]
rgrinberg1 is now known as rgrinberg
<rgrinberg> i wonder how does a newcomer to ocaml suddenly get the urge to reinvent an stdlib, a package manager, and a web framework all at once
<MercurialAlchemi> If I was mean, I'd say the product eatonphil's consultancy work will likely be a source of lucrative consulting work later
<MercurialAlchemi> "product of"
<MercurialAlchemi> er, I'm not sure I'd characterize this thing as a package manager
psy_ has joined #ocaml
ggole has quit []
<MercurialAlchemi> rgrinberg: considering the quality of the work ('lightweight' web framework forking at every request, right), I'd say a combination of hubris and inexperience
<MercurialAlchemi> also, marketing
<rgrinberg> i think somebody should just tell the guy politely about opam pins
apache2 has joined #ocaml
<Drup> Not sure about the polite part, though.
<rgrinberg> MercurialAlchemi: yeah it's a bit sad. I've pointed him at cohttp before for a much more sound base for a web framework
<MercurialAlchemi> Drup: he answered your last point
rgrinberg_ has joined #ocaml
swgillespie has quit [Max SendQ exceeded]
<Drup> terribly, if I might add
swgillespie has joined #ocaml
<MercurialAlchemi> "writing code was easier than RTFM"
<Drup> opam pin is literally the first command
<rgrinberg> it's not like you can build owebl without opam anyway :/
<rgrinberg> owebl -> nonstd -> core right?
<rgrinberg> something tells me JSC won't switch to humps overnight
<rgrinberg> MercurialAlchemi: you're right. the self promotion is cringe worthy http://www.reddit.com/r/programming/comments/38svvq/recore_a_higherlevel_standard_api_for_ocaml/
struktured has joined #ocaml
<MercurialAlchemi> rgrinberg: the only sane answer to the situation is as usual provided by Randall Munroe: https://xkcd.com/927/
tmtwd has joined #ocaml
MrScout_ has joined #ocaml
<rgrinberg> MercurialAlchemi: luckily this one doesn't stand much of a chance competing :/
<rgrinberg> it might distract noobs though
<MercurialAlchemi> maybe
<MercurialAlchemi> they'll probably notice it has a grand total of about 10 functions, no documentation and probably bugs, and flee to something better
<MercurialAlchemi> or they will have read RWO and won't even try
idegen has joined #ocaml
<rgrinberg> MercurialAlchemi: yeah but 1st impressions are kind of important
<rgrinberg> IMO ocaml doesn't give the best 1st impression already and this doesn't help
<rgrinberg> anyway, it's pointless to worry about this. might as well get a laugh out of this
<MercurialAlchemi> Finally, we have begun our experimental transition to camel-casing functions. We do this in order to increase readability. Without explicit function tokens, OCaml source code can be very difficult to read. We have begun to adopt and will soon put forth a series of OCaml best-practices for writing actually legible source code. We are only beginning to transition toward this and look forward to input
<MercurialAlchemi> from the community.
<MercurialAlchemi> ...
<dtscode> So TIL utop throws a fit if I don't set eval `opam config env`
<Drup> well, that's to be expected
<Drup> MercurialAlchemi: I find the argument about code readability delicious
<Drup> I should find again the paper about the scientific study that shows that snake_case is always easier to read, but I don't event want to bother :p
<MercurialAlchemi> I need some popcorn, I'm sure the set of "best practices" will be entertaining
<MercurialAlchemi> (I have to say, however, that the weird capitalized snake case for modules *is* an abomination in my eyes)
<rgrinberg> MercurialAlchemi: you mean X_y?
<MercurialAlchemi> yes
<Drup> and for constructors
<rgrinberg> at least everyone more or less follows it
<Drup> I must say, I'm not consistent in the matter
<MercurialAlchemi> except for all the people using CamelCase
<MercurialAlchemi> Drup: that's probably a hint it's a bad convention
<rgrinberg> MercurialAlchemi: nobody uses that
<Drup> yeah
<rgrinberg> which reminds me you should rename yourself :P
<Drup> rgrinberg: for constructors ? I have seen it several time
<MercurialAlchemi> eh, I'll miss even more letters if I camel case myself
<MercurialAlchemi> irc discriminates against long names
<Drup> s/Mercurial/Hg/ ? :3
<MercurialAlchemi> haha
<MercurialAlchemi> I admit, I use git
<MercurialAlchemi> my nick is inspired by Culture ship names
<Drup> It's not really related to the CVS
<Drup> just standard short name for chemical element
<MercurialAlchemi> HgAlchemist isn't that funny
<rgrinberg> Hg_alchemist dammit
<Drup> MercurialAlchemi: Is it a real ship name ? I don't recall that one
<Drup> It's too short anyway
<Drup> A Culture Mind's name is at least a full sentence
<MercurialAlchemi> no, it's not a real one
<MercurialAlchemi> not always
<Drup> there are exceptions, yes, like "Grey area", but this one is a special kind of exception :3
<MercurialAlchemi> (wikipedia is wonderful)
<Drup> note that most of them are actually the shorten ones
struktured has quit [Remote host closed the connection]
<MercurialAlchemi> yeah, not many full sentences
<MercurialAlchemi> though note that the table has also non-Culture ships
<Drup> they are easy to spot, in the middle of terrible jokes :D
<MercurialAlchemi> shame we won't see more of them
mengu has joined #ocaml
<Drup> :(
<Drup> the comedy aspect of most names is lost without the actual personality/role of the ship.
<MercurialAlchemi> yes
<MercurialAlchemi> his non sci-fi is pretty good too
<MercurialAlchemi> especially The Bridge
<Drup> Is "Inversion" non-sci-fi ? :3
<Drup> I read his non-culture sci-fi, but not the non-sci-fi
<MercurialAlchemi> er, well, it has knife missiles, so you decide
<Drup> I don't remember knife missiles, but yeah, it was a joke
<MercurialAlchemi> there is a scene where the doctor is captured
<Drup> we might want to avoid spoilers here. :3
<MercurialAlchemi> funny with all these left-wing scifi writers
<MercurialAlchemi> from scotland
<Drup> which others you have in mind ?
<MercurialAlchemi> Charlie Stross, Ken Macleod
* Drup adds to the TOREAD list
<MercurialAlchemi> don't know about Rajaniemi
<Drup> do you recommend a particular book to start ?
<MercurialAlchemi> Accelerando will blow your mind
<MercurialAlchemi> (from Stross)
<MercurialAlchemi> haven't read that much Macleod
<MercurialAlchemi> and you need to read Rajaniemi's Jean Le Flambeur trilogy if you fancy Arsene Lupin in space with quantum tech and godlike posthumans
<Drup> I could like that.
<MercurialAlchemi> Stross' Laundry Files are pretty funny too
<MercurialAlchemi> British Intelligence bureaucracy vs Cthullu
gabemc has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
nullcat has joined #ocaml
amnn_ has quit [Read error: Connection reset by peer]
amnn has joined #ocaml
<nullcat> so quiet here
<nullcat> everyone is watching soccer?
badon has quit [Ping timeout: 256 seconds]
<MercurialAlchemi> watching sense8
<Drup> hot to spot an American 101: he says "soccer"
<Drup> :]
<MercurialAlchemi> well, it disambiguates in a channel with US and non-US people
mort___ has joined #ocaml
ollehar has quit [Ping timeout: 252 seconds]
<nicoo> Drup: I might have heavily recommended you some of Stross' books already :P
* nicoo doesn't rate high enough to land in Drup's to-read list ;_;
badon has joined #ocaml
<Drup> nicoo: the atrocity archive was already in my toread list
<Drup> so, yes, you do :p
<nicoo> MercurialAlchemi: « real men don't RTFM, they reinvent the wheel but make it square » -> Don't say that where companion_cube might hear :>
<nicoo> \o/
<nicoo> Drup: Ok. Check out also Glasshouse, if I didn't recomment it already
<nicoo> And the Merchent Princes seem to be awesome, even though I hadn't time to read beyond T1
mcc has joined #ocaml
<MercurialAlchemi> nicoo: ccube's wheels aren't square :)
<rgrinberg> nicoo: companion_cube is pretty good at polishing off edges :P
<Drup> MercurialAlchemi: not enough dimensions, obviously
<MercurialAlchemi> Merchant Prince isn't bad, but missing a little something
<MercurialAlchemi> I need to remember to get the last book as interlibrary loan
Anarchos has joined #ocaml
<Drup> nicoo: I don't need multiple books from the same author, I'll get the style with the first one and see by myself if it suits me
<MercurialAlchemi> he also wrote one which deals with interstellar economy when you don't have FTL, that sounded fascinating
mort___ has quit [Quit: Leaving.]
pgomes has joined #ocaml
hbar has joined #ocaml
idegen has quit [Quit: Leaving.]
idegen has joined #ocaml
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
nullcat_ has joined #ocaml
<Drup> rgrinberg: I'm wondering about furl's ppx
<Drup> The particular issue I'm hitting right now is that "?" should be the optional element, but can't be used in path
slash^ has quit [Read error: Connection reset by peer]
ollehar has joined #ocaml
tane has quit [Quit: Verlassend]
Haudegen has quit [Ping timeout: 255 seconds]
rgrinberg_ has quit [Quit: Connection closed for inactivity]
swgillespie has joined #ocaml
Simn has quit [Quit: Leaving]
gabemc has quit [Ping timeout: 245 seconds]
nullcat_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
contempt has quit [Ping timeout: 265 seconds]
contempt has joined #ocaml
Haudegen has joined #ocaml
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
MrScout_ has quit [Remote host closed the connection]
amnn has joined #ocaml
amnn has quit [Read error: Connection reset by peer]
amnn has joined #ocaml
Gama11_ has quit [Read error: Connection reset by peer]
robink_ is now known as robink
paarth has joined #ocaml
Anarchos has quit [Ping timeout: 255 seconds]
Anarchos has joined #ocaml
Anarchos has quit [Client Quit]
sh0t has joined #ocaml
pgomes has quit [Quit: Leaving]
The_Mad_Pirate has quit [Quit: Konversation terminated!]
struktured has joined #ocaml
<paarth> how do people feel about the use of exceptions vs. option/some custom result?
badon_ has joined #ocaml
badon has quit [Disconnected by services]
<thizanne> it depends on people
badon_ is now known as badon
<thizanne> but it seems that most of them do think that a result type is often better
rgrinberg has quit [Ping timeout: 258 seconds]
<Drup> it depends of what you are doing too
<thizanne> especially for exceptions you do want to be able to catch, or if you are on the raising side, that you want people to potentially catch
<Drup> basically, how "exceptional" the failure is
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<thizanne> to continue with Drup, I think there was a mail in the caml list a year ago which said that exceptional exceptions were faster, but commonly used error constructors were faster
<paarth> So for potential errors continue with a result type but for exceptions that indicate some deeper level don't feel guilty for moving forward with them?
<paarth> some deeper level of failure*
<thizanne> it depends on what you mean by deeper
badon has quit [Excess Flood]
<thizanne> if your exception is like Not_found for List.assoc (or Map, or...), (some) people usually find it better to use option
<thizanne> if your exception is like Division_by_zero or Out_of_memory (extreme case), you don't want to add an extra layer of types to indicate this
badon has joined #ocaml
<Drup> (Out_of_memory is a special kind, because just allocating the error variant might be an issue :D)
<thizanne> (probably - again, if you expect your code do try a lot of divisions by zero, maybe it's worth acknowledging it at the type level)
<thizanne> anyway, don't feel guilty for using exceptions. Some people will blame you, but they will blame you for the name of your functions or the order of your parameters anyway (and changing it will make the other class of people blame)
<paarth> thizanne, honesty I don't really like exceptions either. I think they're too easy to overlook and I would rather the type system force someone to handle a common error
<paarth> but honestly putting all of that into the type level I've realized does get tiresome
<Drup> well, there is a thing though: implementing an option function in term of an exception functions is rather expansive and badly optimized. The other way around is less of an issue
<thizanne> then you've got the exact point: the answer is in finding the good compromise
MercurialAlchemi has quit [Ping timeout: 265 seconds]
<paarth> I'm having trouble placing what I would say for plain old invalid input
<paarth> so I'm parsing things into a data structure and I get content that's the string "hello"
Kakadu has quit [Read error: Connection reset by peer]
<paarth> or some other garbage
badon has quit [Read error: Connection reset by peer]
badon_ has joined #ocaml
<paarth> is that exception worthy or is that worth codifying with an invalid_input error code
badon_ is now known as badon
<thizanne> do you expect to often parse invalid content or not ?
<Drup> paarth: provide both.
<paarth> Drup, how so?
<paarth> _exn version?
<Drup> yes
<thizanne> yes
<paarth> *shrug* fair enough
<paarth> thanks
<thizanne> if you find it cumbersome, maybe with an WithException module which provides the exception raising functions
<thizanne> (or an ExceptionLess, as you prefer)
<Drup> I think option is a much better default most of the time
mcc has quit [Quit: This computer has gone to sleep]
<paarth> Drup, I think I'd agree. What I've gotten from this conversation is to go ahead and do option type unless I've got a very good reason not to and if I can't decide, just do both
systmkor has joined #ocaml
mengu has quit [Remote host closed the connection]
Haudegen has quit [Ping timeout: 276 seconds]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ygrek has quit [Ping timeout: 264 seconds]
badon has quit [Ping timeout: 265 seconds]
badon has joined #ocaml
rgrinberg has joined #ocaml
ollehar1 has joined #ocaml
<rgrinberg> Drup: to me that's not an issue. because i don't intend to use ? in the path :P
jabesed has joined #ocaml
<Drup> rgrinberg: I'm actively wondering if it was a good idea to begin with
ollehar has quit [Ping timeout: 256 seconds]
<Drup> It will never support url's corner cases and it will probably be annoying to maintain
<Drup> rgrinberg: you said you would prefer the combinators ?
<rgrinberg> Drup: yep to url's corner cases
<rgrinberg> what do you mean 'prefer te combinators'
<Drup> to build furls
madroach has quit [Ping timeout: 264 seconds]
<rgrinberg> oh. yes i do
<Drup> I'm talking about the ppx, like "://foo.com/%s/"
<rgrinberg> Yes, i would prefer not to use ppx unless forced to
madroach has joined #ocaml
Haudegen has joined #ocaml
<Drup> Yeah, I wonder if you are an exception on that
<Drup> one point on which the ppx could provide a big improvement is group naming
<Drup> I think the syntax would be match .. with "://foo.com/{thing:%s}/" -> ... thing ...
<rgrinberg> what do you mean group naming?
gabemc has joined #ocaml
badon has quit [Ping timeout: 246 seconds]
<Drup> it would name a part of the url and you could use the name if the url is matched
<Drup> instead of going through a function and hoping the order is the right one
<rgrinberg> oh ok
<Drup> that would be a good feature but the syntax I have in mind feels clumsy
<rgrinberg> so you mean like labelled arguments?
<Drup> like the example I gave earlier, really
<rgrinberg> yeah but i'm not sure what ... thing ... means
<Drup> well, it's a name
<Drup> and it will be bind to what %s match
<Drup> if you give the url "foo.com/blabla"
<Drup> then let thing = "blabla"
<rgrinberg> ok but how will this identifier pop into existence
<Drup> ppx maagic
ollehar1 has quit [Quit: ollehar1]
<rgrinberg> i thought it would be (fun thing -> .. )
<Drup> that what it is without ppx
<rgrinberg> ok if it's ppx then that's a little yucky for me
<rgrinberg> although i might consider taking some ppx pixie dust to have the params passed as (fun ~thing ~etc -> ...)
<Drup> that's also a possibility, yes
<Drup> the issue with this kind of magic is that it's fairly limited, since it's purely syntactic
<Drup> like, "Furl.eval ..." would work
<Drup> but not "let my_furl = ... in Furl.eval my_furl"
MrScout has joined #ocaml