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!)
m3ga has quit ["disappearing into the sunset"]
comglz has quit ["bonne nuit"]
threeve has joined #ocaml
yangsx_ has joined #ocaml
saml has joined #ocaml
pango_ has quit [Remote closed the connection]
pango_ has joined #ocaml
jdh30 has joined #ocaml
jdh30 is now known as Guest85421
yangsx_ has left #ocaml []
Ched- has quit [Read error: 110 (Connection timed out)]
<Guest85421> Any Emacs gurus here?
psnively has quit []
<Myoma> I think there are more emacs gurus in #emacs but why do you ask?
<Myoma> btw maybe you should ask freenode to reset your nick? I don't know if they will but it might be worth a try
mfp has quit [Read error: 104 (Connection reset by peer)]
SanguineV has joined #ocaml
<Guest85421> Sorry.
<Guest85421> Yeah, I don't know about nicks: am an IRC noob.
<Guest85421> Anyway, my Linux box exploded and I am trying to get dev OCaml on a fresh Debian install on my Laptop.
<Myoma> I'm just saying it because you get changed into Guest85421 instead of jdh30
<Myoma> dunno if you care or not
<Guest85421> But XEmacs is doing weird indentation despite using Tuareg and I lack the Emacs fu to fix it.
mfp has joined #ocaml
bpadalino has joined #ocaml
<Myoma> mmm I don't know anything about XEmacs only normal emacs
<Guest85421> Myoma: Yeah, I don't know why my Nick gets changed. Someone is presumably trying to masquerade as me but I seriously doubt they will be rude enough to pull it off.
<Myoma> did it actually load tuareg? That's the only thing I can think of
<Myoma> hahaha
<Guest85421> Myoma: Well, how do you fix Tuareg in Emacs then? Piece of crap... :-(
<Myoma> it seems to just work .. does M-x describe-mode say that you are _actually_ in tuareg?
<Guest85421> Myoma: Tuareg is definitely loaded. It says (Tuareg Font Abbrev) and everything.
<Myoma> oh well, I am out of ideas sorry
<Myoma> oh you could check if there is any options wrt indentation in M-x customize-mode
<Guest85421> Myoma: Yes, describe-mode identifies Tuareg.
<Guest85421> Myoma: Doesn't seem to have a customize-mode
<Guest85421> Perhaps if I describe my trivial problem more explicitly.
<Myoma> I guess that customize-mode is only in the emacs I use
<Guest85421> Whenever I do a "let .. in" in a function the next line is indented and that sucks.
<Guest85421> Myoma: Ah, sorry. I was using XEmacs...
<Guest85421> Wow, Tuareg supports MetaOCaml.......................................
<Guest85421> Myoma: Ok, customize-mode allowed me to change the setting but I don't know how to leave it and get back to my OCaml code...
<Myoma> C-x k probably
<Guest85421> Myoma: Wonderful! All fixed. Thank you so much...
<Myoma> cool,
seafood has joined #ocaml
saml has quit ["Leaving"]
Guest85421 has quit ["using sirc version 2.211+KSIRC/1.3.12"]
sporkmonger has quit []
marmotine has quit ["mv marmotine Laurie"]
Camarade_Tux has quit [Read error: 110 (Connection timed out)]
Camarade_Tux has joined #ocaml
threeve has quit []
pango_ has quit [Remote closed the connection]
pango_ has joined #ocaml
tar_ has quit ["byebye"]
struktured has joined #ocaml
struktured has quit [Read error: 104 (Connection reset by peer)]
struktured has joined #ocaml
struktured has quit ["Konversation terminated!"]
struktured has joined #ocaml
<palomer> hrmph
<palomer> I need to split a string, so split_string "hah hoh huh" would return ["hah";"hoh";"huh"]
<palomer> ditto for " hah \t \n hoh huh"
<palomer> ahh, found it
<flux> palomer, btw, Str-lib isn't thread safe despite what the interface looks like, so use Pcre
<flux> if you aren't already using :)
<palomer> no threads here!
<flux> congratulations :)
<palomer> actually, there are:P
<palomer> forgot about gtk
<palomer> Pcre.split is hairier
<flux> more versatile, yes
<flux> write a wrapper function to make it work like StR?
coucou747 has joined #ocaml
bluestorm has joined #ocaml
mishok13 has joined #ocaml
Associat0r has joined #ocaml
Asmadeus has joined #ocaml
<flux> btw, does anyone have suggestions on how to make use of the polymorphic variants properly? you may find the example with /lastlog "module M =", or I can repaste it (two lines)..
<bluestorm> flux: i've used them; i felt the need for non-disjoint sum types
<bluestorm> i wanted to go through several AST pass, each of them modifying slightly the AST
<bluestorm> with the usual variant approach, you would declare a single AST type that would fit every pass (that is, most of the time some constructors would be unusued and even ill-defined at that time)
<flux> bluestorm, yeah, I was thinking in the context of that example
<bluestorm> or use different variants, so that the type information closely match the allowed constructors after each pass
<bluestorm> but then you've got a lot of repetition
<bluestorm> polymorphic variants are nice in that context
<flux> I've used them for cases where I can do pattern matching hierarchically, and then I'm left with something I can pattern match without the compiler telling me I don't handle all cases
ygrek has joined #ocaml
ygrek has quit [Remote closed the connection]
ttamttam has joined #ocaml
SanguineV has quit []
Yoric[DT] has joined #ocaml
<Yoric[DT]> hi
jlouis has quit [Remote closed the connection]
<ttamttam> Good morning (or evening, or whatever applies to each of you)
<Yoric[DT]> morning
bluestorm has quit [Remote closed the connection]
mfp_ has joined #ocaml
mfp has quit [Read error: 110 (Connection timed out)]
Yoric[DT] has quit ["Ex-Chat"]
OChameau has joined #ocaml
rwmjones has joined #ocaml
damg_ has joined #ocaml
eelte has joined #ocaml
coucou747 has quit [Read error: 104 (Connection reset by peer)]
egete has joined #ocaml
eelte has quit [Read error: 110 (Connection timed out)]
ofaurax has joined #ocaml
mfp_ is now known as mfp
tomh_-_ has joined #ocaml
hkBst has joined #ocaml
damg_ has quit [Read error: 104 (Connection reset by peer)]
Snark has joined #ocaml
Amorphous has quit [Read error: 110 (Connection timed out)]
rby has joined #ocaml
Amorphous has joined #ocaml
bluestorm has joined #ocaml
jonafan_ has joined #ocaml
gim has joined #ocaml
Ched- has joined #ocaml
jonafan has quit [Read error: 110 (Connection timed out)]
Yoric[DT] has joined #ocaml
coucou747 has joined #ocaml
Proteus has joined #ocaml
<Proteus> 'morning all
<Yoric[DT]> 'afternoon
bluestorm has quit [Remote closed the connection]
egete has quit [Read error: 110 (Connection timed out)]
<Proteus> I've got an odd problem. I really want to explore smartphone development - make some little apps, get some funding for my bigger projects - but my options are extremely limited. iPhone development is closed and requires an apple system for development. Google's androiid on the other hand is open, well documented, and exciting. Unfortunately, androiid only supports Java on it's custom jvm. I'm wonderin if anyone has tinkered with java-ocaml
<Proteus> on the android platform
<flux> doubtful, but you could be the first!
<Proteus> yay
<flux> actually I've thought of the same matter also, but for platforms other than android
<flux> (but mobile anyway)
<Smerdyakov> Proteus, doesn't everyone support JavaScript?
<flux> smerdyakov, depends what you mean by that. I don't know of a mobile phone that would the same level of access to javascript "applications" as it would for other native applications
<flux> "would allow"
<Proteus> Smerdyakov, for web stuff, but I'm aiming for more demanding applications. I expect using java plus the native calls would be much faster anyway
<Proteus> it's using webkit for the browser
<Proteus> I think that has pretty good JS support
<Smerdyakov> I wonder how long it will be before there is an open mobile platform, based on native binaries with proof-carrying code.
<Proteus> proof carrying? not sure about that, but check out openmoko
<Proteus> you can turn it into anything you want
<Smerdyakov> I probably would have heard about any system using PCC. I think I read about Openmoko a while back and didn't notice it.
<flux> didn't the new java class loader use some similar approach?
<Smerdyakov> flux, I said PCC for native code. I'm pretty sure nothing Java-y does that.
<flux> right
<flux> smerdyakov, but going fro PCC java to PCC native code is just one tiny step, right?-)
<Proteus> openmoko lets you reprogram it to be whatever you want it to be
<flux> in any case I don't know if native code is going to live long in mobile terminals.. I mean, it does restrict the future CPU choices quite a bit if you want to keep the applications
<flux> or perhaps that's ok, that once you upgrade you need to buy all your stuff again, atleast for the people who are selling them..
sporkmonger has joined #ocaml
<Smerdyakov> flux, no, it's a huge step.
<Smerdyakov> flux, especially if we're talking foundational PCC.
<Proteus> dream: if I was rich I would pump so much money into hiring people to expand the processors ocaml can target. sigh
<flux> I don't know much of PCC - much much else than the idea
<flux> proteus, perhaps you could hire people into writing an LLVM backend for OCaml and extend its targets?
<Proteus> LLVM really interests me.
Jedai has joined #ocaml
<Yoric[DT]> Smerdyakov: I haven't heard much about PCC in a few years...
Yoric[DT] has quit ["Ex-Chat"]
seafood has quit []
struktured has quit [Read error: 110 (Connection timed out)]
<Proteus> is there a future for ocaml in embedded systems? I know this is inrecedibly broad but I'm curious about the opinion of you far more expererenced developers
<Proteus> ^ of far more experienced developers
<Smerdyakov> I don't think there's much of a future for OCaml everywhere. Functional programming language technology is always improving.
<Smerdyakov> s/everywhere/anywhere
<Proteus> that's a strong statement. do you think ocaml is just going to slowly die?
<Smerdyakov> I hope it does. Why knows what will happen.
<Proteus> why do you hope that/
<Smerdyakov> Because we know how to build much better programming tools today
<Smerdyakov> s/Why/Who
<Proteus> any promising langugages/projects?
<Smerdyakov> See Coq for the limit of what you can do with programming languages.
<Smerdyakov> The issues now are just picking subsets of Coq with good type inference and good optimization.
<Eridius> does camlimages really not support reading/writing alpha in PNGs?
<Smerdyakov> I hope in the next month to release the first version of my web application programming language Ur/Web, which is an instance of a "universal language" Ur plus type inference and optimization customizations.
<Proteus> do you have more details pre-release?
<Smerdyakov> Just the information on the predecessor language: http://laconic.sf.net/
<Proteus> what makes this lang stand out?
<Smerdyakov> The information about Laconic/Web should be sufficient to give you the idea.
<Proteus> ok
<Eridius> the source in... CVS?!?
tylere has joined #ocaml
<flux> proteus, I'm not sure that a GC'd language is a good match for writing applications to systems with limited resources
<Smerdyakov> Eridius, it hardly matters, since you would want to wait for Ur/Web instead of you were interested. :P
<Smerdyakov> s/of you/if you
<flux> especially if you still run a real operating system in the device, and wish to run many of such applications
<flux> it will lead to much wasted memory
<Eridius> Smerdyakov: I'm just shocked
<flux> however, if you can put all your code into one process, it might work..
<Proteus> flux, I agreee, but having to write in java is madness and ocaml is rather lightweight
<Smerdyakov> Ur/Web cheats. No garbage collector, because you can just free _everything_ after each web request.
<Smerdyakov> And most memory is stack-allocated, anyway.
<flux> smerdyakov, so no long-lived sessions?
<Smerdyakov> flux, only through SQL databases, and eventually other subsystems satisfying a shared transactional interface
threeve has joined #ocaml
<kig> Eridius: i had to write my own bindings to libpng to load pngs with 8 bit alpha channel, the cvs version of camlimages may have that but i don't know
<Smerdyakov> flux, and there are also closures on the client side.
<kig> saving, probably same problem, though never went there
<Eridius> kig: well, camlimages 2.2 blows up if you try and save an Rgba32 or CMYK image, and I checked the code and when reading a png, it strips out any alpha channel
<Eridius> how the hell can someone design a library that a) supports alpha channel, and b) supports PNG, and *not* make them work together?!
<Eridius> half the point of using PNG is because it supports alpha!
<flux> eridius, perhaps you can patch it in?-)
<Eridius> yeah, sounds like a real quick patch
<Eridius> I can't even find any documentation on how to *use* camlimages
<flux> :)
<flux> eridius, are you familiar with other ocaml libraries?
<Eridius> the only thing that exists is a few examples, and the .mli files
<Eridius> flux: not really. I'm fairly new to OCaml. still just learning the ropes
<flux> eridius, right, just checking that you've found the .mli files :)
<Eridius> heh
<flux> which are crucial for familiarize oneself with any ocaml library
<Eridius> yeah
<Eridius> that's how I learned Hashtbl and Set
ttamttam has left #ocaml []
marmotine has joined #ocaml
<Proteus> Smerdyakov, I'm reading the front page of the link you sent me- audacious to say the least!
<Proteus> “can’t go wrong.” -- that's a very strong statement in CS so forgive me for being a little sceptical
<Proteus> you say this is an old version?
<Proteus> < reading pdf
<Proteus> < impressed
<Proteus> I would love a statically typed, functional, theoretically verifiable, alternative to RoR, based on the assured to terminate lambda calc, reliance on metaprograming, and on and on and on. I'm amazed you actually created this.
<Smerdyakov> "Can't go wrong" is standard from the theory of type safety.
<Smerdyakov> It doesn't mean that you didn't make mistakes in coding; it just means that the program won't crash.
<Proteus> oh, I know, I'm just more and more impressed as I read through your paper
ofaurax has quit [Read error: 104 (Connection reset by peer)]
<Proteus> I've had 'wouldn't it be cool if we had a system that worked like x" ideas for a while that are quite similar to what you actually accomplished. You're my hacker hero of the morning.
<Smerdyakov> :)
<Proteus> I mean that in all seriousness. I just don't trust the type systems and architechture commonly used in .... well, basically all web service/ system control languages in use. RoR is nice to play with but I would be more than leary of it if I was looking at it to run my business. There are too many unkowns. Security and robustness just aren't taken seriously by people that really really really should.
<Proteus> having a system/lang with assurance from the ground up is exactly the way it should be.
<Smerdyakov> My web stuff isn't just about security and robustness. It also boosts productivity dramatically.
<Proteus> exactly
<Proteus> what I mean by robutness is stuff like dynamic languages throwing weird edge case errors three years after you wrote the code and, of course, you wrote it fast because you could get something workinng out the door fast because the compiler is simply not checking for correctness
<Proteus> and end the end you spend more time and stress coding that way
<Smerdyakov> I hope that, in the next few years, Ur/Web will have a formal translation into Coq, so that it's really obvious that it's a sensible and safe language. You could also then use Coq to prove application-specific correctness properties.
<Proteus> I'm rambling a bit just to say I use the term 'robust' in a broad sense
<Proteus> how deep are you going to verify the language, compiler, etc?
<Smerdyakov> What does it mean to "verify a language"?
<Proteus> um
<Proteus> good point
<Proteus> it's morning here, haven't had my coffee ;-)
<Smerdyakov> The language will have a type-theoretic semantics, which is good enough for me.
<Smerdyakov> I also hope to verify total correctness of the compiler eventually.
<Smerdyakov> That's probably at least 5 years off, to even start that.
<Smerdyakov> But I expect I'll have a verified compiler for Core ML by this time next year.
<Proteus> that's a pretty monumental task unless the compiler is for brainfuck
<Proteus> and you're using Coq to do it all or are you using other tools?
<rwmjones> someone's calling people listed on cocan.org looking to hire an ocaml programmer
<Smerdyakov> Proteus, I'm using Coq. See my web site: http://adam.chlipala.net/
haskellian has joined #ocaml
<Smerdyakov> rwmjones, sounds lame from the start. Good people interested in OCaml tend already to know lots of good OCaml programmers. :D
* Smerdyakov leaves.
<Proteus> internet start up company based on type theory --- that's just a kickass thing to be able to say
<flux> smerdyakov, they might all be employed, though ;)
<Proteus> I'm the only ocaml progammer I know.
<Proteus> my evangalizing has so far been unsucsessful
<Proteus> "but my boss is making me do mind numbing stuff with sharepoint and non MS languages are verboten"
<flux> proteus, F# then.. ;)
<Proteus> even though I'm a lowly undergrad, I can't get my peers interested.
<Proteus> flux, that's exactly what I try to push
<Proteus> but if it's not asp.net, c#, c, c++, java, javascripit, python, ruby, etc I keep being told that ML syntax is too _weird_ (!), like javascript is such a fantastic language
<haskellian> is there no fold or reduce function in ocaml? i tried to write one but cant get it to work: http://hpaste.org/10118
<rwmjones> haskellian, for lists? Use List.fold_left or List.fold_right
* rwmjones taunts C programmers ... http://lwn.net/Articles/296869/
<flux> proteus, javascript isn't all bad, for a language without a type system ;)
<Proteus> haha
<haskellian> yes, ty. anyone can tell me whats wrong with my function?
<Proteus> with google's chrome, I'm resigned to learning javascript beyond basics.
<haskellian> how do I write lambdas with multiple arguments? like foldl (\x y -> x+y)
<rwmjones> haskellian, just look in the stdlib implementation of List.fold_left
<rwmjones> easiest way to do your homework
<Proteus> - tangent - I'm not familiar with the internals of the ocaml compiler but now that I've decided to work on some android, maybe iphone, apps I'd like to know how hard it would be to target the ARM processors being used in smarphones
<Proteus> ^smartphones
<tsuyoshi> there is arm support in the native compiler
<tsuyoshi> probably not too hard
<Proteus> yes but I understand it's woefully out of date
<tsuyoshi> is it?
<flux> I'm guessing it's more difficult to port the OCaml compiler to new platforms than just writing module Foo : ISA = struct .. end module Bar = Compiler.Make(Foo) ;)
<Proteus> I'm guessing there's a lack of funding :(
<bacam> Proteus: If the ARM processor has enough hardware floating point (VFP) and the OS supports it then it'd probably be easy to port.
<hcarty> Proteus: There are, at least, bug fixes listed for 3.10.2 for ARM
<Proteus> bacam, if I decided to do it myyself, where would I start?
<tsuyoshi> do smartphones have fpus?
<Proteus> I don't think many of them do but I could be embarassingly wrong about that
<tsuyoshi> it can't be too hard to add soft fp support to the code generator..
<bacam> tsuyoshi: It requires allocating registers in certain pairs.
<tsuyoshi> it should just be a matter of substituting fp instructions with calls to the appropriate routines in the softfp library
<bacam> Proteus: I think you'd start by trying to find out if your target actually supports VFP.
<tsuyoshi> bacam: but could you just push/pop registers to get around that?
<flux> how about a more direct approach of replacing the +. etc operators with real function calls?-)
struktured has joined #ocaml
<bacam> tsuyoshi: Maybe...
<tsuyoshi> flux: that could work too.. assuming the runtime doesn't use any floating point
<flux> tsuyoshi, I can't imagine what it would use it for..
<bacam> Alternatively you could just ditch floating point support.
<bacam> You'd just have to rip out some carefully chosen pieces of code.
<tsuyoshi> hrm.. could probably just use bignums instead for most things
<tsuyoshi> e.g. the unix library uses floats for file timestamps
<haskellian> can I match with _ like in Hakell(doesnt work)?
<flux> haskellian, you can.
<tsuyoshi> I was interested in porting ocaml to rockbox but my mp3 player was stolen the other day and I've kinda lost my motivation
<flux> darn
<flux> I have iRiver iHP-120 with rockbox :)
<Proteus> perhaps, for now, i'd be easier to push ocaml bytcode onto the jvm like ocaml-java. at least that doesn't require companies like apple and goole to take a leap on our somewhat obscure language
<tsuyoshi> assuming you can get arm code generation working.. the hardest thing is memory allocation
<Proteus> I'm going to do some tests to see if I can get ocaml-java running on android
<tsuyoshi> ocaml wants malloc or mmap but the rockbox developers want everything to allocate staticly
<flux> tsuyoshi, is it a platform limitation?
<flux> tsuyoshi, so is later allocation possible at all?
<tsuyoshi> well, there's no mmu
<flux> so, there's no virtual memory, but I suppose it has memory management functions anyway..
<haskellian> don't you find not being able to do int+float incredibly annoying even after a long time of ocaml-programming?
<tsuyoshi> I was just gonna have it staticly allocate 24 megs and then use doug's malloc with that pool
<tsuyoshi> flux: there's a plugin api which I was going to target.. and they provide no memory allocation in the api
<hcarty> haskellian: It catches potential bugs at compile time. float_of_int or int_of_float isn't that generally that much of a problem to type
<tsuyoshi> in c you're just supposed to use static variables
<hcarty> haskellian: So, not particularly
itewsh has joined #ocaml
<flux> tsuyoshi, how about targetting the core system?
<flux> I suppose targetting plugin system would have been a good first step, though
<jynxzero> haskellian: Do you find it annoying in haskell, where you also can't do int+float ?
<tsuyoshi> flux: it could probably be done.. the settings and file/database browser use something very similar to the plugin api iirc
<haskellian> is there a wiki for ocaml? not tutorial but more like a dictionary?
<flux> haskellian, what do you mean by dictionary?
mishok13 has quit [Connection timed out]
<haskellian> I want to be able to look up expressions and so
<haskellian> i cant even find a turorial that explaisn multivariable lambdas
<haskellian> (function | x -> x*x) but how to do folds? (function | x y -> x+y)
<flux> haskellian, perhaps the syntax description is the closest to a dictionary, then: http://caml.inria.fr/pub/docs/manual-ocaml/expr.html
<jynxzero> haskellian: "function" is for pattern matching, it's like a combination of "fun" and "match"
<jynxzero> You probably want (fun x y -> ... )
<jynxzero> Which is a lambda with two variables.
<hcarty> haskellian: The manual in general is quite useful and readable
<haskellian> jynx: a thanks
<jynxzero> NPs.
<flux> ah, I hadn't realized one could give "when" to "fun"
<flux> very useless though, unless one disables the associated compiler warning
pango_ has quit [Remote closed the connection]
pango_ has joined #ocaml
<haskellian> i stilll dont get how to use _
<flux> let _ = 4
<flux> match 4 with _ -> ()
<flux> let a b _ = b + 3
<kig> haskellian: skimming through this might help you out: http://glimr.rubyforge.org/cake/prelude.ml , well, after it gets to functions that actually do something
<flux> function cannot be used with two arguments
<flux> let rec fac_t n acc = function
<flux> whops
<flux> let rec fac_t n acc = match (n, acc) with | (n, _) -> .. will work
<haskellian> ah thanks
struktured_ has joined #ocaml
struktured has quit [Read error: 104 (Connection reset by peer)]
<haskellian> so would you consider this idiomatic Ocaml?
<flux> no
<flux> there's no point in matching acc when it's always matched against _
<flux> match (n, acc) with .. -> match n with | 0 -> acc | n -> ..
<Camarade_Tux> concerning ocaml on arm, there are cross-compilation scripts, they need some porting to 3.10 but that's not very hard
<haskellian> true, i was messing things up, now then: http://hpaste.org/10121
<flux> haskellian, that's ok, although it doesn't handle the case when n is negative
<flux> also you can add memoization ;)
<flux> hmph, well perhaps not, I was thinking fib
DerDracle has quit [Read error: 104 (Connection reset by peer)]
<haskellian> how can it say 1 is not matched? it is and returns 1. also is that the way to go, make it throw a pattern match exception for n < 0 ?
<flux> "when"-patterns cannot be considered when checking for exhaustiveness
<flux> one approach is to match with 0 -> .. | n -> .. | _ when n < 0 -> failwith "UAARGH"
<flux> uh
<flux> NOT
<flux> more like: 0 -> .. | n when n > 0 -> .. | _ -> failwith "UAARGH"
struktured_ has quit [Remote closed the connection]
<Camarade_Tux> an assert in the non-rec function could also fit
<flux> right, no sense in slowing down the loop
<haskellian> how do I do asserts?
<haskellian> when is an assert?
<flux> assert (n > 0); before the call to recursive function
<haskellian> i get syntax errors trying that, what is the syntax?
<flux> that's the syntax.
<haskellian> got it
<gildor> Camarade_Tux: are you ok that assert got removed when "-noassert"
<gildor> i.e. that you can even place it into rec function
<haskellian> so now, finally, idiomatic ocaml? http://hpaste.org/10124
<gildor> haskellian: i think so
<haskellian> http://hpaste.org/10125, power how would one do that without whens then?
<haskellian> it works perfectly, just the compiler that complains
<haskellian> or actually fails for power 5.4 2.3
haskellian has left #ocaml []
Linktim has joined #ocaml
<Camarade_Tux> gildor, yes (I just don't often use assertions and forgot about -noassert ;) )
<Camarade_Tux> in fact I think I've only used for factorial ;p
<Camarade_Tux> also, has anyone started bindings to lzma and/or 7zip ?
bluestorm has joined #ocaml
OChameau has quit ["Leaving"]
mfp has quit [Read error: 104 (Connection reset by peer)]
coucou747 has quit ["bye ca veut dire tchao en anglais"]
mfp has joined #ocaml
Proteus has quit [Read error: 104 (Connection reset by peer)]
Proteus has joined #ocaml
itewsh has quit [Read error: 110 (Connection timed out)]
det has joined #ocaml
Yoric[DT] has joined #ocaml
gk has joined #ocaml
<gk> hello, suppose I have variant type with about 30 variants and I want to write function that changes one of these veriants into other while not touching others
<Smerdyakov> What have you tried? I think the most obvious implementation should work.
<gk> I suppose I should use match for this but is there any way to not mention all those 29 variants I don't need? (something like default match)
<Smerdyakov> I suggest reading the manual on the grammar of patterns. I think you will find what you're looking for.
<gk> I must be blind them
* gk goes to read it again
<Smerdyakov> Be sure you're reading the reference section, which has an exhaustive grammar; not the tutorial.
marmotine has quit ["mv marmotine Laurie"]
<gk> Smerdyakov: you mean #foo where foo is my type name?
<Smerdyakov> OK, I have to just spit it out: did you try a variable pattern for your default case?
jonafan_ is now known as jonafan
<Smerdyakov> A wildcard should be just as good for regular variants, but not necessarily for polymorphic variants.
itewsh has joined #ocaml
rby has quit [zelazny.freenode.net irc.freenode.net]
Asmadeus has quit [zelazny.freenode.net irc.freenode.net]
Myoma has quit [zelazny.freenode.net irc.freenode.net]
kig has quit [zelazny.freenode.net irc.freenode.net]
kelaouchi has quit [zelazny.freenode.net irc.freenode.net]
tylere has quit [zelazny.freenode.net irc.freenode.net]
itewsh has quit [zelazny.freenode.net irc.freenode.net]
Snark has quit [zelazny.freenode.net irc.freenode.net]
sbok has quit [zelazny.freenode.net irc.freenode.net]
travisbemann has quit [zelazny.freenode.net irc.freenode.net]
fremo has quit [zelazny.freenode.net irc.freenode.net]
jynxzero has quit [zelazny.freenode.net irc.freenode.net]
mrvn has quit [zelazny.freenode.net irc.freenode.net]
haelix has quit [zelazny.freenode.net irc.freenode.net]
Associat0r has quit [zelazny.freenode.net irc.freenode.net]
pattern has quit [zelazny.freenode.net irc.freenode.net]
Mr_Awesome has quit [zelazny.freenode.net irc.freenode.net]
svenl has quit [zelazny.freenode.net irc.freenode.net]
shortc|desk has quit [zelazny.freenode.net irc.freenode.net]
tab has quit [zelazny.freenode.net irc.freenode.net]
hnr has quit [zelazny.freenode.net irc.freenode.net]
jderque has joined #ocaml
itewsh has joined #ocaml
tylere has joined #ocaml
rby has joined #ocaml
Snark has joined #ocaml
Asmadeus has joined #ocaml
Associat0r has joined #ocaml
pattern has joined #ocaml
Myoma has joined #ocaml
Mr_Awesome has joined #ocaml
sbok has joined #ocaml
kig has joined #ocaml
travisbemann has joined #ocaml
svenl has joined #ocaml
kelaouchi has joined #ocaml
shortc|desk has joined #ocaml
fremo has joined #ocaml
jynxzero has joined #ocaml
mrvn has joined #ocaml
haelix has joined #ocaml
hnr has joined #ocaml
tab has joined #ocaml
<gk> Smerdyakov: ah, ok, how can I overlook that, thanks
sporkmonger has quit [Connection reset by peer]
sporkmonger has joined #ocaml
palomer has quit [Read error: 110 (Connection timed out)]
palomer has joined #ocaml
pango_ has quit [Remote closed the connection]
Linktim_ has joined #ocaml
psnively has joined #ocaml
Snark has quit ["Ex-Chat"]
Linktim has quit [Read error: 113 (No route to host)]
Ched- has quit [Remote closed the connection]
Ched- has joined #ocaml
Vital303 has joined #ocaml
Linktim_ has quit ["Quitte"]
smimram has quit ["bli"]
Yoric[DT] has quit ["Ex-Chat"]
smimou has joined #ocaml
smimou has quit [Client Quit]
jderque has left #ocaml []
smimou has joined #ocaml
<Camarade_Tux> just for the record, a few days ago, someone asked for a translation of the tutorial for binding c++ to ocaml, from what I've (quickly) gathered, it's just a matter of adding extern "C"
itewsh has quit ["KTHXBYE"]
threeve has quit []
pango_ has joined #ocaml
Asmadeus has quit ["nighters"]
struktured has joined #ocaml
struktured has quit [Remote closed the connection]
struktured has joined #ocaml
struktured has quit ["Konversation terminated!"]
struktured has joined #ocaml
bluestorm has quit [Remote closed the connection]
hkBst has quit [Read error: 104 (Connection reset by peer)]
pango_ has quit ["I shouldn't really be here - dircproxy 1.0.5"]
tomh_-_ has quit ["http://www.mibbit.com ajax IRC Client"]
seafood has joined #ocaml
Infamous_Cow has joined #ocaml
Infamous_Cow has left #ocaml []
struktured has quit [Read error: 110 (Connection timed out)]
threeve has joined #ocaml
struktured has joined #ocaml