copy` has quit [Quit: Connection closed for inactivity]
minn has quit [Ping timeout: 244 seconds]
<Drup>
rgrinberg: ?
axiles has quit [Ping timeout: 265 seconds]
glennsl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
shinnya has quit [Ping timeout: 264 seconds]
axiles has joined #ocaml
fraggle_ has quit [Ping timeout: 264 seconds]
fraggle_ has joined #ocaml
tmtwd has joined #ocaml
nicholasf has joined #ocaml
FreeBirdLjj has joined #ocaml
bruce_r has joined #ocaml
<rgrinberg>
in tyre, the operators are exposed directly in Tyre rather than Tyre.Infix
<Drup>
Yeah, because you're supposed to use local open. I could change it.
<rgrinberg>
that's true, but Tyre is squatting some pretty common bindings
<rgrinberg>
so even a local open can be annoying
<rgrinberg>
Tyre.Infix.(...) please
<rgrinberg>
actually, i don't care so much about that
<rgrinberg>
why are you using the applicative operator for concatenation -_-
adelbertc has quit [Quit: Connection closed for inactivity]
<rgrinberg>
also <?> should really be <|>
<Drup>
I took the operators from angstrom :p
<rgrinberg>
but they're actually applicative there
<rgrinberg>
also <?> is used for failure in angstrom "correctly"
<rgrinberg>
where correctly is just the original convention from parsec i think
<rgrinberg>
angstrom does use <|> for alternation btw
<Drup>
huum, don't remember about that
<rgrinberg>
<+> or ++ is better than <*> imo. there's many other choices
<Drup>
there was some annoying with assoc/priorities
<Drup>
Please open a bug report, we will bikeshed the matter thoroughly and I'll change it :p
pierpa has quit [Ping timeout: 265 seconds]
<rgrinberg>
done :P
<rgrinberg>
otherwise it looks real good though
<Khady>
Is there a way to generate the documentation of an executable in oasis?
ygrek has quit [Ping timeout: 240 seconds]
adelbertc has joined #ocaml
tmtwd has quit [Ping timeout: 264 seconds]
nicholasf has quit [Remote host closed the connection]
tmtwd has joined #ocaml
patronus_ has quit [Remote host closed the connection]
nicholasf has joined #ocaml
Sorella has joined #ocaml
MercurialAlchemi has joined #ocaml
AlexDenisov has joined #ocaml
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
patronus has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
tmtwd has quit [Ping timeout: 252 seconds]
MercurialAlchemi has quit [Ping timeout: 240 seconds]
lockdown has joined #ocaml
lockdown has quit [Quit: leaving]
eikke has quit [Remote host closed the connection]
<flux>
I finally used tcmalloc (hi def`!) against my troublesome program, and it says expand_heap is the culprit. so this means the problem is in ocaml heap..
rgrinberg has quit [Ping timeout: 250 seconds]
Submarine has joined #ocaml
MercurialAlchemi has joined #ocaml
abeaumont_ has quit [Remote host closed the connection]
tane has joined #ocaml
AlexDenisov has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
segmond has quit [Quit: l8r]
nore has quit [Ping timeout: 250 seconds]
Submarine has quit [Remote host closed the connection]
<hyperqhopper>
why is it expecting a function that takes a function?
<hyperqhopper>
(Also I know i could just use concat)
fraggle-boate has quit [Remote host closed the connection]
MercurialAlchemi has quit [Ping timeout: 265 seconds]
TheLemonMan has joined #ocaml
Algebr` has joined #ocaml
adrien_ has joined #ocaml
AlexDenisov has joined #ocaml
dakk has quit [*.net *.split]
picolino has quit [*.net *.split]
theblatte has quit [*.net *.split]
smondet_ has quit [*.net *.split]
adrien has quit [*.net *.split]
trevorriles has quit [*.net *.split]
troydm has quit [*.net *.split]
Muzer has quit [*.net *.split]
dinosaure has quit [*.net *.split]
rbocquet has quit [*.net *.split]
justin_smith has quit [*.net *.split]
vishesh has quit [*.net *.split]
SimonJF has quit [*.net *.split]
trevorriles has joined #ocaml
<hyperqhopper>
got it, I again had an extra explicit argument.
fraggle-boate has joined #ocaml
AlexDenisov has quit [Client Quit]
srenatus[m] has quit [Ping timeout: 276 seconds]
<Simn>
I'm using oasis for the first time and trying to do a basic setup for our project I get errors from ocamlbuild exploring our tests directory. I found out that I can ignore this using the ocamlbuild_more_args alpha feature, but the fact that it's tagged alpha makes me think I'm doing something wrong here.
Muzer has joined #ocaml
yomimono has joined #ocaml
nicholasf has quit [Remote host closed the connection]
M-Illandan has quit [Ping timeout: 276 seconds]
nicholasf has joined #ocaml
<gasche`>
Simn: you can also add ("test_dir": -traverse) to your _tags file
rgrinberg has joined #ocaml
srenatus[m] has joined #ocaml
<gasche`>
(but I see nothing wrong with using ocamlbuild_more_args; "alpha" probably means that the interface might change in a future oasis release, which is not necessarily an issue)
<Simn>
Thanks
<Simn>
Is ocamlbuild the "right" tool to use? I'm getting confused by all these build tools I come across.
agarwal1975 has quit [Quit: agarwal1975]
M-Illandan has joined #ocaml
<Algebr`>
oasis is built on top of ocamlbuild
agarwal1975 has joined #ocaml
<Algebr`>
don't be put off by 'alpha'
gent00 has quit [Ping timeout: 244 seconds]
<Simn>
Alright, thanks
eikke has joined #ocaml
AlexDenisov has joined #ocaml
chris2 has quit [Ping timeout: 265 seconds]
agarwal1975 has quit [Client Quit]
agarwal1975 has joined #ocaml
dakk has joined #ocaml
two_wheels has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
troydm has joined #ocaml
govg has joined #ocaml
smondet_ has joined #ocaml
theblatte has joined #ocaml
picolino has joined #ocaml
justin_smith has joined #ocaml
rbocquet has joined #ocaml
vishesh has joined #ocaml
SimonJF has joined #ocaml
dinosaure has joined #ocaml
govg has quit [Max SendQ exceeded]
govg has joined #ocaml
agarwal1975 has quit [Quit: agarwal1975]
agarwal1975 has joined #ocaml
gent00 has joined #ocaml
two_wheels has joined #ocaml
zpe_ has joined #ocaml
seangrove has joined #ocaml
zpe has quit [Ping timeout: 240 seconds]
<gasche`>
Simn: oasis will not hide the build tool from you, merely call it for you
<gasche`>
so you should use the build tool that you feel comfortable with
<gasche`>
ocamlbuild is the default, but it's easy to call `make` instead, and the last oasis version has 'omake' support as well
<Simn>
I don't feel comfortable with any build tool. :D
<Simn>
I'm trying to figure out how to make it use camlp4o on a single file only.
APNG has quit [Read error: Connection reset by peer]
silver has joined #ocaml
octachron has joined #ocaml
Soni has joined #ocaml
hyperqhopper has quit [Ping timeout: 264 seconds]
shinnya has joined #ocaml
Soni is now known as APNG
MercurialAlchemi has joined #ocaml
govg has quit [Ping timeout: 265 seconds]
<Simn>
"ocamlfind: Using -syntax, but no package is selected specifying a preprocessor as required for -syntax"
<def`>
Looks bad, how did you install this system?
<dave24>
i compiled musl myself
<dave24>
its a voidlinux machine with ocaml and findlib from repos
<def`>
there are opam switches for musl ocaml
annoymouse has quit [Quit: Connection closed for inactivity]
<def`>
you need a special build of the compiler (to use musl-gcc)
<def`>
but I cannot tell you much more, I never tried that
<dave24>
def`: ah yes, I have just tried that. Still did not work. But I got a bit closer so thanks!
jwatzman|work has quit [Quit: jwatzman|work]
nicoo has quit [Ping timeout: 276 seconds]
govg has joined #ocaml
AlexDenisov has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
nicoo has joined #ocaml
adelbertc has joined #ocaml
<rgrinberg>
Drup: is unparsing in tyre really that useful? Seems like it's making some things a lot more awkward.
<rgrinberg>
Like having a map combinator for example
<Drup>
I think it is, and I need it for furl :3
<dave24>
can I tell it to put the -lc after the libasmrun.a somehow? The order of the -cclib flags seems random
<Drup>
Yes, it makes some combinators more complicated (map, *> and <*, mostly) but I think it's worth it. I might be able to improve the current API, though.
<rgrinberg>
Would be nice if it was possible to support an API without unparsing that does allow for these operations
<Drup>
I could add a type parameters ... :/
digiorgi has quit [Remote host closed the connection]
<Drup>
I'm not convinced it's a good idea
annoymouse has joined #ocaml
<annoymouse>
Is finding the length of a list in OCaml O(n) or does the compiler optimize it to O(1)
<Drup>
rgrinberg: if there was an API that would support unparsing, in the "end" result, would you really use it, or would you use it only for prototyping ?
<reynir>
annoymouse: O(n)
<annoymouse>
That's really weird
<annoymouse>
Isn't it tail recursion optimization though reynir
<rgrinberg>
Drup: yeah, i think unparsing is useful. Just not always
<Drup>
rgrinberg: if the answer is "only for prototyping", then the solution is not to duplicate the API, it's to reduce the friction in the API :p
<reynir>
annoymouse: I think it's tail recursive, but that doesn't make iterating a list faster (asymptotically)
<Drup>
(duplicating the API has a significant cost too, both for me and for the user)
<rgrinberg>
hmm, would duplicating the api really be needed?
<Drup>
yes
<Drup>
or adding a new gadt type parameter, which I'm very reluctant
<rgrinberg>
like you said, just add a phantom parameter for tyre re's with unparsing
<Drup>
(that would track "reversibility")
<Drup>
Yeah :/
<rgrinberg>
yeah, that seems ok no?
<Drup>
It makes the API more complicated
<companion_cube>
breaks everything
<Drup>
now you have bigger type signatures, bigger types, combinators that are reversible and combinators that are not, putting Tyre.t into containers is more painful ...
<Drup>
(adding a gadt type parameters is far from being innocuous)
<annoymouse>
reynir: In most languages its O(1)
<Drup>
annoymouse: not for linked lists. Only for arrays or arraylists
<rgrinberg>
ok, would it be possible to add that type parameter but only expose the specialized versions with equivalent api's? (in submodules)
<annoymouse>
It's just interesting that something like that isn't optimized though
<Drup>
rgrinberg: so, duplicating the API :p
octachron has quit [Quit: Page closed]
ggole has quit []
<annoymouse>
Drup: Are they implemented using the same syntax?
<rgrinberg>
oh. you mean the signatures?
<rgrinberg>
implementation should be the same
<Drup>
I mean the surface API exposed to the user
<rgrinberg>
ok i see. but i think that's common
<annoymouse>
rgrinberg: I mean are linked lists and arrays both declared with [] in OCaml
<Drup>
rgrinberg: and I think it results in very large API that are hard to learn :p
<chelfi>
annoymouse: [] is for linked list, [| |] is for arrays
<annoymouse>
ah I see
<Drup>
As I said, I would prefer to try to identify the pain points with the current API, and make them less painful. If this means adding combinators such as tuple and things like that, that's fine with me
<chelfi>
so [1; 2; 3] is a linked list and [|1; 2; 3|] is the equivalent array
<rgrinberg>
Drup: the most immediate concern currently is to make tyre applicative again!
<rgrinberg>
val (*>) : 'a t -> 'b t -> 'b t
<rgrinberg>
please
<Drup>
Why ? what does it gives you exactly ?
AlexDenisov has joined #ocaml
<rgrinberg>
a very common and useful combinator
maurer has left #ocaml ["WeeChat 1.4"]
<rgrinberg>
what do you mean?
<Drup>
I mean that the expressivity is already there, you just need to give a witness for the ignored part, so what does that precise type signature gives you ?
<rgrinberg>
of course, i just mean that this signature is simply the more convenient one often enough
<rgrinberg>
for example, parse something surrounded with spaces
<rgrinberg>
space *> thing <* space
<Drup>
I didn't make it "not applicative" (it is, really) just for the pleasure of screwing haskell idioms :p
<Drup>
So you want something more convenient than (space,"") **> thing <** (space,"")
<Drup>
Huuum, I wonder if we could generate a witness by inspecting the regex. that's technically feasable.
<rgrinberg>
sure, shortest path to an epsilon state ^_^
<Drup>
rgrinberg: yes, but what do you do for Tyre.regex ?
sepp2k has quit [Ping timeout: 244 seconds]
<Drup>
we need the fonctionallity in re too
<rgrinberg>
anyway, i don't know but i definitely think you should make it properly applicative
<Drup>
rgrinberg: If you make me a fonction "Re.witness : Re.t -> string" that is deterministic and such that Re.execp re (Re.witness) = true", then I'll make it applicative
<Drup>
:D
<Drup>
:challenge:
<rgrinberg>
you will give core users a lot of freebies from Applicative.Make
seangrove has quit [Ping timeout: 244 seconds]
<Drup>
Yeah
<rgrinberg>
and i'm wondering if that will mae the syntax extension from jsc usable with it
<Drup>
That would be amusing
<rgrinberg>
Drup: so you want a witness on the re itself or the compiled re?
<Drup>
the re itself
<Drup>
Re.t
<Drup>
well, actually ...
<Drup>
whichever you prefer
<rgrinberg>
hmm, I'll see. Although i'd like for something like this to be marked as experimental for now
<rgrinberg>
and not part of the stable api :/
<Drup>
Currently, unparsing doesn't need Tyre.compile, but I wouldn't mind changing that
freusque has quit [Quit: WeeChat 1.4]
rom1504 has quit [Ping timeout: 244 seconds]
alienbot has joined #ocaml
<Drup>
I don't think it's that difficult, actually, I just didn't tried it
<Drup>
rgrinberg: you have your challenge, I have high hopes :D
<rgrinberg>
i still don't understand why it's a pre-requeiste though
<Drup>
Ok, if we consider x = foo *> bar
<Drup>
and I try to do Re.eval x v
<Drup>
Tyre.eval*
<Drup>
v represents bar, so I can do recursively "Tyre.eval bar v" for the right part
<Drup>
but I need something for the left part, I can't just assume it's the empty string
sepp2k has joined #ocaml
<Drup>
currently, I ask for a user provided string
<Drup>
but you want it so that the user doesn't need to provide a string
ygrek_ has quit [Ping timeout: 244 seconds]
<Drup>
so we need to figure out the string in some other way, which is probably not too hard on the tyre side, until we hit Tyre.regex, which is just a Re.t.
stux|RC-only has quit [Ping timeout: 244 seconds]
<Drup>
and there is currently no way to figure out the string representing an Re.t
srcerer has quit [Remote host closed the connection]
stux|RC-only has joined #ocaml
rom1504 has joined #ocaml
rand__ has quit [Ping timeout: 250 seconds]
<rgrinberg>
Hmm i see. again this unparsing crap is biting us
<Drup>
I disagree on the "crap" qualifier :<
Xizor has joined #ocaml
yomimono has quit [Ping timeout: 250 seconds]
srcerer has joined #ocaml
stux|RC-only has quit [Max SendQ exceeded]
<Drup>
(there is still going to be an issue with map)
stux|RC-only has joined #ocaml
seangrove has joined #ocaml
lolisa has joined #ocaml
Algebr` has quit [Ping timeout: 252 seconds]
ygrek_ has joined #ocaml
_2can has quit [Ping timeout: 276 seconds]
_2can has joined #ocaml
yomimono has joined #ocaml
FreeBirdLjj has joined #ocaml
dave24 has quit [Quit: leaving]
mattrepl has joined #ocaml
seangrove has quit [Ping timeout: 250 seconds]
chris2 has joined #ocaml
seangrove has joined #ocaml
seangrove has quit [Ping timeout: 265 seconds]
fraggle-boate has quit [Ping timeout: 264 seconds]
fraggle_ has quit [Ping timeout: 264 seconds]
fraggle_ has joined #ocaml
fraggle-boate has joined #ocaml
govg has quit [Ping timeout: 255 seconds]
SpaceSheep has quit [Quit: WeeChat 1.5]
rgrinberg has quit [Ping timeout: 244 seconds]
dario9 has quit [Quit: Konversation terminated!]
glennsl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
adelbertc has quit [Quit: Connection closed for inactivity]
bruce_r has quit [Remote host closed the connection]
seangrove has quit [Ping timeout: 265 seconds]
rgrinberg has joined #ocaml
adelbertc has joined #ocaml
Sorella has quit [Quit: Connection closed for inactivity]
<sh0t>
Hi, so I am working on a interpreter, and now I am trying to test it a bit. For this I was planning to use gramtest (https://github.com/codelion/gramtest). I am having soume doubts about it what do you guys use? quickcheck for these kind of things?
<sh0t>
gramtest looks easy to use that why i am considering it.
minn has joined #ocaml
_2can has quit [Ping timeout: 240 seconds]
kakadu has joined #ocaml
_2can has joined #ocaml
Algebr` has joined #ocaml
_2can has quit [Ping timeout: 265 seconds]
_2can has joined #ocaml
zpe has joined #ocaml
AlexDenisov has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rand__ has joined #ocaml
Xizor has quit [Read error: Connection reset by peer]
seangrove has joined #ocaml
mattrepl has quit [Quit: mattrepl]
soupault has joined #ocaml
<orbifx>
rgrinberg: lost you yesterday at some point
yomimono has quit [Quit: Leaving]
<orbifx>
I noticed that even if someone manually enters ../foobar, opium autmatically redirects them to /foobar
<rgrinberg>
orbifx: hmm. Would you mind making an issue so I can take a look? Won't be free until later tonight.
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
martinkl_ has joined #ocaml
<orbifx>
why is it not expected behaviour?
seangrove has quit [Ping timeout: 252 seconds]
<rgrinberg>
i think that should be expected, but i'd have to double check. Just to confirm you're talking about a route param right?
<rgrinberg>
I don't quite recall adding any such redirection
octachron has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
orbifx1 has joined #ocaml
soupault has quit [Remote host closed the connection]
<orbifx>
rgrinberg: yeah my route is "/:title"
<orbifx>
and if I visit /../foobar it redirects to /foobar
gent00 has quit [Ping timeout: 264 seconds]
<orbifx>
relogging, brb
orbifx has quit [Quit: WeeChat 1.5]
orbifx1 is now known as orbifx
<orbifx>
back rgrinberg
<rgrinberg>
yeah i wonder if routes accept any /'s in paths at all. but i don't recall opium doing such redirections
<rgrinberg>
maybe its your browser?
<orbifx>
yeah it is it seems
<orbifx>
false alarm
<orbifx>
going to try telnet
<rgrinberg>
curl might be a better candidate :P
MercurialAlchemi has quit [Ping timeout: 276 seconds]
<flux>
I wouldn't assume ocamlopt does that kind of lifting.
<flux>
benchmark?
<octachron>
minn, "let module ... = ... in" should be no different in term of optimisation than creating a record
<orbifx>
rgrinberg: Actually i think there is no point writing this check I've written, need to go straight for ../
two_wheels has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
two_wheels has joined #ocaml
ydl has joined #ocaml
<minn>
flux: I wasn't even thinking about compiler optimizations! Thanks.
<minn>
octachron: Thanks - I suppose that's true. I was a little unclear on the semantics.
sepp2k has quit [Quit: Leaving.]
<orbifx>
rgrinberg: I think curl does redirections too
seangrove has joined #ocaml
nore has joined #ocaml
seangrove has quit [Ping timeout: 255 seconds]
<ydl>
i am having trouble building utop (on Linux). the ./configure step runs fine, but then I get an "unbound module Ocamlbuild_cppo" error when building myocamlbuild at the "make" (first step). the immediate source of the error is obvious: for some reason the setup-dev.exe generated by configure tries to build myocamlbuild without -package cppo_ocamlbuild. is this a problem with oasis (I am using 0.4.6 installed by opam)?
<ydl>
sorry, 0.4.7*
cryyya has joined #ocaml
minn has quit [Ping timeout: 250 seconds]
<rgrinberg>
orbifx: hmm, i'd like to test that
two_wheels has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
silver has quit [Quit: rakede]
zpe has quit [Remote host closed the connection]
nicholasf has joined #ocaml
nicholasf has quit [Remote host closed the connection]
martinkl_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
two_wheels has joined #ocaml
two_wheels has quit [Client Quit]
martinkl_ has joined #ocaml
nicholasf has joined #ocaml
seangrove has joined #ocaml
<orbifx>
rgrinberg: I've opened an issue
nicholasf has quit [Remote host closed the connection]
<orbifx>
ydl: are you sure your opam is setup correctly? (eval `opam conf env`)
<ydl>
just ran it, same problem
<ydl>
i am looking at the differences between my environment and the travis one (where the build seems to work) and the two i've seen is my version of oasis is later (0.4.7, but still from opam) and i'm using 4.03.0+flamda
<ydl>
as opposed to 4.03.0
agarwal1975 has quit [Quit: agarwal1975]
Sorella has joined #ocaml
mcspud has joined #ocaml
<ydl>
just tested it, turns out it was the oasis version. 0.4.7 introduces some breaking changes.
nicholasf has joined #ocaml
annoymouse has quit [Quit: Connection closed for inactivity]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
<ydl>
should it be considered a bug with utop's build configuration (unlikely) or oasis (probably) if the new version of oasis does not build something? just wondering where to submit the bug report
Algebr` has quit [Ping timeout: 255 seconds]
martinkl_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
valexey has joined #ocaml
<valexey>
Hi All.
<valexey>
Is syntax for bigarray is embedded to language directly or it was done via library?
<valexey>
I mean something like arr.{42} syntax.
Simn has quit [Quit: Leaving]
sh0t has quit [Remote host closed the connection]
ydl has quit [Ping timeout: 265 seconds]
al-damiri has quit [Quit: Connection closed for inactivity]
ydl has joined #ocaml
al-damiri has joined #ocaml
k1000 has quit [Ping timeout: 265 seconds]
k1000 has joined #ocaml
<Bluddy[m]>
ydl: it's an OASIS bug. Unfortunately OASIS doesn't use github's issue system