infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
ryanartecona has quit [Quit: ryanartecona]
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
infinity0 has quit [Remote host closed the connection]
richi238 has quit [Ping timeout: 240 seconds]
sh0t has quit [Remote host closed the connection]
ziyourenxiang has joined #ocaml
lpaste has quit [Ping timeout: 245 seconds]
<philipwhite>
hey, I'm rather new to ocaml; I've been trying to get an ocaml toplevel to be happy with Core instead of the usual standard library. The twist is that I want to handle all dependencies through nix instead of opam. However, I'm running into a little trouble. Has anybody here had some experience using nix with ocaml?
<philipwhite>
Specifically, I'm trying to follow the Real World OCaml book, but since I want to use nix, I can't just do exactly the same thing.
<philipwhite>
To make a core-enable utop, that is
lpaste has joined #ocaml
philipwhite has quit [Quit: Page closed]
mfp has quit [Ping timeout: 255 seconds]
lpaste has quit [Ping timeout: 240 seconds]
lpaste has joined #ocaml
yawnt has quit [Ping timeout: 264 seconds]
moei has quit [Quit: Leaving...]
yawnt has joined #ocaml
mengu has quit [Quit: Leaving...]
p_nathan has joined #ocaml
govg has quit [Ping timeout: 258 seconds]
jack5638 has quit [Ping timeout: 268 seconds]
jack5638 has joined #ocaml
lpaste has quit [Ping timeout: 245 seconds]
gregoire has quit [Ping timeout: 258 seconds]
bbc has quit [Ping timeout: 240 seconds]
bbc has joined #ocaml
gregoire has joined #ocaml
lpaste has joined #ocaml
gregoire has quit [Ping timeout: 255 seconds]
gregoire has joined #ocaml
govg has joined #ocaml
jack5638 has quit [Ping timeout: 255 seconds]
jack5638 has joined #ocaml
ryanartecona has joined #ocaml
moei has joined #ocaml
MercurialAlchemi has joined #ocaml
copy` has quit [Quit: Connection closed for inactivity]
govg has quit [Ping timeout: 240 seconds]
infinity0 has joined #ocaml
govg has joined #ocaml
johnelse has quit [Ping timeout: 246 seconds]
AlexDenisov has joined #ocaml
diphuser has quit [Remote host closed the connection]
justicefries has joined #ocaml
govg has quit [Ping timeout: 240 seconds]
ryanartecona has quit [Quit: ryanartecona]
spew has joined #ocaml
spew has quit [Client Quit]
p_nathan has quit [Ping timeout: 240 seconds]
ziyourenxiang has quit [Quit: Leaving]
Mercuria1Alchemi has joined #ocaml
johnelse has joined #ocaml
cdidd has quit [Quit: Leaving]
govg has joined #ocaml
Simn has joined #ocaml
alfredo has joined #ocaml
govg has quit [Ping timeout: 260 seconds]
AlexDenisov has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Mercuria1Alchemi has quit [Remote host closed the connection]
Mercuria1Alchemi has joined #ocaml
betux has joined #ocaml
betux has quit [Client Quit]
ygrek has quit [Ping timeout: 272 seconds]
inr_ is now known as inr
betux has joined #ocaml
fre has quit [Quit: WeeChat 1.7]
freusque has joined #ocaml
AlexDenisov has joined #ocaml
argent_smith has joined #ocaml
betux has quit [Remote host closed the connection]
betux has quit [Remote host closed the connection]
betux has joined #ocaml
zpe has joined #ocaml
betux has quit [Remote host closed the connection]
betux has joined #ocaml
<Leonidas>
people asking things at 3 AM -.-
<adrien>
east coast
<Leonidas>
maybe we should add a note to people arriving at such ungodly times?
<Leonidas>
in the topic or something?
<adrien>
from my experience with IRC, I can guarantee you that it wouldn't change anything
betux has quit [Remote host closed the connection]
betux has joined #ocaml
AlexDenisov has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
betux has quit [Remote host closed the connection]
betux has joined #ocaml
<toppler>
*Are* there many nix users here?
AlexDenisov has joined #ocaml
<theblatte>
I don't think there are official statistics
<toppler>
Should just intersect the usernames.
<flux>
I'm sort of expecting the number around 0, but perhaps I don't know how popular Nix is :)
<toppler>
Well, there's me. But then, 1 is around 0 :)
<flux>
toppler, are you philipwhite?
<flux>
if not, there would be 2, but I guess you are :)
<toppler>
Ah, I'm not. But I've been using both nix and Ocaml daily for over 2 years.
<toppler>
(still feel a bit of a noob to nix, though)
betux has quit [Remote host closed the connection]
betux has joined #ocaml
<flux>
I imagine you've been using Linux for longer?
<toppler>
Yeah.
<toppler>
Moved over from Gentoo. I get the impression it's a common trajectory going from Gentoo/Arch to Nix.
sfri has quit [Read error: Connection reset by peer]
AlexDenisov has quit [Remote host closed the connection]
<flux>
I just rock Debian/Ubuntu and I don't see it changing in the near future :). I started with Slackware though. might involve with freebsd as I'm planning to install freenas some day soon.
<toppler>
How long did you use Slack, may I ask?
<flux>
perhaps a few years. it's been a long time. I installed it from 3.5" floppy disks.
<toppler>
Wow. Nice.
<flux>
I did use of course redhat in the meanwhile. but I don't recall using a fourth distribution..
<toppler>
My old boss still has his original Linux book from the mid 90s. It came with a couple of CDs. He'd used SUN workstations at uni, and wanted to run stuff on his own machine.
xvw_ has joined #ocaml
betux has quit [Quit: betux]
betux has joined #ocaml
betux has quit [Remote host closed the connection]
betux has joined #ocaml
sfri has joined #ocaml
johnelse is now known as johnel_away
johnel_away is now known as johnelse
betux has quit [Remote host closed the connection]
betux has joined #ocaml
spew has joined #ocaml
govg has joined #ocaml
nullifidian has joined #ocaml
betux has quit [Remote host closed the connection]
<orbifx[m]>
I thought I wrote what orbitz just wrote... freaked me out :P
<orbitz>
orbifx[m]: I'm controlling you and you don't even know it!
<orbifx[m]>
toppler: using Arch here, I'm not convinced it's a good idea to use the system's package manager for dev packages
<orbifx[m]>
For distribution it's another matter
<orbitz>
I'm slowly roling over in my head how to use ocaml properly in FreeBSD's package manager
<orbitz>
first, it needs a version upgrade
Algebr has joined #ocaml
kakadu has joined #ocaml
spew has quit [Quit: foobar]
<kakadu>
Folks, do we have a way not to delete files like /tmp/camlppx4b6eeb ?
<toppler>
orbifx[m]: Interesting. I'm a Haskeller, and that community seems to be long convinced that the system package manager should be used for dev. My first reason to move to Nix was because it had the best Haskell support.
<Drup>
toppler: that might be due to the fact that haskell does not have a package manager
<Drup>
(cabal is a fine build system, and that's pretty much it, it doesn't manage packages, it doesn't even solve constraints properly)
<toppler>
Drup: But I think it's the other way to some extent. The reason that cabal-install isn't a package manager is because the community thinks that should be done by the distro.
<Drup>
toppler: the situation is different in OCaml, with have a very good package manager (and not really any good build system :p)
<Drup>
toppler: ahah, you're new, aren't you ? :p
<toppler>
New?
<Drup>
cabal troubles have been there for a long time, quite a while before Nix become known
<mrvn>
Mixing package managers is never a good idea and you can't get rid of the distros package manager. That leaves ignoring the ocaml one.
<toppler>
Yes. I know. I was told off for complaining about it years ago.
<Drup>
(and no, packages like dpkg rpm or pacman are not appropriate for haskell dev, nor are they for ocaml)
<Drup>
(although the ocaml debian maintaners did made a very impressive job at getting quite close)
<toppler>
Maybe they're not, but that doesn't mean that system package managers couldn't do it.
<octachron>
kakadu, one option is to use ppx_tools' rewriter to have a look at the ppx output
<toppler>
In Gentoo, there was a big Haskell portage overlay.
<mrvn>
Drup: all Debian needs is a opam plugin for apt.
<Drup>
toppler: the truth is that nobody made one for haskell because nobody dedicated the time (until stack), and half the community used to have a stockolm syndrom about it. ;)
<toppler>
Well, we have Nix now :)
<toppler>
But yeah, Michael Snoyman is awesome.
<Drup>
opam is a bit better than Nix at doing ocaml dev
<Drup>
(unsurprisingly)
<toppler>
I disagree. But w/e
<Drup>
(and asking people not on Nix to change OS to dev ocaml is not reasonable)
<toppler>
You don't need to change OS.
<toppler>
You just need the package manager.
<toppler>
You might have unfun on Windows.
govg has quit [Ping timeout: 264 seconds]
<orbifx[m]>
toppler: they will need to have a very active packaging team or an auto-transformer to get the latest and greatest packages and libraries. Even in arch I found it was lacking. How many languages are they planning to support? Haskell, OCaml, Rust, Go, ... whatever gets invented tomorrow?
betux has quit [Ping timeout: 240 seconds]
<toppler>
For stuff like Haskell and emacs modes, auto-generation is relied on heavily, yeah.
<octachron>
kakadu, no it should be the same
<kakadu>
octachron: The output seems to be OK. I also checked magic number -- 18 seems to be OK. Any other idea how to debug this?
<companion_cube>
orbitz: thanks for the headup on lobste.rs!
<companion_cube>
is it… like a mix of reddit and HN‽ seems to work by tags
<octachron>
kakadu, which version of ocamldep are you using?
<kakadu>
4.04.0
<flux>
companion_cube, should really have hierarchic or tagged tags
<flux>
tagged tags would be nice because then you could have tagged tagged tags ad infinitum
<kakadu>
def`: Hey. https://paste.in.ua/2735/ Can errors like this be related to your migrate-parsetree stuff?
<flux>
companion_cube, noticed a dealbreaker. lobste.rs is implemented with ruby on rails.
<def`>
kakadu: yes, you should pass --as-ppx to ppx_deriving
<flux>
seems like though 'get invite from an existing user' is a suberb way to combat spam :-o
<flux>
if you see spam, you eliminate the account (or the ability to post), and possibly the account that enabled the account, etc
<def`>
flux: it is more or less a "web of trust", no?
<flux>
yes
<companion_cube>
seems interesting anyway
<kakadu>
def`: thanks, I absolutely forgot about it
mengu has joined #ocaml
<orbifx[m]>
What is Lobste.rs?
jack5638 has quit [Ping timeout: 240 seconds]
<companion_cube>
a message board, it seems
jack5638 has joined #ocaml
<reynir>
I think it was made by disgruntled news.ycombinator.com users
Algebr has quit [Ping timeout: 246 seconds]
nullifidian has quit [Quit: Leaving]
scientism has joined #ocaml
scientism has quit [Client Quit]
Algebr has joined #ocaml
nullifidian has joined #ocaml
nullifidian has quit [Changing host]
nullifidian has joined #ocaml
xvw_ has joined #ocaml
nullifidian has quit [Quit: Leaving]
nullifidian has joined #ocaml
AltGr has joined #ocaml
_andre has joined #ocaml
govg has joined #ocaml
toppler has left #ocaml ["ERC (IRC client for Emacs 25.2.1)"]
AltGr has quit [Remote host closed the connection]
<orbitz>
companion_cube: I can send you an invite if you're interested
zpe has quit [Remote host closed the connection]
govg has quit [Ping timeout: 255 seconds]
zpe has joined #ocaml
zpe has quit [Read error: Connection reset by peer]
zpe has joined #ocaml
shinnya has joined #ocaml
govg has joined #ocaml
xvw_ has quit [Quit: xvw_]
Simn has quit [Ping timeout: 240 seconds]
<companion_cube>
is it very verbose? :^^
<companion_cube>
^^
`micro has quit [Ping timeout: 264 seconds]
`micro has joined #ocaml
`micro is now known as Guest17895
johnelse has quit [Ping timeout: 260 seconds]
Algebr has quit [Read error: No route to host]
betux has joined #ocaml
johnelse has joined #ocaml
AltGr has joined #ocaml
sh0t has joined #ocaml
Galaad has joined #ocaml
kevin23 has joined #ocaml
nullifidian has quit [Quit: Leaving]
govg has quit [Ping timeout: 260 seconds]
seangrove has joined #ocaml
<Galaad>
Hi guys
<Galaad>
Why OCaml does not rule the world ?
<companion_cube>
because not all programmers are as tasteful as we :-)
<theblatte>
the lizard people are against us
tane has joined #ocaml
<Galaad>
Our mission is to spread OCaml good word :)
Mercuria1Alchemi has quit [Ping timeout: 240 seconds]
govg has joined #ocaml
ryanartecona has joined #ocaml
<orbifx[m]>
You don't choose OCaml Galaad, it chooses you.
<Galaad>
<3
govg has quit [Quit: leaving]
<Galaad>
The good thing is
<Galaad>
Some best practices of languages like C++ lead to a functional oriented use
betux has quit [Read error: Connection reset by peer]
betux has joined #ocaml
al-damiri has joined #ocaml
nullifidian has joined #ocaml
betux has quit [Remote host closed the connection]
freusque has quit [Ping timeout: 260 seconds]
betux has joined #ocaml
govg has joined #ocaml
voglerr has quit []
freusque has joined #ocaml
<companion_cube>
orbitz: yeah, sign me in
malc_ has joined #ocaml
betux has quit [Remote host closed the connection]
zpe_ has joined #ocaml
zpe has quit [Ping timeout: 272 seconds]
ski has quit [Ping timeout: 240 seconds]
ski has joined #ocaml
FreeBirdLjj has joined #ocaml
zpe_ has quit [Remote host closed the connection]
shinnya has quit [Ping timeout: 240 seconds]
yomimono has quit [Ping timeout: 240 seconds]
ski has quit [Ping timeout: 260 seconds]
yomimono has joined #ocaml
ski has joined #ocaml
<orbifx[m]>
The only "pull" I get right now from other languages, is Rust. But not enough.
<companion_cube>
I'd like to do some rust, but the threshold (inconvenience from moving, time to adapt) is too high right now
yomimono has quit [Ping timeout: 240 seconds]
<flux>
exactly!
<flux>
and to repeat what I've stated before, it would be super nice if functional languages were able to interop more easily. maybe that would be a reason to try rust, to make an ocaml interop with it ;)
<orbifx[m]>
Is rust really a functional language?
<orbifx[m]>
I know it has functions.. but.. is it really?
<technomancy>
there's no such thing as a functional language, only a language that makes it harder or easier to write functional programs =D
FreeBirdLjj has quit []
<technomancy>
same with s/functional/fast/
<octachron>
rust is quite functional between type classes, ADTs, closures
<companion_cube>
yeah, it's a bit like a low-level OCaml
zpe has joined #ocaml
<octachron>
(I liked rust syntax more when it was more directly OCaml-inspired)
<companion_cube>
it's fine, imho
<technomancy>
the first rust compiler was written in ocaml, wasn't it?
ryanartecona has quit [Quit: ryanartecona]
FreeBirdLjj has joined #ocaml
<Drup>
yes
<octachron>
companion_cube, the syntax is alright ; but the ulterior C++ influence is quite visible
<orbifx[m]>
I don't miss the curly brackets :P
zpe has quit [Remote host closed the connection]
<flux>
I could do without "let x = y in".. the eternal question of placing 'in' ;-)
ygrek has joined #ocaml
<orbifx[m]>
How?
jabroney has joined #ocaml
copy` has joined #ocaml
<flux>
with some other syntax. I could stand ie. whitespace-based solution.
<flux>
or top-level and expression lets could have a different keyword
<flux>
..though I guess it wouldn't yet totally solve it, though it might help with the ambiguity
<flux>
define foo a b = let sum = a + b; sum -> tadah!
<flux>
I should make my own ocaml, which blackjack and hookers..
<flux>
s/which/with/
spew has quit [Quit: foobar]
jabroney1 has joined #ocaml
ontologiae has joined #ocaml
jabroney has quit [Ping timeout: 260 seconds]
jabroney1 has quit [Client Quit]
<orbifx[m]>
Lol
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
ski has quit [Ping timeout: 260 seconds]
FreeBirdLjj has quit [Ping timeout: 240 seconds]
ski has joined #ocaml
ontologiae has quit [Read error: Connection reset by peer]
<companion_cube>
in fact, forget about the blackjack
johnelse has quit [Ping timeout: 268 seconds]
<companion_cube>
flux: whitespace sensitive + closures is ugly, imho
<companion_cube>
and braces are nice for making the scope explicit
<companion_cube>
not uglier than begin/end
johnelse has joined #ocaml
ontologiae has joined #ocaml
<orbitz>
companion_cube: does containers 1.2 CCMap have different signature depending on the version of Ocaml?
<companion_cube>
no, it shouldn't
<companion_cube>
oh wait
<companion_cube>
yes, it includes the std map
<companion_cube>
`include Map.S`
<orbitz>
ok. that explains why .union doesn't exist in 4.02.3
ontologiae has quit [Ping timeout: 260 seconds]
ryanartecona has joined #ocaml
philipwhite has joined #ocaml
<philipwhite>
hey, I'm trying to get utop and Core to work with nix.
<philipwhite>
that's a shell session I did to illustrate my issue
strykerkkd has joined #ocaml
ski has quit [Ping timeout: 255 seconds]
<octachron>
philipwhite, what is your issue?
ski has joined #ocaml
<philipwhite>
I've set up a nix-shell so that I have all of my ocaml dependencies available. I'm trying to follow the Real World Ocaml book, so I want to replace the standard library with Core.
<philipwhite>
Except I want to do everything through nix instead of opam.
<philipwhite>
The issue...
technomancy has left #ocaml ["ERC (IRC client for Emacs 24.5.1)"]
<philipwhite>
The issue is that somehow utop's list directive doesn't give me the same thing that `ocamlfind list` does.
<philipwhite>
Now, it seems that `opam config env` fixes thing, but I want to know why; I pinpointed it to prepending the opam directory to my PATH. The lpaste I gave a link to should give an idea for what's going on.
<flux>
did you look the other variables opam config env sets?
<philipwhite>
Although it would seem that prepending the opam folder would clearly fix things, I feel like it shouldn't. I don't have Core installed through opam, so prepending that path shouldn't add so many more packages
<philipwhite>
yes, I did look at those. But the PATH variable seems to be the one that does everything.
<philipwhite>
or everything that I'm seeing.
<flux>
soo if PATH solves the problem, it sounds like you solved the issue?-)
<profan>
/win 19
<profan>
[A
<profan>
wops
* profan
sneaks off
<philipwhite>
my question is why that solves the problem
<philipwhite>
If `ocamlfind list` gives me the right list from the start, without any PATH modification. Aren't they both based off of findlib?
spew has joined #ocaml
ski has quit [Ping timeout: 260 seconds]
ski has joined #ocaml
<flux>
do you have exactly one 'ocamlfind' in your system?
<flux>
I'm guessing you have two, and they have some different understanding of where their configuration files are
<philipwhite>
hmmm, you might have something there. I do have two installations: one from nix and one from normal installation.
<philipwhite>
would you have any idea how to fix that? Would uninstalling the normal installation work?
<flux>
maybe, if the situation is that before running `opam config env` the paths to the two ocamlfinds are there but in a different order
<flux>
if the opam-ocamlfind cannot be found before 'opam config env' then I guess it won't help
<flux>
but then you probably cannot run utop either :)
<philipwhite>
well, utop is installed outside of nix, so I still can.
andreypopp has quit [Quit: Connection closed for inactivity]
pierpa has joined #ocaml
spew has quit [Quit: foobar]
<philipwhite>
ok, so it turns out I had 3 ocamlfinds on my system.
<flux>
:)
<philipwhite>
One from nix that was system-wide, one that was from apt-get, and one that was from my nix-shell
<philipwhite>
It seems that utop has been using the apt-get one to list everything.
Anarchos has joined #ocaml
<philipwhite>
wait, utop uses `findlib` as a library
ski has quit [Ping timeout: 255 seconds]
nullifidian_ has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
nullifidian has quit [Ping timeout: 272 seconds]
ski has joined #ocaml
Anarchos has joined #ocaml
AltGr has left #ocaml [#ocaml]
TheLemonMan has joined #ocaml
<philipwhite>
possibly important is what utop says when I type `#list;;` --- findlib: [WARNING] cannot read directory $OCAMLPATH: No such file or directory
salios has joined #ocaml
larhat has joined #ocaml
kakadu has quit [Quit: Konversation terminated!]
strykerkkd has quit [Quit: Leaving]
ski has quit [Ping timeout: 240 seconds]
ski has joined #ocaml
mengu has quit [Remote host closed the connection]
mengu has joined #ocaml
diphuser has joined #ocaml
Anarchos has quit [Ping timeout: 260 seconds]
mengu has quit [Ping timeout: 240 seconds]
ontologiae has joined #ocaml
ed-ilyin-lv has joined #ocaml
ski has quit [Ping timeout: 240 seconds]
ski has joined #ocaml
malc_ has quit [Quit: ERC (IRC client for Emacs 25.0.50.2)]
<philipwhite>
Okay, I've made some progress: inside the normal ocaml toplevel, running `Sys.getenv "OCAMLPATH";;` yields the correct value, but running it inside utop yields a much shorter string that ends in `$OCAMLPATH`. The two outputs can be compared here - http://lpaste.net/355403
ryanartecona has quit [Quit: ryanartecona]
ski has quit [Ping timeout: 260 seconds]
<orbifx[m]>
philipwhite: did you know there is a command to "install" your opam to your shell init files?
Simn has quit [Ping timeout: 245 seconds]
ski has joined #ocaml
philipwhite has quit [Ping timeout: 260 seconds]
average has quit [Remote host closed the connection]
average has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 260 seconds]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
argent_smith has quit [Quit: Leaving.]
philipwhite has joined #ocaml
<philipwhite>
orbifx: are you talking about opam config env?
philtor has joined #ocaml
ski has quit [Ping timeout: 264 seconds]
<orbifx[m]>
yeah
ski has joined #ocaml
ski has quit [Ping timeout: 240 seconds]
<philipwhite>
while that does work, I'm aiming to figure out why it does.
<philipwhite>
especially, why does it work on the normal ocaml toplevel and not on utop?
ski has joined #ocaml
<philipwhite>
right now, I've figured out that `Sys.getenv "OCAMLPATH` evaluates to something incorrect when run on utop. Either I'm doing something wrong, or it's a bug in utop.
spew has joined #ocaml
philipwhite has quit [Ping timeout: 260 seconds]
shinnya has joined #ocaml
tane has quit [Quit: Leaving]
kakadu has quit [Remote host closed the connection]
sh0t has quit [Remote host closed the connection]
ski has quit [Ping timeout: 268 seconds]
spew has quit [Read error: Connection reset by peer]