adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml MOOC http://1149.fr/ocaml-mooc | OCaml 4.02.3 announced http://ocaml.org/releases/4.02.html | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
nullcatxxx_ has quit [Read error: Connection reset by peer]
nullcatxxx_ has joined #ocaml
ygrek_ has quit [Ping timeout: 244 seconds]
rgrinberg2 has joined #ocaml
nullcatxxx_ has quit [Read error: Connection reset by peer]
nullcatxxx_ has joined #ocaml
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
<j0sh> mrvn: i think i figured out the effect i was going for without gadts
<j0sh> Leonidas: ^
<j0sh> i'm kind of surprised it actually works
madroach has quit [Ping timeout: 260 seconds]
madroach has joined #ocaml
AltGr has joined #ocaml
types has quit [Quit: Page closed]
echo-area has quit [Remote host closed the connection]
<dmbaturin> j0sh: Well, does it? It doesn't let you access all arguments at once.
<dmbaturin> It looks like a complicated version of "let apply f x = f x" to me.
<dmbaturin> Unless I'm missing something.
ontologiae has quit [Ping timeout: 264 seconds]
zpe has joined #ocaml
zpe has quit [Ping timeout: 260 seconds]
<j0sh> dmbaturin: mostly i wanted to be able to manipulate the results after apply before returining
<dmbaturin> (apply (lambda (x y) (+ x y)) '(1)) ; would complain about bad argument count at runtime.
<j0sh> with "apply f x = f x" then you're restricted to one parameter for f as far as i can tell
<j0sh> here, x is basically polymorphic on all the possible arguments of f (if that's the right way to say it... i'm not sure)
<j0sh> so for f : ('a -> 'b -> 'c), the compiler infers x : ('a -> 'b)
<j0sh> what's i'm surprised at is that the associativity works, eg "apply f a b c" collapses "a b c" to a single argument
<j0sh> dmbaturin: in my case i'm not too worried about currying
ontologiae has joined #ocaml
<Drup> j0sh: no it doesn't
<dmbaturin> j0sh: (fun f x -> f x) (fun c -> Printf.printf "c %d\n%!" c; c) 123 |> Printf.printf "after: %d\n"
<zozozo> j0sh: it's not that 'a b c' collapses to one argument
<Drup> j0sh: the correct way to interpret it is like that : (apply f a) b c
<zozozo> it's that f a returns (I guess) a function, which takes two arguments which happen to be b and c
<zozozo> sorry "apply f a", i.e exactly what Drup said
<j0sh> ah, i see
ollehar has quit [Quit: ollehar]
<j0sh> and it doesn't work for labels either... sigh
<Drup> labels work poorly with high order functions
<j0sh> dmbaturin: you are right. apply f x = f x does work for my example. doh
<j0sh> or rather, apply f x = let g = f x in g
ncthom91 has joined #ocaml
ryanartecona has quit [Quit: ryanartecona]
<dmbaturin> j0sh: In what case "f x" and "let g = f x in f" are not equivalent?
<dmbaturin> * in g
<j0sh> dmbaturin: they are (i think), i'm just confusing myself. i had some cases where the compiler would only recognize the first argument instead of currying, but that's more likely a PEBKAC issue
<j0sh> anyway, not working with labels kind of makes all this moot (in my case)
<j0sh> huh. adding a dummy parameter to the beginning makes it work with labels
<j0sh> let baz () ~a ~b ... ... apply baz () ~a:"def" ~b:1.0. doesn't work without the unit at the beginning
abbe has quit [Read error: Connection reset by peer]
abbe has joined #ocaml
seako has quit [Read error: Connection reset by peer]
cojy has quit [Read error: Connection reset by peer]
mariusae has quit [Ping timeout: 246 seconds]
pootler has quit [Ping timeout: 246 seconds]
sgnb` has joined #ocaml
yminsky has quit [Read error: Connection reset by peer]
dch has quit [Read error: Connection reset by peer]
oskarth has quit [Read error: Connection reset by peer]
Sorella has quit [Read error: Connection reset by peer]
ggherdov has quit [Write error: Connection reset by peer]
rfv has quit [Read error: Connection reset by peer]
n1ftyn8_ has quit [Read error: Connection reset by peer]
mawuli has quit [Ping timeout: 246 seconds]
edwin has quit [Ping timeout: 246 seconds]
l1x has quit [Write error: Connection reset by peer]
cschneid has quit [Ping timeout: 246 seconds]
sigjuice has quit [Ping timeout: 246 seconds]
bitbckt has quit [Ping timeout: 246 seconds]
alpen has quit [Ping timeout: 246 seconds]
pootler has joined #ocaml
reynir has quit [Read error: Connection reset by peer]
nchambers has quit [Ping timeout: 246 seconds]
flx_ has joined #ocaml
segmond has quit [Ping timeout: 246 seconds]
averell has quit [Ping timeout: 246 seconds]
reynir has joined #ocaml
_habnabit has quit [Ping timeout: 246 seconds]
seako has joined #ocaml
cojy has joined #ocaml
Leonidas has quit [Ping timeout: 246 seconds]
flux has quit [Ping timeout: 246 seconds]
sgnb has quit [Ping timeout: 246 seconds]
flx_ is now known as flux
alpen has joined #ocaml
Leonidas has joined #ocaml
nchambers has joined #ocaml
bitbckt has joined #ocaml
Sorella has joined #ocaml
sigjuice has joined #ocaml
_habnabit has joined #ocaml
edwin has joined #ocaml
segmond has joined #ocaml
cschneid has joined #ocaml
rfv has joined #ocaml
n1ftyn8_ has joined #ocaml
l1x has joined #ocaml
yminsky has joined #ocaml
dch has joined #ocaml
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
oskarth has joined #ocaml
mawuli has joined #ocaml
mariusae has joined #ocaml
FreeBirdLjj has joined #ocaml
ggherdov has joined #ocaml
ontologiae has quit [Ping timeout: 250 seconds]
ncthom91 has joined #ocaml
badon has quit [Quit: Leaving]
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
python476 has joined #ocaml
zpe has joined #ocaml
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
zpe has quit [Ping timeout: 264 seconds]
nullcatxxx_ has joined #ocaml
rgrinberg2 has quit [Ping timeout: 240 seconds]
groovy2shoes has quit [Ping timeout: 255 seconds]
rgrinberg2 has joined #ocaml
marynate has joined #ocaml
ceryo has joined #ocaml
marynate has quit [Client Quit]
BitPuffin|osx has quit [Ping timeout: 240 seconds]
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
johnf has joined #ocaml
python476 has quit [Ping timeout: 246 seconds]
ceryo has quit [Ping timeout: 272 seconds]
ncthom91 has joined #ocaml
badon has joined #ocaml
kushal has joined #ocaml
Bahman has joined #ocaml
zpe has joined #ocaml
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
zpe has quit [Ping timeout: 264 seconds]
shinnya has joined #ocaml
tmtwd has joined #ocaml
govg has quit [Ping timeout: 260 seconds]
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
lewis1711 has joined #ocaml
Nahra has quit [Read error: Connection reset by peer]
Nahra has joined #ocaml
darkf has joined #ocaml
MercurialAlchemi has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 244 seconds]
igoroliveira has quit [Quit: Connection closed for inactivity]
mac10688 has quit [Ping timeout: 272 seconds]
psy_ has quit [Remote host closed the connection]
lewis1711 has quit [Ping timeout: 240 seconds]
zpe has joined #ocaml
python476 has joined #ocaml
zpe has quit [Ping timeout: 246 seconds]
ygrek has joined #ocaml
tizoc has quit [Ping timeout: 240 seconds]
tizoc has joined #ocaml
raphaelss has quit [Quit: Leaving]
MercurialAlchemi has joined #ocaml
tmtwd has quit [Ping timeout: 240 seconds]
lewis1711 has joined #ocaml
<lewis1711> what's the current situation with core and batteries? is batteries pretty solid? having some... disagreements wit core
jgjl has joined #ocaml
iosys has quit [Quit: Leaving]
flx_ has joined #ocaml
pierpa`` has joined #ocaml
mehdi__ has joined #ocaml
n3f has joined #ocaml
NingaLeaf123 has joined #ocaml
darkf_ has joined #ocaml
neferty has quit [Remote host closed the connection]
mawuli has quit [Ping timeout: 448 seconds]
ggherdov has quit [Ping timeout: 448 seconds]
l1x has quit [Ping timeout: 448 seconds]
rfv has quit [Ping timeout: 448 seconds]
Sorella has quit [Ping timeout: 448 seconds]
flux has quit [Ping timeout: 448 seconds]
AltGr has quit [Ping timeout: 448 seconds]
coody has quit [Ping timeout: 448 seconds]
mehdi_ has quit [Write error: Broken pipe]
lpaste has quit [Read error: Connection reset by peer]
boegel has quit [Write error: Connection reset by peer]
flx_ is now known as flux
coody has joined #ocaml
mawuli has joined #ocaml
rgrinberg2 has quit [Ping timeout: 250 seconds]
boegel has joined #ocaml
darkf has quit [Ping timeout: 258 seconds]
pierpa` has quit [Ping timeout: 258 seconds]
NingaLeaf has quit [Ping timeout: 258 seconds]
lpaste_ has joined #ocaml
l1x has joined #ocaml
rfv has joined #ocaml
Sorella has joined #ocaml
<Leonidas> j0sh: nice!
kushal has quit [Quit: Leaving]
<Leonidas> lewis1711: batteries seems rather dead, or "mature" if you prefer that word. not many updates happening lately
<lewis1711> yeah, mature suits me just fine. a std lib (or a stdlib replacement) doesn't have to be changing at a break neck pace IMO
<companion_cube> there's an upcoming release, there's been a burst of activity
<lewis1711> core makes some really weird decisions, and the doc is fairly bad
<lewis1711> one I've come across recently is in their Stack implementation, they no longer have the Error exception
<lewis1711> pop_exn just throws a generic exception
<companion_cube> I think Core has a nice design overall, but it's very large and not compatible with stdlib
<lewis1711> that seems like an awful design choice over me. Looks like hashtabl has thier own exceptions though
<lewis1711> probably an oversight
<lewis1711> I do like the fact there are option versions as well though
ggherdov has joined #ocaml
<companion_cube> yeah, the find / find_exn idiom is nice
<Leonidas> I overall like the design
<Leonidas> I just don't like that Async is incompatible with Lwt -.-
AltGr has joined #ocaml
<flux> I wonder (again) if the perhaps upcoming effect system will cause yet-another concurrency framework to appear.. perhaps building upon the Thread module.
<flux> it would at least be an opportunity to do it right.. ;-)
<flux> and in a manner that is nice for everyone! yeah, right..
Haudegen has quit [Ping timeout: 240 seconds]
eni has quit [Ping timeout: 252 seconds]
teknozulu_ has joined #ocaml
<teknozulu_> Running ocamldumpobj on a freshly generated cmo gives "Not an object file"
<teknozulu_> any ideas?
<teknozulu_> (The ml is just "let () = print_string "hello world" ")
Haudegen has joined #ocaml
zpe has joined #ocaml
<flux> teknozulu_, is the ocamlc and ocamlobjdump the same version? do you compile with (ie.) ocamlc -c foo.ml ?
zpe has quit [Read error: Connection reset by peer]
zpe has joined #ocaml
<teknozulu_> yeah thats what i compiled with. i don't know how to find the version of ocamldumpobj (it doesnt have a version flag of any sort)
darkf_ is now known as darkf
sh0t has joined #ocaml
coody has quit [Quit: Connection closed for inactivity]
moei has quit [Ping timeout: 250 seconds]
moei has joined #ocaml
sepp2k has joined #ocaml
sh0t has quit [Ping timeout: 276 seconds]
teknozulu_ has quit [Ping timeout: 276 seconds]
aantron has quit [Remote host closed the connection]
julienXX has joined #ocaml
ygrek has quit [Ping timeout: 265 seconds]
freehck has joined #ocaml
Kakadu has joined #ocaml
igstan has joined #ocaml
igstan has quit [Client Quit]
MercurialAlchemi has quit [Ping timeout: 272 seconds]
octachron has joined #ocaml
MercurialAlchemi has joined #ocaml
rgrinberg2 has joined #ocaml
rgrinberg2 has quit [Ping timeout: 240 seconds]
ousado_ has joined #ocaml
ousado has quit [Ping timeout: 250 seconds]
fluter has quit [Ping timeout: 250 seconds]
mort___ has joined #ocaml
fluter has joined #ocaml
sepp2k has quit [Quit: Leaving.]
Bahman has quit [Quit: Ave atque vale]
jonludlam has joined #ocaml
trix has quit [Ping timeout: 240 seconds]
ousado_ has quit [Ping timeout: 240 seconds]
python476 has quit [Quit: Page closed]
trix has joined #ocaml
trix is now known as Guest68832
sepp2k has joined #ocaml
AltGr has left #ocaml [#ocaml]
ontologiae has joined #ocaml
lewis1711 has quit [Ping timeout: 265 seconds]
ousado_ has joined #ocaml
chkaryst has joined #ocaml
jgjl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
emias has quit [Quit: Bye]
mort___1 has joined #ocaml
mort___ has quit [Ping timeout: 246 seconds]
Simn has joined #ocaml
Guest13216 is now known as johnelse
FreeBird_ has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 252 seconds]
FreeBird_ has quit [Ping timeout: 240 seconds]
python476 has joined #ocaml
kushal has joined #ocaml
lakurei has joined #ocaml
sepp2k has quit [Ping timeout: 260 seconds]
Bahman has joined #ocaml
Haudegen has quit [Ping timeout: 252 seconds]
jgjl has joined #ocaml
Haudegen has joined #ocaml
sepp2k has joined #ocaml
ggole has joined #ocaml
emias has joined #ocaml
pierpa`` has quit [Ping timeout: 260 seconds]
AltGr has joined #ocaml
jgjl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
dsheets has joined #ocaml
mort___1 has quit [Quit: Leaving.]
rand has joined #ocaml
n3f is now known as neferty
sepp2k has quit [Ping timeout: 250 seconds]
BitPuffin has joined #ocaml
jgjl has joined #ocaml
AltGr has left #ocaml [#ocaml]
^elyse^ has joined #ocaml
python476 is now known as python476ist
python476ist is now known as python476
lakurei has left #ocaml [#ocaml]
<freehck> people, is it a good place to ask about opam installation scripts?
<freehck> I wanna pack cmdliner module for our project and there's no "install" action in it.
<freehck> And in the build target there's no commands like "make install".
<freehck> But there's the file "cmdliner.install" in the root of package.
<freehck> How the hell does opam use it?
ceryo has joined #ocaml
dsheets has quit [Ping timeout: 276 seconds]
<Drup> it reads the .install file and copies everything
<freehck> Drup: could you give me a link where this behaviour's described?
<freehck> please
<freehck> Oh... Great Scott. This file was created by ocamlbuild?
<freehck> thx
<Drup> it's not created by ocamlbuild in general, but I guess it could, given sufficient scripting
<freehck> Drup: Do I understand correctly that I need to feed "opam-installer" utility with this file to install files described there?
<Drup> that's the easiest way
<freehck> Great. That means for me that opam is the mandatory dependence for this module. :(
<Drup> only opam-installer, which is much smaller
<freehck> Drup: oh, really? I don't need to build and pack the whole opam for this purpose?
<Drup> The other possibility is to preprocess the script in question to whatever build instruction your system use
<companion_cube> python476: looks a lot like the paper about why JaneStreet uses OCaml
<freehck> Well, I think I'd rather pack opam for our system.
<freehck> Thank you.
<Drup> freehck: that is probably much more useful
tmtwd has joined #ocaml
yminsky has quit [Ping timeout: 240 seconds]
n1ftyn8_ has quit [Ping timeout: 240 seconds]
lambdahands has quit [Ping timeout: 240 seconds]
flx has quit [Write error: Connection reset by peer]
flxx has joined #ocaml
sspi has quit [Ping timeout: 240 seconds]
stephe has quit [Ping timeout: 240 seconds]
dch has quit [Ping timeout: 240 seconds]
lambdahands has joined #ocaml
sspi has joined #ocaml
n1ftyn8_ has joined #ocaml
ryanartecona has joined #ocaml
stephe has joined #ocaml
yminsky has joined #ocaml
dch has joined #ocaml
ddosia has joined #ocaml
dsheets has joined #ocaml
mort___ has joined #ocaml
sepp2k has joined #ocaml
rand has quit [Quit: leaving]
infinity0 has quit [Ping timeout: 240 seconds]
infinity0 has joined #ocaml
<freehck> Cool. I need opam-installer to install cmdliner, and to build opam-installer I need opam which has a mandatory dependence of cmdliner. :)
<freehck> Of course I can solve it. What's the problem? :)
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
rgrinberg2 has joined #ocaml
igoroliveira has joined #ocaml
coody has joined #ocaml
<nicoo> freehck: Which system, if I may ask?
cthuluh has quit [Ping timeout: 265 seconds]
^elyse^ has quit [Quit: Leaving]
infinity0 has quit [Remote host closed the connection]
<freehck> nicoo: out ocaml components should be packed for centos6/7 and astra linux.
infinity0 has joined #ocaml
<freehck> I decided just to intall built libs of cmdliner by hands to the ocaml libdir. So it's not a problem anymore.
<freehck> * our ocaml components
<nicoo> 'kay
cthuluh has joined #ocaml
<dmbaturin> I usually use the binary installer, then install ocaml through opam.
Kakadu has quit [Ping timeout: 246 seconds]
<freehck> dmbaturin: but we can't make module packages this way: opam could rebuild some packages because of optional dependencies.
<Leonidas> hacker news on ocaml again
<Leonidas> why the hell do people inist on windows?
<freehck> Leonidas: insist?
<Leonidas> freehck: yes
<dmbaturin> freehck: Ah, if you are building packages, that's another story indeed.
<thizanne> because they use (or know people that use) windows, and because other people insist on linux
<Leonidas> nothing works properly on windows and ocaml in windows is a complete disaster
<thizanne> isn't is precisely why people insist ?
<Leonidas> its like insisting things should work on DOS 6.22 :p
<freehck> Wait, what?! Doesn't Ocaml work fine with Windows?!
<freehck> Sooo, I can forget about the dream to write an opengl game with ocaml?
<Leonidas> freehck: not it you want ctypes or compile c modules or "complicated" things like this.
<freehck> Leonidas: Is the problem with CFFI only?
Bahman has quit [Ping timeout: 276 seconds]
<Leonidas> C modules kinda work, but you have to be really careful what compiler you use your ocaml with.
<Leonidas> *you build your ocaml with
<dmbaturin> >Hacker News; >two years old post; Something looks wrong here. :)
<freehck> Leonidas: What if I use GCC?
<freehck> under Windows I mean.
<Leonidas> freehck: then I hope you don't want to use libraries compiled with MSVC.
<Leonidas> I think the best option is to build ocaml with MSVC
<freehck> I won't.
^elyse^ has joined #ocaml
<Leonidas> and hope all OCaml libraries you want to use compile with it. OCaml itself is completely fine though.
ryanartecona has quit [Quit: ryanartecona]
<Leonidas> but getting ctypes to work proved to be quite impossible for me.
<freehck> Phew... I've just thought that I have to use CL instead of Ocaml. :)
<Leonidas> maybe this has changed in the last 6 months.
<Leonidas> freehck: heh, no worries :-)
<dsheets> Leonidas, using libffi or stub gen?
<Leonidas> dsheets: libffi I believe.
<Leonidas> this was a real issue for us, since LLVM started to use ctypes
<Leonidas> (not that the llvm bindings were ever officially available for windows before, so not realla a regression, but you could build them by hand and they worked just fine)
<Leonidas> sorry I am raging so much, but I was working on stuff for quite some time and everytime somebody said "it must work on windows" this caused ridiculous amounts of pain
<Leonidas> compared to the look of horror when you tell a web developer "it has to work in IE6"
<dsheets> Leonidas, ah, that does not surprise me
<edwin> there is also a mailing list for discussing/improving ocaml on windows http://lists.ocaml.org/pipermail/wg-windows/
<dsheets> if you have the stomach for it, I'd love to hear how ctypes stubgen works on windows
<edwin> I don't use windows myself so besides trying ocaml on windows once I haven't contributed much there unfortunately
<dsheets> I'm doing my 3rd and 4th ctypes stubgen libs atm so I'm going to try to get a nice template published to get started with it (maybe 300 lines of build boilerplate :-()
<Leonidas> dsheets: sorry, I changed jobs now and don't have to care about windows anymore.
<Leonidas> which is not to say that I don't like ctypes, au contraire, it seemed to me to be quite a bit nicer than python ctypes even.
<Leonidas> this "harder to hire people" rhetoric is coming from people who apparenty have never hired anyone for such a job
<Leonidas> using functional programming has made hiring easier for my company at least :-)
ryanartecona has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
chkaryst has quit [Quit: Page closed]
ncthom91 has joined #ocaml
<dmbaturin> Leonidas: I'd like to hear about your experience with hiring FP people.
<dmbaturin> A blog post would be nice.
<Leonidas> dmbaturin: sounds good, we recently set up an engineering blog, so that might be a good topic to discuss.
s1n4 has joined #ocaml
s1n4 has quit [Client Quit]
<dmbaturin> Leonidas: What software did you use for the blog by the way?
fleaswallow has joined #ocaml
<dmbaturin> I'm looking for something to move my blague to.
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
dsheets has joined #ocaml
<Leonidas> dmbaturin: we used cryogen along with some patches, since we mostly use Clojure.
<Leonidas> can't recommend octopress which I still have for my personal blog
flxx has quit [Quit: leaving]
tmtwd has quit [Remote host closed the connection]
<companion_cube> pelican is pretty ok
aantron has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 240 seconds]
<dmbaturin> Leonidas: Can it produce per-category/per-tag RSS feeds?
<freehck> Hey-ho. We need to compile 1 (ONE) file in order to build leveldb.1.1.0.
<freehck> Do you know how do opam script do it? I'll tell you! "omake -j9"! :)
<Leonidas> dmbaturin: looks like it, from reading the source.
<Enjolras> freehck: better to be future proof
<Leonidas> freehck: isn't it omake -j<number_of_cores> or something?
<Leonidas> oh no, it really is hardcoded
* Leonidas :D
<freehck> I'll email to the author about it.
<Enjolras> "hey, i have 64 cores with HT. Could you change it to -j128 ?"
<Leonidas> freehck: you could just talk to vbmithr
<freehck> Leonidas: who's he?
<Leonidas> freehck: the person who committed the opam spec file: https://github.com/ocaml/opam-repository/blob/master/packages/leveldb/leveldb.1.1.0/opam
<freehck> I thought to write to the maintainer: mfp@acm.org.
<freehck> Ok, I'll Cc: vbmithr
<Leonidas> you could to that as well. or even easier, you could just make a PR
<Enjolras> or you could just don't care. Because it has absolutly no effect
<Leonidas> or that.
^elyse^ has quit [Quit: Leaving]
<Leonidas> I do like the idea of changing it to 128 for future releases though
<mfp> erm hello, what's the problem here?
<freehck> wow! mfp! :)
<dmbaturin> Leonidas: Going to try that. Clojure is the sort of lisp I like (along with Scheme). Most generators I've seen so far can't do separate feeds properly, but if I want to have it added to planet.ocaml.org I kinda have to do it.
<freehck> mfp: I've just found that you lebeldb is build with "omake -j9", and it is for exactly 1 file.
* mfp brb
<freehck> mfp: Just notice that -j9 is not needed and that's all.
<reynir> I wish I had more cores
<Leonidas> dmbaturin: for the record, octopress works properly (one of my feeds is on Planet Clojure, so I had the same usecase)
<mfp> freehck: OK, I think we can live with it :-) (not going to bother the OPAM repos people for this, since it has no effect whatsoever)
<freehck> mfp: +1 :)
<Leonidas> mfp: just wondering, why this curious number?
<mfp> Leonidas: no deep reason really, I had a codebase where -j9 was faster than e.g. -j8, and it became an habit (why not -jNN, because longer to type :)
<mfp> or iow. muscle memory
<dmbaturin> Leonidas: Why you can't recommend it though?
<Enjolras> doesn't omake support "-j" ?
<Enjolras> bmake works with -j, which is usually a good idea, it scales with the number of cores of the calling platform
<Enjolras> (i mean just -j, not -jX)
<mfp> *** omake fatal error: Option -j requires an argument
<Enjolras> :/
zpe has quit [Remote host closed the connection]
<Leonidas> dmbaturin: it is really slow, poorly maintained, needs not obly ruby but also nodejs nowadays and messes with your blogpost (I had to patch it so it didn't force some typographic changes on my code listings).
<dmbaturin> Leonidas: Wow, nodejs for a static website generator? I guess I don't want it.
<dmbaturin> In any case I'm not a fan of ruby.
<Leonidas> dmbaturin: yes, I uninstalled node and suddenly it broke
<Leonidas> dmbaturin: same. so that's why i wouldn't use it anymore.
<Leonidas> But it has a really nice theme and so far I am too lazy to migrate away
<GooseYArd> i was reading about some single-binary static blog generator last week but've forgotten its name
<GooseYArd> i had the same problem with octopress that you guys are describing
<edwin> stog?
<GooseYArd> i think it was "Hugo"
<companion_cube> http://gohugo.io/ ?
<GooseYArd> i should write a unix purist version with gnu m4
<GooseYArd> ehehe
slash^ has joined #ocaml
<Leonidas> if it's single binary, 95% that it's in go
<dmbaturin> Oh, I've seen this one, but I don't want Go.
<GooseYArd> yeah my guess is its got just as many dependencies in the end
<Leonidas> GooseYArd: GNU m4 is not Unix purist, you need BSD m4 for that.
<GooseYArd> it seems these days the simpler the job of the program, the greater the number of dependencies of the various open implementations
<dmbaturin> I was seriously thinking of making a new generator in ocaml, but I decided to evaluate existing options first. :)
<Leonidas> in GNU m4 you can reconfigure the string terminators to be the same, which doesn't work in classic m4 ;-)
<GooseYArd> Leonidas: I'm not a masochist
<GooseYArd> ehehe
<Leonidas> dmbaturin: there is also hakyll.
<Leonidas> GooseYArd: I am, and I generated manpages for my friends using m4 :p
<GooseYArd> i want my blog posts to be sexprs
<GooseYArd> oh hah there's an idea
<GooseYArd> nroff as the next generation web publishing framework
<Leonidas> (basically, I needed a template engine for the annoying busywork and m4 was the only thing I could think off that would be installed by default)
<Leonidas> oh the pain
<dmbaturin> For my website I used mpp. :)
<Leonidas> dmbaturin: mpp?
<dmbaturin> Leonidas: https://github.com/ocaml/MPP-language-blender It's the same thing that ocaml.org uses.
<dmbaturin> * the thing that ocaml.org uses, even
ncthom91 has joined #ocaml
<Leonidas> the description is deliberately cryptic I guess ;-)
<Leonidas> GooseYArd: well, sexplib exists
<Leonidas> I was thinking about using sexplib for config files in ocaml
<dmbaturin> There's ppx_deriving_yojson!
zpe has joined #ocaml
<edwin> well stog is in ocaml, and I think there are a few more (cowabloga?), anybody has experience comparing them?
ryanartecona has quit [Ping timeout: 272 seconds]
BitPuffin has quit [Read error: Connection reset by peer]
<dmbaturin> edwin: Oh, interesting. Same question: can it do per-category feeds?
BitPuffin has joined #ocaml
<Leonidas> dmbaturin: I tried using json as config but ended up deciding that it's a bad format for configuration
<Leonidas> without comments and a rather annoying syntax for "normal users".
<dmbaturin> Well, S-exp is probably even more alien to "normal users".
<freehck> dmbaturin: yeah-yeah. I've already tired to hear it from java-programmers. ;)
<freehck> "We don't have a good sexp-parser in java, so let's do it with xml or json..."
<Leonidas> dmbaturin: not if they are used to configuring Xen ;-)
<Leonidas> but yeah, can't win either way
<edwin> dmbaturin: https://zoggy.github.io/stog/5-minutes.html you can choose based on document 'type', I haven't seen an example with more than 1 RSS feed though
<freehck> Btw, our build system uses R5RS scheme to write spec-files for packages. :)
<edwin> there are some alternatives to JSON like YAML or TOML
<edwin> is there a yaml parser for ocaml though?
<freehck> And it's all because it's so easy to make plugins for build system with scheme...
<Leonidas> freehck: which scheme? and why not another implementation ;-)
<Leonidas> edwin: yaml grammar is a nightmare
<freehck> Leonidas: When our build system was written R5RS was an actual standard.
<Leonidas> TOML would be neat, also EDN
<Leonidas> freehck: you're not using any implementation depentent code? impressive.
<Leonidas> *dependent
<Leonidas> stog looks neat
<freehck> Leonidas: No, we just use an old OCS library with modules written specifically by us for us.
<Leonidas> edwin: thanks, that looks very useful
<edwin> there were also some plugins that allowed you to write your blogposts in markdown and use pandoc to convert I think. I'm not a fan of writing things in XML :)
<freehck> * s/by$//
<freehck> Leonidas: you know, we're going to publish it soon. I'm so waiting this moment! :)
<Leonidas> didn't know felix was written in OCaml
<Leonidas> but these days everything is.
<freehck> Leonidas: I suppose felix is another language. :)
<freehck> OCS is just an ocaml repo of the github user felix-lang. :)
<freehck> okay, gonna go home
<freehck> bb
MercurialAlchemi has joined #ocaml
<edwin> interesting, would it be possible to run emacs on this (given that there will be a GuileEmacs) :)
jeffmo has joined #ocaml
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
zpe has quit [Remote host closed the connection]
octachron has quit [Quit: Leaving]
ncthom91 has joined #ocaml
ncthom91 has quit [Client Quit]
tvaalen has quit [Ping timeout: 272 seconds]
mort___ has quit [Ping timeout: 246 seconds]
tvaalen has joined #ocaml
ncthom91 has joined #ocaml
psy_ has joined #ocaml
ryanartecona has joined #ocaml
tane has joined #ocaml
nullcatxxx_ has joined #ocaml
govg has joined #ocaml
Nahra has quit [Read error: Connection reset by peer]
srcerer_ is now known as srcerer
tane has quit [Remote host closed the connection]
jwatzman|work has joined #ocaml
shinnya has quit [Ping timeout: 265 seconds]
ollehar has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
badon_ has joined #ocaml
badon has quit [Disconnected by services]
badon_ is now known as badon
zpe has joined #ocaml
jonludlam has quit [Ping timeout: 260 seconds]
jwatzman|work has joined #ocaml
<Drup> MercurialAlchemi: I'm really curious, what is an "IDE workflow" if it's not merlin ?
nullcatxxx_ has joined #ocaml
<companion_cube> maybe something with a debugguer
tane has joined #ocaml
<j0sh> is there some way of taking an optional argument with type ?f:('a -> 'b) and assigning it a default that evaluates to ('a -> 'a) ? eg, ?(f = fun x -> x) the compiler then tries to enforce ?f:('a -> 'a) for all further invocations, which i don't want
<j0sh> i tried using locally abstract types with [type a b . a -> b] but then the compiler complained that a != b in the default
<ggole> That doesn't seem sound.
<j0sh> is there another way of accomplishing something similar?
<def`> j0sh: not possible, you have to pass id manuallt
<ggole> No wait, I guess it's OK... hmm
<def`> A gadt with an Id constructor
<j0sh> hmm, okay
<def`> what you want is not parametric
<j0sh> what do you mean?
<def`> try to give a type to your function from the outside
<def`> it would need to expose the fact that if no argument is giben, a = b, but not necessarily otherwise
<def`> given*
<j0sh> something like type fun_t = ('a -> 'b) ... ?f:fun_t ?
<def`> fun_t being?
<def`> (What I said about gadts is probably wrong, I don't see how it solves the problem)
^elyse^ has joined #ocaml
<def`> (basically, the caller would need to know about the default value to type the definition)
jeffmo_ has joined #ocaml
jeffmo has quit [Ping timeout: 255 seconds]
jeffmo_ is now known as jeffmo
<j0sh> fun_t being ('a -> 'b) but i just tried, doesn't seem to help
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<j0sh> i guess the issue is that the output of f should be polymorphic, and the output type of the default value is one possibility of many
<ggole> Not really what you're after
<j0sh> but the compiler tries to enforce the same signature as the default (even though the output type really should not matter here)
<ggole> Er, I should probably move the function into the gadt
<ggole> Since it's supposed to be optional
<j0sh> ggole: i can probably live with that solution
<j0sh> defaults should only be overrided occassionally, so i'm okay with making the caller do a little more work to wrap things in another constructor
<j0sh> thanks!
<ggole> OK
ryanartecona has quit [Quit: ryanartecona]
ygrek has joined #ocaml
<MercurialAlchemi> Drup: "do everything from your IDE"
<MercurialAlchemi> rename files, create projects, start an integrated web server, etc
<MercurialAlchemi> like people with an emacs disease
<Drup> ah yeah
jgjl has quit [Quit: Textual IRC Client: www.textualapp.com]
<Drup> the feature that I don't like in IDEs, so yeah, I'm not competent to talk about that.
<MercurialAlchemi> I don't really care about that, but if you tell Visual Studio people "install vim and merlin, it's just like Visual Studio", they're going to go into shock
<Drup> I see what you mean
<MercurialAlchemi> of course you could argue that IDE-centrism leads to "everything needs to be machine-readable and clickable" and XML everywhere
<Drup> well, no, my issue is more "my terminal works just fine and has more features"
<Drup> (to create projects and launch webservers, in particular)
<MercurialAlchemi> I live in a terminal too
<MercurialAlchemi> it's just that most people don't
<Drup> I have worked with people creating projects that can't build outside of eclipse, never again
<MercurialAlchemi> (also, project-wide rename *does* go beyond what you can do via terminal)
<reynir> Can you rename variables/functions with merlin or similar?
<MercurialAlchemi> works only in your local file
<Drup> locally, not (yet) globally
<MercurialAlchemi> but I don't see anybody in the community interested in either building or using an IDE
<Drup> yeah
<def`> MercurialAlchemi: I surely want to improve "semantics" feature
<def`> but not in the direction of (what's referred to as) IDEs
<MercurialAlchemi> or wanting to go within one light-year of the Eclipse codebase, which would be a somewhat sensible choice if your proclivities went that way
<reynir> How do you rename locally :o
<MercurialAlchemi> well, I think the fact that OPAM still doesn't work on Windows kind of speaks for how GUI-dependent the OCaml community is
<Drup> MercurialAlchemi: note that there are ocaml IDEs too, but nobody is interested by using them :)à
<def`> reynir: vim or emacs?
<reynir> vim :)
<def`> put your cursor over ident
<def`> then :MerlinRename
<def`> :MerlinRename some_name
<MercurialAlchemi> yeah, I think you have a Haskell IDE somewhere that probably requires human sacrifices to build, and the one FP complete made
<companion_cube> but it's only local renaming
<reynir> Cool!
<Drup> MercurialAlchemi: I don't think this one is hard to build
<companion_cube> wow, I need to force myself to backlog
<Drup> just that people are not interested
BitPuffin has quit [Ping timeout: 240 seconds]
<MercurialAlchemi> it's funny in a way, because with you'd think that a HM language would comparably be an easy target
<Drup> why ?
<Drup> (not that those IDEs never had merlin-like thing, just the rest of the IDE features)
<MercurialAlchemi> I'd imagine you have a lot less ambiguity when it comes to stuff like completion
Haudegen has quit [Ping timeout: 260 seconds]
<MercurialAlchemi> but that's not the biggest problem I suppose
rgrinberg2 has quit [Ping timeout: 272 seconds]
_andre has quit [Quit: leaving]
^elyse^ has quit [Quit: Leaving]
<MercurialAlchemi> Drup: that said, your note about people who can't build without Eclipse is pretty sad
<Drup> (tbf, it was the university)
<MercurialAlchemi> well, I'm sure you'll find a number of professional developpers in the same situation
<MercurialAlchemi> (of course it's even better on Windows because you're not really supposed to leave the holy Visual Studio)
* reynir saw a guy open a C file in Word at university
<MercurialAlchemi> ah, a Word programmer
<MercurialAlchemi> I heard people were editing HTML in notepad, back in the day where it had only one level of undo
<MercurialAlchemi> (actually, it may still have, I don't know)
<dmbaturin> Drup: Not that IDE-bound projects don't happen in production.
<MercurialAlchemi> all kind of gory things happen in production
Haudegen has joined #ocaml
darkf has quit [Quit: Leaving]
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
_miachel has joined #ocaml
<edwin> for C I don't like using IDEs either (survived just fine with Vim), and for OCaml merlin provides what I need so far for writing code. I like how its editor independent so I get same features in Vim and Emacs (and I actually started to learn emacs because of that). Perhaps the only thing missing right now is easy access to documentation, and I'm waiting for codoc to be ready for that
<flux> rtags has been a life-saver with C.. :)
<MercurialAlchemi> one nice to have in merlin would be "you don't use this import/variable" warning
<MercurialAlchemi> followed by the "let me clean that up for you" command
<_miachel> I have a function that throws exception, but it is cought somewhere that doesn't print or show anything. I could not track where the exception is cought. Is there any way to track such a thing?
<flux> yeah, it's not difficult to end up with useless stuff when refactoring code
<edwin> warning 33?
<flux> edwin, well, modules or module aliases for instance aren't ever marked unused, are they?
<flux> _miachel, so something catches the exception?
<_miachel> I guess so, as I am sure I am raising an exception, but program does not terminate, and function doesn't continue from that point
<flux> I guess it's a bit tricky.. is it the only exception being thrown? if so, perhaps gdb could point out the place by breakpointing some throw function..
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<flux> _miachel, so you know about where it's being thrown?
Kakadu has joined #ocaml
<_miachel> Yes
<edwin> hmm module (aliases) could be needed by other modules, something to be determined at link time probably
<flux> _miachel, why not wrap that particular function in a try f () with exn -> Printexc.print_backtrace stdout; assert false ?
<edwin> or if you have a .mli that doesn't export those internal modules
<_miachel> that is a good idea, thanks!
<flux> _miachel, happy debugging :)
<_miachel> thanks mate :)
nullcatxxx_ has joined #ocaml
nullcatxxx_ has quit [Client Quit]
badon has quit [Ping timeout: 250 seconds]
<Drup> MercurialAlchemi: that's already a compiler warning
<Drup> except if you mean project wide, but merlin doesn't do any project wide things anyway
nullcatxxx_ has joined #ocaml
<MercurialAlchemi> Drup: no doubt, but I want that in vim :)
<Drup> well, yeah, you can enable the compiler warning in merlin ...
<MercurialAlchemi> ah, good point
<MercurialAlchemi> should be on per default :)
sepp2k has quit [Quit: Leaving.]
gganley has joined #ocaml
ollehar has quit [Ping timeout: 252 seconds]
mort___ has joined #ocaml
dsheets has quit [Ping timeout: 240 seconds]
mort___ has quit [Client Quit]
tane has quit [Quit: Verlassend]
raphaelss has joined #ocaml
shinnya has joined #ocaml
ryanartecona has joined #ocaml
larhat has joined #ocaml
mort___ has joined #ocaml
Lis has joined #ocaml
rgrinberg2 has joined #ocaml
gganley has quit [Ping timeout: 240 seconds]
ryanartecona has quit [Quit: ryanartecona]
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
nullcatxxx_ has joined #ocaml
johnf_ has joined #ocaml
apache2_ has joined #ocaml
NingaLeaf has joined #ocaml
nullcatxxx_ has quit [Client Quit]
apache2 has quit [Remote host closed the connection]
ggole has quit []
djellemah_ has joined #ocaml
NingaLeaf123 has quit [Ping timeout: 240 seconds]
johnf has quit [Ping timeout: 240 seconds]
djellemah has quit [Ping timeout: 260 seconds]
freehck has quit [Remote host closed the connection]
djellemah_ is now known as djellemah
ollehar has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
orbifx has joined #ocaml
JuggleTux has joined #ocaml
ceryo has quit [Quit: Textual IRC Client: www.textualapp.com]
JuggleTux has left #ocaml [#ocaml]
sh0t has joined #ocaml
rgrinberg2 has quit [Quit: WeeChat 1.3]
sh0t has quit [Ping timeout: 260 seconds]
psy_ has quit [Ping timeout: 240 seconds]
ontologiae has quit [Ping timeout: 252 seconds]
Haudegen has quit [Ping timeout: 250 seconds]
mort___ has quit [Quit: Leaving.]
djellemah__ has joined #ocaml
djellemah has quit [Ping timeout: 255 seconds]
Haudegen has joined #ocaml
djellemah has joined #ocaml
pippijn_ is now known as pippijn
djellemah__ has quit [Ping timeout: 272 seconds]
zpe has quit [Remote host closed the connection]
kushal has quit [Ping timeout: 240 seconds]
BitPuffin has joined #ocaml
mort___ has joined #ocaml
BitPuffin has quit [Remote host closed the connection]
ryanartecona has joined #ocaml
mort___ has quit [Quit: Leaving.]
Simn has quit [Quit: Leaving]
<ollehar> hm, how come no struct operation in the LLVM ocaml api returns a value?
<ollehar> or "llvalue"
<ollehar> only lltype is returned.
MercurialAlchemi has quit [Ping timeout: 240 seconds]
Nahra has joined #ocaml
<flux> hmm, dunno, but if you're generating code, do you really have values available.. ?
teknozulu has joined #ocaml
python476 has quit [Ping timeout: 246 seconds]
jeffmo has quit [Quit: jeffmo]
<ollehar> flux: yes
<ollehar> ugh
<ollehar> maybe just build an alloca for the type...
ryanartecona has quit [Quit: ryanartecona]
yegods has joined #ocaml
mac10688 has joined #ocaml
ygrek has quit [Ping timeout: 260 seconds]
ddosia has quit [Quit: Connection closed for inactivity]
psy_ has joined #ocaml
truncate is now known as vishesh
nullcatxxx_ has joined #ocaml
yegods has quit []
ontologiae has joined #ocaml
nullcatx_ has joined #ocaml
nullcatx_ has quit [Client Quit]
Nahra` has joined #ocaml
ontologiae has quit [Ping timeout: 240 seconds]
struk|desk2 has joined #ocaml
theblatte has quit [Ping timeout: 265 seconds]
mahem1 has quit [Ping timeout: 265 seconds]
struk|desk has quit [Ping timeout: 265 seconds]
mahem1_ has joined #ocaml
theblatte has joined #ocaml
jave has quit [Ping timeout: 265 seconds]
w1gz has quit [Ping timeout: 265 seconds]
zaquest has quit [Ping timeout: 265 seconds]
gustav___ has quit [Ping timeout: 265 seconds]
nullcatxxx_ has quit [Ping timeout: 265 seconds]
Nahra has quit [Ping timeout: 265 seconds]
tumdum_ has quit [Ping timeout: 265 seconds]
gustav___ has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
yaewa has joined #ocaml
orbitz has joined #ocaml
tumdum has joined #ocaml
mthom` has joined #ocaml
Enjolras_ has joined #ocaml
jave has joined #ocaml
Maelan_ has joined #ocaml
cross_ has joined #ocaml
pippijn_ has joined #ocaml
flasheater has joined #ocaml
Mike57 has quit [Ping timeout: 260 seconds]
Mike57 has joined #ocaml
aantron has quit [*.net *.split]
moei has quit [*.net *.split]
Enjolras has quit [*.net *.split]
orbitz_ has quit [*.net *.split]
pippijn has quit [*.net *.split]
tokenrove has quit [*.net *.split]
vishesh has quit [*.net *.split]
cross has quit [*.net *.split]
Maelan has quit [*.net *.split]
mthom has quit [*.net *.split]
bugabinga has quit [*.net *.split]
mal`` has quit [*.net *.split]
Maelan_ is now known as Maelan
mal`` has joined #ocaml
tokenrove has joined #ocaml
ryanartecona has joined #ocaml
zaquest has joined #ocaml
w1gz has joined #ocaml
vishesh has joined #ocaml
struk|work has quit [Quit: Page closed]
ygrek has joined #ocaml
Nahra` has quit [Remote host closed the connection]
Nahra`` has joined #ocaml
ollehar has quit [Ping timeout: 252 seconds]
Kakadu has quit [Remote host closed the connection]
badon has joined #ocaml
<j0sh> is there no way for two (polymorphic) locally abstract types to be equivalent to each other?
<def`> if a type is abstract, how can it be polymorphic?
<def`> but asserting equally of local abstract types is the main purpose of GADTs
<def`> (as well as introducing existential types)
ollehar has joined #ocaml
ollehar has quit [Client Quit]
Nahra`` has quit [Read error: Connection reset by peer]
Nahra`` has joined #ocaml
cross_ has quit [Remote host closed the connection]
pkrnj has joined #ocaml
<j0sh> def`: hmm, okay. i'm not totally comfortable with the distinction between polymorphic and abstract types, that's probably where some of my difficulty is coming in
^elyse^ has joined #ocaml
cross has joined #ocaml
jwatzman|work has joined #ocaml
rand has joined #ocaml