two-face changed the topic of #ocaml to: OCaml 3.05 released: http://caml.inria.fr/ocaml/distrib.html (expect 3.06 soon: week 34) | http://www.ocaml.org/ | http://caml.inria.fr/oreilly-book/ | http://icfp2002.cs.brown.edu/
malc has quit ["no reason"]
<Lan_Rover> anyone compile ocaml on mandrake? I'm having undefined symbol issues.
<pnou> can you show me the errors ?
<Lan_Rover> ya..
<pnou> i'm not using a mandrake but i don't think it matters
<Lan_Rover> ya
<Lan_Rover> wait a tic
<Lan_Rover> Error on dynamically loaded library: /usr/lib/libGLU.so.1: undefined symbol: pthread_getspecific
<Lan_Rover> make: *** [lablgltop] Error 2
<exarkun> Add -lpthread?
<Lan_Rover> hrrm.. might work..
<Lan_Rover> I'll throw that into the make config if it isn't already there
<Lan_Rover> ahh.
<Lan_Rover> here's the old error I was getting: Error on dynamically loaded library: ./dlltogl.so: undefined symbol: XmuLookupStandardColormap
<Lan_Rover> i'm guessing i need to link in some sort of X lib.. but i've not been able to found out which
kjs3 has joined #ocaml
<Lan_Rover> -Xmu i guess.
<Lan_Rover> but I don't seem to have that..
<exarkun> Hm
<exarkun> Do you have X? :)
<Lan_Rover> ya
<Lan_Rover> i've compiled and run all of my SDL and OpenGL libs and apps
<Lan_Rover> but apparently -Xmu is not in a place that can be referenced.. or does not exist
<Lan_Rover> perhaps i shall make a link to it in my /usr/lib
<Lan_Rover> though i'm quite sure /usr/X11R6/lib is in the path
* Lan_Rover boggles.
<exarkun> is it in the LD_LIBRARY_PATH?
<exarkun> Oh
<exarkun> Are you doing -Xmu or -lXmu?
<Lan_Rover> -lXmu
<exarkun> Maybe -L/usr/X11R6/lib
<exarkun> in addition to that
<exarkun> or, do ldd on libXmu
<Lan_Rover> hrrm.
<exarkun> it might have unresolved dependancies
<Lan_Rover> seems to be in order.
<exarkun> Hmm!
<Lan_Rover> other things use it.
<Lan_Rover> i will try to add the full path..
<Lan_Rover> ah ha!
<Lan_Rover> XLIBS = -L/usr/X11R6/lib -lXext -lXmu -lX11
<Lan_Rover> that was commented
<exarkun> Heh
<Lan_Rover> heh.. spaceman spiff rocks
kruskal has joined #ocaml
jlamar has joined #ocaml
kruskal has left #ocaml []
Lan_Rover has quit ["KVIrc 2.1.1 'Monolith'"]
jlamar has quit ["Client Exiting"]
kruskal has joined #ocaml
gl has joined #ocaml
<pnou> yop gl
chat-de-sorciere has joined #ocaml
<chat-de-sorciere> Bonjour tout le monde, si il y a des utilisateurs de FreeBSD par ici, je les invite a jeter un coup d'oeil sur http://perso.wanadoo.fr/michael.grunewald/ j'ai mis en ligne trois ports
<chat-de-sorciere> pour FreeBSD, qui n'ont pas encore été soumis au mainteneurs, parceque je voudrais un peu travailler dessus avant
<pnou> heu t'es sûr de ton adresse ?
<chat-de-sorciere> mais si vous voulez vous en servir (à vos risques et périls) allez-y
<chat-de-sorciere> Ouais je suis sûr pourquoi ?
<chat-de-sorciere> çTu n'obtiens rien ?
<pnou> .ocaml List.fold_right (fun x -> x ^ " " ^ l) ["chameau"; "c'est";"un";"bot"] ""
<pnou> .ocaml List.fold_right (fun x l -> x ^ " " ^ l) ["chameau"; "c'est";"un";"bot"] ""
<chameau> chameau c'est un bot
<chat-de-sorciere> ah ouais marrant
<pnou> erreur wanadoo truc muche
<pnou> page wanadoo inconnue
<chat-de-sorciere> c'est marrant parceque de chez moi ça marche bien.
<chat-de-sorciere> Enfin, ça donne la page.
<chat-de-sorciere> Le serveur fait son job quoi ...
<pnou> sous lynx ça passe
<pnou> va comprendre Charles
jankr has joined #ocaml
<chat-de-sorciere> C'est marrant ça ...
<pnou> bon j'irai pas jusqu'à installer freebsd pour tester tes ports, je te fais confiance :)
<chat-de-sorciere> Hier j'ai commencé à programmer un fond commun pour les protocoles texte de l'Internet genre CDDB, SMTP, NNTP, et peut-être aussi FTP
<pnou> cool
<pnou> ça manque de lib ocaml
<chat-de-sorciere> Un peu
<pnou> pis même la lib standard, elle fait un peu radin
<chat-de-sorciere> oh attend y'a plein de trucs dedans.
<chat-de-sorciere> quand-même.
<chat-de-sorciere> Mais c'est plus branché algorithmique que lecture de mp3, c'est sûr.
<pnou> mof
<pnou> y a rien pour manipuler les graphes par exemple
<chat-de-sorciere> Ah oui.
<chat-de-sorciere> T'as essayé d'installer une de libs d'anum, comme psilab ?
<pnou> nan
<pnou> ça fait quoi de beau ça ?
<chat-de-sorciere> Ben ça a l'air de faire un peu de tout, genre algèbre linéaire, des dessins,
<chat-de-sorciere> un peu comme Scilab, maivec bien moins de trucs, mais c'est interfaçable avec ocaml.
<pnou> ha ch'est bien cha
<chat-de-sorciere> donc y'a un vrai langage qui permet d'écrire des programmes
<chat-de-sorciere> ch'est malin, che chuis mort de rire
<pnou> 'tain c'est d'la balle de carotte attitioude psilab
<pnou> bon remarque je me sers pas de ce genre de truc
<chat-de-sorciere> j'ai bien envie d'essayer de l'installer, en plus y'a même un distribution bianire pour FreeBSD sur le site, mais je comprends pas pourquoi il n'a pas le port correspondant dans le porttrree de FreeBSD.
<pnou> yapuka le faire :)
<pnou> j'ai fait un truc sympa avec camlp4
<chat-de-sorciere> c'est quoi ?
<chat-de-sorciere> le truc ?
<pnou> j'ai ajouté la définition des listes par compréhension comme dans haskell
<pnou> let lx = [1;2;3]
<pnou> let ly = [1;2]
<pnou> let _ = ($ Printf.printf "(%d, %d)\n" x y |
<pnou> x in lx with x = 2 and y in ly)
<pnou> ça t'affiche tous les couples x y avec x qui appartient à lx et qui vaut 2 et y qui appartient à ly
<pnou> le quicksort devient
<pnou> let rec quicksort = function
<pnou> [] -> []
<pnou> | h :: t ->
<pnou> quicksort ($ x | x in t with x < h) @
<pnou> (h :: quicksort ($ x | x in t with x >= h))
<chat-de-sorciere> T'as un prédicat sur la première liste et ça te fait une sorte de map sur le produit cartésien des deux ?
<chat-de-sorciere> Il faut que j'apprenne à me servir de ce truc.
<pnou> oué mais c'est pas forcément un produit cartésien
<pnou> je peux écrire
<pnou> ha
<pnou> heu oui tu as compris
<chat-de-sorciere> ouais, en fait ça filtre le produit cartésien.
<pnou> voui
<chat-de-sorciere> puis ça fait un map sur le résultat.
<pnou> voui
<pnou> je te montre le code généré pour la première version
<pnou> avec lx et ly
<chat-de-sorciere> oki
<pnou> let _ =
<pnou> List.map (fun x -> List.map (fun y -> Printf.printf "(%d, %d)\n" x y) ly)
<pnou> (List.filter (fun x -> x = 2) lx)
<chat-de-sorciere> plop
<pnou> je trouve que ce genre de sucre manque un peu
<chat-de-sorciere> oc, et tu peux mettre une garde qur chacune des deux listes ...
<chat-de-sorciere> sur le langage ?
<chat-de-sorciere> D'où l'intérêt de camlp4, mais peut-être faudrait-il un peu rassembler les modifications de chacun.
<pnou> oui oui, une garde sur toutes tes listes
<pnou> quand tu commences à utiliser plus de trois variables, ça devient complètement illisible avec des map
<pnou> oui
<pnou> par exemple françois pottier a fait une extension sympa pour les regexps
<pnou> mais il ne l'a même pas packagé
<pnou> et personne ne l'utilise
<pnou> c'est dommage
<chat-de-sorciere> ah ben voilà
<chat-de-sorciere> ce serait peut-être pas mal de faire un eptit système q'instalaltion qui fasse un peu comme ocamlfind, ou un AMkefile bien fait, et puisse instalelr et compiler tout correctement avec aussi peu d'indications que possible.
<pnou> héhé, je suis en train de faire ça avec un copain
<pnou> enfin pour l'instant on fait des proto
<pnou> c'est clair que ça manque énormément
<chat-de-sorciere> ben j'ai un super makefile de lam ort qui tue et qui fait des trucs pacifistes aussi.
<pnou> voui mais faut un système de package
<pnou> faudrait un comprehensive ocaml archive network
<chat-de-sorciere> make package tu veux dire ?
<pnou> avec tout plein de package packagé d'une manière bien standard
<jankr> looks like my plan to learn stuff by monitoring the conversation here won't work...
<pnou> lol
<chat-de-sorciere> au lieu d'avoir tout le monde qui pète son MAkefiel de la mort.
<pnou> exactement chat-de-sorciere
<chat-de-sorciere> Et pourrais y avoir un système d'upload de pqauets avec une interface web, pour les neuneuds et les flemmards ...
<pnou> j'ai fait un stage à l'inria le mois dernier, et j'ai vu comment il bossait, il font des gros copiers coller de leur makefiles et ils modifient les trucs qui vont bien
<pnou> j'ai trouvé ça un peu préhistorique
eivuokko has joined #ocaml
<chat-de-sorciere> Mais c'est efficace.
<pnou> jankr you will learn french :)
<pnou> bof chat-de-sorciere
<chat-de-sorciere> lets try in english,
<pnou> yep
<chat-de-sorciere> enfin fonctionnel, comme ocaml ;)
<chat-de-sorciere> (les Cx Cv de MAkefiles)
<chat-de-sorciere> still here jankr ?
<jankr> yep
<pnou> we are talking about a package system for ocaml
<pnou> and a binary builder system
<jankr> a combination of the ada and java package system would be nice :)
<chat-de-sorciere> when it would be done, all developpers in the world could use each others software swithout a pain ,ad the BABEL tower will be put down, one more time.
<chat-de-sorciere> I do not know nor about java nor ada.
<pnou> i don't know java but gnatmake is exactly what i want
<chat-de-sorciere> It maybe achieved without much pain when compiling strict ocaml applications, that do not rely on external C-library.
<pnou> mmmmm not so easy
<pnou> in theory it's impossible
<pnou> because of side effect
<pnou> we can't know in what order we must link object files
<pnou> but it sounds reasonable to me not to handle such cases :)
<pnou> we could launch ocamlmake entry_file.ml
<chat-de-sorciere> and it goes for.
<pnou> yep
<chat-de-sorciere> install librairies, builds toplevel
<pnou> to achieve this goal we need to have information about all the libraries installed on the system
<chat-de-sorciere> And can produce runtime VM wich aggregate any of the packages isntalled.
kruskal has quit [Remote closed the connection]
<pnou> ocamlfind is a small step toward this
<pnou> but nobody use it :/
<jankr> ,
<chat-de-sorciere> I do.
<chat-de-sorciere> And i think it is very cool.
<chat-de-sorciere> and useful.
<pnou> and i'm affraid that if the cristal team doesn't support the project, it will be never used
<pnou> yes i agree
<chat-de-sorciere> how good do you speak english, your level is by all means outstanding !
<pnou> pffff
<pnou> si c'est ça je repasse en français :)
<chat-de-sorciere> Alors pour le packaging ...
<chat-de-sorciere> Bon je te laiise, je vais retourner bosser sur ce bazar de serveur.
<chat-de-sorciere> A un de ces quatre.
chat-de-sorciere has left #ocaml []
kruskal has joined #ocaml
gl has quit [Read error: 113 (No route to host)]
gl has joined #ocaml
eivuokko has quit ["FOE from client"]
Yurik has joined #ocaml
<Yurik> re
<pnou> yop Yurik
Yurik has quit [Read error: 104 (Connection reset by peer)]
<pnou> :/
samx has joined #ocaml
themus has quit [Read error: 104 (Connection reset by peer)]
<jankr> Hi... a sysadm who is installing ocaml for me wonders if it's at all possible to build parallell (-j 2 or something)
<pnou> to build the compiler binaries ?
Yurik has joined #ocaml
<Yurik> re
<jankr> pnou: yes
<pnou> sure it is, it's a make issue no an ocaml one
<samx> the whole compiler compiles in few minutes, so you'd think it would not be an issue
* Yurik is re-reading threads about packages / namespaces. good material to think on
<pnou> Yurik : nobody from the ocaml team answered :(
<Yurik> pnou: it's pity, i agree
<Yurik> however, if it will be possible to implement it by own hands,
<Yurik> I'll use it for my project :)
igorr has joined #ocaml
<Yurik> i'm trying again now
kruskal has quit ["Fermeture du client"]
<pnou> so where is the new draft ? :)
<Yurik> it is ready yet :(
<samx> what would be the point of namespaces, when there is already modules?
<Yurik> i'm was off for almost two days
<pnou> modules are related to at most one file
<samx> and namespaces are not?
<Yurik> they aren't, right. you could define a lot of modules with the same namespace
<pnou> they shoudn't
* Yurik is investigating typing/env.ml
<pnou> good luck :)
<samx> what would be the difference between than and making a module, and opening / including other modules inside it?
<Yurik> modules from different vendors will've name coincidence
<samx> ah, ok.. so the point of it all would be to allow several same named modules ?
<Yurik> same named packages, if to be exact
<Yurik> since namespace aren't actually modules
<Yurik> they can't be functors, for example
* Yurik will be back later
Yurik has quit ["Leaving"]
gl has quit [Read error: 113 (No route to host)]
gl has joined #ocaml
igorr has left #ocaml []