flux changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | 3.11.0 out now! Get yours from http://caml.inria.fr/ocaml/release.html
kara-away has joined #ocaml
<kara-away> I'm trying to set up ocaml 3.9.3 in order to use HOL Light. My OS is Ubuntu (Hardy). I followed the installation instructions and I thought I'd avoided errors, but I get a "no such file or directory" message when I type ocaml. I first compiled/installed it from the Desktop directory, uninstalled it with sudo apt-get remove, and reinstalled it in a different directory.
<kara-away> I did get ocaml to run when it was on the Desktop..
<kara-away> I've read the read-me and installation instructions, but there must be something I'm missing. Any advice?
<mrvn> just apt-get install ocaml
<kara-away> that gets me the latest version, which won't work with HOL Light.
<kara-away> I need a version prior to 3.10
<mrvn> bummer.
<kara-away> is there some reason why it would only be happy if I put it on the Desktop
<mrvn> dig out an older package from an older debian then.
<mfp> is there a 3.9 section for GODI?
<mfp> + still available
<kara-away> I don't know what GODI is. I'm very new to this.
<mrvn> or upgrade HOL whatever that is
<kara-away> the latest version available doesn't work with ocaml 3.10 and beyond.
<mrvn> kara-away: upgrade it to work with 3.11
<kara-away> HOL Light is a theorem proving thing. I'm a math PhD student, and I have the opportunity to do some research with a sorta famous guy, but I need to figure this out before I say yes. ;)
<mfp> kara-away: GODI is a source-based OCaml distro http://godi.camlcity.org/godi/index.html
<mrvn> Might be enough to just rebuild HOL.
<kara-away> I have no idea how to do that.
<kara-away> Is there some reason why ocaml will work when I tell it to live on the Desktop, but not if I put it somewhere else?
<mrvn> no
<mfp> kara-away: it should be possible to install OCaml 3.09 by following the steps in the page I linked to (with --section 3.09). This allows you to install w/ the prefix of your choice.
<mrvn> But there is a reason why you might not find it. Check your PATH
<kara-away> my path should point to the folder, right?
<mrvn> among others
<mrvn> and folder might be folder/bin
<mfp> (OTOH if OCaml alone is enough, you don't want to install it through GODI)
<kara-away> I'm looking at GODI, but it does seem like overkill. :-/
<mfp> if you only want OCaml itself, it is, indeed
<kara-away> I'm a little mystified. I'm going to clean up as best as I can and give it another try.
<kara-away> thanks for the input.
rhar has joined #ocaml
<_andre> does anyone know how to do the equivalent of '#load "unix.cma"' programatically, with the Toploop module?
oriba has quit ["Verlassend"]
vuln has joined #ocaml
<vuln> Hello there :)
<vuln> Why 24 mod 25 tells me 24?
<bjorkintosh> 'cause it wanted to see if you were paying attention?
<vuln> ...
<brendan> what were you expecting?
<vuln> no idea
<vuln> but 24 is not in the scope of 'no idea' hehe
<vuln> :D
<vuln> In x mod y, when x/y is < 1, mod yells x?
<brendan> yes
<brendan> 0 remainder x
<vuln> thank you very much :)
seafood has joined #ocaml
rhar has quit ["Leaving"]
seafood has quit [Read error: 104 (Connection reset by peer)]
seafood has joined #ocaml
seafood has quit [Client Quit]
seafood has joined #ocaml
bacam has quit [Read error: 60 (Operation timed out)]
bacam has joined #ocaml
<kara-away> I am really perplexed. I downloaded the tar.gz for ocaml 3.8.3, and when I install it, I'm somehow running ocaml 3.10.
<hcarty> kara-away: Do you still have the Ubuntu package(s) installed?
<kara-away> no, I did sudo aptitude remove
<mrvn> on all the ocaml packages?
<kara-away> I sure thought so.
<mrvn> which ocaml
<mrvn> and then dpkg -S ....
ched_ has quit [Read error: 101 (Network is unreachable)]
ched_ has joined #ocaml
seafood has quit []
<kara-away> what the hell. I finally decided it might be easier to see exactly how buggy HOL Light was in the new ocaml
<kara-away> so I did sudo aptitude ocaml, etc.
<kara-away> set up hol light
<kara-away> typed ocaml... and it's version 3.8.2, like I was trying to get before.
<kara-away> There is something really stupid going on in my brain, because I trust my computer. :(
<_andre> does anyone have an ocaml.vim file that is compatible with the 3.11 .annot format?
seafood has joined #ocaml
seafood has quit []
catface has quit []
<kaustuv> kara-away: belated, but HOL-Light works fine for me on OCaml 3.11.0.
<kara-away> hm, really?
<kaustuv> You'll need the experimental version 3.20+ from John's web page, of course
<kara-away> I finally got another version of ocaml going, but I'm getting an error from HOL Light now. Do you mind if I PM it to you? Maybe you have some idea what's wrong. Mostly, it looks like it hates pa_j.ml and it can't make pa_j.cmo
<kaustuv> err, make that 2.20+, and sure
<kara-away> that's still using ocaml 3.8.2
seafood has joined #ocaml
bohanlon has joined #ocaml
thermoplyae has left #ocaml []
kaustuv is now known as kaustuv__
_andre has quit ["leaving"]
<kara-away> I downloaded and installed ocaml-3.11.0, but it still shows the version as 3.10. I've tried sudo apt-get remove, purge, etc., and I can't seem to get to the point where I type ocaml and it tells me I don't have it. help?
<hcarty> kara-away: "which ocaml"
<hcarty> That will tell you where it's finding the executable
<kara-away> thank you.
<kara-away> ...I give up for now. I managed to remove it, confirm that it was gone, and start over from scratch. Now it can't find anything again.
<mrvn> hash -r
<kara-away> what does that do?
<mrvn> search the path again
<kara-away> it looks like it should have gone in /usr/local/bin, but it's not there.
<kara-away> no errors with ./configure, no errors with make world.opt, no errors with make install.
<kara-away> the error I get tells me to do "sudo apt-get install ocaml-interp", but when I do that, I'm informed that I already have the newest version. :)
<kara-away> maybe it's time to just try again tomorrow.
<thelema_> maybe you'll think better tomorrow
<kara-away> maybe. I don't really know what I'm doing and I've been at this for hours, so my brain isn't contributing anything at this point.
seafood has quit []
vuln has quit ["leaving"]
kara-away has quit ["Leaving."]
Asmadeus has quit [calvino.freenode.net irc.freenode.net]
bjorkintosh has quit [calvino.freenode.net irc.freenode.net]
bj`sleep has quit [calvino.freenode.net irc.freenode.net]
kaustuv__ has quit [calvino.freenode.net irc.freenode.net]
maxote has quit [calvino.freenode.net irc.freenode.net]
lutter has quit [calvino.freenode.net irc.freenode.net]
caligula_ has quit [calvino.freenode.net irc.freenode.net]
mrvn has quit [calvino.freenode.net irc.freenode.net]
jedai has quit [calvino.freenode.net irc.freenode.net]
ertai has quit [calvino.freenode.net irc.freenode.net]
holgr has quit [calvino.freenode.net irc.freenode.net]
smimou has quit [calvino.freenode.net irc.freenode.net]
bohanlon has quit [calvino.freenode.net irc.freenode.net]
tab__ has quit [calvino.freenode.net irc.freenode.net]
animist has quit [calvino.freenode.net irc.freenode.net]
Mr_Awesome has quit [calvino.freenode.net irc.freenode.net]
kg4qxk has quit [calvino.freenode.net irc.freenode.net]
authentic has quit [calvino.freenode.net irc.freenode.net]
TaXules has quit [calvino.freenode.net irc.freenode.net]
svenl_ has quit [calvino.freenode.net irc.freenode.net]
bacam has quit [calvino.freenode.net irc.freenode.net]
komar_ has quit [calvino.freenode.net irc.freenode.net]
Amorphous has quit [calvino.freenode.net irc.freenode.net]
Ori_B has quit [calvino.freenode.net irc.freenode.net]
gim has quit [calvino.freenode.net irc.freenode.net]
ido has quit [calvino.freenode.net irc.freenode.net]
patronus has quit [calvino.freenode.net irc.freenode.net]
haelix has quit [calvino.freenode.net irc.freenode.net]
tarbo2 has quit [calvino.freenode.net irc.freenode.net]
ched_ has quit [calvino.freenode.net irc.freenode.net]
thelema_ has quit [calvino.freenode.net irc.freenode.net]
rwmjones has quit [calvino.freenode.net irc.freenode.net]
jlouis has quit [calvino.freenode.net irc.freenode.net]
mikeX_ has quit [calvino.freenode.net irc.freenode.net]
jonafan has quit [calvino.freenode.net irc.freenode.net]
l_a_m has quit [calvino.freenode.net irc.freenode.net]
jamii_ has quit [calvino.freenode.net irc.freenode.net]
mfp has quit [calvino.freenode.net irc.freenode.net]
det has quit [calvino.freenode.net irc.freenode.net]
delroth has quit [calvino.freenode.net irc.freenode.net]
bebui has quit [calvino.freenode.net irc.freenode.net]
kaustuv_ has quit [calvino.freenode.net irc.freenode.net]
olegfink has quit [calvino.freenode.net irc.freenode.net]
acatout has quit [calvino.freenode.net irc.freenode.net]
Hadaka has quit [calvino.freenode.net irc.freenode.net]
totom has quit [calvino.freenode.net irc.freenode.net]
dsturnbull has quit [calvino.freenode.net irc.freenode.net]
bartiosze has quit [calvino.freenode.net irc.freenode.net]
mishok13 has quit [calvino.freenode.net irc.freenode.net]
kelaouchi has quit [calvino.freenode.net irc.freenode.net]
r0bby has quit [calvino.freenode.net irc.freenode.net]
sanguinev has quit [calvino.freenode.net irc.freenode.net]
maskd has quit [calvino.freenode.net irc.freenode.net]
munga 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]
mal`` has quit [calvino.freenode.net irc.freenode.net]
mbishop_ has quit [calvino.freenode.net irc.freenode.net]
kig has quit [calvino.freenode.net irc.freenode.net]
peper has quit [calvino.freenode.net irc.freenode.net]
tomaw has quit [calvino.freenode.net irc.freenode.net]
petchema has quit [calvino.freenode.net irc.freenode.net]
ppsmimou has quit [calvino.freenode.net irc.freenode.net]
gildor has quit [calvino.freenode.net irc.freenode.net]
tsuyoshi has quit [calvino.freenode.net irc.freenode.net]
sitaktif has quit [calvino.freenode.net irc.freenode.net]
flux has quit [calvino.freenode.net irc.freenode.net]
ski__ has quit [calvino.freenode.net irc.freenode.net]
shortc|desk has quit [calvino.freenode.net irc.freenode.net]
bohanlon has joined #ocaml
ched_ has joined #ocaml
bacam has joined #ocaml
tomaw has joined #ocaml
Camarade_Tux has joined #ocaml
jamii_ has joined #ocaml
thelema_ has joined #ocaml
kaustuv__ has joined #ocaml
lutter has joined #ocaml
komar_ has joined #ocaml
Amorphous has joined #ocaml
bj`sleep has joined #ocaml
petchema has joined #ocaml
Asmadeus has joined #ocaml
bjorkintosh has joined #ocaml
mikeX_ has joined #ocaml
Ori_B has joined #ocaml
jeremiah has joined #ocaml
Mr_Awesome has joined #ocaml
jonafan has joined #ocaml
maxote has joined #ocaml
caligula_ has joined #ocaml
smimou has joined #ocaml
ido has joined #ocaml
patronus has joined #ocaml
haelix has joined #ocaml
tarbo2 has joined #ocaml
bebui has joined #ocaml
olegfink has joined #ocaml
kaustuv_ has joined #ocaml
kig has joined #ocaml
peper has joined #ocaml
shortc|desk has joined #ocaml
flux has joined #ocaml
sitaktif has joined #ocaml
Hadaka has joined #ocaml
acatout has joined #ocaml
ski__ has joined #ocaml
tsuyoshi has joined #ocaml
kg4qxk has joined #ocaml
svenl_ has joined #ocaml
TaXules has joined #ocaml
delroth has joined #ocaml
gildor has joined #ocaml
mbishop_ has joined #ocaml
jlouis has joined #ocaml
l_a_m has joined #ocaml
det has joined #ocaml
mfp has joined #ocaml
mal`` has joined #ocaml
rwmjones has joined #ocaml
gim has joined #ocaml
authentic has joined #ocaml
ppsmimou has joined #ocaml
tab__ has joined #ocaml
animist has joined #ocaml
jedai has joined #ocaml
mrvn has joined #ocaml
ertai has joined #ocaml
holgr has joined #ocaml
totom has joined #ocaml
dsturnbull has joined #ocaml
bartiosze has joined #ocaml
mishok13 has joined #ocaml
kelaouchi has joined #ocaml
r0bby has joined #ocaml
sanguinev has joined #ocaml
maskd has joined #ocaml
munga has joined #ocaml
seafood has joined #ocaml
kig_ has joined #ocaml
kig has quit [Nick collision from services.]
kig_ is now known as kig
kig_ has joined #ocaml
ygrek has joined #ocaml
kaustuv__ has quit [Read error: 113 (No route to host)]
bj`sleep has quit []
StoneHand has joined #ocaml
<StoneHand> Hello, as a somewhat experienced programmer I hate to ask such a newbie question but I can't seem to figure this out in OCaml: I'm creating a class/object with a data member which is basically a screen handle. The thing is I can't initialise this handle until a library (in this case SDL) has been initialised. In the end I'd like to access the screen as a member of the holding class if possible without the handle being returned through an acce
<StoneHand> ssor method. If anyone has a quick solution or something to read I'd very much appreciate it.
<StoneHand> I'm guessing since the object itself is its own constructor (correct) I'd just the initialisation out in the open, sort of like what is often done in JavaScript, but I can't seem to figure out how exactly such syntax would go.
<StoneHand> Also, sorry for my poor English.
kaustuv_ is now known as kaustuv
<StoneHand> kaustuv: that's quite clear, so anything before the object declaration acts as an initializer?
<kaustuv> Sure, you'd initialize the SDL library as needed before creating the object.
<StoneHand> so I can't initialize the SDL library during the object creation?
<StoneHand> perhaps I think too much in C/C++
<StoneHand> err, C++ rather
<kaustuv> You can certainly do it during creation. For example (pseudocode, I don't actually know how the SDL library works):
<kaustuv> let make_object sdl_init_args =
<kaustuv> let sdl =initialize_sdl sdl_init_args in
<kaustuv> object val handle = sdl method getScreen = handle#screen end
<kaustuv> oops, the first let should be a class
sitaktif has quit [Read error: 113 (No route to host)]
sitaktif has joined #ocaml
<StoneHand> thank you very much, kaustuv, I'll give that a shot now
<kaustuv> You can even drop the val handle = sdl bit if you want to keep the handle secret.
<flux> objects do have initializers also
<flux> it sort of depends which fits the purpose
<kaustuv> Yes, anonymous initializers as mentioned in the link above is what you'd need if you want to access the fields and methods of the object during the initialization.
ched_ has quit [Read error: 60 (Operation timed out)]
ygrek has quit [Remote closed the connection]
ched_ has joined #ocaml
Ppjet6 has joined #ocaml
Alpounet has joined #ocaml
<Alpounet> hi there
Yoric[DT] has joined #ocaml
Yoric[DT] has quit ["Ex-Chat"]
s4tan has joined #ocaml
<StoneHand> in an initializer one can't use let, correct?
<StoneHand> I've got things kind of working now, but I still don't have the screen handle accessable as a member of the class
kig has quit ["leaving"]
kig_ is now known as kig
<Alpounet> paste some code :)
<StoneHand> oops, I think I just figured it out
<StoneHand> I had attempted to initalize it with "var" and that didn't work, then I realized I had misread the documentation and I tried "val" and it didn't throw any errors at me
<StoneHand> crap, now how do I access it? class terminal_subsystem =
<StoneHand> object (self)
<StoneHand> initializer
<StoneHand> Sdl.init [`VIDEO; `AUDIO];
<StoneHand> at_exit Sdl.quit;
<StoneHand> Sdlttf.init ();
<StoneHand> at_exit Sdlttf.quit;
<StoneHand> Sdlmixer.open_audio ();
<StoneHand> at_exit Sdlmixer.close_audio;
<StoneHand> val screen = Sdlvideo.set_video_mode 400 400 [`DOUBLEBUF];
<StoneHand> end;;
<StoneHand> let dtsys = new terminal_subsystem;;
<StoneHand> so, dtsys.screen? dtsys#screen?.... taking me a while to pull my head out of the C++/Java world
<StoneHand> do I need to use accessors?
<StoneHand> reading that now
<StoneHand> ok, so I have the val screen.... as you can see above, I created an accessor above that: method get_screen = screen
<StoneHand> it reports screen is unbound
<kaustuv> StoneHand: method get_screen = #screen
<kaustuv> but simply dtsys#screen should work
<StoneHand> aaaaaaah
<StoneHand> is # only for methods?
<StoneHand> I get the error This expression has type terminal_subsystem
<StoneHand> It has no method screen
<kaustuv> Actually, oops, I think I might have misunderstood your question.
<StoneHand> Well I didn't show how I was trying to access it either: Sdlvideo.blit_surface ~dst_rect:position_of_image ~src:image ~dst:dtsys#screen ();
<kaustuv> Can you paste your code somewhere? http://ocaml.pastebin.com for example.
<StoneHand> wow, that's handy
<StoneHand> I'm trying to modify the example code for SDL http://wiki.njh.eu/OCaml_and_SDL example 2
<StoneHand> I prefer to have a clean set of global objects in C++ or Java, so I am trying to emulate something like that here
<StoneHand> ideally I'd be using some sort of singleton here... but I'll leave such intracaies and details untill another day...
<StoneHand> thanks so much for helping me out
<kaustuv> One sec...
<StoneHand> no rush, I'm just grateful you would take the time to help me
<kaustuv> Here's a simple example of how to initialize a field in an initializer. http://ocaml.pastebin.com/d5a35a0c8
<StoneHand> interesting, thank you very much
verte has joined #ocaml
raven79 has joined #ocaml
<StoneHand> kaustuv: sorry, still no dice. it complains about how screen is of type sdlvideo, and the reference is 'a. Is there no way to intialize a variable within an initializer and then access it within or outside of the object?
<StoneHand> I'm terribly confused at this point
<StoneHand> I guess to rephrase if: I would like to bind something in a particular order within an initializer, then reference/use it outside of the initializer
<StoneHand> GOT IT
seafood_ has joined #ocaml
<StoneHand> I'd just like to thank everyone here for not yelling at me and helping me out. kaustuv, you were particularly helpful and I really appreciate your patience and time
<StoneHand> just one last question, for the initialisation order in OCaml, are the directives in the initializer section processed before the initilization of vals within the object?
<flux> mrvn, garrigues' idea looks like a really nice solution to your problem :)
<flux> stonehand, no, because the values exist at the initializer already
<flux> and there is no such thing in ocaml 'exists, but is not initialized'
<StoneHand> flux: that's precisely what was perplexing me. I have a value that needs to be initialized after a subsystem, but it needs to be a public value within the object and the object is created globally so there is no guaranteed construction order (or is there in OCaml?)
<kig> i have a new programming credo "if it has array indexing, it has a bug"
OChameau has joined #ocaml
<flux> stonehand, there is. the order of initialization for modules is the linking order in the command line, and the order of performing initializations in a module is up-down
seafood has quit [Read error: 110 (Connection timed out)]
<kaustuv> kig: that's a stupid credo unless you never need to use strings
<kaustuv> or, I guess, if you are fine with using programs you consider buggy
<StoneHand> flux: so you mean to say I should create a seperate class for initilization, put both classes in a module such that the order would go the initializer-only class then the actually used class?
<kig> well. if you segfault, you either have a bug in array indexing (most likely) or a bogus pointer or a bogus function pointer and stack corruption is the most awesome thing ever
<kig> right after run-on sentences
<kaustuv> or someone did a kill -SEGV
<StoneHand> kig: if you have a bug in your array indexing it's your own fault, is it not?
<flux> stonehand, I'm not sure what your problem actually is.. for a class you can likely set the values before constructing the actual object in whatever order you want..
<StoneHand> this is what I came up with that for some reason works
<StoneHand> class terminal_subsystem =
<StoneHand> object (self)
<StoneHand> val _screen = Sdlvideo.set_video_mode 400 400 [`DOUBLEBUF];
<StoneHand> method screen = _screen
<StoneHand> initializer
<StoneHand> Sdl.init [`VIDEO; `AUDIO];
<StoneHand> at_exit Sdl.quit;
<StoneHand> Sdlttf.init ();
<StoneHand> at_exit Sdlttf.quit;
<StoneHand> Sdlmixer.open_audio ();
<StoneHand> at_exit Sdlmixer.close_audio;
<StoneHand> end;;
<StoneHand> let dtsys = new terminal_subsystem;;
<StoneHand> the thing is, I am defining _screen outside of the initializer
<kig> StoneHand: everyone makes mistakes, catch them before they get into production
<StoneHand> kig: I've extensive experience in embedded and ROM programming, and yet to screw up with array indexing
<kig> you never have segfaults?
<kaustuv> StoneHand: Sdlvideo.set_video_mode 400 400 wil run before Sdl.init when you say new terminal_subsystem. If that is fine, great!
<flux> stonehand, well, how about this: class terminal_subsystem = let () = Sdl.init ...; at_exit.. in object (self) method screen = Sdlvideo.set_video_mode 400 400 [..] end;;
<StoneHand> kaustuv: it shouldn't be
<flux> uh
<flux> not method, but val
seafood_ has quit [Read error: 104 (Connection reset by peer)]
<kaustuv> in flux's version, Sdl.init will be called when the program starts. If that is what you intend, it's the best solution.
<StoneHand> kig: segfaults don't exist in embedded systems, instead you get "Oh shit my cars breaks don't work!"
<flux> that can be postboned by adding () to the argument list of terminal_subsystem
<StoneHand> Sdl.init shoudl be called before screen = Sdlvideo......
<StoneHand> for some reason it works as it is now, but I'm not quite satisfied as this may not be the case with other things
<flux> in any case, what you might want to try is: let screen = lazy ( .. init_code_here.. .. return opened display..) and then refer to Lazy.force screen
<flux> stonehand, you can easily find out the evaluation order by putting print_endline "debug output"
<StoneHand> you can do that within an object out in the open!?
<StoneHand> if so that's amazing and bizzare
<flux> such as val _screen = (print_endline "here"; Sdlvideo.blahblah)
<StoneHand> aaaah
<StoneHand> wow
<StoneHand> hey, that's awesome
<flux> it's not that bizarre, Sdlvideo.set_mode is already something similar
<kaustuv> StoneHand: You don't really need objects for what you're doing.
<StoneHand> I don't need them yet
<kig> StoneHand: the only method of discovering bugs is explosions on the highway?
<StoneHand> val _screen = (Sdl.init [`VIDEO; `AUDIO]; Sdlvideo.set_video_mode 400 400 [`DOUBLEBUF];)
<flux> indeed, that works too :)
<StoneHand> kig: it's the most real way of finding bugs possible
<flux> stonehand, but it might be better style to create a function that does that
<flux> then just it would be: val _screen = mk_display ()
<StoneHand> flux: you have just opened my eyes
<StoneHand> that is very very cool
<StoneHand> kig: I'm half joking around, but indexing should always be checked rigorously
<StoneHand> there are tools that can help you check that too
<StoneHand> and low level control systems for cars have very strict coding standards
<StoneHand> I don't think I've ever heard of any sort of dynamic indexing in such code, so it should be a non issue
<kaustuv> I compile with -unsafe and I vote.
<StoneHand> and generally there is a micro-pulse each of the break system controllers (I have never heard of a car with less than two modules per brake) so if one controller fails you SHOULD fail safe or the analog responses system will fail safe for you
<kaustuv> I think kig means that explosions happen on the highway because of terrorists running buggy GPS systems
<StoneHand> also, in embedded systems we often have no malloc system, or malloc is unsafe or slow, so we use manual block allocation where we keep track of memory blocks in a big pre-allocated area (usually just a huge generic array) and access them with typecast pointers
<StoneHand> kaustuv: so buggy GPS systems make terrorists explode?
<StoneHand> kaustuv: then I guess we can be thankful for crummy korean copycat technology that breaks or bugs out within minutes of using it
animist has quit [Remote closed the connection]
animist has joined #ocaml
<raven79> bye
raven79 has left #ocaml []
<kig> StoneHand: so the compiler checks that the indices don't go out-of-bounds?
<kig> the basic idea i was after is that if there's a piece of code that can be gotten wrong, someone probably will at some point get it wrong
<kig> (the someone being me)
hkBst has joined #ocaml
<StoneHand> kig: we learn through our failures, and a good developer spends enormous ammounts of time debugging. Though I'm just glad you aren't developing automotive breaking systems... are you?
<kig> so having the compiler enforce indexing bounds either through using higher-order functions or iterators, or black magick, will reduce the amount of simple-to-make stupidly high-impact failures getting into your code
<kig> i.e. array indexing is buggy
seafood has joined #ocaml
<StoneHand> I get what you were saying, I was just razzing you
<StoneHand> I've made my fair share of mistakes, and if you followed the conversation about the problem I was having you'll realize I should not be trusted anywhere near OCaml as of yet
olegfink has quit [Read error: 60 (Operation timed out)]
seafood has quit [Read error: 104 (Connection reset by peer)]
kig has left #ocaml []
seafood has joined #ocaml
seafood_ has joined #ocaml
seafood has quit [Read error: 110 (Connection timed out)]
verte_ has joined #ocaml
verte has quit [Nick collision from services.]
verte_ is now known as verte
<StoneHand> thanks again everyone, I'm off
StoneHand has quit ["Leaving"]
Mr_Awesome has quit [Read error: 60 (Operation timed out)]
Mr_Awesome has joined #ocaml
Yoric[DT] has joined #ocaml
seafood_ has quit [Read error: 104 (Connection reset by peer)]
Mr_Awesome has quit [Read error: 110 (Connection timed out)]
Mr_Awesome has joined #ocaml
^authentic has joined #ocaml
s4tan has quit [Read error: 60 (Operation timed out)]
ched_ has quit [Remote closed the connection]
authentic has quit [Read error: 110 (Connection timed out)]
^authentic is now known as authentic
Ched has joined #ocaml
_andre has joined #ocaml
authentic has quit [Read error: 60 (Operation timed out)]
authentic has joined #ocaml
nickeldeuce has joined #ocaml
s4tan has joined #ocaml
nickeldeuce has quit []
Spiwack has joined #ocaml
zerny has joined #ocaml
jeddhaberstro has joined #ocaml
Camarade_Tux_ has joined #ocaml
Camarade_Tux has quit [Read error: 104 (Connection reset by peer)]
zerny has quit [Read error: 110 (Connection timed out)]
andre has joined #ocaml
_andre has quit [Read error: 104 (Connection reset by peer)]
andre is now known as Guest94343
willb has joined #ocaml
willb1 has joined #ocaml
willb has quit [Remote closed the connection]
Amorphous has quit [Connection reset by peer]
Guest94343 has quit [Read error: 104 (Connection reset by peer)]
Amorphous has joined #ocaml
Yoric[DT] has quit ["Ex-Chat"]
Smerdyakov has joined #ocaml
Spiwack has quit ["Leaving"]
s4tan has quit []
verte has quit ["http://coyotos.org/"]
slash_ has joined #ocaml
manju_ has joined #ocaml
zerny has joined #ocaml
manju__ has quit [Remote closed the connection]
Snark has joined #ocaml
<Alpounet> hi
<Alpounet> how can 2 processes (OCaml programs here) communicate ?
<Camarade_Tux_> open_process*, pipe and the Marshal module ?
* Camarade_Tux_ can't remember the name of a better function (with a different purpose) than open_process
<Alpounet> hmm
<Alpounet> it seems pipes are created when using open_process*, automatically I mean
<Alpounet> thanks Camarade_Tux_
<Alpounet> btw, I don't need Marshal module, they just have to pass strings into pipes
dabd has joined #ocaml
<Alpounet> it's for our lovely mlbot
zerny has quit [Read error: 110 (Connection timed out)]
dabd has quit ["Ex-Chat"]
thelema_ has quit [Read error: 60 (Operation timed out)]
<Alpounet> I can't believe it...
<Alpounet> There are people who think that Java has everything that researchers have found last 30 years
<Smerdyakov> I doubt that. Maybe I agree if you replace "everything" with "everything good."
<Alpounet> You'd agree ?
<Alpounet> Everything OO, poor parametrized polymorphism, ... ?
<Smerdyakov> I'd agree that there are people who think that, I mean.
<Alpounet> Oh, yep.
<mrvn> You can always find someone who things anything
<mrvn> thinks even
kaustuv_ has joined #ocaml
<Alpounet> mrvn, yep, but this one is amazing...
OChameau has quit ["Leaving"]
Ppjet6 has quit [Read error: 104 (Connection reset by peer)]
Ppjet6 has joined #ocaml
thelema_ has joined #ocaml
ttamttam has joined #ocaml
ttamttam has left #ocaml []
Snark has quit ["Ex-Chat"]
dabd has joined #ocaml
dabd has quit [Connection reset by peer]
Camarade_Tux_ has quit [Read error: 110 (Connection timed out)]
Camarade_Tux_ has joined #ocaml
sgnb has quit [Remote closed the connection]
sgnb has joined #ocaml
Smerdyakov has quit ["Leaving"]
<Alpounet> good night all
Alpounet has quit ["Ex-Chat"]
hkBst has quit [Read error: 104 (Connection reset by peer)]
seafood has joined #ocaml
iago has joined #ocaml
<iago> hello, someone can say me if there is some function in ocaml to copy a file? (without use Sys.command or Unix.system) I'm looking for it in the documentation without success
<Camarade_Tux_> you could look at ocaml-fileutils which has a "cp" function
<Camarade_Tux_> (I have to admit I'm not sure how it works)
<Camarade_Tux_> iago, ^^
<iago> thanks Camarade_Tux_
<prigaux> dd/set osd_DISPLAY localhost:10.0
_andre has joined #ocaml
<_andre> anyone using Camlp4MacroParser.cmo?
Yoric[DT] has joined #ocaml
jeanbon has joined #ocaml
ido has left #ocaml []
seafood has quit [Read error: 104 (Connection reset by peer)]
nodie has joined #ocaml
nodie has left #ocaml []
_andre has quit ["leaving"]
karasuman has joined #ocaml
<karasuman> this is a really stupid question. I installed ocaml and finally got it and HOL Light running. Do I need to keep folder of files I installed with?
willb1 has quit [Read error: 110 (Connection timed out)]
* Camarade_Tux_ doesn't get the question
<karasuman> yeah, I know. It's that bad. :)
<mrvn> no
<karasuman> thanks, mrvn. I didn't think so, but every once in a while there's a program that lives entirely in whatever directory you leave the files... like songbird.
<karasuman> I hate it.
<mrvn> I like when you can do either.
<karasuman> I still haven't figured out what was broken when I was trying to do this yesterday, but I hunted down all the ocaml files, deleted them with gksudo nautilus, and reinstalled, and... perfection.
seafood has joined #ocaml
jeddhaberstro has quit []
thelema_ has quit [Read error: 110 (Connection timed out)]
jeddhaberstro has joined #ocaml
<karasuman> does anyone have a favorite checkpoint program they'd like to recommend?
<karasuman> I use ubuntu.
^authentic has joined #ocaml
palomer has joined #ocaml
<palomer> hrmph
<palomer> I remember someone here suggesting I ssh -X to my home computer to get my development done
<palomer> who was it again...
authentic has quit [Read error: 110 (Connection timed out)]
^authentic is now known as authentic
jeanbon has quit ["J'y trouve un goût d'pomme."]
<mrvn> me
karasuman has left #ocaml []
oriba has joined #ocaml
oriba has quit ["Verlassend"]
<palomer> does it work well?
<palomer> do you use emacs?
pants1 has joined #ocaml
iago has quit ["Leaving"]
pants1 has quit [Read error: 60 (Operation timed out)]
pants2 has joined #ocaml
<flux> indeed, the point brought by Alp Mestan on the mailing list: a book on ocaml that would also touch some libraries such as extlib and batteries would be interesting
<flux> but unfortunately I don't think there is a person who has both invested time on researching the topic and has time for writing a book exists..
<flux> s/ exists//
bohanlon has quit ["I fear that I must depart for now."]
* Yoric[DT] has started a few chapters on OCaml which do mention a few aspects of Batteries.
<Yoric[DT]> (in French, for the moment)
<bjorkintosh> Yoric[DT], are you writing a book?
<Yoric[DT]> A wikibook.
<bjorkintosh> about ocaml?
<Yoric[DT]> yep
<bjorkintosh> i thought there were many in existence already!
<bjorkintosh> especially en francais
kaustuv_ has quit [Read error: 60 (Operation timed out)]
kaustuv_ has joined #ocaml
<Yoric[DT]> Well, yes.
<Yoric[DT]> This one is expected to cover a number of subjects which I've never seen in other books.
<Yoric[DT]> Including ocamlbuild and Batteries.