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
paolooo has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
segmond has joined #ocaml
AltGr has joined #ocaml
ontologiae_ has quit [Ping timeout: 240 seconds]
jcdyer has left #ocaml [#ocaml]
TheLemonMan has quit [Quit: leaving]
rgrinberg2 has joined #ocaml
rgrinberg1 has quit [Ping timeout: 245 seconds]
segmond has quit [Ping timeout: 252 seconds]
swgillespie has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
segmond has joined #ocaml
reem has quit [Remote host closed the connection]
reem has joined #ocaml
segmond has quit [Ping timeout: 245 seconds]
reem has quit [Remote host closed the connection]
reem has joined #ocaml
rgrinberg2 has quit [Ping timeout: 264 seconds]
reem has quit [Ping timeout: 246 seconds]
segmond has joined #ocaml
Algebr has quit [Remote host closed the connection]
reem has joined #ocaml
badon has quit [Quit: Leaving]
reem has quit [Remote host closed the connection]
MooseAndCaml has quit [Ping timeout: 246 seconds]
reem has joined #ocaml
Denommus has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
alkoma has quit [Ping timeout: 246 seconds]
oriba has quit [Quit: oriba]
kandu has joined #ocaml
reem has quit [Remote host closed the connection]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
moei has quit [Quit: Leaving...]
reem has joined #ocaml
moei has joined #ocaml
segmond has quit [Ping timeout: 250 seconds]
keen__________77 has joined #ocaml
keen__________76 has quit [Ping timeout: 256 seconds]
rgrinberg2 has joined #ocaml
BitPuffin has quit [Ping timeout: 252 seconds]
badon has joined #ocaml
rgrinberg2 has quit [Ping timeout: 252 seconds]
segmond has joined #ocaml
jao has quit [Ping timeout: 252 seconds]
shinnya has quit [Ping timeout: 244 seconds]
mfp has quit [Ping timeout: 264 seconds]
ygrek has joined #ocaml
_habnabit has quit [Remote host closed the connection]
mfp has joined #ocaml
MrScout has quit [Quit: Leaving...]
MrScout has joined #ocaml
reem has quit [Remote host closed the connection]
ontologiae_ has joined #ocaml
reem has joined #ocaml
darkf has joined #ocaml
mfp has quit [Ping timeout: 256 seconds]
reem has quit [Remote host closed the connection]
ontologiae_ has quit [Ping timeout: 245 seconds]
mfp has joined #ocaml
_habnabit has joined #ocaml
segmond has quit [Ping timeout: 255 seconds]
AlexRussia has quit [Ping timeout: 250 seconds]
MrScout has quit [Quit: Leaving...]
reem has joined #ocaml
MrScout has joined #ocaml
AlexRussia has joined #ocaml
antkong has quit [Quit: antkong]
AlexRussia has quit [Ping timeout: 250 seconds]
segmond has joined #ocaml
dav has quit [Ping timeout: 250 seconds]
dav has joined #ocaml
AlexRussia has joined #ocaml
travisbrady has joined #ocaml
swgillespie has joined #ocaml
antkong has joined #ocaml
rgrinberg2 has joined #ocaml
reem has quit [Remote host closed the connection]
reem has joined #ocaml
rgrinberg2 has quit [Ping timeout: 272 seconds]
reem has quit [Remote host closed the connection]
reem has joined #ocaml
reem has quit [Remote host closed the connection]
darkf has quit [Read error: Connection reset by peer]
darkf has joined #ocaml
rgrinberg2 has joined #ocaml
<seangrove> I have an ocaml repo that I've cloned, it has a opam file, how can I install the deps like "bundle install", etc.?
WraithM has quit [Quit: leaving]
segmond has quit [Ping timeout: 252 seconds]
reem has joined #ocaml
<whitequark> opam pin add package repo
<whitequark> er
<whitequark> opam pin add package repo -n
<whitequark> opam install --deps-only package
reem has quit [Remote host closed the connection]
<seangrove> whitequark: Hrm, a bit more involved, thanks for the pointer
segmond has joined #ocaml
AlexRussia has quit [Ping timeout: 252 seconds]
MrScout has quit [Ping timeout: 255 seconds]
claudiuc has quit [Remote host closed the connection]
AlexRussia has joined #ocaml
ptc has joined #ocaml
ptc is now known as Guest45184
reem has joined #ocaml
rgrinberg2 is now known as rgrinberg
scythe-_ is now known as scythe0
scythe0 is now known as scythe-
reem has quit [Remote host closed the connection]
segmond has quit [Ping timeout: 250 seconds]
reem has joined #ocaml
nullcat has joined #ocaml
<nullcat> Drup: ping
Guest45184 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
segmond has joined #ocaml
travisbrady has quit [Quit: travisbrady]
seangrove has quit [Remote host closed the connection]
badkins has quit []
MrScout has joined #ocaml
reem has quit [Remote host closed the connection]
MrScout has quit [Read error: Connection reset by peer]
MrScout has joined #ocaml
reem has joined #ocaml
seangrov` has joined #ocaml
<seangrov`> What's
<seangrov`> Whoops, sorry about that
pyon has quit [Quit: I'm sorry but... I don't have any interest in three-dimensional girls.]
pyon has joined #ocaml
jbrown has quit [Ping timeout: 246 seconds]
jbrown has joined #ocaml
segmond has quit [Ping timeout: 250 seconds]
segmond has joined #ocaml
segmond has quit [Ping timeout: 246 seconds]
waneck has joined #ocaml
ygrek has quit [Ping timeout: 240 seconds]
segmond has joined #ocaml
dav has quit [Ping timeout: 272 seconds]
gal_bolle has joined #ocaml
kalzz has quit [Ping timeout: 252 seconds]
dav has joined #ocaml
reem has quit [Remote host closed the connection]
kalzz has joined #ocaml
rgrinberg has quit [Ping timeout: 252 seconds]
nullcat_ has joined #ocaml
nullcat has quit [Ping timeout: 255 seconds]
reem has joined #ocaml
rgrinberg has joined #ocaml
antkong has quit [Quit: antkong]
kalzz has quit [Ping timeout: 272 seconds]
reem has quit [Remote host closed the connection]
paolooo has quit [Ping timeout: 246 seconds]
kalzz has joined #ocaml
MercurialAlchemi has joined #ocaml
struktured has quit [Ping timeout: 265 seconds]
carm has quit [Ping timeout: 245 seconds]
orbitz has joined #ocaml
<orbitz> Any suggestions for a light weight embedded http server for Ocaml? So far looks liek Mirage and ocamlnet offer something I can work with.
<orbitz> Unfortunately given the environment I want to run in looks like I might be avoiding Core + Async
ygrek has joined #ocaml
carm has joined #ocaml
struktured has joined #ocaml
carm has quit [Read error: Connection reset by peer]
carm has joined #ocaml
struktured has joined #ocaml
eikke has quit [Remote host closed the connection]
reem has joined #ocaml
Haudegen has quit [Ping timeout: 265 seconds]
reem has quit [Remote host closed the connection]
nullcat_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ghostpl_ has joined #ocaml
Haudegen has joined #ocaml
Simn has joined #ocaml
MrScout has quit [Ping timeout: 256 seconds]
reem has joined #ocaml
reem has quit [Remote host closed the connection]
reem has joined #ocaml
reem has quit [Remote host closed the connection]
cdidd has quit [Ping timeout: 255 seconds]
ebzzry has quit [Remote host closed the connection]
bcucciol1 has quit [Remote host closed the connection]
ggole has joined #ocaml
rgrinberg has quit [Ping timeout: 245 seconds]
reem has joined #ocaml
reem has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
reem has joined #ocaml
martintrojer has quit [Ping timeout: 245 seconds]
martintrojer has joined #ocaml
reem has quit [Remote host closed the connection]
Kakadu has joined #ocaml
zhangyh26258 has joined #ocaml
zhangyh26258 has quit [Remote host closed the connection]
nuy_19031046 has joined #ocaml
MercurialAlchemi has quit [Remote host closed the connection]
freling has joined #ocaml
MercurialAlchemi has joined #ocaml
nuy_19031046 has quit [Remote host closed the connection]
nuy_19031046 has joined #ocaml
nuy_19031046 has quit [Remote host closed the connection]
reem has joined #ocaml
reem has quit [Remote host closed the connection]
reem has joined #ocaml
reem has quit [Remote host closed the connection]
dsheets_ has quit [Ping timeout: 246 seconds]
dsheets_ has joined #ocaml
dsheets_ has quit [Ping timeout: 246 seconds]
arj has joined #ocaml
cdidd has joined #ocaml
reem has joined #ocaml
Submarine has quit [Remote host closed the connection]
lordkryss has joined #ocaml
octachron has joined #ocaml
antkong has joined #ocaml
reem has quit [Remote host closed the connection]
<Drup> orbitz: cohttp
<orbitz> Drup: thanks
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
laughing-octo-sh has joined #ocaml
larhat has quit [Quit: Leaving.]
<AltGr> New OPAM manual now on the main website at http://opam.ocaml.org/doc/Manual.html
AltGr has left #ocaml [#ocaml]
<Drup> smondet: there is a bisect ppx
reem has joined #ocaml
<Drup> I think the opam package is not up to date
marynate has joined #ocaml
rgrinberg has quit [Ping timeout: 252 seconds]
deMoivre has quit []
dsheets_ has joined #ocaml
ggole has quit [Ping timeout: 245 seconds]
antkong has quit [Ping timeout: 256 seconds]
* orbitz is considering making a curated OPAM repository. I don't think I have the skill to actually do it correctly but maybe it would inspire someone else
marynate has quit [Client Quit]
laughing-octo-sh has quit [Ping timeout: 256 seconds]
<companion_cube> orbitz: curated by whom/to which end?
<Drup> (also: opam bundle)
ebzzry has joined #ocaml
<adrien_znc> "versions"
<orbitz> companion_cube: Curated based on a set of library design principles (TBD). And curated by me, I suppose.
<adrien_znc> and no, each new git commit doesn't need to be promoted to a new version
<orbitz> Roughhly the suckless.org of Ocaml (for me).
reem has quit [Remote host closed the connection]
<adrien_znc> arhiezorhgdflnvcxi$hqfsdcx
<adrien_znc> sorry
<adrien_znc> I get that reaction every time suckless is mentioned
<companion_cube> orbitz: erratique.ch
<adrien_znc> that really started after I got to read sta.li
<adrien_znc> a bit after the LD_AUDIT issue in glibc
<Drup> orbitz: and why do you need to make it an opam repository ?
<orbitz> As I said, I doubt my ability to actually pull it off well but I'm becoming a bit dissasisfied with the sprawlingness in the main repo
<Drup> it sounds like a set of packages you will do and that will be Yet Another Almost Closed Ecosystem
<orbitz> Drup: because that's the most logical unit
<orbitz> Drup: yes, that's the entire point
<orbitz> to not let stuff that doesn't fit the design rquiremetns in
<Drup> closed ecosystems are crape
<Drup> crap*
<orbitz> No they aren't.
<orbitz> Walled Gardens are, but an ecosystem that gives users a consistent experience are positive
<companion_cube> I think we discussed informally of a voting system, and I didn't convince other people it would be cool
<orbitz> This is roughly what I thought Ocaml Platform was meant to do. BUt I think Platform is too afraid to make decisions.
<orbitz> voting on what/
<companion_cube> well, a system for users to vote for/against(?) packages, so packages that work well have a high balance of votes
<adrien_znc> you want versions maintained for stability
<orbitz> companion_cube: I agree with a lot of what Daniel does, so prolific.
<orbitz> adrien_znc: yep
reem has joined #ocaml
<orbitz> companion_cube: I think votign is wrong here. I don't want ademocracy I want clarity
<companion_cube> :D
<companion_cube> another possibility is that anyone could have an overlay of blessed packages, a kind of mask/filter
<Drup> orbitz: by curiosity, what are your "design principles" ?
<orbitz> companion_cube: which is what I'm suggesting
<orbitz> Drup: (TBD)
<Drup> you must have an idea ...
<orbitz> Very much like Core except small repos
<Drup> so not like Core at all
<orbitz> on top of taht I want to pick Lwt or Async and only have packages that support that in there
ontologiae_ has joined #ocaml
<orbitz> I like the API design of core
<orbitz> I don't like the layout of theactual library
<orbitz> It's very consistent, it's just a mess otherwise (IMO)
<Drup> I'm not sure to see the point of an isolated repository
<companion_cube> I'd like an overlay without camlp4, but really, it's more emotional than rationnal
<orbitz> Well, yesterday I decided I wanted to build a web service
<orbitz> Currently in Ocaml it's a mess of decisison
<companion_cube> did you look at opium ?
<Drup> no it's not
ggole has joined #ocaml
<orbitz> Yes it is
<Drup> there are 3 choices, cohttp, opium, ocsigen
<Drup> by order of size
<orbitz> Cohttp is 2 decisison, Lwt or Async
<companion_cube> isn't there a fourth one?
<orbitz> Don't forget ocamlnet
<orbitz> which is neither lwt or async
<Drup> orbitz: I do forget ocamlnet, intentionally
<orbitz> yo ucan't, it's in opam
<orbitz> and it 's a hit for "http"
<Drup> I can, because I'm giving you an advice :)
<orbitz> So you can't tell me it's not a mess when you're explicilty leaving out the parts that make it a mess
reem has quit [Remote host closed the connection]
<Drup> I never said it was not a mess
<orbitz> But let's say I chosoe Cohttp. Lwt or Async? And do I use Core or Battaries or ExtLib or ??
<companion_cube> well, welcome to free software
<Drup> I said that your solution is worse.
<companion_cube> :D
<orbitz> companion_cube: I know, it sucks.
<companion_cube> Drup: that's what RWO did: choose a well defined subset of the ecosystem
<MercurialAlchemi> orbitz: compared to the question of "choose a small ruby web framework", it's simple
<orbitz> I don't see why m ydecision is worse
<companion_cube> orbitz: I like not having to use Core (or batteries) if I don't want to
<orbitz> EVeryone chosoes RoR
<Drup> companion_cube: yeah, and even if I don't agree with the actual choice they made, it's very sensible
<orbitz> companion_cube: so do I
<MercurialAlchemi> orbitz: doesn't qualify as "small"
<orbitz> MercurialAlchemi: Ok, but everyone in Ruby picks RoR
<orbitz> if you need small you got advanced problems and are hopefully capable of making the decision
<orbitz> So currently we hav a plurarlity of options, my idea (not new by any stretch) is to cut down the options to ones that fit a certain level of consistency (TBD). If you don't like it, that's fine, I'm not keeping the rest of teh ecosystem from you.
<companion_cube> I kind of agree with orbitz, in fact
<companion_cube> I'd like to know which parts of opam are in a style I like
<companion_cube> especially when there are several solutions to one problem
<orbitz> So right now, I hve a set of design principlse. If I want to make a web service I hav ea lot of options and none of their principles are necessarily clear to me. At least if you agree with my curated library you can trust it and if you don't, you at least know what you don't want.
<Drup> companion_cube: reversed dependencies ?
<companion_cube> Drup: what do you mean?
<Drup> for lwt/async, it works well.
<orbitz> companion_cube: exactly! I think it's really hard to build such a repository but I think it's roughly what other successful ecosystems end up gravitating towards.
reem has joined #ocaml
<adrien_znc> you definitely don't want to build a new repository for that
<companion_cube> which other ecosystems are you thinking of? haskell doesn't, for instance
<adrien_znc> you want to add additional infos on top of the current one
<companion_cube> yes
<orbitz> The biggest problem I haveis that I like Core, but I hate the layout. And I don't want Batteries necessarily, so the starting point is rather painful
<companion_cube> metadata, something like this
<companion_cube> orbitz: do you like containers? :>
<orbitz> I don't know I haven' treally worked with them
<adrien_znc> (if you say you don't, companion_cube will torture you until you do)
<orbitz> ha
<orbitz> adrien_znc: that is a reasonable approach as well
<MercurialAlchemi> torture is?
<orbitz> adrien_znc: one issue though is I don't necessarily want to be beholden to the opam-repository maintainers t omanage this. For example, I may want tagged releases.
<orbitz> But anyways, where the data lives is less of a problem, more of I'm still not convinced it's a worthwhile idea or what the design principles should be, etc
reem has quit [Remote host closed the connection]
<Drup> the issue with creating a repository
<companion_cube> adrien_znc: come on, did I torture you? :p
<Drup> is that you are forced to remove the normal repository to avoid conflicting paquets
<Drup> hence it's, in practice, impossible to use things outside of your closed ecosystem
<adrien_znc> companion_cube: yes!
<companion_cube> awwww, poor adrien_znc :D
<companion_cube> what did I do?
<adrien_znc> orbitz: you can branch from the main opam repository
<companion_cube> (oh right, the mealy machines - but you did ask for them!)
<adrien_znc> Drup: it's not "closed"
<companion_cube> (and I'm still waiting about the S-expressions)
<adrien_znc> that's
<adrien_znc> that's really the wrong description
zpe has joined #ocaml
<orbitz> Drup: opam could be modified to allow specifying a repository on search, perhaps
<companion_cube> but if everyone and their grandma did their own curated repo, it would be hell
<orbitz> Indeed
<companion_cube> I think opam should help handle metadata on the common repo itself
<companion_cube> opam search http blessed-by:orbitz
<companion_cube> :>
<orbitz> The other problem with making it in main repo is anyone can add my seal of approval
<orbitz> the repo maintainers would have to know who to trust for that, etc
<Drup> not necessarily, no.
<orbitz> Why?
<Drup> because the repoes are not free push, first
<Drup> second, because I don't think your personal seal of aproval should be in the main repository to begin with anyway :D
<flux> hmm, so postgresql json has -> for going from json to json, and ->> for going from json to json and then converting it to string
<dmbaturin> companion_cube: Repos with packages missing from the main repo are common in linux distros, not so much of a hell as it could be.
<flux> I wonder if those would be convenient in an OCaml json library
<companion_cube> orbitz: well we should have signatures for that, obviously
<companion_cube> also, it would be interesting if people had sets of reviewed packages
<dmbaturin> orbitz: If your seal of approval is a cryprographic signature, no one can add it unless they steal your private key. :)
<orbitz> companion_cube: conceivably the free market would collapse blessed repositories, and then we will have a meta blessed repository :)
<orbitz> Yes, but the current flow doesn't support that and I don't believe github supports that at all (I could be wrong)
<companion_cube> Drup: where should the approval be then? if not in a separate repo nor in the main one?
<Drup> the approval could be in a separated repository
<companion_cube> flux: -> would certainly not be :D
<Drup> I don't care, as long as you don't remove packages.
<Drup> or shadow them
<flux> companion_cube, well ok, maybe not ;-). -@> -@@>
<flux> !
<companion_cube> well there could be a repo for votes/blessings/comments, yes
<companion_cube> but as metadata to the main one
<orbitz> Ok so you want a copy of main repo but then I'll add my own blessings, is that correct Drup ?
<Drup> no, you don't copy
<orbitz> ok
<Drup> because that's going to end up out of sync
<Drup> you especially *don't* do that
<orbitz> But I shouldn't remove pacakges/
<orbitz> ?
<Drup> It needs something in opam to support external metadata
<companion_cube> orbitz: just add a bit "blessed by orbitz" on packages you like, I guess
<orbitz> What if you could specify repos in opam search?
<orbitz> opam search --repo=orbitz
<Drup> that wouldn't really help all that much, you would still end up out of sync
<orbitz> But my repo only contains my blessed ones
<orbitz> ?
<Drup> and if there is a fix on the opam file in your blessed ones, but you don't backport the fix ?
<Drup> (hint: you will not, one day or another)
<orbitz> Drup: I'm afraid I don't follow what you're saying
<orbitz> if I find a bug in one of my blessed repos an i only add it to my repo
<orbitz> ?
<Drup> I'm saying that as soon as you copy packages, you will end up out of sync with the main repo, which is bad.
<orbitz> I'm blessing specific versiosn though
<Drup> what you want is not copy packages, you want to add metadata
<Drup> why trying to copy packages to add metadata ? that's a bad solution
<orbitz> ok
<orbitz> So you'd like metadata overlays, somehow?
Matt__ has joined #ocaml
<Drup> I don't mind them, it would be useful
<Matt__> Good morning folks
<orbitz> Drup: I'm just trying to make suer I understand what you are envisioning
mort___ has joined #ocaml
<Drup> orbitz: related opam bug reports : https://github.com/ocaml/opam/issues/1734
<Drup> (in particular, the last comment)
<Matt__> I'm new to ocaml and I have a question about recursive functions on a list
mort___ has quit [Remote host closed the connection]
<companion_cube> Matt__: welcome, ask your question :)
segmond has quit [Ping timeout: 256 seconds]
<orbitz> Drup: ah thanks
<Matt__> Thanks, I'm scratching my head a little :-) I would like to match a list, with say, the 'multiples' I want to find... match them with a larger list, lets say, a list from 1 to 10
<Matt__> so if I pass [ 2 ; 3 ] then I return a list that has those multiples removed
<Matt__> is this possible?
<Matt__> I can match one element sure, but I'm unsure how I would write something take considers a list instead of just 1 integer
<dmbaturin> Matt__: You can use the List.filter function for it.
<Matt__> Righto
<Matt__> I'll take a look
<Matt__> Thanks
nickmeharry has quit [Remote host closed the connection]
<dmbaturin> If you want to do it by hand for an exercise, it's easy too.
<Matt__> I have this so far
<dmbaturin> Also, there's List.exists, which should make checking if it's a multiple of any list items easier.
<Matt__> let delete_mult x mlist = match mlist with
<Matt__> but honestly I'm a little clueless :-)
<Matt__> Looking for one of those 'aaaah' moments.
<orbitz> THe biggest problem for me at the moment is I want the code in Core just not the layout. Forking Core sounds like an epically bad idea as well
<dmbaturin> Matt__: http://www.cs.cmu.edu/~./15150/lect.html This course notes include nice overview of structural induction and how to use it.
<Matt__> Oh excellent, thank you
<dmbaturin> The language it uses is SML, not ocaml, but they are conceptually similar. If you want to try examples without translating them, install SMLNJ or Poly/ML, otherwise you can read them as fancy pseudocode.
<Drup> (ML is totally a fancy pseudocode anyway :D)
segmond has joined #ocaml
rgrinberg has joined #ocaml
matason has joined #ocaml
rgrinberg has quit [Ping timeout: 255 seconds]
reem has joined #ocaml
wwilly has left #ocaml ["Leaving"]
segmond has quit [Ping timeout: 265 seconds]
reem has quit [Remote host closed the connection]
larhat has joined #ocaml
<companion_cube> Drup: pseudocode that doesn't admit ambiguity ;)
<companion_cube> and doesn't know how to print stuff generically
<companion_cube> more like real code, really
<dmbaturin> companion_cube: I'd argue that pseudocode should not admit ambiguity. Polymoprhic print is a valid point though. :)
<dmbaturin> But then again, print is rare in pseudocode.
segmond has joined #ocaml
<companion_cube> you know what I mean, pseudocode has a small part of "do what I mean" on the edges :)
<Drup> "yeah, I can totally slap a forall somewhere in the code, it will work"
<Drup> (souce: my first year student)
<Drup> students*
<companion_cube> :D
<companion_cube> List.for_all does work
<Drup> l + 2 doesn't
<Drup> (l being a list)
<companion_cube> meaning map ((+) 2) l ?
<Drup> yes
<MercurialAlchemi> I'd question pseudo code using 'l + 2'
segmond has quit [Ping timeout: 264 seconds]
<companion_cube> well it makes sense
<dmbaturin> Drup: Our calculus professor used to say "you have no limits" when someone wrote proofs or calculations that involved limits with the "lim" part omitted.
<Drup> :D
reem has joined #ocaml
<Drup> companion_cube: it's especially questionable when it's not a list, but a C Array
<companion_cube> ohhhhhh
<Drup> (but they can't really know that)
paradoja has joined #ocaml
<companion_cube> hmm, why didn't I write CCArray.map_in_place
<dmbaturin> Drup: On the other hand, physicists and some geometry people routinely omit any sum symbols in tensor operations and may actually write $$l_i + 2$$ when they mean map ((+) 2) l.
freling has quit [Quit: Leaving.]
<Drup> yes
<Drup> I know
<Drup> I HATE IT
<Drup> sorry.
<Drup> everytime I'm reading a math paper "those operations are ill-typed è_é".
reem has quit [Remote host closed the connection]
<dmbaturin> We need to invent a funny symbol for map.
<rks`> yes, that's what we need.
<dmbaturin> Not that it will help, if those people omit the well known symbol for fold. :)
matason has quit [Quit: leaving]
paradoja has quit [Ping timeout: 265 seconds]
Haudegen has quit [Ping timeout: 245 seconds]
Haudegen has joined #ocaml
Haudegen has quit [Ping timeout: 256 seconds]
yomimono has joined #ocaml
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
Haudegen has joined #ocaml
freling has joined #ocaml
<bjorkintosh> funny symbol for map. there be dragons?
<bjorkintosh> a dragon pointing at itself?
_andre has joined #ocaml
jao has quit [Ping timeout: 272 seconds]
struktured has quit [Ping timeout: 265 seconds]
carm has quit [Ping timeout: 265 seconds]
paradoja has joined #ocaml
struktured has joined #ocaml
carm has joined #ocaml
<octachron> there is a well-known symbol for fold?
Haudegen has quit [Ping timeout: 255 seconds]
<rks`> octachron: yes, it's in every origami book
matason has joined #ocaml
<dmbaturin> octachron: Well, I mean http://1.618034.com/blog_data/math/formula.32326.png
Haudegen has joined #ocaml
reem has joined #ocaml
<octachron> dmbaturin: so a fold which only works for few associative binary operators...
<def`> octachron: maybe banana, banana banana, banana banana banana ( http://citeseer.ist.psu.edu/meijer91functional.html )
Matt__ has quit [Quit: Page closed]
reem has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
claudiuc has joined #ocaml
claudiuc has quit [Remote host closed the connection]
claudiuc has joined #ocaml
reem has joined #ocaml
claudiuc has quit [Remote host closed the connection]
claudiuc has joined #ocaml
reem has quit [Remote host closed the connection]
rgrinberg has quit [Ping timeout: 250 seconds]
segmond has joined #ocaml
segmond has quit [Max SendQ exceeded]
ygrek has quit [Ping timeout: 240 seconds]
reem has joined #ocaml
reem has quit [Remote host closed the connection]
<octachron> def`: thanks, it was a fun read
reem has joined #ocaml
reem has quit [Remote host closed the connection]
segmond has joined #ocaml
ghostpl_ has quit [Remote host closed the connection]
ghostpl_ has joined #ocaml
claudiuc has quit [Remote host closed the connection]
segmond has quit [Ping timeout: 264 seconds]
<Drup> I know. :]
<Drup> currently reading it
<Drup> whitequark ^ too
<ggole> ?
`eeks has joined #ocaml
<ggole> Ah, interesting
<Drup> typed ssa :p
segmond has joined #ocaml
tane has joined #ocaml
dsheets_ has quit [Ping timeout: 265 seconds]
<ggole> It does seem a bit familiar
rgrinberg has joined #ocaml
<ggole> I've done sketches of GADT qualified machine instruction models
<ggole> (They were a pain in the ass though.)
<Drup> I know, I remember
<Drup> we discussed the gadt ssa representation at length
<ggole> That too, but I mean x86 instructions
<Drup> oh, right
ghostpl_ has quit [Remote host closed the connection]
<Drup> the paper doesn't explain how they solve the binder issue, though
<Drup> which is the main issue for me, and is not solved in llvm-general at all (basically, you can't find users)
rgrinberg has quit [Ping timeout: 255 seconds]
<ggole> def-use lists?
<ggole> I was never sure what to do with those other than anyify them
<Drup> yeah
<Drup> you were using an hastbl, right ?
<Drup> or at least a poly table
<ggole> The table was for numbering, which only needs use-def (eg, operands point to the originating instruction)
<Drup> that's enough
<ggole> You need a GADT friendly table to be able to look up an int insn and get back an int insn with which to replace it
<Drup> yes
<ggole> But this doesn't work for def-use lists
<Drup> def-use lists ?
<ggole> Because instructions of various types can use one definition
<ggole> Well, there are two directions in which you can indicate what uses what
<ggole> You can go from use to definition, which is very common
<Drup> ah, ok, yes, I got it.
<Drup> yes, you are right, and yes, I understand the issue
<ggole> Right.
<Drup> (sorry, brain a bit slow today)
<ggole> So the table (while pretty nifty) doesn't really help with that
ghostpl_ has joined #ocaml
<Drup> yes
<pippijn> "Accelerate [13, 37] is the only example of a
<pippijn> released compiler with users that employs this technique"
<pippijn> I like the phrasing "with users"
<Drup> :D
<pippijn> "there are dozens of us!"
<pippijn> "...or at least 2!"
BitPuffin has joined #ocaml
sol__ has joined #ocaml
<sol__> s
matason has quit [Ping timeout: 252 seconds]
dsheets_ has joined #ocaml
mort___ has joined #ocaml
segmond has quit [Ping timeout: 264 seconds]
matason has joined #ocaml
shinnya has joined #ocaml
segmond has joined #ocaml
<Drup> ggole: It's annoying, I can't find their gadt definition of the IR
matason has quit [Ping timeout: 264 seconds]
ghostpl_ has quit [Read error: Connection reset by peer]
ghostpl_ has joined #ocaml
reem has joined #ocaml
jbrown has quit [Remote host closed the connection]
<companion_cube> https://github.com/rustyrussell/ccan <-- gosh, how large is this thing?
<ggole> Drup: it's the Acc a thing they talk about, I think (which doesn't seem to be defined anywhere)
<ggole> Not the clearest paper.
reem has quit [Remote host closed the connection]
<pippijn> ggole: Data.Array.Accelerate
<pippijn> hm
<Drup> pippijn: that's the original version, they say it's in https://github.com/AccelerateHS/accelerate-llvm in the paper
<Drup> but I don't find it
<pippijn> oh
<Drup> that's the AST of accelerate, not the GADT SSA
<Drup> it was in a fork, obviously :<
JuggleTux has quit [Remote host closed the connection]
<pippijn> nice
ontologiae_ has quit [Ping timeout: 252 seconds]
<Drup> they use mostly the same mecanism than llvm-general, so explicit names and no users/uses
struktured has quit [Ping timeout: 250 seconds]
dsheets_ has quit [Ping timeout: 256 seconds]
<Drup> (and type families, everywhere)
mort___ has quit [Ping timeout: 256 seconds]
TheCommieDuck has joined #ocaml
mort___ has joined #ocaml
yomimono has quit [Ping timeout: 250 seconds]
matason has joined #ocaml
rgrinberg has joined #ocaml
badkins has joined #ocaml
reem has joined #ocaml
rgrinberg has quit [Ping timeout: 246 seconds]
reem has quit [Remote host closed the connection]
dsheets_ has joined #ocaml
<Drup> ggole: so, their basic blocks are opaque and untyped, so they don't really have any deboxing issue.
yomimono has joined #ocaml
<Drup> they just throw everything in the untyped representation before puting them inside basic blocks
<Drup> no improvements :<
<ggole> Yeah, that was pretty much what I stopped at
<ggole> I mentioned the "half-graph" idea, right?
<Drup> (keeping track of the various types in their fancy gadt-typefamily-typeclasses representation is rather annoying)
<Drup> ggole: I don't remember that
<ggole> Where pure nodes float outside basic blocks sea-of-nodes style, while side-effecty and control-flow nodes are in blocks
<ggole> That *might* be a bit more amenable to the GADT stuff
<ggole> Because value-producing nodes would mostly or entirely float and not have to live in blocks
<Drup> huum, yes, I remember you saying something like that
<Drup> and so, the compiler will "figure out the blocks" before compiling ?
<Drup> by tracking back the dependencies ?
<ggole> Well no, you'd have basic blocks contain an effect insn rather than a, say, int insn
<ggole> You still get the def-use problem though
<TheCommieDuck> hey; I'm probably missing something dumb. I've wrapped eprintf and it works fine. if I change it from eprintf str values to if !some_global_flag then eprintf str values else (), it complains about too many arguments.
<Drup> yes, but if you have, say, c = a + b, return c, the first instruction will not be in the basic block, right ?
<ggole> That would just turn into a phi, no need for it to be in a block
ontologiae_ has joined #ocaml
<ggole> Because phis are "pure", they're just values
<ggole> Calls are a bit problematic because you have a value and an effect
girrig has quit [Ping timeout: 250 seconds]
<Drup> ggole: you still have to get back to blocks at some point, no ?
<Drup> hum, or maybe not if you get out of ssa directly
<ggole> Yeah, but you can do that at instruction selection time
<Drup> ok
<ggole> In which case the output is just lists of machine instructions
<Drup> yeah, it's not optimal for llvm bindings :p
<ggole> Agreed
<ggole> TheCommieDuck: str doesn't look like a format string, is that missing?
<companion_cube> TheCommieDuck: you might need ikfprintf in the "else" case
<pippijn> that was a nice read
<TheCommieDuck> ggole: let printferr str fm = if (!is_verbose) then (Printf.eprintf str fm) else () and I assumed it would infer....stuff
<companion_cube> look at the type of your eprintf wrapper
<TheCommieDuck> I think ikfprintf is it, though
ontologiae_ has quit [Ping timeout: 245 seconds]
<pippijn> why was the ocaml llvm backend bad?
<companion_cube> pippijn: apparently, GC
<ggole> TheCommieDuck: hmm, that types fine here
travisbrady has joined #ocaml
<pippijn> hmm
<pippijn> how come?
<ggole> LLVM didn't support precise collection well
<companion_cube> I don't understand much, but whitequark and Drup seem to say that LLVM's support for GC is bad
<ggole> It's been improved considerably since
<pippijn> so we could try again?
<Drup> the patch for GC roots is not merged yet
<Drup> planned for 3.7
<pippijn> okay
<pippijn> after that we can try again?
<Drup> yeah
<TheCommieDuck> ...It now works.
<TheCommieDuck> o.0
<Drup> according to whitequark, there are other issues to debox things
<ggole> They seemed to have taken it seriously because Apple used LLVM for FTL, a Javascript JIT compiler
<pippijn> Drup: do you know which issues?
<Drup> basically, the ocaml compiler boxes a lot
<Drup> and llvm will not optimise a lot if everything is boxed
<Drup> so you need to debox things before asking llvm to optimize
<pippijn> hm
<pippijn> I see
<ggole> LLVM will optimise more if it is given accurate types
<pippijn> so you mean like Some x?
<ggole> But those are dropped early in the compilation pipeline on the OCaml side
<Drup> I don't know the details, to be honest
<pippijn> ggole: can that be changed?
<pippijn> preserve more types in transformation passes?
<ggole> Sure, it's just ASMOP
<Drup> well, it will be better in 4.03
<pippijn> Drup: ah?
<Drup> (flambda !)
<pippijn> I should apply for a job at ocamlpro
<pippijn> they do cool stuff
<companion_cube> are you still in Paris? :)
<pippijn> no, I'm in london now
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
ontologiae_ has joined #ocaml
<pippijn> Drup: flambda makes things slightly better, but it's still far away from the kind of type preservation as described in the acc paper
<pippijn> Drup: having that in ocamlc would be cool
<Drup> I doubt that's possible
<pippijn> because it's not a purely functional language?
<Drup> the Acc representation works because they have an extremely constrained small language
<pippijn> right
TheCommieDuck has left #ocaml ["Once you know what it is you want to be true, instinct is a very useful device for enabling you to know that it is"]
<Drup> OCaml is neither small nor extremely constrained :D
<pippijn> well, it can't be like acc
<pippijn> because ocaml is translated from bytes to bytes
<Drup> and types are much more complicated than just "base types and tupes"
<pippijn> base, union, product
<pippijn> ignoring classes :)
<Drup> ahah
<ggole> And abstract types, and open types, and polymorphic variants, and GADTs, and etc etc
<ggole> And modules
<Drup> and modules, and functions (with optional and named arguments)
<Drup> and, and
<Drup> it's easy to forget 90% of the language and say it's easy to embed in GADTs
<ggole> It starts off so easy
<MercurialAlchemi> if you don't like the problem, change the problem :)
<Drup> ggole: ML is far too cute :p
<ggole> type _ term = Int : int -> int term | Bool : bool -> bool term (* rest is an exercise for the reader *)
<pippijn> I'm thinking about how much these things can be desugared
<Drup> ah, well
<Drup> pippijn: someone is doing a phd in ocamlpro on that n_n
<pippijn> while preserving enough type information to give llvm optimisation hints
<pippijn> Drup: that's interesting
<ggole> Doing it specifically for LLVM might be significantly easier
<Drup> ggole: that reminds me my issues with the formalization of eliom
<ggole> eg, you just need to indicate that foo and bar are different record types, no need to drag in the full enchilada
<Drup> "everything works fine, everything works fine, POLYMORPHISM, *die*"
dav has quit [Ping timeout: 245 seconds]
<ggole> I don't think that would be a problem for TBAA
<ggole> There are rules like "this can point at anything" for C already
<Drup> TBAA ?
<ggole> Type based alias analysis
<pippijn> alias ana
<pippijn> yes
<Drup> ah, yes
<ggole> eg, info that would allow LLVM to promote record fields, etc more aggressively
dav has joined #ocaml
Algebr has joined #ocaml
WraithM has joined #ocaml
binarybi1me has left #ocaml [#ocaml]
larhat has quit [Quit: Leaving.]
mal`` has quit [Ping timeout: 252 seconds]
shinnya has quit [Ping timeout: 252 seconds]
<dmbaturin> Where are the docs for the syslog package that is in opam?
mcc has joined #ocaml
travisbrady has quit [Quit: travisbrady]
<dmbaturin> Or it's just "use the source, Luke" and there are no docs?
bytbox has quit [Ping timeout: 246 seconds]
mcc has quit [Quit: This computer has gone to sleep]
<MercurialAlchemi> in opam or in lwt?
<dmbaturin> MercurialAlchemi: In opam. Lwt has its own syslog module?
mal`` has joined #ocaml
AlexRussia has quit [Ping timeout: 255 seconds]
<MercurialAlchemi> dmbaturin: it can log to syslog, at least
<MercurialAlchemi> if that's what you want
travisbrady has joined #ocaml
<companion_cube> I think dsheets_ is looking more and more like the prophet that will bring us documentation
<Drup> ahah xD
<MercurialAlchemi> companion_cube: well, good luck to him, there is a lot of writing to do
<MercurialAlchemi> :p
avsm has joined #ocaml
<companion_cube> :)
rgrinberg has joined #ocaml
<companion_cube> gosh, is ounit 2 defining a module OUnit at all?
darkf has quit [Quit: Leaving]
rgrinberg has quit [Ping timeout: 264 seconds]
<MercurialAlchemi> is it?
<MercurialAlchemi> the suspense is killing me
<dmbaturin> MercurialAlchemi: It does, and the API is not compatible with OUnit2.
<MercurialAlchemi> sweet
<dsheets_> documentation tools... i won't write it for you ^_^
<MercurialAlchemi> dsheets_: damn, I thought you were a hero
<dsheets_> hero of shame -- my tools will show the world how poor your docs are and then you'll have to fix them up
<dsheets_> unfortunately they are still rough around the edges so they produce bad-looking docs :-(
<dsheets_> need... more... time...
* dsheets_ goes to work
<MercurialAlchemi> as long as the links work
<companion_cube> oh, it defines both
dsheets_ has quit [Ping timeout: 245 seconds]
slash^ has joined #ocaml
avsm has left #ocaml [#ocaml]
dsheets_ has joined #ocaml
AlexRussia has joined #ocaml
Edgar has joined #ocaml
eikke has joined #ocaml
ontologiae_ has quit [Ping timeout: 256 seconds]
segmond has quit [Ping timeout: 240 seconds]
TheLemonMan has joined #ocaml
<Drup> you can make *very* interesting things with that
<seangrov`> So I often see some references to things not defined in the current file, e.g. type t = (hole, prov) XmlRope.t
<seangrov`> How does one go about finding where in the project this is defined?
<seangrov`> (other than just grepping)
<ggole> seangrov`: which parts? hole/prov or XmlRope.t?
<seangrov`> The XmlRope
<ggole> It's either a module bound earlier in the file or a file called XmlRope.ml(i)
MrScout_ has joined #ocaml
<ggole> merlin should be able to help locate the definition.
<ggole> (If you can use that.)
<seangrov`> Ah, ok. I don't have merlin turned on in my new setup, let me install that
oscar_toro has joined #ocaml
dav has quit [Ping timeout: 252 seconds]
dav has joined #ocaml
<companion_cube> Drup: ohhh, if ppx_deriving.show could do that...
<whitequark> Drup: cooooool
<Drup> no need to do it in ppx_deriving, if there is some ppx_custom_printf around, it's enough
<Drup> it uses the same convention (M.to_string)
<Drup> so, it will just magically work
<whitequark> pippijn: re the llvm backend
<whitequark> precise GC support is being added by Philip Reames right now
<whitequark> it is not ready yet
<whitequark> without it, you would have to store everything on stack and reload it between function calls
<whitequark> which would be extremely detrimental to performance
<companion_cube> interesting
<whitequark> (it was ostensibly precise, but it did not support roots in registers, so it was useless)
<whitequark> regarding unboxing, LLVM will have to be altered to learn about the way OCaml does allocation
<whitequark> so that it could lift allocations
<whitequark> this is not trivial (though not too hard either)
<whitequark> most likely it could be done w/o modifying LLVM itself, with a custom pass
<ggole> Didn't that already get done for FTL?
segmond has joined #ocaml
<companion_cube> I suppose ocaml-llvm would not have to make the same choices as ocamlopt?
<companion_cube> regarding the memory layout, etc. ?
<ggole> (I seem to remember something about that in their post.)
<whitequark> ggole: I think Reames works on FTL.
<whitequark> FTL is not really a very good example
<whitequark> because it had three passes that infer type information and invariants before it
<whitequark> whereas ocamlopt had none
<ggole> Hmm.
<whitequark> i.e. LLVM in FTL does not really lift allocations, it relies on the previous passes reporting that a certain value does not escape
<whitequark> afaik
<ggole> I see
bytbox has joined #ocaml
<nicoo> companion_cube: It cannot break the FFI (or rely on having different headers from ocamlopt), as I understand it
<nicoo> So the value representation cannot change too much
<companion_cube> oh, this :/
<companion_cube> sad
<whitequark> well, disagree
<whitequark> it has to be source-compatible
<whitequark> there's no reason to aim for binary compatibility
<whitequark> that being said, i also see no reason to deviate much from ocamlopt, its representation is just fine
<Drup> if you change the memory layout, some things will instantly break
<Drup> (even pure OCaml things)
<Drup> (ok, maybe *evil* pure OCaml things, but still ...)
<ggole> The GC, a bunch of asm, and some OO stuff makes various assumptions about layout afaik
<Drup> And ocamlnet, and Stream, and ... :p
<ggole> (You could probably just give up and keep whatever the current object layout is, though)
<Drup> batteries, too
<whitequark> ggole: you'd have to rewrite the GC anyway
avsm has joined #ocaml
<whitequark> I'm not sure whether LLVM could emit the exact same map format as ocamlopt, chances are no
<ggole> Yeah, but you could hope to get away with only rewriting a few bits
<ggole> And keep (most of?) the C
<companion_cube> Drup: \o/
<whitequark> I don't recall layout-dependent stuff in assembly
<whitequark> it's mainly dependent on calling convention, which I already wrote the patches for LLVM to emulate
<companion_cube> well, code that fails in this case is also code that wouldn't work in jsoo, I suppose
<Drup> companion_cube: actually, not really
<whitequark> OO... possibly
<Drup> because blocks behave the exact same way in jsoo
<whitequark> it's not really intractable, neither it will break most external code
<companion_cube> Drup: even primitive types are the same?
<Drup> they don't have the same size
<Drup> but otherwise, mostly
matason has quit [Ping timeout: 250 seconds]
mort___ has quit [Ping timeout: 256 seconds]
<companion_cube> Drup: sometimes I wonder whether I should have forked batteries-light for real, instead of making containers :)
<ggole> It'd be nice to specialise some representations a bit
<ggole> You can make options really cheap for most types
<Drup> companion_cube: you already know my opinion
<companion_cube> well, I might have forgotten it ^^
<companion_cube> by forking, I mean refactoring heavily and removing quite a lot of stuff
<whitequark> ggole: I wonder if you couldn't do that with ocamlopt
<Drup> companion_cube: I know
<Drup> you should have done it
<Drup> whitequark wouldn't like it though, because BatFoo puts him off :D
<whitequark> yes
<Drup> maybe BLFoo would be ok
<whitequark> ugh
rgrinberg has joined #ocaml
<Drup> but CCFoo is ok ?
<whitequark> no
<Drup> ah ?
<whitequark> but at least it doesn't try to be 'cute'
<ggole> Containers.Foo plz
<Drup> BatFoo doesn't try to be cute
<whitequark> "batteries" tries to be
<Drup> I think I don't have the same definition of "cute"
<whitequark> key word is "tries"
<Drup> well, no, it doesn't really tried
<whitequark> like, everything about that metaphor pisses me off. the name. the logo. EVERYTHING
<whitequark> why would you do that to yourself?!
<whitequark> why?!
<Drup> well, the expression is used in numerous other languages, isn't it ?
<ggole> MustyBoringAlternativeStdlib.Foo
<companion_cube> oh, the logo, right
<whitequark> Drup: so?
<Drup> so I'm not choked
<Drup> chocked* x)
<Drup> I don't even care
<companion_cube> shocked?
<Drup> yes, thanks.
<Drup> whitequark: I'm sure you hate LILiS with equal passion then, a good thing it's not a useful library :D
<companion_cube> If I had forked batteries, I would have called it "bathyscaphe"
rgrinberg has quit [Ping timeout: 265 seconds]
<whitequark> Drup: I don't
<ggole> There's worse
<ggole> Putting your name in the library, for instance
<whitequark> Drup: the problem with CC and Bat is that it's unrelated to the purpose
<companion_cube> StdlibList?
<whitequark> it's an stdlib replacement. it must use generic names
<companion_cube> the really generic names are already taken...
<whitequark> if it's not an stdlib replacement, it can use anything that makes a bit of sense
<Drup> ggole: like CC then ? :D
<whitequark> I would like Containers.List more
<Drup> I find it too long
<whitequark> that would be /perfect/
<whitequark> open Containers :p
* companion_cube doesn't open
<Drup> only if it's a module only
* whitequark uses an angle grinder to open companion_cube
<Drup> and no stupid pervasive erasing
<companion_cube> well, we can rename CCPervasives into Containers if you want
<whitequark> companion_cube: actually a good idea!
bytbox has quit [Remote host closed the connection]
<companion_cube> or at least make an alias
<whitequark> nah, just rename it, it's a much better name
<whitequark> CCPervasives doesn't really describe what it does
<companion_cube> ok, will be in the next release
<companion_cube> (I agree, it makes sense)
matason has joined #ocaml
<companion_cube> hmm, so it should be provided with the core library
<Drup> something something namespaces something
jmbto has quit [Quit: WeeChat 0.4.1]
<companion_cube> yeah.
A1977494 has joined #ocaml
<whitequark> cool, thanks
<adrien_znc> companion_cube: I knew you were moving to Core!
<companion_cube> tsk tsk
cdidd has quit [Ping timeout: 256 seconds]
badkins has quit [Ping timeout: 244 seconds]
ghostpl_ has quit [Remote host closed the connection]
segmond has quit [Ping timeout: 264 seconds]
travisbrady has quit [Quit: travisbrady]
swgillespie has joined #ocaml
dav__ has joined #ocaml
dav has quit [Ping timeout: 245 seconds]
zpe has quit [Remote host closed the connection]
octachron has quit [Quit: Leaving]
travisbrady has joined #ocaml
emias has quit [Ping timeout: 264 seconds]
segmond has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
gal_bolle has quit [Ping timeout: 256 seconds]
Anarchos has joined #ocaml
psy_ has joined #ocaml
`eeks has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
`eeks has joined #ocaml
arj has quit [Quit: Leaving.]
emias has joined #ocaml
seangrov` has left #ocaml ["ERC Version 5.3 (IRC client for Emacs)"]
Haudegen has quit [Ping timeout: 256 seconds]
seangrov` has joined #ocaml
Edgar has quit [Quit: Page closed]
vfoley- has joined #ocaml
rgrinberg has joined #ocaml
<vfoley-> What's a good way in Menhir to silence warnings about unused tokens?
etehtsea has joined #ocaml
etehtsea has quit [Max SendQ exceeded]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
<thizanne> remove these unused tokens
Haudegen has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
rgrinberg has quit [Ping timeout: 252 seconds]
MrScout_ has quit [Read error: Connection reset by peer]
MrScout_ has joined #ocaml
gal_bolle has joined #ocaml
matason has quit [Quit: leaving]
matason has joined #ocaml
A1977494 has quit [Read error: Connection reset by peer]
badkins has joined #ocaml
srcerer has quit [Quit: ChatZilla 0.9.91.1 [Firefox 35.0.1/20150122214805]]
ptc has joined #ocaml
ptc is now known as Guest97868
matason has quit [Ping timeout: 264 seconds]
larhat has joined #ocaml
waneck has quit [Quit: Leaving]
Guest97868 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ptc_ has joined #ocaml
srcerer has joined #ocaml
gal_bolle has quit [Ping timeout: 264 seconds]
divyansh_ has joined #ocaml
ggole has quit []
axiles has quit [Ping timeout: 264 seconds]
bytbox has joined #ocaml
Kakadu has quit [Quit: Page closed]
yomimono has quit [Ping timeout: 246 seconds]
axiles has joined #ocaml
dsheets_ has quit [Ping timeout: 245 seconds]
avsm1 has joined #ocaml
avsm has quit [Ping timeout: 264 seconds]
gal_bolle has joined #ocaml
Haudegen has quit [Ping timeout: 245 seconds]
lordkryss has quit [Quit: Connection closed for inactivity]
sol__ has quit [Disconnected by services]
gal_bolle has quit [Ping timeout: 252 seconds]
Haudegen has joined #ocaml
nullcat has joined #ocaml
Submarine has joined #ocaml
Submarine has joined #ocaml
dsheets has joined #ocaml
divyansh_ has quit [Quit: Computer has gone to sleep.]
WraithM has quit [Quit: leaving]
paradoja has quit [Ping timeout: 265 seconds]
<Algebr> Syntax errors are killing me when refactoring, anything to help this out
rgrinberg has joined #ocaml
Kakadu has joined #ocaml
emias has quit [Quit: Bye]
girrig has joined #ocaml
MrScout_ has quit [Remote host closed the connection]
MrScout_ has joined #ocaml
travisbrady has quit [Quit: travisbrady]
olauzon has joined #ocaml
avsm1 has quit [Quit: Leaving.]
bytbox has quit [Remote host closed the connection]
WraithM has joined #ocaml
ptc_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
travisbrady has joined #ocaml
ghostpl_ has joined #ocaml
ghostpl_ has quit [Remote host closed the connection]
ghostpl_ has joined #ocaml
tnguyen has quit [Ping timeout: 252 seconds]
tnguyen has joined #ocaml
emias has joined #ocaml
WraithM has quit [Quit: leaving]
c355E3B has joined #ocaml
laughing-octo-sh has joined #ocaml
swgillespie has joined #ocaml
swgillespie has quit [Client Quit]
olauzon has quit [Quit: olauzon]
Anarchos has joined #ocaml
travisbrady has quit [Quit: travisbrady]
ptc has joined #ocaml
ptc is now known as Guest81921
travisbrady has joined #ocaml
bytbox has joined #ocaml
MercurialAlchemi has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
<Algebr> Drup: did you have a short list of how to add stuff to opam correctly?
rgrinberg has quit [Ping timeout: 256 seconds]
JuggleTux has joined #ocaml
<_obad_> is Lwt_preemptive the right choice to use a block device driver from an Lwt application?
<_obad_> I meant *blocking* device driver
<_obad_> it's a char device
<_obad_> i.e. I want to make blocking calls but let my Lwt application keep running
<MercurialAlchemi> bignum or zarith?
rgrinberg has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
Guest81921 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<Drup> MercurialAlchemi: zarith
<smondet> _obad_: I dunno if it is The Right Choice™ , but it should work pretty well :) Lwt_preemptive maybe adds an overhead not negligible for some applications
<Drup> _obad_: yes
<_obad_> drup, smondet: thanks! I'm just going to try it. what's the oasis flag for the -thread flag? or do I have to change _tags?
<smondet> _obad_: I think you may need `-thread` somewhere yes, but also the `lwt.preemptive` separate library
<Drup> add thread to your dependencies
<Drup> and that's enough
<Drup> (and lwt.preemptive, of course)
<Drup> Algebr: look at the opam manual ;)
<_obad_> I added lwt.preemptive of course, however builddepends: thread gives an error
<Drup> threads ?
<_obad_> W: Field 'pkg_thread' is not set: Command ''/home/obd/.opam/4.01.0/bin/ocamlfind' query -format %d thread > '/tmp/oasis-bc11a9.txt'' terminated with error code 2
<_obad_> E: Cannot find findlib package thread
<Drup> with an s
<_obad_> thanks, it compiles! someone should mention that in the oasis manual
<MercurialAlchemi> Drup: thanks
<Algebr> Drup: How does one write the install target so that the binary is installed under opam?
oscar_toro has quit [Ping timeout: 240 seconds]
gt2013 has joined #ocaml
<Drup> Algebr: just have a --prefix argument
<Drup> and install there
<Drup> for libraries, install with ocamlfind
mort___ has joined #ocaml
segmond has quit [Ping timeout: 244 seconds]
<Algebr> I'm not understanding what you mean, looking at other people's install target's and this is becoming a rabbit hole. I was thinking was something like install : mv my_binary $(opams_binary_directory)
_andre has quit [Quit: leaving]
segmond has joined #ocaml
JuggleTux has quit [Quit: leaving]
sol__ has joined #ocaml
pii4 has quit [Excess Flood]
pii4 has joined #ocaml
claudiuc has joined #ocaml
mort___ has quit [Quit: Leaving.]
emias has quit [Quit: Bye]
emias has joined #ocaml
travisbrady has quit [Quit: travisbrady]
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
olauzon has joined #ocaml
laughing-octo-sh has quit [Ping timeout: 244 seconds]
c355E3B has quit [Quit: Leaving]
travisbrady has joined #ocaml
laughing-octo-sh has joined #ocaml
<Algebr> I'm at the opam-publish submit project.version stage but I'm getting permissions errors...which is super strange. do I need to have permissions from the opam repo?
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
swgillespie has joined #ocaml
jwatzman|work has joined #ocaml
Anarchos has joined #ocaml
<tizoc> what do ocamlers usually use to talk to postgresql? pgocaml?
<smondet> or the other one by mmottl I think
<tizoc> yes, I was checking that one too, thanks
mort___ has joined #ocaml
Algebr has quit [Remote host closed the connection]
Algebr has joined #ocaml
<Algebr> Others encountered this issue before of opam-publish giving # fatal: Could not read from remote repository ? wget on the url works fine..
hilquias has joined #ocaml
ptc has joined #ocaml
<tokenrove> is it possible to use "module type of" with first-class modules? i.e., what would be the correct syntax for ``let m = (module Set : module type of Set)''?
ptc is now known as Guest65423
badkins has quit []
oscar_toro has joined #ocaml
Submarine has quit [Remote host closed the connection]
SomeDamnBody has joined #ocaml
<SomeDamnBody> is it possible to tell opam to consume a local opam file when installing a package?
<SomeDamnBody> i have a package install failing, and I need to be able to edit the opam and then execute that
Kakadu has quit [Remote host closed the connection]
<Algebr> I think its opam pin
`eeks has quit [Ping timeout: 250 seconds]
<Drup> SomeDamnBody: opam pin -e add foo foo.3.13
<SomeDamnBody> why do I have to pin it to a specific version?
<SomeDamnBody> is there any way that I can edit the opam file?
<SomeDamnBody> and yet not pin it?
<SomeDamnBody> Drup, actually, let me explain what is really happening
<SomeDamnBody> basically, the opam file runs a configure command in a downloaded directory
<Drup> the opam file is for a specific version
<Drup> so ...
<SomeDamnBody> oh
<SomeDamnBody> in any case, the configure command cannot find the version of llvm
<SomeDamnBody> but llvm installed is 3.4
<SomeDamnBody> the error I get is actually this:
mort___ has quit [Quit: Leaving.]
<SomeDamnBody> # E: Failed to find llvm library, consider using --with-llvm-version
<SomeDamnBody> # or --with-llvm-config command line options, to point me on a
<SomeDamnBody> # correct version of LLVM.
<SomeDamnBody> that's why I was trying to edit the opam for the package...
bjorkintosh has quit [Remote host closed the connection]
badkins has joined #ocaml
bjorkintosh has joined #ocaml
carm has quit [Read error: Connection reset by peer]
avsm has joined #ocaml
monoprotic has quit [Ping timeout: 272 seconds]
carm has joined #ocaml
travisbrady has quit [Quit: travisbrady]
reem has joined #ocaml
antkong has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
Algebr has quit [Remote host closed the connection]
<whitequark> post the entire output
<whitequark> also, what is your OS?
<SomeDamnBody> linux
<SomeDamnBody> Ubuntu 14.04
<SomeDamnBody> I managed to use the pin command to get past that
<SomeDamnBody> but now I have a different error
<SomeDamnBody> unbound value Http.Server.make
<SomeDamnBody> during an ocamlfind ocamlopt compilation command
<SomeDamnBody> run by opam
<SomeDamnBody> whitequark,
tane has quit [Quit: Verlassend]
gt2013 has quit [Remote host closed the connection]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Algebr has joined #ocaml
reem has quit [Remote host closed the connection]
travisbrady has joined #ocaml
<whitequark> hrm
bytbox has quit [Remote host closed the connection]
jbrown has joined #ocaml
ghostpl_ has quit [Remote host closed the connection]
Simn has quit [Quit: Leaving]
cdidd has joined #ocaml
reem has joined #ocaml
freling has quit [Quit: Leaving.]
shinnya has joined #ocaml
badkins has quit []
reem has quit [Remote host closed the connection]
Guest65423 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
t4nk155 has joined #ocaml
t4nk155 is now known as Flakes
Haudegen has quit [Ping timeout: 272 seconds]
<SomeDamnBody> how can I search for that module?
<SomeDamnBody> Http.Server.make?
Flakes is now known as Flakers
<SomeDamnBody> how do I find what package delivers that?
olauzon has quit [Quit: olauzon]
<Flakers> My opam cant find any packages
<Flakers> like it isnt connecting to the internet or something
<Flakers> I just installed it
<Flakers> Any ideas on how to fix this?
reem has joined #ocaml
<Drup> you did opam init and all that ?
<Flakers> I installed it
<Flakers> then did opam init
<Flakers> then selected yes for all the changes it wanted to make or w/e
<Drup> then opam update ?
<Flakers> yep
<Flakers> I had this before on my mac side, and someone had a fix. They had me check opams connection or w/e and it went to local ip
<Flakers> but I couldn't get anything working with gtksourceview on mac side so I got linux and now same problem ;_;
swgillespie has joined #ocaml
ghostpl_ has joined #ocaml
ptc has joined #ocaml
ptc is now known as Guest94374
Haudegen has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 240 seconds]
reem has quit [Remote host closed the connection]
ghostpl_ has quit [Ping timeout: 252 seconds]
<Flakers> Opam can't find any packages I try to install
<Flakers> And list -a doesnt give anything
laughing-octo-sh has quit [Ping timeout: 264 seconds]
Haudegen has quit [Ping timeout: 252 seconds]
reem has joined #ocaml
<SomeDamnBody> how can I tell opam to use a local git repo to install a package
Haudegen has joined #ocaml
<thizanne> SomeDamnBody: opam pin add packagename your/repo/
<SomeDamnBody> ah ok thank
<SomeDamnBody> thanks
Nahra has joined #ocaml
avsm has quit [Quit: Leaving.]
rgrinberg has quit [Ping timeout: 272 seconds]
dav__ is now known as dav
travisbrady has quit [Quit: travisbrady]
TheLemonMan has quit [Quit: leaving]
reem has quit [Remote host closed the connection]