00:13
<
mrvn >
mail send to ML.
00:37
Xom has quit [Quit: ChatZilla 0.9.90.1 [Firefox 22.0/20130618035212]]
00:37
gkya has joined #ocaml
00:41
wmeyer` has joined #ocaml
00:42
wmeyer has quit [Ping timeout: 240 seconds]
00:50
wmeyer` is now known as wmeyer
01:12
Neros has quit [Ping timeout: 256 seconds]
01:17
gkya has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
01:19
madroach has quit [Ping timeout: 264 seconds]
01:21
madroach has joined #ocaml
01:29
chrisdotcode has quit [Ping timeout: 240 seconds]
01:44
darkf has joined #ocaml
01:45
chrisdotcode has joined #ocaml
01:50
q66 has quit [Quit: Leaving]
01:52
gnuvince has quit [Ping timeout: 276 seconds]
02:02
mcclurmc has quit [Ping timeout: 240 seconds]
02:13
dsheets has quit [Ping timeout: 256 seconds]
02:23
ollehar has quit [Ping timeout: 264 seconds]
02:28
lenstr has quit [Ping timeout: 248 seconds]
02:30
wmeyer has quit [Ping timeout: 276 seconds]
02:48
gnuvince has joined #ocaml
02:48
gnuvince has quit [Changing host]
02:48
gnuvince has joined #ocaml
03:57
ygrek has joined #ocaml
05:09
introom has joined #ocaml
05:23
chrisdotcode has quit [Quit: No Ping reply in 180 seconds.]
05:24
chrisdotcode has joined #ocaml
05:43
tane has joined #ocaml
06:19
Drup has quit [Quit: Leaving.]
06:24
wmeyer has joined #ocaml
06:41
ggole has joined #ocaml
06:42
<
adrien >
wmeyer: please wait a bit before commiting anything, I need to do a big run on windows
06:43
wmeyer has quit [Ping timeout: 276 seconds]
06:50
<
adrien >
when he's back, can someone ask him whether he ran "make clean" and reconfigured?
07:03
LeNsTR has joined #ocaml
07:13
gautamc has quit [Ping timeout: 256 seconds]
07:21
so has quit [Ping timeout: 268 seconds]
07:25
LeNsTR is now known as lenstr
07:27
so has joined #ocaml
07:36
tane has quit [Quit: Verlassend]
07:36
gautamc has joined #ocaml
07:57
lenstr has quit [Changing host]
07:57
lenstr has joined #ocaml
08:29
<
ousado >
adrien: on windows?
08:50
tane has joined #ocaml
09:10
introom has quit [Remote host closed the connection]
09:19
Neros has joined #ocaml
09:30
weie has joined #ocaml
09:31
weie_ has quit [Ping timeout: 248 seconds]
09:37
introom has joined #ocaml
09:38
<
introom >
type 'a list = Nil | :: of 'a * 'a list;; why this won't compile?
09:38
<
introom >
Error: Parse error: [str_item] or ";;" expected (in [top_phrase])
09:39
<
asmanur >
introom: without camlp4 it is valid
09:46
<
flux >
you can't actually use :: as a constructor name, it is pseudo code of how :: could be implemented were that legal :)
09:51
ggole has quit [Ping timeout: 248 seconds]
09:55
<
introom >
how do I write ml files and launch them? up to now, I've been experimenting in utop, but I want to write some ml files now.
09:59
<
flux >
ocamlc -o program foo.ml
09:59
<
mrvn >
introom: you compile them with ocamlc or ocamopt
09:59
<
flux >
bonus points: use -g
09:59
<
flux >
and export OCAMLRUNPARAM=b
09:59
<
flux >
that way you get useful stack traces in case of uncaught exceptions
10:00
<
mrvn >
flux: surprisingly you can: # type 'a foo = Nil | :: of 'a * 'a foo;;
10:00
<
mrvn >
type 'a foo = Nil | :: of 'a * 'a foo
10:00
<
mrvn >
- : int foo = :: (1, Nil)
10:00
<
flux >
bonus points2: ocamlfind ocamlc -linkpkg -o program -package unix,someotherpackage source1.ml source2.ml
10:00
<
flux >
mrvn, apparently only when using camlp4?
10:00
<
flux >
nope, works without
10:00
<
mrvn >
flux: straight up ocaml 4.00.1 toplevel.
10:00
<
flux >
is that a new feature? I think I've tried that eons ago
10:01
<
flux >
nope, works with 3.11 as well
10:01
<
mrvn >
# type 'a foo = [] | :: of 'a * 'a foo;;
10:01
<
mrvn >
Error: Syntax error
10:01
<
flux >
well, damn ;)
10:01
<
mrvn >
That still doesn't work
10:01
<
flux >
so it is infact campl4 that doesn't handle it?
10:01
<
flux >
as seen from the error introom pasted
10:02
<
mrvn >
Usualy the list example is written as type 'a list = Nil | Cons of 'a * 'a list
10:03
<
introom >
seems like the compile thing is somewhat troublesome.
10:04
<
flux >
introom, well, usually you would set up a script, a Makefile or an ocamlbuild configuration to do it for you
10:04
<
introom >
I just want to compile a ml and run it.
10:04
<
flux >
ocamlc foo.ml && ./a.out
10:04
<
mrvn >
introom: it's no different from running a .c file.
10:04
ggole has joined #ocaml
10:04
<
flux >
1) compile 2) run (if previous step succeeds)
10:05
<
flux >
steps to do the same for a c program: cc foo.c && ./a.out
10:05
<
introom >
^^^ that's great.
10:05
<
introom >
and the -g and export variable thing is for?
10:06
<
mrvn >
introom: debugging
10:06
<
flux >
-g is for debug information
10:06
<
flux >
export variable for telling ocaml runtime to store stack information when throwing an exception
10:06
<
mrvn >
again, same as with .c files
10:06
<
flux >
(it is not done by default due to performance reasons)
10:06
<
mrvn >
flux: performance? Isn't it just space?
10:07
<
flux >
mrvn, the OCAMLRUNPARAM thing that is
10:07
<
flux >
-g is just for space
10:07
<
mrvn >
flux: I guess OCAMLRUNPARAM makes every raise more expensive even if the exception is caught.
10:08
<
mrvn >
flux: any good with building libs?
10:11
<
mrvn >
test/* for the error messages
10:17
<
ggole >
type 'a list = Nil | :: of 'a * 'a list <- that actually type checks for me. When did that change?
10:19
introom has quit [Remote host closed the connection]
10:22
<
mrvn >
at or before 3.11
10:25
q66 has joined #ocaml
10:26
<
ggole >
Hmm, you can redefine it as any arity of constructor. The syntax seems to restrict it to being binary, though.
10:26
<
mrvn >
It's a constructor. That you can inline it is a huge hack.
10:37
osa1 has quit [Quit: Konversation terminated!]
10:43
mcclurmc has joined #ocaml
11:35
jbrown has joined #ocaml
11:45
<
mrvn >
I'm thinking of ways to have shared data and code in a client / server setup where some is shared and some is private to the client or server. Suggestions?
11:48
<
adrien >
mrvn: yeah, iirc OCAMLRUNPARAM="b" makes execution slower but it's not something you would usually worry about
12:03
<
orbitz >
mrvn: Factor out shared stuff to its own library
12:05
<
mrvn >
orbitz: I have something like type common_player = { name : string; } type client_player = { name : string; color : color; } type server_player = { name : string; pass : string; }
12:06
wmeyer has joined #ocaml
12:07
<
wmeyer >
ping adrien
12:08
<
mrvn >
orbitz: I can write code to handle common_player but that won't accept a client_player or server_player. Using objects would be a solution. Have a common base class.
12:09
<
orbitz >
mrvn: In your case I'd probably examine functors to see if they give what I want. Where a player is a module that implements the shared interface nd then a cleint or a server is an instantiation of the functor
12:09
<
orbitz >
mrvn: Not sure of your specifics if that helps
12:09
<
mrvn >
orbitz: yeah. That was my second thought.
12:09
<
wmeyer >
if you corected the problem I mentioned adrien, I think I can commit the patches today
12:10
<
mrvn >
type 'a player = { name : string; private : 'a; } was my third.
12:10
<
adrien >
wmeyer: just found issues on windows ='(
12:10
<
wmeyer >
OK, no rush, I'll wait until they are stable
12:10
<
adrien >
I'm ready to blame Damien however :D
12:11
<
rks`_ >
hi wmeyer !
12:11
Drup has joined #ocaml
12:11
<
wmeyer >
hi rks`_ !
12:13
<
adrien >
damn it; I can't blame Damien ='(
12:16
<
ousado >
adrien: you're doing build on windows?
12:17
<
adrien >
yes, testing my patches to make ocaml a cross-compiler
12:17
<
ousado >
so it's rather for windows than on windows?
12:18
<
adrien >
yes but at the same time I must not break existing configurations
12:18
<
ousado >
I'm asking because some haxe devs are on windows, and haxe is stuck at 3.11 currently
12:19
<
ousado >
which toolchain would you recommend to build 4.xx on windows?
12:19
<
adrien >
define "toolchain"
12:20
<
adrien >
rather, give examples of two toolchains
12:20
<
wmeyer >
adrien: so these Haxe develoers are your best testers
12:20
<
ousado >
compiler as in mingw64/32 msys, or microsoft
12:21
<
adrien >
mingw-w64, 32b or 64b, using cygwin
12:21
<
adrien >
wmeyer: I wouldn't ming hearing from Lexifi too
12:21
<
adrien >
but I should actually get them at one oups
12:21
<
ousado >
I got mingw64 to work on win but how I installed it is nothing I could recommend to anyone really
12:22
<
adrien >
with cygwin, it's a matte of 15 minutes
12:23
<
ousado >
and I had a cygwin install
12:24
<
ousado >
and I had to manually adjust PATHs and whatnot, quite messy
12:24
<
wmeyer >
cygwin used to work in most cases with GODI actually ...
12:25
dsheets has joined #ocaml
12:28
<
ousado >
looks good
12:28
<
ousado >
"Builds from 23.02.2013"
12:29
<
ousado >
or WODI in this case
12:29
<
adrien >
yeah, you need to set PATHs
12:30
<
adrien >
you can't easily avoid that on windows
12:32
Nahra_ has quit [Quit: leaving]
12:36
<
ousado >
I'll suggest that then, thanks a lot
12:37
ygrek has quit [Ping timeout: 276 seconds]
12:40
<
adrien >
if you have an IDE or something similar, it can be done by the IDE however
12:41
<
wmeyer >
ousado: I used to do some development on windows using lablgl and it was actually almost working flawlessly with GODI
12:41
osa1 has joined #ocaml
12:45
Nahra has joined #ocaml
12:45
Nahra has quit [Changing host]
12:45
Nahra has joined #ocaml
12:51
<
wmeyer >
ousado: it used to be mentioned somewhere on INRIA, and avertised
13:11
<
ousado >
I have googled quite a bit at least twice in the past year
13:11
<
ousado >
I wasn't really aware of GODI, though
13:12
<
wmeyer >
ousado: yes, it's not so obvious for the new users
13:12
<
wmeyer >
I used GODI then odb then GODI again on some ocassions, and now OPAM
13:13
<
ousado >
opam also on windows?
13:13
<
wmeyer >
not on windows!
13:13
<
wmeyer >
I suppose yypkg will be an ultimate solution with it's binary mingw packages for the Windows
13:14
<
ousado >
that's adriens project?
13:22
Xom has joined #ocaml
13:28
ollehar has joined #ocaml
13:47
palomer has joined #ocaml
13:57
chrisdotcode has quit [Read error: Operation timed out]
14:07
yacks has quit [Read error: Connection reset by peer]
14:23
yacks has joined #ocaml
14:24
chrisdotcode has joined #ocaml
14:35
ollehar has quit [Ping timeout: 264 seconds]
14:46
ollehar has joined #ocaml
14:51
introom has joined #ocaml
14:51
palomer has quit [Ping timeout: 246 seconds]
14:51
lusory has quit [Ping timeout: 268 seconds]
14:53
ygrek has joined #ocaml
14:53
<
introom >
any nice ocaml code format plugin? vim
14:59
<
ousado >
introom: you could try merlin
14:59
<
introom >
I am relatively a new user of ocaml, so I want to something that is common and popular.
15:09
Qrntz has quit [Changing host]
15:09
Qrntz has joined #ocaml
15:10
<
rks`_ >
introom: format plugin?
15:10
<
introom >
yes, format the code
15:11
<
rks`_ >
like, for autoindenting?
15:12
<
rks`_ >
if that is what you are looking for, I'm not aware of any such plugin for vim
15:12
<
Drup >
rks`_: no vim plugin for ocp-indent ?
15:12
<
rks`_ >
(there's still no working ocp-indent binding as of today)
15:13
<
rks`_ >
no Drup, def-lkb_ worked on such a thing a few weeks (months really) ago
15:13
<
rks`_ >
but I don't think he had anything satisfying
15:21
ygrek has quit [Remote host closed the connection]
15:22
ygrek has joined #ocaml
15:28
<
adrien >
wmeyer: hmmm, it seems like using $(MAKE) insides rules on my cygwin installation causes issues
15:28
<
adrien >
basically, it should invoke "make -f Makefile.nt"
15:28
<
adrien >
but it doesn't
15:28
<
adrien >
it makes sense
15:28
<
adrien >
but it's very annoying
15:29
palomer has joined #ocaml
15:31
<
mrvn >
did you set MAKE := $(MAKE) -f Makefile.nt?
15:31
<
wmeyer >
how about $(MAKEREC) adrien
15:33
<
adrien >
but thinking again about it, I'm starting to believe it's better to not make it automatic
15:33
<
adrien >
I hope that at some point the Makefile.nt files disappear
15:33
<
wmeyer >
it causes a lot of troubles indeed
15:34
<
adrien >
and since I'd do that progressively, during a period of time, some directories would be built with the .nt variants and some without
15:34
<
adrien >
it's only a few lines to change
15:34
<
wmeyer >
I suppose "git clean -fdx" is your friend
15:36
<
adrien >
btw, for your "make install" issue, did you run ./configure again?
15:38
isBEKaml has joined #ocaml
15:40
ulfdoz has joined #ocaml
15:44
chrisdotcode has quit [Ping timeout: 248 seconds]
15:45
chrisdotcode has joined #ocaml
15:48
isBEKaml has quit [Quit: Quitting]
15:49
avsm has joined #ocaml
15:50
<
wmeyer >
it seems to be working now, after cleaning up the repo
15:52
ulfdoz has quit [Ping timeout: 256 seconds]
15:52
<
wmeyer >
adrien: I commited your changes
15:53
<
adrien >
you missed one fix :D
15:53
avsm has quit [Client Quit]
15:53
<
wmeyer >
I will soon leave the bunker to meet dbuenzli in pub
15:53
<
wmeyer >
there where three?
15:53
<
adrien >
well, I haven't uploaded the fix yet
15:53
<
wmeyer >
Ok, that's fine they are self contained :-)
15:53
introom has quit [Remote host closed the connection]
15:54
<
wmeyer >
let's wait for tessting
15:54
<
adrien >
windows is going to fail
15:54
<
adrien >
going to upload the fix right now
15:57
yacks has quit [Quit: Leaving]
15:57
<
adrien >
wmeyer: you already pushed to the SVN?
15:58
<
wmeyer >
but no worry, we got used to the fact windows fails
15:58
<
adrien >
wmeyer: pushed :-)
16:06
<
wmeyer >
I commited your fix now
16:08
<
adrien >
thanks :-)
16:08
<
adrien >
next: more dangerous patches
16:08
<
adrien >
(considering how this not-so-dangerous patch broke everything, expect some fun :P )
16:10
ygrek has quit [Ping timeout: 264 seconds]
16:13
<
wmeyer >
let's do it slowly then, 3 patches is the tempo i can talk during the week
16:15
osa1 has quit [Quit: Konversation terminated!]
16:16
<
adrien >
I have 13 patches left, some of which seem not useful
16:18
pepa has joined #ocaml
16:19
<
wmeyer >
That's not too many, I'd clean them up first
16:19
<
wmeyer >
3 patches everyday is fine, we should have this done in two weeks time
16:23
<
wmeyer >
adrien: ake[2]: Leaving directory `/home/ci/jenkins-workspace/trunk'
16:23
<
wmeyer >
Makefile.nt:205: recipe for target `opt' failed
16:23
<
wmeyer >
make[1]:
*** [opt] Error 2
16:23
<
wmeyer >
make[1]: Leaving directory `/home/ci/jenkins-workspace/trunk'
16:23
<
wmeyer >
Makefile.nt:205: recipe for target `opt' failed
16:23
<
wmeyer >
make:
*** [opt] Error 2
16:23
<
wmeyer >
that's with your patch
16:24
<
adrien >
wmeyer: do you have the 10 lines above that?
16:24
<
pippijn >
"The master branch is stable and it is always, always safe to deploy from it or create new branches off of it. If you push something to master that is not tested or breaks the build, you break the social contract of the development team and you normally feel pretty bad about it. "
16:25
<
adrien >
it's never safe to deploy from VCS
16:25
<
pippijn >
github does that
16:26
<
pippijn >
adrien: why not?
16:26
pepa has left #ocaml []
16:26
<
wmeyer >
pippijn: yeah, but we have no testing set up for the branches ;-)
16:26
<
adrien >
for that reason
16:26
<
adrien >
it's irresponsible to tell people to deploy from VCS directly (out of tags of course)
16:26
<
wmeyer >
pippijn: yes, while I agree, I also think that it's not possible in our case
16:26
<
adrien >
but that's github
16:27
<
adrien >
it's in their financial interest to make people believe it is
16:27
<
wmeyer >
it lools like only mingw fails
16:27
<
pippijn >
push to master -> CI build+test -> deploy
16:27
<
wmeyer >
anyway, I have to go, please try to submit a patch for it
16:27
<
wmeyer >
I will keep an eye on it
16:27
<
pippijn >
if the push to master was bad, CI build+test fails, nothing is deployed
16:28
<
pippijn >
what's wrong with that?
16:28
<
adrien >
but how long should these "tests" last?
16:28
<
adrien >
how extensive should they be?
16:28
<
pippijn >
exhaustive
16:28
<
adrien >
does automated testing catch everything?
16:28
<
pippijn >
all the tests
16:28
<
adrien >
good luck getting that :-)
16:28
<
adrien >
how do you test GUIs? how do you test for memleaks?
16:29
<
pippijn >
well, you
*can* automate GUI and memleak testing
16:30
<
adrien >
and make sure the output on screen is right?
16:30
<
adrien >
including with animations and effects
16:30
<
adrien >
and including when you have to play videos?
16:31
<
pippijn >
github's workflow certainly doesn't work for all types of software
16:31
<
adrien >
(which you don't necessarily control)
16:31
<
pippijn >
in particular, release driven software development
16:31
<
adrien >
welln, master should always been stable
16:31
<
whitequark >
automated GUI tests make a lot of sense
16:31
<
pippijn >
adrien: you can never deploy
16:31
<
adrien >
sun should always be shining
16:31
<
whitequark >
though that doesn't make it easier
16:31
<
adrien >
beer should always be available
16:32
<
adrien >
but that's not reality and believing otherwise is, at best, wishful thinking
16:32
<
adrien >
wmeyer: at works we have automated GUI tests; and they've managed to drift
16:32
<
adrien >
no idea how
16:32
<
adrien >
and we have animations
16:32
<
adrien >
which state at a given time is going to depend on the overall system load
16:32
<
pippijn >
at my work, we don't have gui testing
16:32
<
pippijn >
not automated
16:33
<
pippijn >
but we make web applications
16:33
ulfdoz has joined #ocaml
16:33
<
pippijn >
we usually run a test server in the office and everybody takes a look, then we deploy :P
16:33
wmeyer has quit [Ping timeout: 276 seconds]
16:34
<
adrien >
well, our app needs to handle at least 8 hours of automated testing (that does a lot of action) to become "maybe ok"
16:34
<
adrien >
we commit faster than that :P
16:40
darkf has quit [Quit: Leaving]
16:48
palomer has quit [Ping timeout: 276 seconds]
17:07
shinnya has quit [Ping timeout: 264 seconds]
17:11
milosn_ has joined #ocaml
17:12
<
mrvn >
I get of raviolization in my types because variants and records have no row types.
17:13
<
mrvn >
and no named values in tuples
17:13
milosn has quit [Ping timeout: 248 seconds]
17:14
<
Drup >
adrien : event after reading the page, I don't understand what ravioli code is supposed to be
17:15
<
adrien >
too many small objects
17:15
<
mrvn >
Drup: tons and tons of little objects
17:17
Snark has joined #ocaml
17:18
<
mrvn >
worst kind is when you have lots of raviolies threaded on spagetties :)
17:19
<
adrien >
and a lasagne architecture
17:33
<
mrvn >
layers of abstraction with squishy bits inbetween?
17:34
<
adrien >
yeah, many layers of many small components and then you had shortcuts between them
17:38
palomer has joined #ocaml
17:42
<
ollehar >
how do I coerce a "Element" to a "Node" in js_of_ocaml?
17:42
<
ollehar >
I want to appendChild on a <select>, creating an <option> through ##createElement
17:45
<
mrvn >
is this #ocaml or #javascript? :)
17:45
<
Drup >
mrvn: js_of_ocaml, so it's perfectly relevant. :)
17:46
<
adrien >
clearly ocaml: we're not all mentally-hurt people
17:46
ulfdoz has quit [Ping timeout: 264 seconds]
17:46
<
mrvn >
Then (elt :> node)
17:47
<
Drup >
ollehar: yeah, it's regular object subtyping, as mrvn said. But you can also use Dom.appendChild and you don't need coerction
17:49
<
ollehar >
nope, node is not a subtype of element...
17:49
<
ollehar >
or am I crazy?
17:50
<
Drup >
the opposite.
17:50
<
Drup >
element inherit from node
17:50
<
mrvn >
if it aint a subtype then you cant coerce
17:53
<
ollehar >
Drup: yeah, thanks!
17:54
gautamc has quit [Read error: Connection reset by peer]
17:55
gautamc has joined #ocaml
18:19
frankbro has joined #ocaml
18:19
palomer has quit [Ping timeout: 264 seconds]
18:19
frankbro has left #ocaml []
18:26
ollehar has quit [Ping timeout: 240 seconds]
18:35
chris2 has quit [Ping timeout: 260 seconds]
18:37
chrisdotcode has quit [Ping timeout: 240 seconds]
18:38
chrisdotcode has joined #ocaml
18:53
chrisdotcode has quit [Ping timeout: 240 seconds]
18:59
yacks has joined #ocaml
19:00
zpe has joined #ocaml
19:08
rednovae_ is now known as rednovae
19:10
zpe has quit [Remote host closed the connection]
19:11
zpe has joined #ocaml
19:11
zpe has quit [Read error: Connection reset by peer]
19:11
ontologiae_ has joined #ocaml
19:16
zpe has joined #ocaml
19:18
zpe has quit [Read error: Connection reset by peer]
19:18
chris2 has joined #ocaml
19:31
zpe has joined #ocaml
19:32
Xom has quit [Quit: ChatZilla 0.9.90.1 [Firefox 22.0/20130618035212]]
19:32
Xom has joined #ocaml
19:34
supki has joined #ocaml
19:41
zpe has quit [Read error: Connection reset by peer]
19:42
Snark has quit [Quit: leaving]
19:45
malo has joined #ocaml
19:47
tane has quit [Ping timeout: 246 seconds]
19:52
chrisdotcode has joined #ocaml
19:55
ollehar has joined #ocaml
19:59
<
mrvn >
Anyone have a Set module for sets of small integers? E.g. 0-999. I'm thinking of something that uses a bitfield to flag the numbers present.
19:59
tane has joined #ocaml
19:59
<
pippijn >
mrvn: yes
20:00
<
pippijn >
mrvn: immutable?
20:00
<
mrvn >
yeah, I think I need it functional style.
20:00
<
pippijn >
mrvn: menhir has that
20:00
<
pippijn >
and I put it into my baselib
20:00
<
mrvn >
did you use a string?
20:01
<
mrvn >
bigarray? or C code?
20:01
<
pippijn >
you can get the functor stuff out, if you just deal with plain int
20:02
<
mrvn >
urgs, list of pairs of integers? That will have bad runtime
20:02
<
pippijn >
it has terrific runtime in my use case
20:03
<
pippijn >
which is: lots of sharing
20:03
<
mrvn >
if I add something at the end then nothing will be shared though. And it will take long.
20:03
<
pippijn >
otherwise, I have a non-functional bitset implemented using C++ vector
20:05
<
mrvn >
I was thinking of doing this non-spare. 0-1023 are just 128 byte. Even slightly filled a spares structure will take that much.
20:07
<
mrvn >
coming from C doing this in 31/63 bit chunks seems awfull.
20:07
<
mrvn >
ever benchmarked that against doing this in C?
20:08
osa1 has joined #ocaml
20:08
osa1 has quit [Client Quit]
20:09
osa1 has joined #ocaml
20:10
<
pippijn >
mrvn: I benchmarked my C++ vector thing against batteries bitset
20:10
<
mrvn >
pippijn: Your module looks good though other than the list thing.
20:10
<
pippijn >
mrvn: and it was much faster
20:10
<
pippijn >
and my benchmark was a real world application
20:11
<
pippijn >
namely a parser generator
20:11
<
ousado >
it being the C++ implementation?
20:11
<
ollehar >
how do you guys indent List.map and List.iter?
20:11
<
ollehar >
List.map (fun el ->
20:11
<
ollehar >
..do stuff
20:11
<
ollehar >
..list in
20:12
<
pippijn >
List.map (fun el ->
20:12
<
orbitz >
If fun takes multiple lines: List.map\n(fun ..)\nargs
20:12
<
adrien >
ListLabels.map list ~f:(fun el ->
20:12
<
pippijn >
let mapped =
20:13
<
mrvn >
unless it fits on a single line
20:13
ollehar has quit [Quit: ollehar]
20:13
ollehar has joined #ocaml
20:13
<
adrien >
use the label variants :P
20:13
<
orbitz >
i havethe same style as mrvn
20:14
<
adrien >
(use the labelled variants, use them :P )
20:18
ollehar has quit [Ping timeout: 268 seconds]
20:22
ollehar has joined #ocaml
20:26
<
orbitz >
adrien: :) I just use Core instead
20:35
ollehar has quit [Ping timeout: 276 seconds]
20:37
ollehar has joined #ocaml
20:56
ollehar has quit [Ping timeout: 240 seconds]
20:56
ollehar has joined #ocaml
21:06
palomer has joined #ocaml
21:11
ollehar has quit [Ping timeout: 268 seconds]
21:12
ollehar has joined #ocaml
21:13
wmeyer has joined #ocaml
21:17
ontologiae_ has quit [Ping timeout: 268 seconds]
21:22
ontologiae_ has joined #ocaml
21:24
ollehar has quit [Ping timeout: 268 seconds]
21:24
ollehar has joined #ocaml
21:24
* mrvn
wants type t module M = struct type t = .t * int end or similar to access a parent type.
21:25
<
wmeyer >
mrvn: actually I want it too
21:27
ontologiae_ has quit [Read error: No route to host]
21:28
ontologiae_ has joined #ocaml
21:34
wmeyer has quit [Read error: Connection reset by peer]
21:39
wmeyer has joined #ocaml
21:39
<
wmeyer >
adrien builds are back to normal
21:40
<
adrien >
had to fix more issues than I had hoped
21:40
<
adrien >
but looks good now
21:40
ollehar has quit [Ping timeout: 240 seconds]
21:40
<
adrien >
I'll try to run the testsuite tomorrow in my VM
21:41
ollehar has joined #ocaml
21:41
<
wmeyer >
ok thank you for your hard work
21:43
chrisdotcode has quit [Ping timeout: 246 seconds]
21:45
<
wmeyer >
gasche: thanks for commiting the latest patches, I was off for the beer with dbuenzli tonight :-)
21:46
<
gasche >
wmeyer: you're welcome
21:47
<
gasche >
(going to sleep as well)
21:48
walter has joined #ocaml
21:50
malo has quit [Quit: Leaving]
21:52
ollehar has quit [Ping timeout: 256 seconds]
21:58
walter has quit [Read error: Connection reset by peer]
21:58
ollehar has joined #ocaml
21:58
walter has joined #ocaml
22:05
ontologiae_ has quit [Ping timeout: 256 seconds]
22:09
ollehar has quit [Ping timeout: 240 seconds]
22:11
ollehar has joined #ocaml
22:14
mcclurmc has quit [Quit: Leaving.]
22:22
ollehar has quit [Ping timeout: 248 seconds]
22:23
ollehar has joined #ocaml
22:24
walter has quit [Read error: Connection reset by peer]
22:24
walter has joined #ocaml
22:27
tane has quit [Ping timeout: 264 seconds]
22:39
ollehar has quit [Ping timeout: 264 seconds]
22:40
wmeyer has quit [Remote host closed the connection]
22:40
ollehar has joined #ocaml
22:41
lifeng has joined #ocaml
22:49
ollehar has quit [Ping timeout: 240 seconds]
22:49
wmeyer has joined #ocaml
22:51
ollehar has joined #ocaml
22:55
walter has quit [Read error: Connection reset by peer]
22:56
walter has joined #ocaml
22:57
chrisdotcode has joined #ocaml
22:58
tane has joined #ocaml
23:09
ollehar has quit [Ping timeout: 276 seconds]
23:13
ollehar has joined #ocaml
23:15
palomer has quit [Ping timeout: 264 seconds]
23:26
ollehar has quit [Ping timeout: 276 seconds]
23:50
tane has quit [Quit: Verlassend]
23:55
<
wmeyer >
hi pippijn