lordkryss has quit [Quit: Connection closed for inactivity]
tautologico has joined #ocaml
BitPuffin has quit [Ping timeout: 255 seconds]
philtor has joined #ocaml
seliopou has quit [*.net *.split]
rgrinberg has quit [*.net *.split]
macron has quit [*.net *.split]
philtor_ has joined #ocaml
macron has joined #ocaml
seliopou has joined #ocaml
rgrinberg has joined #ocaml
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
johnnydiabetic has quit [Ping timeout: 246 seconds]
darkf_ has joined #ocaml
darkf has quit [Ping timeout: 250 seconds]
darkf_ is now known as darkf
philtor_ has quit [Ping timeout: 240 seconds]
claudiuc has quit [Remote host closed the connection]
travisbrady has joined #ocaml
fold has joined #ocaml
travisbrady has quit [Quit: travisbrady]
philtor has quit [Ping timeout: 272 seconds]
troutwine_away is now known as troutwine
ontologiae has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
ontologiae has quit [Ping timeout: 260 seconds]
troutwine is now known as troutwine_away
philtor_ has joined #ocaml
tautologico has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bartbes has quit [Ping timeout: 272 seconds]
paolooo has joined #ocaml
siddharthv_away is now known as siddharthv
mcclurmc has quit [Remote host closed the connection]
divyansh_ has joined #ocaml
bartbes has joined #ocaml
divyansh_ has quit [Quit: Computer has gone to sleep.]
koderok has joined #ocaml
ontologiae has joined #ocaml
philtor_ has quit [Ping timeout: 244 seconds]
ontologiae has quit [Ping timeout: 244 seconds]
nifty has quit [Ping timeout: 240 seconds]
divyansh_ has joined #ocaml
nifty has joined #ocaml
jennmoneydollars has quit [Ping timeout: 260 seconds]
andreypopp has quit [Ping timeout: 250 seconds]
jennmoneydollars has joined #ocaml
steshaw has quit [Ping timeout: 240 seconds]
andreypopp_ has joined #ocaml
steshaw has joined #ocaml
samrat has joined #ocaml
sgnb` has quit [Ping timeout: 264 seconds]
fold has quit [Ping timeout: 264 seconds]
Submarine has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
alexst has joined #ocaml
jao has quit [Ping timeout: 250 seconds]
Simn has joined #ocaml
Arsenik has joined #ocaml
huza has joined #ocaml
ebzzry has quit []
arj has joined #ocaml
jerith has joined #ocaml
sgnb has joined #ocaml
ontologiae has joined #ocaml
jerith has quit [Client Quit]
jerith has joined #ocaml
cago has joined #ocaml
AltGr has joined #ocaml
jerith has quit [Client Quit]
jerith has joined #ocaml
_0xAX has joined #ocaml
ontologiae has quit [Ping timeout: 260 seconds]
badon has joined #ocaml
bartbes has quit [Ping timeout: 240 seconds]
bartbes has joined #ocaml
divyansh_ has quit [Quit: Computer has gone to sleep.]
<boegel|work>
Drup: I do have a 'threads' directory with stuff in it in <prefix>/lib/ocaml, does that simply mean OCaml isn't available to find these libraries? do I need to set some additional environment variable to tell it where stuff is? this OCaml installaiton is installed to a non-standard prefix
samrat has quit [Quit: Computer has gone to sleep.]
<boegel|work>
I don't think OPAM (as suggested by Kakadu) is a solution compatible with our approach of installing software through environment modules (I'm installing OCaml on an HPC system)
divyansh_ has joined #ocaml
eikke__ has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 255 seconds]
<whitequark>
Denommus: there's probably some bytecode emission code in ocamljava
MercurialAlchemi has joined #ocaml
samrat has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 250 seconds]
<vbmithr_>
just rm -rf ~/.opam and then opam install mirage
<AltGr>
indeed that's weird
<AltGr>
ah indeed
<AltGr>
there was a bug in the criteria
<AltGr>
thanks for finding out
<AltGr>
it was -count(removed),-notuptodate(request),-count(down),-count(changed)
samrat has joined #ocaml
<AltGr>
rather than -count(removed),-notuptodate(solution),-count(down),-count(changed)
<AltGr>
so it would only apply -notuptodate to the packages mentionned in your request, not the others present in the solution
<vbmithr_>
cool.
jwatzman|work has joined #ocaml
<vbmithr_>
I have new absurdities
<vbmithr_>
opam install omake, I have tons of packages with [upstream changes], I just installed them
<vbmithr_>
I have no custom repo
<vbmithr_>
Nor I have run opam update in the middle
q66 has joined #ocaml
<vbmithr_>
the funny thing is that omake depends on nothing
<vbmithr_>
So if I don’t explicitely specify -count(down) the solver just randomly does things ?
<vbmithr_>
I'm trying your rule now, just to see
gustav___ has quit [Ping timeout: 250 seconds]
<vbmithr_>
mmh, better
markov_twain has joined #ocaml
<AltGr>
vbmithr_, pull-requested
travisbrady has joined #ocaml
<vbmithr_>
ok, thanks, should be fine
<AltGr>
well, any solution that is an optimum for your criteria is fine by the solver, so yes
Kakadu has quit [Quit: Page closed]
<AltGr>
you should always have at least -count(changed)
<vbmithr_>
ok
<vbmithr_>
should be fine, then
<AltGr>
(you can try +count(changed) if you're crazy, for example, or more realistically "-count(notuptodate),+count(new)" to test as many packages as possible)
<vbmithr_>
how the criterions mix together ?
<AltGr>
lexical order
<AltGr>
first is optimised before anything else
AltGr has left #ocaml [#ocaml]
ewd has quit [Remote host closed the connection]
path[l] has joined #ocaml
gustav___ has joined #ocaml
ollehar has joined #ocaml
<ollehar>
any progress on parallel ocaml?
<ollehar>
concurrent, I mean
<whitequark>
no, it's parallel ;p
<whitequark>
e.g. lwt takes care of being concurrent
Anarchos has joined #ocaml
<flux>
it's been somewhat quiet on that front..
<ollehar>
hm ok
<ollehar>
too bad
<ollehar>
can I find upcoming features somewhere?
englishm has quit [Remote host closed the connection]
englishm has joined #ocaml
troutwine_away is now known as troutwine
gustav___ has quit [Remote host closed the connection]
markov_twain has quit [Ping timeout: 260 seconds]
englishm has quit [Remote host closed the connection]
englishm has joined #ocaml
thomasga has quit [Ping timeout: 245 seconds]
travisbrady has quit [Quit: travisbrady]
samrat has quit [Quit: Computer has gone to sleep.]
_0xAX has joined #ocaml
samrat has joined #ocaml
englishm has quit [Remote host closed the connection]
englishm has joined #ocaml
gustav___ has joined #ocaml
parcs has quit [Remote host closed the connection]
maattdd_ has quit [Ping timeout: 260 seconds]
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
<adrien>
gasche_: and what about ocamlbuild moving out of the compiler? :)
<whitequark>
that has failed, I believe
<whitequark>
gasche_: tell me, why did you implement String.mapi?
<whitequark>
it doesn't seem to be used by the compiler itself
<adrien>
functors?
rgrinberg has joined #ocaml
pango has joined #ocaml
thomasga has joined #ocaml
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
travisbrady has joined #ocaml
englishm has quit [Remote host closed the connection]
englishm has joined #ocaml
englishm has quit [Client Quit]
ontologiae has quit [Ping timeout: 260 seconds]
Hannibal_Smith has joined #ocaml
philtor_ has joined #ocaml
MercurialAlchemi has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
Muzer has quit [Excess Flood]
Muzer has joined #ocaml
nlucaroni has quit [Quit: leaving]
samrat has quit [Quit: Computer has gone to sleep.]
path[l] has quit [Quit: path[l]]
maattdd_ has joined #ocaml
tane has joined #ocaml
maattdd_ has quit [Ping timeout: 250 seconds]
ollehar has quit [Ping timeout: 244 seconds]
<MercurialAlchemi>
How can I lift a function to work over an lwt value?
<MercurialAlchemi>
(or is there an alternative to |> which does?)
<Drup>
>|=
<Drup>
or Lwt.map
<Drup>
(it's the same)
NaCl_ has left #ocaml [#ocaml]
<MercurialAlchemi>
Thanks!
<MercurialAlchemi>
out of curiosity, is there any reason to choose Core over Lwt?
<Drup>
you mean Async
<bitbckt>
Async is the comparable, not Core.
troutwine is now known as troutwine_away
<MercurialAlchemi>
er, yes
<bitbckt>
one reason: you read RWO and that's what they showed you. :)
<rgrinberg>
MercurialAlchemi: it's easier to ask the reverse questions because Lwt definitely has exclusive features
<MercurialAlchemi>
I meant Core.Async, but my mental autocomplete function stopped at "Core"
<MercurialAlchemi>
rgrinberg: such as? (I can see it's used in quite a few places, like ocsigen and lambda-term)
<Drup>
other reason : you like Core, and they synergies well
<rgrinberg>
only lwt offers: mirage, windows, javascript support
<rgrinberg>
there's also gtk support in the unlikely case you need it
<philtor>
Well, currently Core.Async doesn't work with Mirage, Lwt does.
<MercurialAlchemi>
Drup: I like Core, though I'll admit I haven't tried batteries
<philtor>
It's possible that Async will work with mirage in the futrure, though. But from what I hear if you want to use js_of_ocaml you should use Lwt
<MercurialAlchemi>
rgrinberg: well, I was thinking of writing an alternative to taffybar in Ocaml, so maybe I'll need the gtk support at some point
<rgrinberg>
MercurialAlchemi: see, you might not have a choice after all :D
<philtor>
rgrinberg: Core.Async doesn't work with gtk?
<rgrinberg>
not out of the box, I'm sure you can integrate it somehow though
<rgrinberg>
But that's already done for Lwt
philtor_ has quit [Ping timeout: 246 seconds]
<MercurialAlchemi>
well, right now I'm having "fun" using lambda-term instead of the blocking In_channel.input_line, which makes me wish there was a simple, blocking "import readline;foo = rawinput()" equivalent in Ocaml
tane has quit [Quit: Verlassend]
<MercurialAlchemi>
though I certainly see how you'd want Lwt for something a bit more ambitioius
<Drup>
MercurialAlchemi: well, there is one
<MercurialAlchemi>
Drup: yes?
<Drup>
read_line
<Drup>
It's in pervasive, it blocks until the user has entered a line.
<Drup>
(there is also the Scanf module, if you want some fancyness, but I'm not fond of it)
<MercurialAlchemi>
It doesn't do want I want, unfortunately
<MercurialAlchemi>
It _is_ the equivalent of Python's basic rawinput(), but not of the readline module's version
thomasga has quit [Quit: Leaving.]
slash^ has quit [Read error: Connection reset by peer]
<Drup>
what do you want ?
<MercurialAlchemi>
I already had that, now I want something which behaves like a readline-enabled app does: arrow keys working, for instance, emacs shortcuts, etc
<Drup>
zed ;)
troutwine_away is now known as troutwine
<Drup>
or LTerm.read_line
ollehar has joined #ocaml
ollehar has quit [Client Quit]
<MercurialAlchemi>
I'm using lambda-term for that
<Drup>
seems like the right idea, it's already all implemented there, what's the matter then ? :D
<MercurialAlchemi>
It would be easier if you could escape from the Lwt monad :)
<Drup>
why ?
<MercurialAlchemi>
This way merlin wouldn't tell me that half my code is invalid because I need to use Lwt values everywhere
<Drup>
huh ?
philtor has quit [Ping timeout: 240 seconds]
<Drup>
just load lwt in merlin ?
<MercurialAlchemi>
I mean, merlin is not the problem, it's just telling me it's not going to compile
<Drup>
ah, you're just not used to monadic interface yet, right
<MercurialAlchemi>
(merlin is fantastic, it's like 90% of an IDE)
<MercurialAlchemi>
I'm converting my code
<Drup>
(emacs with plugins being the 90% left :D)
<Drup>
MercurialAlchemi: you shouldn't need that much conversion
<MercurialAlchemi>
I'm a vim person :)
<Drup>
if you had a big function processing the code
<Drup>
just Lwt.map the output of read_line to it
<MercurialAlchemi>
Unfortunately it's not simple
<MercurialAlchemi>
It's a sort of wizard: "peek into the config file, if value not present prompt the user"
<MercurialAlchemi>
So it means a lot of read_line in different places
<MercurialAlchemi>
which means a lot of Lwt.return :)
<Drup>
ok =)
<MercurialAlchemi>
mm
<Drup>
well, happy monads :p
<MercurialAlchemi>
I have a 'string Core.Set' which I mean to turn into a 'foo Core.Set Lwt.t' by way of a function 'string -> foo Lwt.t'
<Drup>
(the good part is that now, you can still do stuff while waiting for the user :p)
troutwine is now known as troutwine_away
<MercurialAlchemi>
(the less good part is that there is nothing to do while waiting for the user :) )
philtor has joined #ocaml
claudiuc has joined #ocaml
dsheets has joined #ocaml
Submarine has quit [Quit: Leaving]
troutwine_away is now known as troutwine
markov_twain has joined #ocaml
travisbrady has quit [Quit: travisbrady]
<MercurialAlchemi>
I have to say, ocaml is really enjoyable
<MercurialAlchemi>
despite the many clunky bits
<MercurialAlchemi>
it's very readable, but not at the expense of safety
<MercurialAlchemi>
well, apart from the unfortunate prevalence of runtime exceptions :)
<parcs>
MercurialAlchemi: readable compared to what?
<MercurialAlchemi>
Haskell
ggole has quit []
<Tekk_>
MercurialAlchemi: you do lose some safety relative to haskell
<Tekk_>
at least theoretically
<Tekk_>
because ocaml is cool and lets you do what you like as far as style :P
<MercurialAlchemi>
well, sure
<MercurialAlchemi>
no monadic towers
<Tekk_>
unless you want them
<MercurialAlchemi>
on the other hand, I never found lift.lift.lift particularly enjoyable
<Tekk_>
you just need a couple of synonyms
<Tekk_>
lift.heave.hoist
<MercurialAlchemi>
It's more the mental overhead
<MercurialAlchemi>
but I love the named arguments
<MercurialAlchemi>
also, |>
<Tekk_>
haskell doesn't have named arguments?
<MercurialAlchemi>
nope
<MercurialAlchemi>
you can pass records
<MercurialAlchemi>
unfortunately, the record system in Haskell is...
<MercurialAlchemi>
let's say it could be improved
<MercurialAlchemi>
like, by being ripped out and remade sensibly
troutwine is now known as troutwine_away
troutwine_away is now known as troutwine
<MercurialAlchemi>
well, now it works
<MercurialAlchemi>
I can invoice my customers in ocaml
_andre has quit [Quit: leaving]
Hannibal_Smith has quit [Quit: Sto andando via]
ontologiae has joined #ocaml
algoriddle has joined #ocaml
ontologiae has quit [Ping timeout: 250 seconds]
rgrinberg has quit [Quit: Leaving.]
<algoriddle>
hello, i'd like to do some processing on OCaml's Typedtree. i see that there's a typedtreeIter and a typedtreeMap in compiler-libs. does a generic fold exist somewhere, anyone knows?
Arsenik has quit [Remote host closed the connection]
<Cariboo>
I have a question regarding modules in _build directory.
<mrvn>
not here
<Cariboo>
when I use "corebuild mymodule.cma". It makes a file in _build directory. I would like to experiment with it in utop. How can I open this module?
<Cariboo>
It would like to use "Mymodule.myfunc x" in utop
<mrvn>
cd _build && utop
<mrvn>
I think then findlib should work or you have to tell utop which modules to load
<Cariboo>
It works. But I am editing other file which is using this module.
<Cariboo>
How does "open Core" work perfectly.
<Cariboo>
It does not require one to be in the same directory.
<mrvn>
default search path
<Cariboo>
I tried to add _build in CAML_LD_LIBRARY_PATH. It does not seem to work. Is there any other variable which is used for searching.
gustav___ has quit [Ping timeout: 272 seconds]
gustav___ has joined #ocaml
<MercurialAlchemi>
did you try to #require "yourpackage"?
<def`>
#load "mymodule.cmo";;
claudiuc has joined #ocaml
path[l] has joined #ocaml
bezirg has quit [Quit: Leaving.]
bezirg has joined #ocaml
philtor_ has joined #ocaml
shinnya has joined #ocaml
<Cariboo>
MercurialAlchemist: Yes. It does not work if I am not in the _build directory. Thanks for the idea.
shinnya has quit [Read error: No route to host]
<philtor>
Back to Core.Async vs. Lwt... So in my Core.Async based client that I'm rewriting in Lwt now, I use Core.Tcp to open up the socket connection. Is there something equivilent in Lwt?
<philtor>
Lwt_unix.connect?
<philtor>
requires a file_descr... I'd like something that takes a URL & PORT, but I suppose that's there somewhere.
claudiuc has quit [Ping timeout: 240 seconds]
patrick_ has joined #ocaml
patrick_ has quit [Read error: Connection reset by peer]
paddymahoney has joined #ocaml
paddymahoney has quit [Max SendQ exceeded]
<def`>
Cariboo: and just a simple load doesn't work ?
shinnya has joined #ocaml
paddymahoney has joined #ocaml
claudiuc has joined #ocaml
<def`>
hmmm... you always have to give a full path, if you want to use #require, you have to privde a META and use findlib (see findlib doc)
hhugo has joined #ocaml
<Cariboo>
open works only if I am in _build directory. If I am not, it does not work.
<Cariboo>
What is META? Thanks for the response.
<Cariboo>
I meant to say open after #load.
<def`>
open and load are somewhat unrelated
<def`>
load is a 'linking step', just adding code in the environement
<def`>
the code is stored in a cmo file, and you have to give its path explicitlt
<def`>
open only cares about typing: it will search for a module, first in scope
<def`>
then in the inclusion path
araujo has quit [Read error: Connection reset by peer]
<def`>
a module in the inclusion path will be a file with the same name ending in .cmi
araujo has joined #ocaml
<def`>
so you have to adjust -I though there are other ways to adjust inclusion path
<Cariboo>
Thanks
<Cariboo>
I got it
<Cariboo>
utop -I _build
<def`>
once the cmi has been found, to use any value from this file a corresponding object should have been linked earlier