flux changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | Grab OCaml 3.10.2 from http://caml.inria.fr/ocaml/release.html (featuring new camlp4 and more!)
struktured__ has joined #ocaml
struktured_ has quit [Read error: 110 (Connection timed out)]
struktured__ is now known as struktured
rhar has quit [Read error: 110 (Connection timed out)]
svenl has quit [calvino.freenode.net irc.freenode.net]
thelema has quit [calvino.freenode.net irc.freenode.net]
mfp has quit [calvino.freenode.net irc.freenode.net]
palomer has quit [calvino.freenode.net irc.freenode.net]
sbok_ has quit [calvino.freenode.net irc.freenode.net]
haelix has quit [calvino.freenode.net irc.freenode.net]
jdev has quit [calvino.freenode.net irc.freenode.net]
lde has quit [calvino.freenode.net irc.freenode.net]
svenl has joined #ocaml
thelema has joined #ocaml
mfp has joined #ocaml
sbok_ has joined #ocaml
lde has joined #ocaml
palomer has joined #ocaml
jdev has joined #ocaml
haelix has joined #ocaml
m3ga has joined #ocaml
m3ga has quit [Client Quit]
thelema has quit [Read error: 110 (Connection timed out)]
threeve has joined #ocaml
thelema has joined #ocaml
johnnowak has joined #ocaml
kig has joined #ocaml
jeddhaberstro has quit []
Submarine has joined #ocaml
threeve has quit []
rodge has quit ["Lost terminal"]
Submarine has quit [Read error: 104 (Connection reset by peer)]
<palomer> it seems that the match_selected is borked
<palomer> can anyone help me to verify this?
<palomer> ie, does anyone want to
* palomer looks at thelema
ryosei has joined #ocaml
struktured has quit [Read error: 110 (Connection timed out)]
ryosei has left #ocaml []
rwmjones_ has quit ["Closed connection"]
itewsh has joined #ocaml
filp has joined #ocaml
johnnowak has quit []
rby has joined #ocaml
<palomer> my kingdom for thelema!
GustNG has joined #ocaml
itewsh has quit [Read error: 60 (Operation timed out)]
itewsh has joined #ocaml
Palace_Chan has quit ["Palace goes to sleep"]
struktured has joined #ocaml
itewsh has quit [Operation timed out]
itewsh has joined #ocaml
Yoric[DT] has joined #ocaml
<Yoric[DT]> hi
<gildor> Yoric[DT]: hi
<Yoric[DT]> HI
<Yoric[DT]> Sorry, Hi.
Linktim has joined #ocaml
Camarade_Tux has joined #ocaml
* Yoric[DT] is currently trying to domesticate ocamlbuild's mllib feature.
* Camarade_Tux just dreamt Yoric[DT] was doing rodeo on a horse named mllib
<Yoric[DT]> Something like that.
<Camarade_Tux> I'm still a bit asleep (went to bed a 2pm), so still in dreams =P
<Yoric[DT]> :)
itewsh has quit ["KTHXBYE"]
kombinator has joined #ocaml
rby has quit [Read error: 113 (No route to host)]
itewsh has joined #ocaml
<ertai[NP]> Yoric[DT]: what's the problem with mllib ?
guillem has joined #ocaml
Yoric[DT] has quit [Read error: 113 (No route to host)]
tomh has joined #ocaml
GustNG1 has joined #ocaml
Associat0r has joined #ocaml
GustNG has quit [Read error: 110 (Connection timed out)]
itewsh has quit [Read error: 110 (Connection timed out)]
itewsh has joined #ocaml
marmotine has joined #ocaml
itewsh has quit ["KTHXBYE"]
Yoric[DT] has joined #ocaml
Linktim_ has joined #ocaml
thelema has quit [Read error: 110 (Connection timed out)]
Linktim has quit [Read error: 113 (No route to host)]
Linktim has joined #ocaml
itewsh has joined #ocaml
Linktim_ has quit [Read error: 110 (Connection timed out)]
itouch has joined #ocaml
kombinator has quit [Read error: 113 (No route to host)]
itewsh has quit [Read error: 110 (Connection timed out)]
itouch is now known as itewch
thelema has joined #ocaml
kombinator has joined #ocaml
jeddhaberstro has joined #ocaml
ozy` has joined #ocaml
hkBst has joined #ocaml
jeddhaberstro has quit []
rwmjones_ has joined #ocaml
palomer has quit [calvino.freenode.net irc.freenode.net]
sbok_ has quit [calvino.freenode.net irc.freenode.net]
haelix has quit [calvino.freenode.net irc.freenode.net]
jdev has quit [calvino.freenode.net irc.freenode.net]
svenl has quit [calvino.freenode.net irc.freenode.net]
mfp has quit [calvino.freenode.net irc.freenode.net]
lde has quit [calvino.freenode.net irc.freenode.net]
itewch has quit [calvino.freenode.net irc.freenode.net]
GustNG1 has quit [calvino.freenode.net irc.freenode.net]
mbishop has quit [calvino.freenode.net irc.freenode.net]
rogo has quit [calvino.freenode.net irc.freenode.net]
authentic has quit [calvino.freenode.net irc.freenode.net]
thelema has quit [calvino.freenode.net irc.freenode.net]
Linktim has quit [calvino.freenode.net irc.freenode.net]
Camarade_Tux has quit [calvino.freenode.net irc.freenode.net]
jeremiah has quit [calvino.freenode.net irc.freenode.net]
bzzbzz has quit [calvino.freenode.net irc.freenode.net]
snhmib has quit [calvino.freenode.net irc.freenode.net]
tab has quit [calvino.freenode.net irc.freenode.net]
mlh has quit [calvino.freenode.net irc.freenode.net]
bla has quit [calvino.freenode.net irc.freenode.net]
struk_atwork2 has quit [calvino.freenode.net irc.freenode.net]
mike_mcclurg has quit [calvino.freenode.net irc.freenode.net]
Associat0r has quit [calvino.freenode.net irc.freenode.net]
struktured has quit [calvino.freenode.net irc.freenode.net]
xevz has quit [calvino.freenode.net irc.freenode.net]
petchema has quit [calvino.freenode.net irc.freenode.net]
jonafan has quit [calvino.freenode.net irc.freenode.net]
maxote has quit [calvino.freenode.net irc.freenode.net]
bohanlon has quit [calvino.freenode.net irc.freenode.net]
cmeme has quit [calvino.freenode.net irc.freenode.net]
rwmjones has quit [calvino.freenode.net irc.freenode.net]
ozzloy has quit [calvino.freenode.net irc.freenode.net]
Asmadeus has quit [calvino.freenode.net irc.freenode.net]
Smerdyakov has quit [calvino.freenode.net irc.freenode.net]
eyu100 has quit [calvino.freenode.net irc.freenode.net]
kelaouchi has quit [calvino.freenode.net irc.freenode.net]
guillem has quit [calvino.freenode.net irc.freenode.net]
kig has quit [calvino.freenode.net irc.freenode.net]
TaXules has quit [calvino.freenode.net irc.freenode.net]
Amorphous has quit [calvino.freenode.net irc.freenode.net]
det has quit [calvino.freenode.net irc.freenode.net]
pattern has quit [calvino.freenode.net irc.freenode.net]
rpg has quit [calvino.freenode.net irc.freenode.net]
ppsmimou has quit [calvino.freenode.net irc.freenode.net]
tsuyoshi has quit [calvino.freenode.net irc.freenode.net]
DRMacIver has quit [calvino.freenode.net irc.freenode.net]
gim has quit [calvino.freenode.net irc.freenode.net]
r0bby has quit [calvino.freenode.net irc.freenode.net]
viimrles has quit [calvino.freenode.net irc.freenode.net]
hkBst has quit [calvino.freenode.net irc.freenode.net]
ozy` has quit [calvino.freenode.net irc.freenode.net]
tomh has quit [calvino.freenode.net irc.freenode.net]
filp has quit [calvino.freenode.net irc.freenode.net]
pango has quit [calvino.freenode.net irc.freenode.net]
jlouis has quit [calvino.freenode.net irc.freenode.net]
smimram has quit [calvino.freenode.net irc.freenode.net]
dobblego has quit [calvino.freenode.net irc.freenode.net]
Axioplase_ has quit [calvino.freenode.net irc.freenode.net]
hkBst has joined #ocaml
ozy` has joined #ocaml
thelema has joined #ocaml
Linktim has joined #ocaml
Associat0r has joined #ocaml
GustNG1 has joined #ocaml
tomh has joined #ocaml
guillem has joined #ocaml
Camarade_Tux has joined #ocaml
struktured has joined #ocaml
filp has joined #ocaml
kig has joined #ocaml
haelix has joined #ocaml
jdev has joined #ocaml
palomer has joined #ocaml
lde has joined #ocaml
sbok_ has joined #ocaml
mfp has joined #ocaml
svenl has joined #ocaml
eyu100 has joined #ocaml
Amorphous has joined #ocaml
pango has joined #ocaml
jlouis has joined #ocaml
jeremiah has joined #ocaml
bzzbzz has joined #ocaml
xevz has joined #ocaml
snhmib has joined #ocaml
det has joined #ocaml
mbishop has joined #ocaml
petchema has joined #ocaml
rogo has joined #ocaml
jonafan has joined #ocaml
tab has joined #ocaml
bla has joined #ocaml
mike_mcclurg has joined #ocaml
mlh has joined #ocaml
authentic has joined #ocaml
struk_atwork2 has joined #ocaml
pattern has joined #ocaml
rwmjones has joined #ocaml
cmeme has joined #ocaml
maxote has joined #ocaml
Smerdyakov has joined #ocaml
ozzloy has joined #ocaml
Asmadeus has joined #ocaml
bohanlon has joined #ocaml
kelaouchi has joined #ocaml
Axioplase_ has joined #ocaml
viimrles has joined #ocaml
DRMacIver has joined #ocaml
rpg has joined #ocaml
smimram has joined #ocaml
ppsmimou has joined #ocaml
dobblego has joined #ocaml
r0bby has joined #ocaml
gim has joined #ocaml
TaXules has joined #ocaml
tsuyoshi has joined #ocaml
itewch has joined #ocaml
jlouis has quit ["Leaving"]
jlouis has joined #ocaml
gim has quit [Read error: 110 (Connection timed out)]
itewch has quit [Read error: 60 (Operation timed out)]
itewch has joined #ocaml
<thelema> Yoric[DT]: ping
Camarade_Tux has quit []
guillem has quit [Remote closed the connection]
guillem has joined #ocaml
guillem has quit [Remote closed the connection]
Camarade_Tux has joined #ocaml
guillem has joined #ocaml
<thelema> Yoric[DT]: bump the version number - with all the rewrites you've done, we're past 0.1
guillem has left #ocaml []
palomer has quit [Connection timed out]
palomer has joined #ocaml
<Yoric[DT]> thelema: pong
<thelema> I'm trying to work through your changes to merge the unicode stuff.
<thelema> the unicode folder goes in batteries/src/core/unicode, no?
<Yoric[DT]> We need to decide if UIO gets merged into IO.
<Yoric[DT]> I think it should.
<Yoric[DT]> In that case, unicode should probably go into src/core/extlib .
<thelema> I tried that, but it made a circular dependency
<Yoric[DT]> (and yes, we've effectively taken over extlib)
<Yoric[DT]> ertai[NP]: the only problem with mllib is that I need to write the files :)
<thelema> but if extlib isn't packed anymore, I think I can make this work.
<flux> are the original authors of extlib still interested in maintaining it?
<thelema> flux: from what I see on their mailing list, they're not interested in putting much work into its maintenance.
<thelema> one idea of unicode involves duplicating *all* the string machinery with unicode-character-aware versions, so users can [open Batteries.Unicode]
kombinator has quit [calvino.freenode.net irc.freenode.net]
fremo has quit [calvino.freenode.net irc.freenode.net]
gildor has quit [calvino.freenode.net irc.freenode.net]
kg4qxk has quit [calvino.freenode.net irc.freenode.net]
olegfink has quit [calvino.freenode.net irc.freenode.net]
<thelema> also, will it be an option to compile without the camomile dependency (and have batteries minus unicode)? Now that I think about this, we should just require camomile and not give that option.
<thelema> I was designing for the optional dependency.
<Yoric[DT]> No, I think there should be exactly two versions of the library: with threads and without threads.
<Yoric[DT]> In my mind, everything else is compulsory.
<thelema> I agree.
<Yoric[DT]> Sorry, friends paying a social call.
<Yoric[DT]> I'll try and come back later.
<thelema> ok. Thanks.
kombinator has joined #ocaml
fremo has joined #ocaml
olegfink has joined #ocaml
gildor has joined #ocaml
kg4qxk has joined #ocaml
pango has quit [Remote closed the connection]
threeve has joined #ocaml
kombinator has quit [Read error: 104 (Connection reset by peer)]
<thelema> note 1 : kill the core folder and move contents up a level
<thelema> note 2: src/_tags has reference to <layer_1> ?? kill?
<thelema> note3: there's got to be a better way to structure main module than re-importing Batteries_core module-by-module.
itewch has quit [Read error: 110 (Connection timed out)]
itewch has joined #ocaml
rwmjones_ has quit [Remote closed the connection]
kombinator has joined #ocaml
tomh has quit ["http://www.mibbit.com ajax IRC Client"]
threeve has quit []
GustNG has joined #ocaml
itewch has quit [Read error: 110 (Connection timed out)]
itewch has joined #ocaml
GustNG1 has quit [Read error: 60 (Operation timed out)]
sporkmonger has joined #ocaml
itewch has quit [Connection timed out]
itewch has joined #ocaml
longh has joined #ocaml
beigebox has joined #ocaml
jeremiah has quit []
<beigebox> i can't find the answer to this question with the first few hits to google. are for loops directly supported by ocaml?
<Smerdyakov> The manual has a complete grammar, which should answer your question. Such questions are better solved by starting from the manual table of contents than by Google searches.
<Smerdyakov> The Parts of the manual are named somewhat unfortunately. Part II is the language reference.
<Smerdyakov> Regardless of the answer, most functional programmers frown on loops. I suggest using higher-order functions instead.
<beigebox> "most functional programmers frown on loops.." - why is that so btw?
<Smerdyakov> They encourage imperative programming, which is fundamentally harder to understand than functional programming.
<Smerdyakov> Also, it doesn't hurt to minimize the number of constructs in your language.
ozy` has quit [Remote closed the connection]
<Yoric[DT]> thelema: note1: I'm not sure.
<Yoric[DT]> note 2: oops, you're right
<Yoric[DT]> Note 3: I haven't found any better way yet. More precisely, I have found a better way but it requires a myocamlbuild plug-in which I haven't gotten around to implement yet.
rby has joined #ocaml
thelema has quit [Read error: 110 (Connection timed out)]
itewch has quit [Connection timed out]
itewch has joined #ocaml
<beigebox> http://pastebin.com/m4b88b313 i've wrote this code to compute a list of the first n primes. is there any way to make it more ocaml-like?
<flux> if you hang around for 24h more hours, I'll take a look :)
jlouis has quit ["Leaving"]
jlouis has joined #ocaml
<olegfink> Smerdyakov: does a high-order loop make sense to you?
Submarine has joined #ocaml
<olegfink> that is, int -> (int -> unit)
<olegfink> or something of the sort
<Smerdyakov> olegfink, it's better for the "minimize number of language constructs" reason, but not the "avoid imperativity" reason.
<Smerdyakov> olegfink, and, to be clear, I don't consider a use of such a function to be "a loop."
<olegfink> I implemented one with camlp4, but failed to find a use case for it.
<olegfink> well, something like iter, but iterating on natural numbers
<olegfink> as ocaml doesn't have a nice sugar for generating lists, that could make some sense
<Smerdyakov> Generating lists? What does that have to do with imperative loops?
<olegfink> Smerdyakov: personally, the reason why I wanted to implement loop is that every time I really have to make a loop in my program I feel like a traitor. So using a more functional syntax (which is still equally imperative) helps me.
<olegfink> because then I could do List.iter (fun i -> my imperative code) [1..10]
beigebox has quit [Read error: 104 (Connection reset by peer)]
filp has quit ["Bye"]
<Yoric[DT]> olegfink: that's possible with Batteries Included, if you're interested.
<Yoric[DT]> Except it's
<Yoric[DT]> iter (fun i -> my imperative code) ( 1 -- 10 )
<olegfink> what is the type of ( 1 -- 10 )?
<Yoric[DT]> Enum.t
<olegfink> so it's not a list?
<Yoric[DT]> Nope, it's a lazy construction.
<Yoric[DT]> Essentially, it's a stream.
rwmjones_ has joined #ocaml
<Yoric[DT]> hi rwmjones_
<rwmjones_> hi Yoric[DT]
<Yoric[DT]> How do you do?
<rwmjones_> I still haven't reviewed those patches have I?
<Yoric[DT]> Nope.
<olegfink> so it doesn't have a list like constructor and functionality?
<rwmjones_> Yoric[DT], yes, I definitely ought to ... but won't be this weekend I'm afraid
<Yoric[DT]> olegfink: No, it doesn't have a list-like constructor. It can be built from a list, though.
<Yoric[DT]> rwmjones_: well, as you can imagine, we've carried on without approval from ExtLib, I'm afraid.
<Yoric[DT]> Whenever we receive word on these patches, we'll try and send more.
<Yoric[DT]> But for the moment, and despite everybody's wishes, Batteries is effectively a fork of ExtLib.
<Yoric[DT]> s/is/contains/
<Yoric[DT]> Whenever the core of Batteries reaches a stable state, this patch business might be easier to carry one. Possibly.
<rwmjones_> Yoric[DT], sure .. I talked to the other two extlib maintainers about this & they wanted me to review them, which I didnt do, so entirely my fault
<Yoric[DT]> I understand that people sometimes have better things to do than review my patches.
itewch has quit [Read error: 113 (No route to host)]
beigebox has joined #ocaml
<rwmjones_> beigebox, did you get your question about for loops answered?
<rwmjones_> Yoric[DT], family stuff, but yes I should look at this nxt week
<beigebox> rwmjones_: Smerdyakov's?
<rwmjones_> beigebox, did you get / understand the answer? if not post again
<beigebox> yeah i'm now wondering about the pasted example - how to make it more ocaml like
<rwmjones_> beigebox, so greatestProperDivisor is euclid's gcd algorithm? that function looks fine, perfectly "ocaml-like"
<beigebox> rwmjones_: no it's just a hack to "iterate looking for divisors of n"
<rwmjones_> beigebox, isPrime is fine, also "ocaml-like"
<rwmjones_> ah ok, trial division
<rwmjones_> beigebox, so the problem is with the genPrimes function
<rwmjones_> beigebox, which is definitely not very ocaml-like ...
<rwmjones_> you really want haskell-like lazy evaluation here :-)
<beigebox> i don't know what that is ;)
<rwmjones_> well, in haskell you'd say "take the first 10 elements of the list of all primes"
<rwmjones_> because haskell is lazy, "list of all primes" doesn't actually get evaluated (which would take forever)
<rwmjones_> it just generates as many as it needs until it has got the first 10
<rwmjones_> beigebox, let me try writing this in ocaml, brb
<beigebox> quick question... how do i access the elements of an order tuple ?
Palace_Chan has joined #ocaml
<rwmjones_> beigebox, http://pastebin.com/m4e37746f
<rwmjones_> beigebox, what's an "order tuple"?
<beigebox> fst snd for tuples ok
<beigebox> x = (3,2) for example
<rwmjones_> beigebox, you can just write:
<beigebox> thanks for the code btw
<rwmjones_> let (x, y, z) = thetuple
<rwmjones_> or
<rwmjones_> let (x, _, _) = thetuple
<rwmjones_> if you just wanted the first elem of 3
<rwmjones_> you don't need the parentheses either
<beigebox> huh
<rwmjones_> let x, _, _ = thetuple
<beigebox> this is the part that confuses me the most at the moment ;)
<beigebox> i've already seen such tricks in some related context
* rwmjones_ wonders where xavierbot is ...
<rwmjones_> arise xavierbot
xavierbot has joined #ocaml
<rwmjones_> ok, so
<rwmjones_> let thetuple = (1, 2, 3) ;;
<xavierbot> val thetuple : int * int * int = (1, 2, 3)
<rwmjones_> let x, _, _ = thetuple ;;
<xavierbot> val x : int = 1
longh has quit [Read error: 104 (Connection reset by peer)]
<rwmjones_> let _, y, _ = thetuple ;;
<xavierbot> val y : int = 2
<rwmjones_> beigebox, but this would be a mistake:
<rwmjones_> let _, y = thetuple ;;
<xavierbot> Characters 12-20:
<xavierbot> let _, y = thetuple ;;
<xavierbot> ^^^^^^^^
<xavierbot> This expression has type int * int * int but is here used with type 'a * 'b
thelema has joined #ocaml
<olegfink> rwmjones: what language the irc part of xavierbot is implemented in?
* beigebox guesses the answer :-)
<olegfink> for some reason, I think it's perl.
<rwmjones_> olegfink, perl yes :-)
<olegfink> or maybe I'm wrong, but I don't think I've seen any functional irc implementation in ocaml
<olegfink> oh
<rwmjones_> olegfink, it's open source ... http://et.redhat.com/~rjones/xavierbot/
<olegfink> ah, this page is actually the reason I thought it's in perl.
<rwmjones_> olegfink, the perl / POE stuff is weird, but plainly simpler than writing my own IRC implementation in ocaml
<olegfink> once I wanted to write My Very Own And The Most Suckless IRC bot (in ocaml of course), but having no irc library, well, turned me off a bit
<olegfink> by the way, is it possible to load camlp4 stuff at run time?
<rwmjones_> olegfink, you mean in the toplevel? yes, very definitely
<olegfink> for example, is it possible for xavierbot to define, compile and load camlp4 extensions on the fly?
<olegfink> yes, in toplevel
<rwmjones_> olegfink, oh I see .. no. We would prevent that anyway because xavierbot is already using camlp4 to disable unsafe bits of ocaml
<rwmjones_> eg. it disables the 'external' keyword
<rwmjones_> external magic : 'a -> 'b = "%identity" ;;
<xavierbot> 'external' keyword disabled
<xavierbot> - : unit = ()
<olegfink> ah, but apart from security policy it is possible?
<rwmjones_> (magic 10 : string) ;;
<xavierbot> Characters 2-7:
<xavierbot> (magic 10 : string) ;;
<xavierbot> ^^^^^
<xavierbot> Unbound value magic
<rwmjones_> olegfink, I guess it's possible, but xavierbot limits you to writing everything on a single line, and writing a camlp4 extension on a single line would be quite ambitious
<olegfink> camlp4 is one of the funniest computer games I've ever played, but it's a bit pity that it's completely unaware of types (if I knew Haskell I would probably go for Template Haskell)
<olegfink> heh, good point
<rwmjones_> is Template Haskell aware of types? I didn't think it was possible
<olegfink> I was *told* it is.
<olegfink> I'm too dumb to understand that sort of haskell stuff.
<rwmjones_> until you know how to parse something, I don't see how you can do any type inference
<thelema> Yoric[DT]: ping
<olegfink> for example, I suffer from the fact that my suspension thing is essentially a unit -> (unit -> unit) type map and I can't express this in camlp4
<Yoric[DT]> thelema: pong
<Yoric[DT]> rwmjones_ from what I understand, it isn't.
<Yoric[DT]> olegfink: it's probably possible to write a Camlp4 with types.
<thelema> Any response to #1, 2, or 3?
<Yoric[DT]> And it certainly would be an important contribution to the OCaml community.
<Yoric[DT]> thelema: Sure.
<Yoric[DT]> 1. While I believe that we may end up with some more directory rearrangements, I tend to believe that "main" and "extlib", "threads", "toolchain"... do not have the same status.
<Yoric[DT]> So I'd rather not remove core from the directory structure.
<Yoric[DT]> 2. Oops.
<Yoric[DT]> 3. I have ideas to do better but it's complex enough that I'm not going to try this before the first release.
<olegfink> err, I'm talking shit.
<olegfink> it's 'a -> ('a -> unit) which now really looks like a type map
<Yoric[DT]> 4. About the naming stuff, I was thinking about not using numbers at all.
<olegfink> Yoric[DT]: I don't really understand how is that possible
<olegfink> what I want is probably a way to play with ocaml's type system, while camlp4 lets me do things with syntax
<Yoric[DT]> olegfink: ok, that's different stuff, then.
<Yoric[DT]> But it's probably possible to write a "staged" Camlp4. Each stage being able to take advantage of type information from code already compiled in some previous stage.
<olegfink> hm, isn't that what metaocaml is about?
<thelema> Yoric[DT]: I agree that main and the other groups don't have the same heirarchical status, but I don't see the utility of having an extra dir to corral the non-main stuff together.
<Yoric[DT]> olegfink: different priorities, I think, but essentially, it's similar ideas.
wlmttobks has quit [SendQ exceeded]
<Yoric[DT]> thelema: threads vs. nothreads has an importance, insofar as it contains files with the same names.
<Yoric[DT]> Oh, sorry, I misread.
<Yoric[DT]> I agree that, for the moment, it's not important.
<olegfink> kill me somebody, please
<olegfink> 'a -> (unit -> 'a) it is.
* Yoric[DT] attempts to savagely murder olegfink with wet trouts.
<thelema> yes, we should keep that, but maybe the rest of the tree sturcture could get flattened.
<thelema> a bit. (not completely.
<Yoric[DT]> thelema: I agree that this should be possible.
<Yoric[DT]> For the moment, I'm still working on the build system, though, so I'm not making this a priority.
<thelema> also, it seems that any new code is going into the extlib folder.
<olegfink> I write a simple type map from a third attempt and yet want to discuss things like metaocaml.
<Yoric[DT]> thelema: that may not last forever.
<thelema> (i.e. the Labels stuff jumped there)
<Yoric[DT]> i.e. toolchain has some contents
<Yoric[DT]> (but yes, Labels is typically ExtLib-style stuff)
itewsh has joined #ocaml
<Yoric[DT]> thelema: we'll need some policy regarding what goes into which directory.
<thelema> somehow I feel that extlib (including modifications to its files) should go in extlib, and anything else in a separate folder.
<thelema> more like sub-projects.
<thelema> (or batteries)
<thelema> *of batteries
beigebox has quit [Read error: 104 (Connection reset by peer)]
<Yoric[DT]> Well, for the moment, things we've put in ExtLib are things which could fit as ExtLib patches.
<Yoric[DT]> With the possible exception of Unicode, now that I think about it.
<thelema> in the end, we'll end up with a bunch of (hopefully) focused projects that get referenced by a batteries.ml and packed into its .cma
<thelema> I agree that the unicode ropes don't really fit as patches to extlib
<thelema> and other things will not fit as well: any crypto we include, network stuff, etc.
<Yoric[DT]> Agreed.
<Yoric[DT]> The first release of Batteries is essentially beefed-up ExtLib, though.
<thelema> speaking of release, still approx Oct 10?
<Yoric[DT]> I'm not completely sure.
<Yoric[DT]> I've undertaken large modifications of the build system (essentially, I'm dumping just about anything from the Makefile and putting it into myocamlbuild.ml).
<Yoric[DT]> That's bound to break the documentation generation.
<Yoric[DT]> That and the fact that I have a deadline on Oct 15.
<thelema> what don't we have?
<thelema> so we need the docs
<Yoric[DT]> You mean missing features?
<thelema> I have a beginning on unicode.
<Yoric[DT]> Ideally, I'd like
<thelema> which should be ready (again) to merge
<Yoric[DT]> * a little more Unicode (not sure it's a small change, though, so maybe not for this release)
<thelema> the transcoding?
<Yoric[DT]> (yes)
<Yoric[DT]> * type_conv
<thelema> you want it, you got it.
<Yoric[DT]> transcoding?
<thelema> yes.
<Yoric[DT]> * possibly small stuff such as Ref.Cap and other Mutable.Foo.Cap, although that can probably be added at a later stage without breaking anything.
threeve has joined #ocaml
<Yoric[DT]> Well, please do.
<Yoric[DT]> By all means.
<Yoric[DT]> ertai[NP]: ping
Amorphous has quit [Read error: 110 (Connection timed out)]
Amorphous has joined #ocaml
<Yoric[DT]> As for your ready-to-merge code, I'll add it as soon as I've fixed the build system.
<thelema> Hopefully I won't have to restructure my patch again. I'm getting better with git, though...
<Yoric[DT]> Normally, at worst, you'll have to change a _tags file.
<Yoric[DT]> The directory structure won't change anymore, at least not for the first release.
<Yoric[DT]> Right now, my problem is auto-generating .mllib files.
<Yoric[DT]> To be sure that everything we need is linked into the final .cma .
<thelema> you had a nice find script in your makefile before, that doesn't suffice anymore?
GustNG has quit [Read error: 104 (Connection reset by peer)]
<Yoric[DT]> It's not foolproof.
<Yoric[DT]> I'd like a more generic solution.
<thelema> do you realize that you're engineering for a 2.0 release?
<Yoric[DT]> That thought has crossed my mind, yes.
<Yoric[DT]> You have a point, though.
itewsh has quit [Remote closed the connection]
itewsh has joined #ocaml
Submarine has quit [Read error: 110 (Connection timed out)]
itewsh has quit ["KTHXBYE"]
itewsh has joined #ocaml
pango has joined #ocaml
<Yoric[DT]> I have a weird "Reference to undefined global" error.
<Yoric[DT]> I'm linking against a .cma which contains unit Batteries_core.
<Yoric[DT]> However, I obtain Reference to undefined global `Batteries_core' .
<thelema> I got something similar to that when extlib was both internal and external to batteries.
<Yoric[DT]> Mmmhh...
<Yoric[DT]> I'll take a look at that.
<thelema> other than that, I don't see any batteries_code.mlpack
<Yoric[DT]> There's a batteries_core.ml .
<thelema> are you using the threads version? There's no for-pack on batteries_core_threads
<Yoric[DT]> No, non-threaded.
<Yoric[DT]> Let me commit the last version.
<Yoric[DT]> committed
* thelema pulls
<Yoric[DT]> Oh, I'd forgotten to commit the tests.
<Yoric[DT]> Just committed.
<thelema> any reason to have any mllib files in version control? Don't they get generated as part of the build?
<Yoric[DT]> Yeah, now they are.
<Yoric[DT]> For a few versions, they weren't.
<Yoric[DT]> I'll need to fix that.
<Yoric[DT]> Mmmhh...
<Yoric[DT]> Batteries appears twice.
<Yoric[DT]> Well, that wasn't the problem.
<thelema> any chance of filtering out .#*.ml from mlpacks?
<Yoric[DT]> What do you mean?
<Yoric[DT]> Mmmhhh....
<Yoric[DT]> I think I found the problem.
<Yoric[DT]> It seems to be the order of files in the .mllib .
<thelema> the .mllib needs a topo-sort?
<Yoric[DT]> It seems so.
<Yoric[DT]> I'm trying to topo-sort it myself to check.
<thelema> I'm surprised it was in order before...
itewsh has quit [Remote closed the connection]
itewsh has joined #ocaml
<Yoric[DT]> Me, too.
<thelema> emacs makes .#<filename> temp files while editing. I now have .#uIO in my batteries.mllib
<Yoric[DT]> I'll try and do that next.
<Yoric[DT]> Yes, the toposort was the issue.
<Yoric[DT]> :/
<Yoric[DT]> Which means that I'll have to toposort the .mllib anyway.
<Yoric[DT]> Which means that I'll have to resume work on auto-generating it from OCaml.
<thelema> I guess there just wasn't enough testing.
<thelema> to find the toposort errors
<Yoric[DT]> Yeah.
<Yoric[DT]> Good that we did some more :)
* thelema wants to merge code from jane street's core
<Yoric[DT]> As always, I'd rather depend on the code than merge it.
<Yoric[DT]> But yes, some of Core's modules are definitely going to make their way into Batteries.
<Yoric[DT]> My first priority being type_conv.
<thelema> no META in core. :(
itewsh has quit [Read error: 60 (Operation timed out)]
itewsh has joined #ocaml
<thelema> I take that back, it does use ocamlfind.
<Yoric[DT]> Yep.
<Yoric[DT]> At least the GODI version does.
<thelema> it seems to depend on sexplib, type-conv and bin_prot
<Yoric[DT]> Yep.
<Yoric[DT]> All three of these are worthy nominees, too.
<thelema> If we're depending on external code, where's the editorial process? We're going to end up with n versions of List.fold_right
<Yoric[DT]> We're not going to give access to every version of List.fold_right .
<Yoric[DT]> I'm going to have to leave now.
<thelema> bye
<Yoric[DT]> 'night
Yoric[DT] has quit ["Ex-Chat"]
Camarade_Tux has quit [Read error: 110 (Connection timed out)]
Camarade_Tux has joined #ocaml
Linktim_ has joined #ocaml
itewsh has quit ["KTHXBYE"]
Linktim has quit [Read error: 113 (No route to host)]
<palomer> module Entry = Entry <--what could this possibly do?
<palomer> Module GtkEditProps.Entry <--where is this module located??
<palomer> can't find it anywhere
<thelema> Palace_Chan: if some other module was opened, that module's Entry gets imported into the current namespace (accessible by other modules there)
<thelema> grr...
<thelema> palomer: see above
Linktim_ has quit ["Quitte"]
<thelema> palomer: GtkEditProps.Entry is in gtkEditProps.ml
<flux> olegfink, iirc savonet project has an irc module for ocaml
<palomer> I don't have that file:/
<palomer> thelema, ah, righto
<palomer> so, I have a tough question for y'all
ryosei has joined #ocaml
<palomer> http://pastebin.com/m11684cee <---in this case, the completion only starts when the entry is changed
<palomer> but I want to start it when the entry gets focused
<palomer> how do I do that?
<thelema> I imagine you'll have to dig through the widget source (in GTK) to find the completion hook and somehow duplicate that action in ocaml on_focus
<thelema> it looks like there's an 'activate' signal
<thelema> look at the source of gtk_entry_set_completion
<palomer> entry#activate?
<palomer> that's when you press enter
<thelema> sorry, not activate
<palomer> focus_in ?
<palomer> thelema, wouldn't it simply be easier to trigger the entry#changed signal?
<thelema> gtk_entry_set_completion should hook the user's keypress
<thelema> does that work?
<palomer> it hooks entry#changed
<palomer> I believe
<palomer> since pressing left/right doesn't trigger the completion
hkBst has quit [Read error: 104 (Connection reset by peer)]
marmotine has quit ["mv marmotine Laurie"]
eyu100 has quit [Read error: 110 (Connection timed out)]
Jedai has joined #ocaml
Jedai has quit [Client Quit]
kombinator has quit [Read error: 113 (No route to host)]
rby has quit ["This computer has gone to sleep"]
Jedai has joined #ocaml