lamawithonel has quit [Read error: Connection reset by peer]
ymasory has quit [Quit: Leaving]
lopexx has quit []
lopex has joined #ocaml
groovy2shoes has quit [Quit: groovy2shoes]
tauntaun has quit [Quit: Ex-Chat]
ikaros has quit [Quit: Leave the magic to Houdini]
arubin_ has joined #ocaml
emmanuelux has joined #ocaml
tauntaun has joined #ocaml
joewilliams_away is now known as joewilliams
saml has joined #ocaml
joewilliams is now known as joewilliams_away
eye-scuzzy has quit [Ping timeout: 248 seconds]
ulfdoz_ has joined #ocaml
ulfdoz has quit [Ping timeout: 264 seconds]
ulfdoz_ is now known as ulfdoz
eye-scuzzy has joined #ocaml
adlsaks has joined #ocaml
enthymeme has quit [Quit: rcirc on GNU Emacs 23.1.1]
arubin_ has quit [Quit: arubin_]
metasyntax has joined #ocaml
adlsaks has quit [Ping timeout: 250 seconds]
saml has quit [Quit: Leaving]
Associat0r has quit [Quit: Associat0r]
enthymeme has joined #ocaml
jonathandav has quit [Ping timeout: 248 seconds]
mcclurmc has joined #ocaml
jonathandav has joined #ocaml
rien has quit [Quit: leaving]
dnolen has quit [Quit: dnolen]
tauntaun has quit [Quit: Ex-Chat]
ymasory has joined #ocaml
Modius has joined #ocaml
Modius_ has joined #ocaml
joewilliams_away is now known as joewilliams
Modius_ has quit [Client Quit]
Modius has quit [Client Quit]
Modius has joined #ocaml
dsheets has joined #ocaml
tauntaun has joined #ocaml
joewilliams is now known as joewilliams_away
adlsaks has joined #ocaml
<dsheets>
what is the run-time cost of 3.12 first-class modules?
lamawithonel has joined #ocaml
lamawithonel has quit [Remote host closed the connection]
tauntaun has quit [Quit: Ex-Chat]
ymasory has quit [Quit: Leaving]
bzzbzz has quit [Ping timeout: 240 seconds]
bzzbzz has joined #ocaml
adlsaks has quit [Ping timeout: 250 seconds]
enthymeme has quit [Quit: rcirc on GNU Emacs 23.1.1]
emmanuelux has quit [Quit: =>[]]
ygrek has joined #ocaml
Associat0r has joined #ocaml
<flux>
dsheets, I believe it is implemented as records of functions underneath, so the overhead would be the same
yezariaely has joined #ocaml
yezariaely has left #ocaml []
<jld>
Yeah -- if I recall correctly, the last time I looked at ocamlopt's output for functor stuff, before first-class modules were introduced, it was just records underneath.
sepp2k1 has quit [Quit: Leaving.]
joewilliams_away is now known as joewilliams
adlsaks has joined #ocaml
Associat0r has quit [Quit: Associat0r]
joewilliams is now known as joewilliams_away
Associat0r has joined #ocaml
Cyanure has joined #ocaml
ccasin_ has joined #ocaml
ski__ has joined #ocaml
lopex has quit [Ping timeout: 248 seconds]
mal`` has quit [*.net *.split]
f[x] has quit [*.net *.split]
ski has quit [*.net *.split]
ccasin has quit [*.net *.split]
mal`` has joined #ocaml
f[x] has joined #ocaml
adlsaks has quit [Ping timeout: 260 seconds]
ztfw has joined #ocaml
adlsaks has joined #ocaml
Cyanure has quit [Ping timeout: 248 seconds]
Yoric has joined #ocaml
boscop has joined #ocaml
adlsaks has quit [Ping timeout: 252 seconds]
Fullma has joined #ocaml
lopex has joined #ocaml
eye-scuzzy has quit [Read error: Operation timed out]
eye-scuzzy has joined #ocaml
ikaros has joined #ocaml
ulfdoz has quit [Ping timeout: 250 seconds]
Yoric has quit [Quit: Yoric]
Yoric has joined #ocaml
ygrek has quit [Ping timeout: 246 seconds]
ygrek has joined #ocaml
Cyanure has joined #ocaml
Yoric has quit [Quit: Yoric]
Cyanure has quit [Ping timeout: 246 seconds]
tauntaun has joined #ocaml
Cyanure has joined #ocaml
lopex has quit []
tauntaun has quit [Quit: Ex-Chat]
mcclurmc_home has joined #ocaml
ikaros has quit [Remote host closed the connection]
lopex has joined #ocaml
Cyanure has quit [Ping timeout: 276 seconds]
tauntaun has joined #ocaml
<gildor>
thelema: ping
emmanuelux has joined #ocaml
Cyanure has joined #ocaml
sepp2k has joined #ocaml
alpounet has quit [Quit: Bye.]
tauntaun has quit [Quit: Ex-Chat]
ymasory has joined #ocaml
joewilliams_away is now known as joewilliams
ikaros has joined #ocaml
adrien is now known as MrCreepy
MrCreepy is now known as adrien
adrien is now known as C_Tux
philtor has joined #ocaml
C_Tux is now known as ctux
ctux is now known as adrien
HoraseLunums has joined #ocaml
HoraseLunums has quit [Remote host closed the connection]
<thelema>
gildor: pong
<gildor>
thelema: the ../pkg seems hard to solve, because of ocsigen way of working
<gildor>
thelema: is this still a problem ?
<gildor>
thelema: otherwise, I am working on the odb-ready stuff
<gildor>
for now I use 3 repository: stable, testing, unstable
<gildor>
unstable = all latest version
<gildor>
testing = you choose to move a latest version
<gildor>
stable = you choose to move a latest version
<gildor>
(also)
<thelema>
no, not a problem.
<gildor>
which means that you have 3 repo: odb/{stable,testing,unstable}/pkg/info
<thelema>
so I should add an option "--repo testing"?
<thelema>
and have that default to stable?
<gildor>
thelema: it is up to you, this is just a proposal, tell me if you are ok with it
<thelema>
seems fine to me.
<gildor>
thelema: you will have control to choose which to move to testing (by hand)
<gildor>
thelema: and a button to make a massive move from testing to stable
<thelema>
I will?
<thelema>
ah, the magic web interface
<gildor>
thelema: if you want, of course
<thelema>
Sure, no problem. I assume there'll be others involved in this backend maintenance?
<gildor>
+ a table of version with colors to know what is out of date
<thelema>
nice.
<gildor>
thelema: it depends, would you like some restriction on who is allowed to pick version ?
<gildor>
(e.g. choose some people to be admin)
<thelema>
A reasonable simple scheme would be admin global vs. admin project
<thelema>
i.e. each project has admins local to that project
<thelema>
and some people just have global admin for all projects
<gildor>
you mean per package ?
<thelema>
but just global admins to begin with would make things work
<thelema>
yes, per package
<thelema>
s/project/package/
<gildor>
humm, there is no real ownership for package, right now
dnolen has joined #ocaml
<gildor>
anyone (logged in) is allowed to upload package
<gildor>
but I can define odb admin
<gildor>
the per package ACL, is for now a little hard to define
<thelema>
no problem.
<thelema>
just an idea.
<gildor>
do you want a small preview ?
<thelema>
I'm going to go soon (when my friend gets off the phone), so if it's small enough, I'm up for it.
<thelema>
and we/I'll need to get some packages migrated to stable
<gildor>
403, for upload, no good
<gildor>
migrated some package -> I need to create the admin panel to do that
<thelema>
well, most important: having working packages to download
<thelema>
the rest can be improved later. At least this is my perspective.
<gildor>
indeed
<gildor>
working on this
<thelema>
We'll learn a ton about how to do this right by having people use it.
<thelema>
anyway, gotta go now. Thanks for your work on this.
<gildor>
see you
<thelema>
I'll get the repo stuff into odb tonight
pantsd has quit [Ping timeout: 246 seconds]
pantsd has joined #ocaml
joelr has quit [Quit: joelr]
lopex has quit [Ping timeout: 240 seconds]
avsm has joined #ocaml
ulfdoz has joined #ocaml
avsm has quit [Quit: Leaving.]
mfp has quit [Ping timeout: 240 seconds]
yezariaely has joined #ocaml
mfp has joined #ocaml
Associat0r has quit [Quit: Associat0r]
Yoric has joined #ocaml
edwin has joined #ocaml
yezariaely has quit [Quit: Leaving.]
philtor has quit [Ping timeout: 250 seconds]
joewilliams_away is now known as joewilliams
lopex has joined #ocaml
rien has joined #ocaml
<rien>
how do I translate do-notation from haskell into ocaml?
tauntaun has joined #ocaml
<ulfdoz>
let () <- do_something; () <- do_something_else in ...
<ulfdoz>
IIRC.
<ulfdoz>
However, there is no such concept like bind and return in ocaml. of course you can implement it, but its not preferred or supported in the first way.
ymasory has quit [Quit: Leaving]
ymasory has joined #ocaml
ymasory has quit [Client Quit]
ymasory has joined #ocaml
<kerneis>
rien: most of the time, do-notation is used for the IO monad
<kerneis>
but there is no such need with ocaml
<kerneis>
since you can do IO anywhere
<kerneis>
so just do sth like:
ymasory has quit [Read error: Connection reset by peer]
<rien>
kerneis: in this case it's used in monad comprehensions, to aid readability of parsing code
<kerneis>
do_something() ; do_something_else();
<kerneis>
ok, so totally different
<kerneis>
then, if you have a monad, there is a camlp4 extension to add syntactic sugar
<kerneis>
(do-notation)
<rien>
ulfdoz: of so "let () <- ..." is the trick?
<kerneis>
google for pa_monad IIRC
<ulfdoz>
rien: Its not really a trick, it is to chain invocations in an expression.
<ulfdoz>
And of course you have for and while in ocaml, if you need it.
<rien>
ulfdoz: would that still allow to discard results? (in haskell: do { _ <- next ; a <- next }
<rien>
kerneis: will do
<ulfdoz>
rien: () <- foo() is actually discarding a result, as () ist not an identifier but the unit-value.
<rien>
gotcha. so let () <- next ;; let a <- next
<ulfdoz>
yes, but that are two expressions, while do-notation is one.
<rien>
but in the end the result is the same - the first invocation of next is discarded, and the next is bound to a
<rien>
right/
<rien>
?
<ulfdoz>
Yes, if you rearrange the statements, it is different, because a is out of scope in the second statement.
<rien>
right. that's why haskell's do notation is sugar for *nested* monadic bindings
<rien>
so the lets in ocaml would have to be nested too
<ulfdoz>
basically yes.
<rien>
in CL there's let* which makes it so every binding can see the bindings before it
<ulfdoz>
however, you can still sequence statements with a single semicolon.
<rien>
yeah, I still have to learn all those semicolons :)
<ulfdoz>
OCaml's syntax is not as nice as haskell's one.
<rien>
perhaps. I'm a fan of s-expressions, so no syntax is nice for me (double-entendre :) )
<ulfdoz>
however, xavier leroys work in ocaml was a great help for me, to twist my mind around type systems.
<rien>
does he write papers or what? when I learned haskell I immediately fell in love with ADTs
<rien>
they're almost like cheating
<ulfdoz>
yes, a lot of them.
<ulfdoz>
Actually, each concept makes sense on its own, but ocaml is not good at combining these concepts. For example modules and classes are really really distinct.
<rien>
that's a shame, I never knew that. the people at #haskell always have nice things to say about how ocaml handles package dependencies so well (something called "functors"?)
<ulfdoz>
That was one of Leroys papers, and yes, it is nice.
tauntaun has quit [Quit: Ex-Chat]
<rien>
oh, cool. I'll look for them. hopefully they're easier to read than most haskell papers ;)
<ulfdoz>
It is not hard, if you have read a few of them. It is only in the beginning.
<rien>
wow, Xavier Leroy is involved in some pretty hardcore stuff :)
<ulfdoz>
It's someone like Simon Peyten Jones, but in Ocaml. (and some other stuff)
<rien>
hah, that's a good way to put it
<jld>
The thing that was kind of weird to me is how objects don't quite line up with polymorphic variants.
edwin has quit [Ping timeout: 248 seconds]
edwin has joined #ocaml
tauntaun has joined #ocaml
ygrek has quit [Ping timeout: 246 seconds]
edwin has quit [Ping timeout: 240 seconds]
Yoric has quit [Quit: Yoric]
edwin has joined #ocaml
edwin has quit [Ping timeout: 246 seconds]
edwin has joined #ocaml
ymasory has joined #ocaml
edwin has quit [Remote host closed the connection]
mcclurmc_home has quit [Ping timeout: 246 seconds]