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?
<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)]