sponge45 changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/
Smerdyakov has joined #ocaml
Z4rd0Z has joined #ocaml
pants1 has joined #ocaml
asmanian has quit ["Verlassend"]
Shimei has quit [Read error: 113 (No route to host)]
tuor has left #ocaml []
tuor has joined #ocaml
b00t has joined #ocaml
tuor has left #ocaml []
kinetik_ has joined #ocaml
smimou has quit ["bli"]
kinetik has quit [Read error: 110 (Connection timed out)]
Smerdyakov has quit ["Leaving"]
ChoJin has quit ["This computer has gone to sleep"]
johnnowak has quit []
kinetik has joined #ocaml
johnnowak has joined #ocaml
kinetik_ has quit [Read error: 110 (Connection timed out)]
kinetik_ has joined #ocaml
kinetik has quit [Read error: 110 (Connection timed out)]
b00t has quit [Remote closed the connection]
johnnowak_ has joined #ocaml
johnnowak has quit [Connection timed out]
pants1 has quit [Read error: 110 (Connection timed out)]
trurl__ has quit [Read error: 110 (Connection timed out)]
b00t has joined #ocaml
kinetik_ is now known as _Xar_
kinetik_ has joined #ocaml
_Xar_ has quit [Read error: 110 (Connection timed out)]
johnnowak has joined #ocaml
johnnowak_ has quit [Connection timed out]
johnnowak_ has joined #ocaml
johnnowak has quit [Connection timed out]
Shimei has joined #ocaml
johnnowak has joined #ocaml
johnnowak_ has quit [Connection timed out]
johnnowak_ has joined #ocaml
johnnowak has quit [Read error: 110 (Connection timed out)]
johnnowak has joined #ocaml
johnnowak_ has quit [Read error: 110 (Connection timed out)]
johnnowak_ has joined #ocaml
johnnowak has quit [Read error: 110 (Connection timed out)]
johnnowak has joined #ocaml
johnnowak_ has quit [Read error: 110 (Connection timed out)]
johnnowak has quit [Read error: 110 (Connection timed out)]
asmanian has joined #ocaml
jlouis has quit [Read error: 104 (Connection reset by peer)]
asmanian has quit ["Verlassend"]
trurl_ has joined #ocaml
Eridius has joined #ocaml
Eridius has left #ocaml []
_velco has joined #ocaml
ChoJin has joined #ocaml
Z4rd0Z has quit []
dark_light has quit [Connection reset by peer]
love-pingoo has joined #ocaml
clog has joined #ocaml
Smerdyakov has joined #ocaml
love-pingoo has quit ["Leaving"]
metaperl has quit ["Computer goes to sleep!"]
b00t has quit [Remote closed the connection]
slipstream has joined #ocaml
slipstream-- has quit [Read error: 104 (Connection reset by peer)]
metaperl has joined #ocaml
Z4rd0Z has joined #ocaml
slipstream has quit [Read error: 104 (Connection reset by peer)]
slipstream has joined #ocaml
asmanian has joined #ocaml
^ChoJin^ has joined #ocaml
ikaros has quit [Read error: 110 (Connection timed out)]
ChoJin has quit [Read error: 110 (Connection timed out)]
ikaros has joined #ocaml
ChoJin has joined #ocaml
^ChoJin^ has quit [Read error: 110 (Connection timed out)]
MisterC has quit [Connection timed out]
MisterC has joined #ocaml
asmanian has quit ["Verlassend"]
bebui has quit ["leaving"]
bebui has joined #ocaml
bebui has quit ["leaving"]
bebui has joined #ocaml
bebui has quit [Client Quit]
bebui has joined #ocaml
ikaros has quit [Read error: 110 (Connection timed out)]
ikaros has joined #ocaml
ayrnieu has quit [Connection timed out]
smimou has joined #ocaml
<mellum> If I want a record field label from another module, and I don't want to use the module prefix, can I somehow "import" it?
<flux__> the specific record? hmm.. I don't think so
<mellum> Bad.
jlouis has joined #ocaml
<flux__> but IIRC you can use let module M = ModuleName in { M.v = 4; f = 42 }
<Smerdyakov> mellum, yup. Time to switch to SML. :-)
<flux__> or you can use the pa_openin
<mellum> Smerdyakov: Well, this project is due about today, so I don't think I'll rewrite it :)
<mellum> Oh well, I'll just open it.
<mellum> Smerdyakov: how would I do this in SML?
<Smerdyakov> mellum, SML has anonymous records. There's no equivalent problem to need a solution.
<mellum> Huh? There is no concept of record labels?
<Smerdyakov> Record labels are not _bound_ anywhere.
<Smerdyakov> You know, like (int -> int) is an anonymous function type.
<flux__> mellum, think ocaml objects
<mellum> flux__: I've never used those :)
<Smerdyakov> {foo : int, bar : string} is an SML type.
<Smerdyakov> It's _not_ a type _declaration_.
<Smerdyakov> As always, refer to http://www.cs.berkeley.edu/~adamc/mlcomp/ . :-)
<jlouis> you see, {foo : int, bar : string} looks awfully much like it has type int * string
<jlouis> so, the naming aside, it could as well be a tuple
<mellum> So you can pass it to a function that expects a record with different labels?
<Smerdyakov> No
postalchris has joined #ocaml
<jlouis> It still has to work out from a typing perspective
<jlouis> so in particular, the type must not be ambiguous
<flux__> smerdyakov, but you can pass it to a function expecting less labels?
<Smerdyakov> flux__, no.
<flux__> hmm..
<mellum> that would be pretty bad...
<Smerdyakov> flux__, SML has no implicit subtype coercions.
<flux__> hmm.. I guess that leads to type annotations?
<Smerdyakov> flux__, depends on the context
<flux__> because if a function doesn't use all the fields of the record it has been as a parameter, it needs to explicitly state that it will use the rest too
<flux__> assuming there is a certain record that is passed around to many functions
<Smerdyakov> flux__, yes. Other typing constraints may make that clear.
<flux__> not very different from ocaml objects, which too need to be either explicitly defined or explicitly narrowed
<flux__> I suppose the implementation uses similar algorithms
<flux__> sometimes I would wish it would be able to automatically narrow them, but apparently its more difficult than it sounds
<mellum> Hmm. I'm not convinced I like the SML concept better here. It seems you need to take much more care about naming your fieldn names uniquely, then
<flux__> why would they need to be uniquely named?
<Smerdyakov> mellum, it's OCaml that requires such care.
<flux__> definitely
<mellum> flux__: for type inference to work.
<mellum> But maybe I'm still misunderstanding it...
<flux__> basically I often declare type foo = { foo_x : int; foo_y : string }
<Smerdyakov> mellum, unique names don't help type inference at all.
<mellum> flux__: which is exactly what I would not like to do
<Smerdyakov> mellum, and there are no principal types for SML code that uses records.
<flux__> the names need to be unique within a record :-)
<Smerdyakov> mellum, so perhaps the wrong assumption was that "type inference works." :)
<mellum> Smerdyakov: I don't know what "principal type" means.
<flux__> but in sml you can have two record types (you can declare them too, can't you?) which both have field 'x', but of different type
<Smerdyakov> mellum, every type-correct expression has a type that subsumes all possible valid types the expression could be given.
<flux__> and then you have functions which expect either {x : int} or {x : float}
<mellum> Hmm. Looking at http://www.cs.berkeley.edu/~adamc/mlcomp/, I find about half the time Ocaml better and half the time SML. Maybe I should invent my own language ;)
<Smerdyakov> mellum, what are the main things that enamor OCaml to you?
<mellum> Smerdyakov: Availability on my machine (Alpha Linux). And I know it already.
<Smerdyakov> mellum, ah, so nothing about language design or even library design.
<mellum> Well, the library design is crap.
<mellum> Not as bad as C, but still crap
<Smerdyakov> OCaml's?
<mellum> Yes. I don't know SML's.
<Smerdyakov> SML's Basis + SML/NJ Library is totally gnarly.
<mellum> worse than Ocaml?
<Smerdyakov> No, gnarly is a _positive_ description. :)
<mellum> Oh. Well, English is not my first language :)
<Smerdyakov> Hey, that reminds me. We have any French people watching here now?
<haelix> Count one for me
<Smerdyakov> haelix, if I am going to POPL in Nice, how much French currency should I get from an ATM, assuming I will try to use credit card wherever possible? I will be there 5 days.
<haelix> what expanses will you have to cover ?
<Smerdyakov> haelix, just incidental stuff like buses, maybe some meals. It's mostly paid in conference reg. fees and hotel bill (which I will do with CC).
<haelix> Buses can be an expansive thing in that nice Nice region
<Smerdyakov> (BTW, it's "expensive" for that meaning.)
<haelix> oh right
<haelix> this is hard to tell but I'd say you'll be comfortable off with 200 euros
<haelix> comfortably
<Smerdyakov> haelix, OK, thanks!
<Smerdyakov> Will I need some exact change to pay bus fares?
<haelix> Last I was here, bus drivers had change, but having some won't hurt
<haelix> do you know where you'll be hosted ?
<Smerdyakov> Yup: the conference Hotel, Plaza.
<haelix> ok, so not much need for bus, then
<Smerdyakov> The conference web site says a 15 minute bus ride from the airport.
<haelix> I thought it would be an dayly bus trip
<haelix> so well
<haelix> no need for change: you'll buy your ticket not from the bus driver
<Smerdyakov> OK. Sounds a lot more rational than our buses here in the USA. :)
<haelix> it should not be more than 2x10 euros
<haelix> as for drinks
<haelix> I deem them expansive
<Smerdyakov> I usually just drink water, so no worries there.
<haelix> (5 euros can easily be spent on a beer)
<Smerdyakov> Maybe that costs money in France..?
<haelix> tap water is free
<Smerdyakov> But deadly? :)
<haelix> and you'll have more than decent meals for 20 euros
<haelix> well, as for deadly I don't know, but it craves at being tasteless
<Smerdyakov> I will be reimbursed for all expenses, so anything that can go on my credit card is not an issue for price. ;)
<haelix> then I'd say.. go for 100 euros
<Smerdyakov> Another thing that I'm wondering is: is it customary to leave a tip in your hotel room each day for the maid?
<haelix> (I had booked a lot for bus fees)
<haelix> no
<haelix> it's of course nice, but mostly unusual
<flux__> hm, how about tips in general?
<haelix> it's quite common to feed the paypal account of gentle IRC informers :p
<haelix> other than that, this is not required at all, imho
<Smerdyakov> The French embassy has a web page that explains tipping customs.
<haelix> (my personal practice is to hand one to waiter/ress the day service was quick and easy - this is not always the case)
<Smerdyakov> No mention of hotel maid service, which is why I asked.
<haelix> isn't ".1.50 for room service " the same thing ?
<haelix> this page is ridiculous
<Smerdyakov> In American, "room service" means "ordering food delivered to your hotel room."
<haelix> let me know if you get somewhere a "Service station attendant" to "check tires"
<Smerdyakov> Ordering from the hotel, that is. Not just ordering a pizza from Pizza Hut. :)
<haelix> I didn't know that, thanks
<haelix> Taxi drivers in the Nice area are amongst the most expansive in the country, so forget about tipping
<haelix> the only reasonnable tipping advice I read is for bag porters
<Smerdyakov> I always like to avoid taxis, wherever I am. :)
<haelix> The same for me
<haelix> The last place where I believe tipping is needed is for theater maid
<haelix> (nice women who will take you to your seats)
<haelix> other than that, everything in France is included in the displayed price
<Smerdyakov> To reserved seats, or do the theater maids also figure out where you should sit?
<haelix> to reserved seats, when they are reserved
<haelix> (otherwise, the theatre room filling looks mostly like a free for all :)
<Smerdyakov> OK. I would rather read the ticket and find my own seat.
<haelix> That would be considered rude
<Smerdyakov> Yes, but it would make more sense if everyone agreed to it. :P
<haelix> well
<Smerdyakov> I don't expect to visit the theater in France, anyway.
<haelix> I kinda like seeing such confined places where antiquated traditions live on
<haelix> Well,
<haelix> I'll have to go, now. If we don't mett again,
<Smerdyakov> haelix, are you a "these de doctorat" student?
<haelix> enjoy your stay in France
<Smerdyakov> Thanks!
<haelix> No, just an IT professionnal, with an eye strongly kept on academic ways
<Smerdyakov> :) OK, talk to you later. Thanks again.
<haelix> you're welcome. bye
_Xar_ has joined #ocaml
love-pingoo has joined #ocaml
love-pingoo has quit ["Connection reset by pear"]
kinetik_ has quit [Read error: 110 (Connection timed out)]
_velco is now known as velco
gim has quit [Read error: 113 (No route to host)]
ppsmimou has quit [Read error: 113 (No route to host)]
ppsmimou has joined #ocaml
gim has joined #ocaml
kinetik_ has joined #ocaml
_JusSx_ has joined #ocaml
kinetik__ has joined #ocaml
_Xar_ has quit [Read error: 110 (Connection timed out)]
flux__ has quit [Remote closed the connection]
pango_ has joined #ocaml
kinetik_ has quit [Read error: 110 (Connection timed out)]
Smerdyakov has quit ["Leaving"]
kinetik__ is now known as kinetik
Smerdyakov has joined #ocaml
<mattam> when are you arriving at Nice ?
<Smerdyakov> Jan. 15
<Smerdyakov> Do you agree with haelix's advice? :)
<mattam> yep
pango has quit [Remote closed the connection]
<mattam> except i didn't tip the theater guy last time ;)
^ChoJin^ has joined #ocaml
flux- has joined #ocaml
<mellum> Argh. Stupid ocaml can't even compile a list literal of a measly 3000 lines
<flux-> that sounds strange
<flux-> who would have putten such a limit into ocamlc..
<flux-> s/ten//
<mellum> stack limit...
<flux-> operating system?
<mellum> but compiling that should not take 8M on the stack
<flux-> you could increase it
<flux-> it could be a bug
lmbdwr has joined #ocaml
<mellum> Hmm, ulimit doesn't work.
<lmbdwr> evening all
<mellum> Crap, do I have to write a parser or what?
<pango_> mellum: maybe using $OCAMLRUNPARAM ?
<flux-> mellum, how is that a problem? can't you split the literal into multiple parts and combine them runtime?
<mellum> flux-: Splitting in half I alreday tried, doesn't work... I didn't feel like going further
<flux-> mellum, you could just write the literal into a file and load it :)
<flux-> or was that what you were referring to
<flux-> run it through sed 's/.*/"&" ^/'..
<mellum> flux-: that was what I was refering to... but it's fairly complex to parse
<pango_> export OCAMLRUNPARAM="l=256M" ?
<mellum> pango_: ah, that works.
<mellum> I really wonder why this takes so much stack...
<mellum> the literal should only take, like, 300k
<mellum> Hmm, how do I set this from a Makefile?
<flux-> an ordinary Makefile?
_JusSx__ has joined #ocaml
<mellum> yes
<flux-> I usually have some OCAMLC-variable
<flux-> you could replace that with OCAMLC=OCAMLRUNPARAM="..." ocamlc
<flux-> if that doesn't work, OCAMLC=env OCAMLRUNPARAM=l=256m ocamlc
ChoJin has quit [Read error: 110 (Connection timed out)]
<mellum> Hmm, 4M is already enough...
<delamon> mellum: why dont you use ocamlc.opt ?
<mellum> delamon: no idea. I should try that.
<mellum> delamon: ah, it works without runtime options... nice :)
Smerdyakov has quit ["Leaving"]
shans_home has quit ["Ex-Chat"]
_JusSx_ has quit [No route to host]
Oatmeat|umn has joined #ocaml
Z4rd0Z has quit [Read error: 104 (Connection reset by peer)]
Z4rd0Z has joined #ocaml
kinetik_ has joined #ocaml
pnou has joined #ocaml
kinetik has quit [Read error: 110 (Connection timed out)]
velco has quit ["I'm outta here ..."]
chojin__ has joined #ocaml
^ChoJin^ has quit [Read error: 110 (Connection timed out)]
jlouis_ has joined #ocaml
jlouis has quit [Read error: 110 (Connection timed out)]
pnou has quit ["leaving"]
_JusSx_ has joined #ocaml
_JusSx__ has quit [Read error: 110 (Connection timed out)]
MisterC has quit [Read error: 104 (Connection reset by peer)]
delamon has quit ["WeeChat 0.2.1"]
johnnowak has joined #ocaml
kinetik has joined #ocaml
mbishop_ has joined #ocaml
kinetik_ has quit [Read error: 110 (Connection timed out)]
kinetik_ has joined #ocaml
mbishop has quit [Read error: 113 (No route to host)]
metaperl has quit [Client Quit]
kinetik__ has joined #ocaml
_JusSx_ has quit [Client Quit]
kinetik has quit [Read error: 110 (Connection timed out)]
kinetik_ has quit [Read error: 110 (Connection timed out)]
mbishop_ is now known as mbishop
metaperl has joined #ocaml
Z4rd0Z has quit []
chojin__ is now known as ChoJin
postalchris has quit [Read error: 110 (Connection timed out)]
kinetik__ is now known as kinetik
postalchris has joined #ocaml
postalchris has quit [Client Quit]
kinetik_ has joined #ocaml
Z4rd0Z has joined #ocaml
Z4rd0Z has left #ocaml []