gildor changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 3.12.0 http://bit.ly/aNZBUp
mike_mcclurg has joined #ocaml
Edward_ has quit [Ping timeout: 246 seconds]
ikaros has quit [Quit: Leave the magic to Houdini]
myu2 has quit [Remote host closed the connection]
<Anarchos> ocamlrun is crashing in 'make opt' how can i debug that ?
<julm> define crashing
<Anarchos> go into gdb ...
<julm> smart make
<Anarchos> Segment Violation
<julm> are you using some kind of library binding? or just plain ocaml?
<Anarchos> julm i am just building ocaml :)
<Anarchos> i must admit i do it on a non standard platform
<julm> on what arch?
<Anarchos> i586-pc-haiku
<julm> hu
<Anarchos> i know it is weird :)
<julm> i dunno haiku
<Anarchos> julm is there an option to ocamlrun to dump commands ? like verbose or stuff like that
<julm> you may have to hack the configure and the emitted assembly code
<julm> there is an OCAMLRUNPARAM
<julm> man ocamlrun
<Anarchos> julm ok thanks
<julm> but a segment violation sounds like a more violent problem
<julm> good luck..
<Anarchos> i know that segfault is violent:)
<Anarchos> thanks for the luck
groovy2shoes has quit [Quit: groovy2shoes]
<thelema> Anarchos: gdb --args programname argument1 argument2 ...
<thelema> then "run"
<thelema> then "bt"
<thelema> ocamlrunparam won't help for segfault
<Anarchos> thelema i know but the segfault is in caml_minor_gc ...
<Anarchos> anyway it is time to bed
<Anarchos> good night to all
<julm> gn anar
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
thatch has left #ocaml []
sav has quit [Read error: Connection reset by peer]
sav has joined #ocaml
lewis1711 has joined #ocaml
sav has quit [Read error: Connection reset by peer]
sav has joined #ocaml
sav has quit [Ping timeout: 240 seconds]
snarkyboojum has quit [Quit: ...]
ulfdoz has quit [Ping timeout: 255 seconds]
ulfdoz has joined #ocaml
opla2 has joined #ocaml
sepp2k has quit [Quit: Leaving.]
opla2 has quit [Ping timeout: 246 seconds]
kaustuv_ has joined #ocaml
<lewis1711> can one not use the short "fun ->" form of lambdas in module signatures?
<lewis1711> oh it seems fun -> forms can't have pattern matching in them. odd
<lewis1711> oh well
Edward_ has joined #ocaml
snarkyboojum has joined #ocaml
<thelema> lewis1711: "function" does pattern matching, "fun" only can do what "let" does re pattern matching
<lewis1711> is there some reason for not just having a single "fun" keyword that does what function does? or is it just a bit o' cruft?
<lewis1711> (often what I think of as a "Design flaw" ends up having a good reason behind it. though sometimes not:P)
<thelema> fun is the core keyword, function is sugar for the common fun x -> match x with ...
elehack has quit [Quit: Farewell, programs.]
mjonsson has quit [Read error: Operation timed out]
<lewis1711> ...oh yeah, it had no match. right :)
Amorphous has quit [Ping timeout: 272 seconds]
sepp2k has joined #ocaml
Edward_ has quit []
boscop_ has joined #ocaml
Amorphous has joined #ocaml
boscop has quit [Ping timeout: 240 seconds]
sepp2k has quit [Quit: Leaving.]
<kaustuv_> I think having function in OCaml is a design flaw.
<kaustuv_> Interestingly, Standard ML has only (the equivalent of) function, written "fn", but the price it pays is that curried functions have to be written with multiple fns.
<kaustuv_> I wonder why OCaml does not allow [function p1 ... pn -> e | q1 ... qn -> f | ...] as a derived form for [fun x1 ... xn -> match x1, ..., xn with p1, ..., pn -> e | q1 ... qn -> f | ...]. Is it ambiguous?
<lewis1711> hooray, I just solved the first execise in Okasaki in ocaml
* lewis1711 puts intermediate functional programmer on CV
surikator has quit [Quit: surikator]
eye-scuzzy has quit [Remote host closed the connection]
eye-scuzzy has joined #ocaml
thatch has joined #ocaml
myu2 has joined #ocaml
thatch has quit [Remote host closed the connection]
joewilliams is now known as joewilliams_away
seafood has joined #ocaml
arubin has quit [Quit: arubin]
seafood has quit [Quit: seafood]
seafood has joined #ocaml
edwin has joined #ocaml
edwin has quit [Remote host closed the connection]
edwin has joined #ocaml
smerz has joined #ocaml
edwin has quit [Remote host closed the connection]
edwin has joined #ocaml
ygrek has joined #ocaml
ygrek has quit [Remote host closed the connection]
spearalot has joined #ocaml
ygrek has joined #ocaml
mike_mcclurg has quit [Ping timeout: 240 seconds]
ftrvxmtrx has quit [Read error: Connection reset by peer]
ftrvxmtrx has joined #ocaml
spearalot has quit [Quit: Get MacIrssi - http://www.sysctl.co.uk/projects/macirssi/]
ubuntu has joined #ocaml
<ubuntu> can someone explain me how i update ocaml on my ubuntu 10.10 to ocaml 3.12.0?
<lewis1711> have to build it from source i imagine
<ubuntu> how?
<lewis1711> usually... ./configure, sudo make install
<lewis1711> download the latest from the ocaml site, read the README and INSTALL files that should come with it, and look up a guide on compiling applications by source
zerny has joined #ocaml
<lewis1711> (I am on ubuntu and using 3.11.2, is there something juicy I am missing out on?:D)
<adrien> hmmmmm
<adrien> you better be sure you're not mixing your own ocaml with distro packages
<ubuntu> you can open something inside a certain scope
<lewis1711> oh yeah. uninstall ubuntu's ocaml first
<adrien> but I think there is a PPA for ocaml 3.12, not sure at all however (not using ubunut)
<ubuntu> adrien: sudo-apt get remoce ocaml?
<lewis1711> yeah
<adrien> *no* idea
<lewis1711> except spelt correctly of course
ikaros has joined #ocaml
<gildor> ubuntu: that should work, even if it is targeted to Debian unstable
<gildor> ubuntu: add the "deb ..." stanza to you /etc/apt/sources.list, apt-get update && apt-get dist-upgrade
<ubuntu> deb and deb-src both http://ocaml.debian.net/debian/ocaml-3.12.0/?
<lewis1711> hey thanks for the link gildor, didn't know about
<ubuntu> gildor: do i have to add those "maverick partner" things into the sources.list?
<ubuntu> no one?
<lewis1711> ubuntu: yeah. there's a short cut in synaptic for it
<lewis1711> if you have trouble with that part, #ubuntu should be more able to help
<ubuntu> made an sudo apt-get update and then apt-get upgrade, and then apt-get install ocaml, but still the old version is going to be installed?
zerny has quit [Remote host closed the connection]
<lewis1711> that's an ubuntu question not an ocaml question
seafood has quit [Ping timeout: 265 seconds]
RyanRN has quit [Quit: Leaving.]
mfp has quit [Quit: Leaving]
mfp has joined #ocaml
<mfp> gildor: if you're still interested, I've added a thread pool to ocaml-sqlexpr, allowing non-blocking, multicore-enabled (can evaluate multiple queries in parallel) use with Lwt
yezariaely has joined #ocaml
yezariaely has left #ocaml []
jm has joined #ocaml
seafood has joined #ocaml
<gildor> mfp: thx, will package it ASAP (if you have done a release)
mike_mcclurg has joined #ocaml
<gildor> ubuntu: "apt-cache policy ocaml" should explain what is going on
opla2 has joined #ocaml
jcwjcw has joined #ocaml
<jcwjcw> does anyone have a good list of all the already implemented alternative syntaxes for ocaml?
<ubuntu> gildor: i have two things in the version table, but still it doesnt install the right version
<jcwjcw> noone?
opla2 has quit [Ping timeout: 264 seconds]
rks has quit [Read error: Connection reset by peer]
rks has joined #ocaml
surikator has joined #ocaml
lewis1711 has left #ocaml []
<gildor> ubuntu: does 3.12 appear in this list of version
<ubuntu> yes
<gildor> jcwjcw: there is only original syntax and revised syntax
<jcwjcw> really?
<gildor> jcwjcw: most of the other alternative syntaxes only cover very specific areas
<jcwjcw> It seems like someone should make an extension that makes ocaml more friendly to c/java programmers
<gildor> e.g. i18n, arithmetic operation, SQL queries
<gildor> jcwjcw: OCaml (and functional PL in general) is different on all levels wrt to c/java
<jcwjcw> I undersatnd
<gildor> jcwjcw: syntax should be minor issue in this case
<jcwjcw> you're preaching to the choir
<jcwjcw> But I also care about the success of the language
<gildor> ubuntu: what is the priority of the 3.12 version in this list (a number)
<jcwjcw> it would help the popularity if there was a "skin" on top of ocaml that made it more familiar
<gildor> jcwjcw: there is many other factor for language popularity
<jcwjcw> Right. Unfortunately this is a major one though
<jcwjcw> Why do you think js looks the way it does?
<gildor> jcwjcw: e.g. Erlang syntax is different to C/Java but it is more popular than OCaml
<jcwjcw> Also, why do you think it is so popular
<jcwjcw> that's one counterexample
<gildor> jcwjcw: what about a COBOL syntax ?
<gildor> jcwjcw: it seems also quite popular
<jcwjcw> WTF is cobol?
<jcwjcw> lol
<gildor> syntax is one thing, but I don't think changing the syntax will make a 10x improvement in popularity for ocaml
<jcwjcw> C'mon man.
<jcwjcw> No, not 10x
<jcwjcw> but maybe 3x
sepp2k has joined #ocaml
<jcwjcw> I think it needs this among a couple of other things
<jcwjcw> A central community portal for sharing code
<gildor> and anyway, if you really think it is feasible, you can craft one just as the revised syntax
<jcwjcw> dude, gildor I'm not smart enough to do that
<gildor> A central community portal, just like http://forge.ocamlcore.org ?
<jcwjcw> I know nothing of compilers/parsers
seafood has quit [Ping timeout: 264 seconds]
<jcwjcw> The feel of Ocaml is not approachable
<jcwjcw> It's doesn't seem fun
<jcwjcw> But I think it could be
<jcwjcw> It should be
<jcwjcw> Look at node.js
<jcwjcw> Analyze how it became populare
<jcwjcw> How does hype happen?
<jcwjcw> What are the key ingrediants?
<jcwjcw> there is almost always a sexy website design
rudi_s has quit [Quit: leaving]
<jcwjcw> some dirt simple tools
<jcwjcw> some great, well supported code to connect to data sources
<jcwjcw> and tons of integration with other technologies that are already being hyped as the next hottest thing
<gildor> jcwjcw: feel free to contribute one of these ingredients
<jcwjcw> I would love to
<jcwjcw> Just have to learn ocaml first :)
<jcwjcw> hehe.
<gildor> jcwjcw: I think nobody will complain
<jcwjcw> I know a bit, mostly SML
<jcwjcw> but i'd like to make some tight, simple packages
<jcwjcw> one click installs
<jcwjcw> web server, ocaml all in oner
<jcwjcw> *one
* gildor got to go
Yoric has joined #ocaml
grettke has joined #ocaml
grettke has quit []
ulfdoz has quit [Quit: kernel-update]
rudi_s has joined #ocaml
oriba has joined #ocaml
jcwjcw has quit [Quit: Page closed]
<gildor> ubuntu: leave your answer here, I will answer you when I have time
ulfdoz has joined #ocaml
surikator has quit [Quit: surikator]
surikator has joined #ocaml
Edward has joined #ocaml
surikator has quit [Quit: surikator]
eye-scuzzy has quit [Quit: leaving]
surikator has joined #ocaml
surikator has quit [Client Quit]
eye-scuzzy has joined #ocaml
jm has quit [Ping timeout: 240 seconds]
<ubuntu> gildor: the number is 500 for both of them i tried to change it but nothing happend
mike_mcclurg has quit [Ping timeout: 240 seconds]
<gildor> ubuntu: have you added the pinning for the repository ?
<gildor> it should raise the priority to 1001
<gildor> ubuntu: it is described here http://ocaml.debian.net/debian/ocaml-3.12.0/
<ubuntu> i have done that
jm has joined #ocaml
<gildor> ubuntu: apt-get update right after, to update the policy
ztfw has joined #ocaml
asmanur_ has quit [Ping timeout: 265 seconds]
asmanur has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
opla2 has joined #ocaml
ftrvxmtrx has joined #ocaml
opla2 has quit [Ping timeout: 240 seconds]
joewilliams_away is now known as joewilliams
gmarik has joined #ocaml
joewilliams is now known as joewilliams_away
Qerub has joined #ocaml
<Qerub> Is there any shorter way to write this? (fun x -> x#name)
<thelema> Qerub: nope, no sugar for that
<Qerub> Maybe something like _.name for Scala?
<Qerub> thelema: Okay. Thanks.
Qerub has quit [Quit: Qerub]
arubin has joined #ocaml
Associat0r has joined #ocaml
myu2 has quit [Remote host closed the connection]
<mrvn> I don't get why #name isn't used for that.
<mfp> # let a = object method foo = 1 end in a #foo;;
<mfp> - : int = 1
<mfp> -> significant whitespace
<hcarty> mrvn: My guess is either (a) no one wanted to do it or (b) it introduces some abiguity
<mrvn> would have to be (#foo)
<hcarty> mrvn: Wouldn't it be (#foo) a?
<mrvn> hcarty: yes, if you want to apply it then
<mrvn> (#foo) == (fun x -> x#foo)
<mrvn> # is kind of like an infix operator. (#foo) would be like (-1)
<mrvn> [grammatic wise]
<mfp> thelema: oops, pushed trivial Makefile fix by accident to ocamlcore's git repos, cannot push to github since RO
eye-scuzzy has quit [Quit: leaving]
Edward has quit []
eye-scuzzy has joined #ocaml
ftrvxmtrx has quit [Read error: Connection reset by peer]
ftrvxmtrx has joined #ocaml
maurer_ has joined #ocaml
diml has quit [Ping timeout: 255 seconds]
jonrafkind has joined #ocaml
<jonrafkind> is subtyping similar to haskell's type classes?
<ubuntu> gildor: i made the apt-get update but nothing changed
diml has joined #ocaml
maurer_ has left #ocaml []
eye-scuzzy has quit [Quit: leaving]
eye-scuzzy has joined #ocaml
<thelema> mfp: thanks for the warning, do you have a github account?
kaustuv_ has quit [Remote host closed the connection]
<orbitz> jonrafkind: afaik it is not the same. type classes are in teh category fo subtyping though i think
<orbitz> so is inheritence
sepp2k has quit [Quit: Leaving.]
<gildor> thelema: you can just pull/push changes for ocamlcore git repo, if mfp don't have an account
<gildor> on github
<gildor> (but mfp have an account AFAIK on github)
<thelema> gildor: I know, I've done it lots before. I just want to enable mfp to push to github
<orbitz> he does
<gildor> thelema: search for ocaml-sqlexpr on github, he owns this repo
<thelema> gildor: thanks, found him
<gildor> ubuntu: could you cut/paste the content of /etc/apt/preferences and /etc/apt/sources.list ?
kaustuv_ has joined #ocaml
orbitz has quit [Ping timeout: 240 seconds]
orbitz has joined #ocaml
smerz has quit [Quit: Ex-Chat]
<ubuntu> Package: * Pin: release l=ocaml Pin-Priority: 1001
<adrien> I can't really find doc on "pkglag" ("distribution navigator"): anyone know what it does, what it's good for?
<kaustuv_> gildor: in oasis plugin DevFiles, what does "it aims to provide good old entry points" mean? Do you mean that it provides the standard all/install/clean/distclean/etc targets?
<jonrafkind> it seems I cannot add methods to class B and have it be a subtype of class A, so whats the point of subtypes?
<mrvn> jonrafkind: you can coerce B to A if it has all of the signature of A.
<jonrafkind> but isn't it usually more useful to add to the signature of B?
<mrvn> obviously
<jonrafkind> so then you can't coerce B to A in that case
<mrvn> sure you can. as said. you can coerce if it has all of the signature of A
<jonrafkind> well i just tried adding one method to B and it said "cannot coerce to A because A doesnt have getx"
<kaustuv_> jonrafkind: http://ocaml.pastebin.com/iymh3i3c as an example
<ygrek> kaustuv_, yes
<jonrafkind> hm
<mrvn> # class a = object method a = 1 end class b = object inherit a method b = 2 end let b = new b let a = (b :> a);;
<mrvn> class a : object method a : int end
<mrvn> class b : object method a : int method b : int end
<mrvn> val b : b = <obj>
<mrvn> val a : a = <obj>
<jonrafkind> ah ok mine didnt work because I had a method with eq:'a -> bool and object(self:'a)
<jonrafkind> so B has a B type as the parameter for eq, but A has an A type
<kaustuv_> jonrafkind: you should read the manual about binary methods. There is a reason why .equals() usually takes a superclass of all classes as input and does downcasting.
<mrvn> That should probably be 'a. 'a -> boo constraint 'a :> 'self
<mrvn> or something
<jonrafkind> so the only way to do equality is to escape the type system?
<kaustuv_> It's not escaping the type system, it's just that binary methods are just not a good fit for OO
<jonrafkind> i thought downcasting could produce a runtime error
<kaustuv_> downcasting is simply unavailable in OCaml
<kaustuv_> (for very good reasons -- downcasting is evil)
<jonrafkind> ohh you were talking about java with .equals()
<mrvn> jonrafkind: one common thing is to have a method as_base that returns the base class
<kaustuv_> jonrafkind: I think you will get more out of 10 minutes of reading that manual link I posted than discussing it here, because it is not a trivial issue
<mrvn> kaustuv_: That example with comparable goes a bit far though imho.
<jonrafkind> why do you need to say #comparable instead of just comparable?
gildor has quit [Ping timeout: 240 seconds]
<mrvn> iirc that can best be described as typeof()
<jonrafkind> but typeof is a runtime thing, i thought signatures were static
gildor has joined #ocaml
<mrvn> "The type #point used below in the constraint clause is an abbreviation produced by the definition of class point. This abbreviation unifies with the type of any object belonging to a subclass of class point."
<mrvn> typeof() is certainly a compile time thing
<mrvn> Scroll up to 3.10 Parameterized classes. Its used first there
<ubuntu> gildor: can you give me some more advise how to get the ocaml 3.12.0 on my computer?
<mrvn> jonrafkind: plain comparable would only match exactly that type.
<jonrafkind> well yes, but supposdly method dispatch should find the proper method at runtime
<mrvn> it does.
<jonrafkind> so it seems like getting a "comparable" class is enough
<mrvn> jonrafkind: then the caller has to coerce to make the type system happy iirc.
<kaustuv_> jonrafkind: "comparable" is a *name* for a particular type, whereas "#comparable" is a type constraint that matches all subtypes of comparable. If you used just "comparable", you'd always have to call min as: min (x :> comparable) (y :> comparable)
<mrvn> Not all of the details make sence from a usage point but some are dictated by the type inference.
<mrvn> s/seence/sense/
<jonrafkind> ok
<mrvn> jonrafkind: From a usage point the extra methods/values added in the derived classes could make the base comparison function wrong. Then you would use "comparable". With "#comparable" you say comparing derived classes is specifically allowed.
<jonrafkind> ok i dont totally understand but ill play around with it, thanks though
<kaustuv_> Incidentally, this is exactly the issue with an equals method. You specifically *don't* want the equality method defined in the superclass to be called (i.e., you never want to coerce to the supertype) because the subclasses might make different distinctions.
<mrvn> It depends on wether you want to compare different subclasses, just the superclass or same subclass.
<mrvn> you can write the function for each of those.
<kaustuv_> Right, there are always situations when something makes sense in OO, but
<kaustuv_> it's hard to say what makes sense always
<kaustuv_> It's basically why no other language that I am aware of has structural subtyping
<mrvn> I miss coercion between {a:int;} and {a:int;b:int;}
jm has quit [Remote host closed the connection]
alpounet has quit [Remote host closed the connection]
alpounet has joined #ocaml
<adrien> http://blog.xfce.org/2008/10/devhelp-assistant-for-vim/ : "Automatically display API documentation in Devhelp as you type in Vim" (also available for emacs), with a .ogv video ; I definitely want that for ocaml and lablgtk2 =)
<gildor> kaustuv_: DevFiles -> build/all/install/uninstall/clean/distclean targets
<gildor> ubuntu: unfortunately the setup you describe should be enough, I don't understand why you cannot get it
<gildor> ~
<gildor> ubuntu: the problem probably comes from your apt/preferences not taken into account
<ubuntu> gildor: where could the problem?
<ubuntu> be
jm has joined #ocaml
<gildor> ubuntu: spaces, filename whatever
<gildor> ubuntu: copy and paste the precise content to pastebin
<gildor> the "Package: *" is in file /etc/apt/preferences ?
<ubuntu> gildor: yes
<gildor> humm ubuntu
<ubuntu> sounds bad
<gildor> try apt-get -t sid install ocaml
<ubuntu> Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: ocaml : Depends: ocaml-nox-3.12.0 E: Broken packages
<gildor> ubuntu: new error?
<ubuntu> the same as with apt-get install ocaml
<gildor> ubuntu: you mean nothing has changed
<ubuntu> yes
<gildor> last try (then I give up)
<ubuntu> gildor: i really appreciate all the effort you put in so far, thanks a lot
<mrvn> if you can't get the preferences right then do purge it all, put just the one source in sources.list and install.
<gildor> Pin: release l=ocaml -> Pin: release a=sid, l=ocaml
<gildor> then apt-get update
<ubuntu> whats purge?
<gildor> and apt-get install ocaml
<mrvn> removing packages and their config
<ubuntu> the weird things is, after removing the ocaml package, purge says no ocaml package is installed, i still can invoke the ocaml toplevel interpreter
<mrvn> which ocaml
<ubuntu> the old 3.11
<mrvn> no, type that
<ubuntu> what do you mean?
<mrvn> type "which ocaml" and press return
<ubuntu> usr/bin/ocaml
<mrvn> ocaml-interp: /usr/bin/ocaml
<mrvn> different package
<ubuntu> do not really understand where going at?
<mrvn> you need to remove ocaml-interp to get rid of the ocaml interpreter.
<ubuntu> should i purge all ocaml related packages?
seafood has joined #ocaml
<mrvn> you don't seem to be able to install the once you want without it.
<mrvn> "ones" even
<ubuntu> so what to do?
<kaustuv_> Until ocaml 3.12 enters unsable, why not just use GODI? (It's what I did.)
<kaustuv_> unsTable
<ubuntu> it s the version i have to work with for the company
seafood has quit [Ping timeout: 276 seconds]
coucou747 has quit [Ping timeout: 240 seconds]
coucou747 has joined #ocaml
edwin has quit [Remote host closed the connection]
BiDOrD has joined #ocaml
ygrek has quit [Ping timeout: 240 seconds]
avsm has quit [Quit: Leaving.]
<jm> I am about to write a(n AST) pretty printer. Is there any library around that makes the task a little bit less unpleasant (apart from Format, that is)?
alexyk has joined #ocaml
<alexyk> anybody has a pagerank implementation in ocaml?
<mfp> jm: there are several camlp4 syntax extensions that can generate pretty-printers automatically given the type definition
ikaros has quit [Quit: Leave the magic to Houdini]
<alexyk> mfp: hi! if anybody would know about a pagerank in ocaml, that would be the author of eigenclass, I'd suppose :)
<mfp> heh, eigenvector for the dominant eigenvalue
<mfp> don't remember seeing any around
arubin has quit [Quit: arubin]
<alexyk> there's one even in perl; is telling about the kind of things ocaml is *not* used for...
<mfp> does it work with large sparse matrices? the toy version is trivial to implement
<adrien> not used for search engines? well, it is :P
<jm> mfp: That sounds too good to be true! How does camlp5 relate to camlp4?
<mfp> jm: camlp5 is a fork of camlp4, derived (and compatible with) camlp4 pre-3.10. It is usually used to compile syntax extensions that haven't been ported to camlp4 post-3.10
<mfp> *derived from
<kaustuv_> Note, camlp5 is still maintained and usually gets support for new OCaml syntax before camlp4!
<mfp> indeed
<adrien> alexyk: are they "implementations" or simply querying?
<mfp> jm: http://code.google.com/p/deriving/ (and jaked's 3.12-compatible version) and sexplib (serialization to S-expressions) can probably help you
<alexyk> claims to serve million of arcs
<mfp> millions of args is just thousands of nodes :-)
<mfp> *arcs
<alexyk> mfp: yeah... well Java's Jung2 has one, it's quite siple
<alexyk> simple
<jm> mfp: Thanks! I shall have a look at it (and come back and shout at you if it doesn't match my expectations).
<mfp> jm: you'll have to find somebody else to shout at, it's soon zzz time in this timezone ;-)
<adrien> zombie-mode time
<kaustuv_> jm, mfp: deriving, sexplib, etc. are not exactly "pretty printing". "Ugly printing" perhaps?
<mfp> kaustuv_: sexplib is not really meant to be read, but deriving seems to actually format the output
<adrien> do you own based on type-conv?
<adrien> your*
<mfp> kaustuv_: deriving uses Format in show.ml (just checked)
Yoric has quit [Quit: Yoric]
ftrvxmtrx has quit [Quit: Leaving]
<jm> Deriving seems give me a very basic pretty-printer very quickly but doesn't look easily extendable (though it might be a good interim solution).
<jm> Actually, nevermind. It does have a few things that I could re-use.
<kaustuv_> jm: if you are not averse to a little academic browsing, this might be a worthwhile paper: http://www.informatik.uni-marburg.de/~rendel/unparse/rendel10invertible.pdf
<kaustuv_> (but you have to translate the Haskellisms by hand)
julm has left #ocaml []
ulfdoz has quit [Ping timeout: 255 seconds]
jonrafkind has left #ocaml []
<jm> kaustuv_: Yes, I have seen it on LTU (very neat!) but I don't have enough time on my hands to do anything too fancy.
boscop_ has quit [Read error: Connection reset by peer]
boscop_ has joined #ocaml
ftrvxmtrx has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
ftrvxmtrx has joined #ocaml
BiDOrD has quit [Ping timeout: 240 seconds]
ubuntu has quit [Quit: http://irc2go.com/]
jm has quit [Remote host closed the connection]