MegaWatS has quit ["Oceania has ALWAYS been at war with Eastasia!"]
skylan has quit [Read error: 104 (Connection reset by peer)]
skylan has joined #ocaml
skylan has quit [Read error: 104 (Connection reset by peer)]
skylan has joined #ocaml
clog has joined #ocaml
<olczyk> What I want to do is install the latest version of ocaml on both Windows and Linux.
<olczyk> With the most likely lbraries I am going to use.
<Malkuth> Ok.
<olczyk> I don't have everything written down yet. I took VisualWorks ( Smalltalk ) 7 and looked through its parcels to get an idea
<olczyk> of what I should have.
<Malkuth> Ok.
<olczyk> Let me send the first three lines of my list.
<olczyk> Basics
<olczyk> Regex
<olczyk> GUI
<olczyk> Any if there are libraries for these?
<Malkuth> olczyk: For Regex, you probably want pcre. GUI, probably lablgtk.
<Malkuth> I haven't really used Windows in several years, but I've heard that GTK+ works on it now.
<Malkuth> And I would be surprised if pcre doesn't.
<Malkuth> Oh yeah, and if you just need simple non-thread-safe regular expressions, OCaml comes with it.
<olczyk> Because I calls GNu pcre?
<olczyk> OK. Sorry I misread your answer.
<Malkuth> You have a C compiler on your Windows box?
<olczyk> GTK is a pia for Windows. I wish they would clean it up.
<olczyk> I hace 2-1/2.
<olczyk> MS, Borland and haven't tried the gnu based ones yet.
<olczyk> But I have the binaries.
<Malkuth> Neat.
<Malkuth> Hmmm...Tk probably works for Windows, too. And OCaml comes with labltk.
<olczyk> Ok.
<olczyk> Next two:
<olczyk> Debugger/GUI interface for Debugger.
<olczyk> Profiler/GUI interface for profiler.
<olczyk> I know a debugger comes with the distro, but a GUI front end would be nice.
<Malkuth> I don't know about the profiler, but there's a debugger frontend in Cameleon called Epeire (or something like that).
<Malkuth> It requires lablgtk.
<Malkuth> And I haven't used it. :)
<olczyk> What about CamlP$? Does it come with the distro, or do I have to download it seperrately.
<Malkuth> I don't know about that one.
<olczyk> Sorry Caqmlp4.
<olczyk> Sorry Camlp4.
<Malkuth> Ohhh, yeah, that comes with OCaml.
<Malkuth> But it's a preprocessor or something, not a profiler.
<Malkuth> I haven't learned how to use it.
<olczyk> BTW the debugger is close to gdb?
<olczyk> Next two:
<olczyk> ProcessMonitor ( eg how much CPU time has ben used, how mch memory, etc. )
<Malkuth> I haven't used the debugger yet, either. :)
<olczyk> FFI
<Malkuth> FFI is *really easy* in OCaml.
<Malkuth> Check the O'Reilly book.
<Malkuth> Or use SWIG.
<olczyk> Do you have to recompile OCaml to use it?
<Malkuth> As for a process monitor...I don't know.
<Malkuth> Nope.
<olczyk> SWIG is Windows only?
<Malkuth> Nope, SWIG runs on any platform, as far as I know.
<Malkuth> But like I said, I haven't run Windows in a long, long time, and I know very little about it.
<olczyk> Cool. Something I never learned but should.
<olczyk> SWIG that is.
<olczyk> Next two:
<Malkuth> I tried playing with SWIG, but I found that I prefer to write my OCaml<->C stuff by hand.
<olczyk> Build tools ( make etc ).
<olczyk> CodeAnalysis XREF/Lint-like tool/...
<olczyk> I'll keep that in mind.
<Malkuth> It's not all twisted and brain damaged like, say, Perl XS. :)
<Malkuth> Build tools: I use GNU Make and autoconf.
<Malkuth> But there's also OCamlMake (or things like that). Check the humps.
<olczyk> Hey Smalltalk comes with it (build tools).
<Malkuth> As for code analysis...I don't use anything like that.
<Malkuth> SmallTalk is scary and makes me cry. :)
<olczyk> Next two:
<olczyk> UnitTesting code (camlunit?)
<olczyk> CaseTool( not sure needed ).
<olczyk> I like the language, but they've VBized it. Make it into something where you only do one small chunk at a time.
<olczyk> Case Tool is probably stupid, but I thought I should ask.
<Malkuth> What part of CASE do you want?
<Malkuth> I don't know what works on Windows, but for Unix I really, really like Aegis for the development process part of CASE.
<olczyk> Let's say something like Rational Rose ( obviously less emphasis on OO )
<Malkuth> Unit Testing ... I'd like to hear what you find. I haven't looked yet.
<olczyk> Not something process oriented. Just a graphical way of describing complex designs.
<Malkuth> What's Rational Rose?
<Malkuth> Ohhh.
<Malkuth> Never used anything like that, but I've seen it done. Ask on the OCaml mailing list and see what they come up with.
<olczyk> COM interface
<olczyk> Corba interfac
<Malkuth> Now you're in Windows world. :)
<olczyk> With COM yeah.
<Malkuth> I've never used Corba. :)
<Malkuth> There's a SOAP library, though. I saw it announced a few days ago.
<olczyk> Yep. But what else in that area is there.
<olczyk> Advanced Math Tools
<olczyk> DB tools ( esp Access,ODBC,Postgress and MySQL)
<Malkuth> There's lots of math tools listed in the Caml Hump.
<Malkuth> As for DB tools, I use OcamlODBC.
<Malkuth> There are also Pg and MySQL interfaces.
<Malkuth> Oh, and you should check out DBforge (also part of Cameleon).
<Malkuth> It's like CommonSQL for OCaml, kind of.
<Malkuth> Well...not really, I guess.
<olczyk> Encryption(Blowfish,SSL,DES,MD5)
<olczyk> parsing Tools.
<Malkuth> Cryptokit (check the Hump).
<Malkuth> Ocamlyacc and ocamllex.
<Malkuth> (Those come with OCaml)
<olczyk> About seven years ago I first looked at ML (very briefly ). About the only thing availble then was SML/NJ.
<olczyk> I remeber now that it came with ML versions of lex and yacc.
<Malkuth> And now look!
<olczyk> Anything LL based.
<Malkuth> The coolest language in existance is an ML dialect. :)
<olczyk> I can't remember the name of Bakers tool. (n In his Pragmatic Parsing paper ) but is there a caml version of it?
<Malkuth> I don't know.
<Malkuth> Wait, you mean like Lisp macros?
olczyk has quit [Read error: 110 (Connection timed out)]
olczyk has joined #ocaml
<olczyk> Still there?
<Malkuth> Yep!
<olczyk> Well the Gods must hate me tonight.
<olczyk> Last few.
<olczyk> Is there a Caml parsing tool that lets you make parse ina "caml" style?
* olczyk says Please let me not get disconnected again!
<Malkuth> Hmmm...you mean like Lisp's reader?
<olczyk> I'm thinking more about the papers I've seen on monadic parsing.
<Malkuth> Well, I don't know the answer to that one, either. :)
<Malkuth> I know it doesn't really have a Lisp-style reader, though. :) Neither does it have a pretty-printer.
<olczyk> Advance graphics like OpenGL, plotting routines, etc.
* olczyk says Please let me not get disconnected again!
<Malkuth> Heheh.
<Malkuth> Well, I don't know about the graphics, either. And I've got to hit the sack.
<Malkuth> Good luck with your search!
<olczyk> Thanks.
skylan has quit [Read error: 104 (Connection reset by peer)]
skylan has joined #ocaml
mrvn_ has joined #ocaml
mrvn has quit [Read error: 110 (Connection timed out)]
olczyk has quit [Read error: 110 (Connection timed out)]
pnou has joined #ocaml
<pnou> plop
pnou has quit [Client Quit]
pnou has joined #ocaml
two-face has joined #ocaml
<pnou> glop glop two-face
<pnou> des nouvelles du front ?
<two-face> ouiiiii !
<two-face> glop pnou
<two-face> cameleon compiles fine :
<two-face> !
<two-face> pnou: pour produire la doc, je fais "make doc manual" c'est bon?
<pnou> cool
<pnou> ouaip
<two-face> j'ai remarqué que la doc d'epeire n'est pas produite
<pnou> j'vais voir
<pnou> tu parles dans le manuel ou la doc au format ocamldoc ?
<two-face> j'ai vu un epeire.tex
<pnou> ben ça doit être dans le manuel
<two-face> mais pas d'autre format, une fois make doc appeleé
<two-face> ok
<pnou> les .tex c'est pour le manuel
<two-face> ok
<two-face> pas de html pour le manuel ?
<pnou> je crois pas
<two-face> dommage
<pnou> hum
<two-face> je ne sais pas si je vais l'inclure, il fait 18 megs
<pnou> ça doit être possible parce que maxence m'a demandé de foutre de l'hevea dans le tex
<two-face> oui
<pnou> arf il m'a massacré la doc de omom
<two-face> ?
<pnou> bah t'as vu les images énormes
<pnou> j'avais fait des images de tailles différentes pour le html et le ps et lui il a généré l'une à partir de l'autre :/
<two-face> oui en effet
gl has joined #ocaml
<pnou> plop gl
<gl> salut pnou
<gl> matinal, dis donc
<two-face> 11h c pas matinal
<pnou> j'essaye de reprendre le rythme
<pnou> ça dépend pour qui two-face :)
<gl> two-face: pour pnou si
<two-face> paske vous êtes fénéants :)
<gl> mais non mais non... disons qu il y en a encore en vacances, et il y a les autres
<two-face> roooo, j'y crois pas
<pnou> y a des gens qui sont plus en vacances ?
<gl> _o/
<pnou> ben t'as de la chance :/
<gl> oui enfin je me serais bien passe de mes cours de graphe & complexite quand meme
<gl> on a une prof. la-men-ta-ble
<gl> sinon ca va
<pnou> ça donne quoi un cours de théorie des graphes ? on vous balance tout les algos classiques les un après les autres ?
<gl> mbowf.. on donne des definitions assez formelles (prof de maths), et apres on etudie les differents types de graphes, on demontre des proprietes dessus, etc
<gl> rien de transcendant
<pnou> je pense que le seul cours d'info que je vais suivre cette année, c'est compilation
<gl> c est ce que t as pris finalement ?
<gl> tu laisses tomber la calculabilite/decidabilite and co ?
<pnou> je pense
<gl> c est super interessant la compil' je trouve
<pnou> ça dépendra des premiers cours
<pnou> ouais ça m'intéresse beaucoup mais c'est moins fondamentale que la calculabilité
<two-face> vous sèchez ?
<gl> non :)
<pnou> nan, mais j'ai deux cours à la même heure, ça rend les choses un peu compliquées
<two-face> pnou: que permet de faire ocamlsql déjà
<pnou> je sais pas exactement, ça permet de parser du sql, mais je sais pas trop ce qu'on peut en faire après
<two-face> je cherche une description de paquet
<pnou> si t'es pas pressé, je peux demander à maxence
<two-face> je veux bien
zack has joined #ocaml
<two-face> let's welcome Stefano!
<zack> two-face: wonderful channel! :-)))
<two-face> zack: indeed!
<pnou> :)
<two-face> pnou: i think you're right, ocamlsql is for parsing sql
<two-face> according to examples
<two-face> zack: do you still have the control file for ioxml?
<zack> two-face: yes I have the full debian dir
malc has joined #ocaml
<zack> two-face: is available for download at: www.students.cs.unibo.it/~zacchiro/debian/....
<two-face> zack: i'd be interested
<two-face> ok
zack has quit [Remote closed the connection]
zack has joined #ocaml
<two-face> huh?
<two-face> zack: you did'nt considered it as a lib ?
<zack> two-face: no
<two-face> so i just take it like you did
<zack> two-face: I did it a while ago
<zack> I considered it as a syntax extension ...
<two-face> sure
<zack> probably now is better to handle it as a lib indeed, surely it need to be rebuilt for new ocaml versions ...
<two-face> ah ok
<two-face> i personaly started as libioxml-ocaml-dev
<zack> uhm ... ioxml is not a library
<zack> probably we need a policy for packaging syntax extensions :-)))
<two-face> maybe
<two-face> i don't like syntax extension
<zack> two-face: but ioxml is really cool!
<two-face> i trust you
<two-face> so, let's stay with ioxml as a package name
<zack> two-face: I don't remember, is ioxml part of cameleon? is this the reason why you are working on it?
<two-face> yes it is
<zack> ack
<two-face> it is important to have a ocaml prefix ?
<zack> two-face: please let me know the context ... I don't remember how I did the packaging of ioxml ...
<two-face> you rename it to ocaml-ioxml
<zack> two-face: well ioxml is a bit too generic IMO
<two-face> camlp4-ioxml then ?
<two-face> nah, camlp4 is in ocaml now
<zack> two-face: I will be away from now on, anyway my suggestion is for "ocaml-ioxml", if you are still in doubt feel free to ask on debian-ocaml-maint (yet another naming thread :-)
<two-face> zack: right, thanks
zack has quit [Read error: 104 (Connection reset by peer)]
gl has quit [Read error: 113 (No route to host)]
gl has joined #ocaml
malc has quit [Read error: 110 (Connection timed out)]
skylan has quit [Read error: 104 (Connection reset by peer)]
skylan has joined #ocaml
<two-face> skylan: you're subscribed to every possible language channel ? :)
MegaWatS has joined #ocaml
<two-face> hi MegaWatS
<MegaWatS> hi
<two-face> who knows dbforge ?
<pnou> i think maxence is the only one :)
<two-face> pnou: il y a un répettoire translate dans dbforge
<pnou> ha oui, encore une cachoterie
<two-face> je ne sais pas si c'est un example
<two-face> pnou: le répertoire rc dans omom, il faut en faire quoi ?
gl has quit [Read error: 104 (Connection reset by peer)]
gl has joined #ocaml
<pnou> comment ça en faire quoi ?
<pnou> les makefile font tout ce qu'il faut en faire
<two-face> il sert à quoi
<pnou> ce sont des fichiers à donner à bouffer à omom, ils sont installés avec les template cameleon
<two-face> ok
Demitar has joined #ocaml
<two-face> hey Demitar
<two-face> pnou: il me reste à faire les fichiers META
<Demitar> Hello.
<pnou> ha vous faites les META aussi, c'est bien ça
<two-face> ça me gonfle un peu :)
<pnou> j'imagine :)
<pnou> hi Demitar
systems has joined #ocaml
systems has left #ocaml []
<two-face> Demitar: still a worldforge developer ?
<Demitar> two-face: Yes, but a bit less active since I don't have any internet connection at home.
<two-face> ah sad
<Demitar> At the very least I'm a WorldForge lurker. ;-)
<two-face> heh
* Demitar ponders hacking on his very latest ocaml game, a port of EoM.
<two-face> Demitar: EoM ?
Demitar has quit [Read error: 110 (Connection timed out)]
<two-face> bye
two-face has left #ocaml []
Demitar has joined #ocaml
smklsmkl has joined #ocaml
Demitar has quit ["BitchX-1.0c19 -- just do it."]
smklsmkl has quit ["..."]
gl has quit [Read error: 104 (Connection reset by peer)]
gl has joined #ocaml
gl has quit [No route to host]
gl has joined #ocaml
praet0r has joined #ocaml
gl has quit [Remote closed the connection]
praet0r is now known as gl
<Malkuth> Good morning everybody.
<MegaWatS> hi
<Malkuth> Anything new?
<MegaWatS> not that I know of
<MegaWatS> hmm
<MegaWatS> my program crashes, instead of producing an exception :(
<Malkuth> Damn.
<Malkuth> I'm sorry to hear that.
smklsmkl has joined #ocaml
<MegaWatS> bigarrays DO simply create a Out_of_memory exception when they can't be allocated, don't they? I.e. bigarrays are safe, no?
<MegaWatS> hmmm
<MegaWatS> that's strange
<MegaWatS> the error seems to only occur when I use weak arrays for temporarily remembering some of the images
two-face has joined #ocaml
<MegaWatS> when I replace the weak pointers with real pointers, the error goes away :/
<MegaWatS> hi two-face
<two-face> Yo
<two-face> hi MegaWatS
<MegaWatS> I have a problem :[
<MegaWatS> my program crashes
<two-face> how?
<MegaWatS> and by that I mean it crashes, it doesn't generate an exception, it simply creates a protection failure
<MegaWatS> and it only seems to happen when I use weak arrays
<two-face> did you try the debugger ?
<MegaWatS> is it even available in windows?
<two-face> ahh damned
<two-face> dunno
<MegaWatS> what`s it called?
<MegaWatS> I don`t have anything in my ocaml directory that looks like a debugger
<two-face> are you sure ?
<two-face> ocamldebug ?
<MegaWatS> nope nothing of the sort :|
<MegaWatS> are there some known cautions when using weak arrays or are they supposed to be safe?
<two-face> did you trace the code or something?
<MegaWatS> I can try and see what visual studio's debugger gives me
<two-face> i think i've never use what you are calling weak arrays
<MegaWatS> module Weak in the standard library?
<two-face> no i haven"t
<MegaWatS> hmmm
<MegaWatS> well I use it to keep track of the images I have already loaded
<MegaWatS> when the garbage collector removes one, I simply want to re-load it
<MegaWatS> but as long as it doesn't get to the image anyway, I want to still have a reference to it
<two-face> ah ok
<two-face> so weak array are not freed by the GC
<MegaWatS> no weak pointers ARE freed by the gc
<MegaWatS> thats the point :)
<MegaWatS> I can keep track of the image, but if memory runs short, the GC can remove it anyway
<MegaWatS> because I can reload it at any time, either way
<MegaWatS> I have a buffer of the last few so-and-so images I have loaded, which is simply a array, which I use cyclically, i.e. when it is full I overwrite the oldest one first
<two-face> so what is the problematic piece of code?
<MegaWatS> but I have ANOTHER weak array with all images loaded so far - and when an image is not in that other buffer anymore, I look there first to see if its still in memory, or if the GC has already removed it (in which case I reload it)
<MegaWatS> well its kinda big
<MegaWatS> sec
<MegaWatS> I think it's this:
<MegaWatS> method get =
<MegaWatS> match weak_get imgs 0 with
<MegaWatS> | Some img -> srv#use_img_buffer img; img#get_img
<MegaWatS> | None ->
<MegaWatS> let file_data = Zip.read_entry zip entry in
<MegaWatS> let img = srv#add_img_buffer (Jpeg.load_from_string ~scale:default_scale_size ~fancy_upsampling:false file_data) in
<MegaWatS> debug_msg ("loaded NORMAL image for '" ^ entry.Zip.filename ^ "' into slot " ^ string_of_int_option img#get_index);
<MegaWatS> weak_set imgs 0 (Some img);
<MegaWatS> img#get_img
<MegaWatS> but that doesn't say a lot now, does it :)
<two-face> no it doesn't :p
<MegaWatS> well the problem is, if I replace the weak array by a normal array, the code works fine... but when I use the weak arrays, it crashes with a read access violation, which makes me think it's trying to access some memory which has already been freed :/
<two-face> is it a system error ?
<MegaWatS> maybe there's some strange interaction with the bigarray type, because the object referenced by the weak pointer is a bigarray
<MegaWatS> yes, well, its a general protection error... a core dump, that is, in unix speak :)
<two-face> i think you guess right
<two-face> an unallaocated memory is being accessed
<MegaWatS> I have found an entry in the known bugs list about segmentation faults and Weak.t
<MegaWatS> but it is in the fixed section
<two-face> when was it filed ?
<MegaWatS> Thu, 12 Sep 2002 01:52:45 +0200
<two-face> quite recent isn't
<MegaWatS> yes but it doesn't seem to concern my case
<MegaWatS> it was about using Weak.get_copy on an non-boxed object
<two-face> how about writing the list
<MegaWatS> I don't know if it is a bug in ocaml's library, or somewhere in my code, yet.,.. I make quite heavy use of some C routines I have written, and the CamlZip library; but I will see if I can isolate the problem
<two-face> i'm surprised the debugger isn't available for windows
<MegaWatS> hmm ill be right back
<MegaWatS> one minute
MegaWatS has quit ["Oceania has ALWAYS been at war with Eastasia!"]
MegaWatS has joined #ocaml
<MegaWatS> re
<two-face> re
<MegaWatS> hm
<MegaWatS> it doesn't want to let me load any of the standard libraries like bigarray or unix in the toplevel
<two-face> it ?
<MegaWatS> Cannot load required shared library: %1 is not a valid Win32 application. <--- ??? :|<
<MegaWatS> well if I knew what the reason was I would have said so, but since I don't I called it 'it' :>
<two-face> i think you have to talk to some windows user then
<two-face> i'm the wrong guy :p
mmc has joined #ocaml
<two-face> mmc: ciao at te
<two-face> mmc: ciao a te
<mmc> hi
smklsmkl has quit ["..."]
<mmc> two-face: do you know/use cash ?
<two-face> no i don't
<mmc> two-face: what do you use ocaml for ?
<two-face> fun
<Malkuth> and profit!
<two-face> profit ?
<two-face> nah
<Malkuth> Well, not yet. But I have a project coming up at work where I will be using OCaml. :)
<Malkuth> And that's pretty exciting.
<two-face> @work ?
<Malkuth> Yeah.
<two-face> nifty!
<two-face> lucky man
<two-face> what domain?
<two-face> bye anyway
two-face has left #ocaml []
gl has quit [Read error: 113 (No route to host)]
gl has joined #ocaml
kjs3 has quit [Remote closed the connection]
MegaWatS has quit [Read error: 110 (Connection timed out)]
gl has quit [Read error: 104 (Connection reset by peer)]
gene9 has joined #ocaml
gl has joined #ocaml
gl has quit [Client Quit]
MegaWatS has joined #ocaml