gildor changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 3.12.1 http://bit.ly/nNVIVH
Tobu has joined #ocaml
bobry has quit [Ping timeout: 272 seconds]
bobry has joined #ocaml
hongboz has joined #ocaml
K_F has quit [Ping timeout: 240 seconds]
K_F has joined #ocaml
gnuvince has joined #ocaml
sepp2k has quit [Read error: Connection reset by peer]
lihaitao has joined #ocaml
BiDOrD has joined #ocaml
BiDOrD_ has quit [Ping timeout: 245 seconds]
ankit9 has joined #ocaml
ankit9 has quit [Ping timeout: 246 seconds]
ankit9 has joined #ocaml
ankit9 has quit [Ping timeout: 240 seconds]
ankit9 has joined #ocaml
Progster has quit [Ping timeout: 246 seconds]
pango is now known as pangoafk
Submarine has quit [Ping timeout: 264 seconds]
ankit9 has quit [Quit: Leaving]
lihaitao has quit [Quit: Ex-Chat]
osa1 has joined #ocaml
mika1 has joined #ocaml
cago has joined #ocaml
djcoin has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
thomasga has joined #ocaml
Cyanure has joined #ocaml
thomasga has quit [Remote host closed the connection]
thomasga has joined #ocaml
edwin has joined #ocaml
Cyanure has quit [Remote host closed the connection]
[Joshuah] has joined #ocaml
xcombelle has joined #ocaml
<[Joshuah]> hi. i have the following problem, and i can't find a solution on the internet. i am working on mac os x, and i am trying to build a shared library (named .dylib). i have compiled some ocaml-code to a .o object file, and now want to link it to my dylib. i get the following link error: "_caml_atom_table", referenced from:
<[Joshuah]> _caml_alloc in libasmrun.a(alloc.o)
<[Joshuah]> and more of these
edwin has left #ocaml []
ankit9 has joined #ocaml
ftrvxmtrx has joined #ocaml
xcombelle_ has joined #ocaml
xcombelle has quit [Read error: Operation timed out]
xcombelle__ has joined #ocaml
xcombelle_ has quit [Ping timeout: 250 seconds]
Cyanure has joined #ocaml
<fasta> How do I install something with godi? All packages seem to fail. (For example I cannot install godi-lwt)
<fasta> GODI checks the package dependencies. Missing packages are implicitly selected for build.
<fasta> That doesn't appear to happen.
<vext01> hi
[Joshuah] has quit [Ping timeout: 252 seconds]
<fasta> What does Godi want when it asks "Save as:" ? I know it wants a path, but I don't see what it wants to save and why.
vivanov has joined #ocaml
<vivanov> running ocaml-3.12.0 -- my app sometimes quits with 141 code (according to syslog) right after it did some 7min computation and not writing to buffers. so i guess i will insert IO.flush_all() somewhere in between computation to fix that. will that help? i have several threads
<rixed> vivanov: Or you can printf "%!"
<vivanov> rixed: what does it do ?
<vivanov> just prints nowhere ?
<adrien> flushes
<adrien> fasta: errrrrr, I doubt godi skips that; could you tell more about the error messages?
<vivanov> adrien, rixed: thx guys -- hope that ll work
<fasta> adrien: pick any package which you think you think should work.
<adrien> fasta: the errors *you* get is what is interesting
<fasta> > ===> Cleaning for godi-ocaml-text-0.5
<fasta> ### Configuration successful
<fasta> ------------------------------------------------------------------------------------------------------------------------
<fasta> [p]rev [n]ext [s]ave protocol [h]elp e[x]it menu
<fasta> Save as:
<fasta> adrien: that's not an error, but I just have no idea why it would ask that.
<fasta> adrien: I pressed s of save protocol, but I also have no idea what it is supposed to mean.
<fasta> adrien: this is a dependency of godi-lwt
<fasta> or godi-ocaml-lwt.
<fasta> So, I wanted to see whether that would work.
<flux> protocol is quite a .. surprising word to use here. 'log' would be more describing.
vivanov has quit [Quit: leaving]
<fasta> AFAIK, godi is like cabal install, so I don't see why it cannot just install it and shut up basically.
<flux> you can use godi from command line
<flux> I don't think it does those questions that way?
silver has joined #ocaml
<fasta> flux: godi_install --help says it is not recognized, breaking with all common utilities.
<fasta> And there is no man page either.
<adrien_oww> single dash
<fasta> man godi_install, that is.
<fasta> (I set the manpath correctly)
<vext01> im running a small script on sparc64 (no native code)
<fasta> Or at least, I did so according to instructions.
<vext01> the first line is: #use "topfind";;
<flux> I've used godi_console, but it's probably a wrapper for those
<vext01> which gives: File "test.ml", line 1, characters 0-1:
<vext01> Error: Reference to undefined global `Dynlink'
<vext01> is this expected?
<fasta> adrien: don't you get this 'save protocol' thing?
<flux> it's maybe a bug in old ocamlfind
<vext01> flux: i see
<flux> #require "dynlink";; before #use "topfind";; probably fixes it
<flux> hmm
<flux> no, that cannot be right :)
<fasta> How can you actually build something with godi?
<flux> vext01, you would need to manually load dynlink first
<fasta> It might also be that it is so small and compiled so fast that I didn't notice it compiling.
<fasta> But I doubt that.
<flux> with godi? hardly :P
xcombelle__ has quit [Ping timeout: 240 seconds]
<vext01> flux: ill try a findlib update
<vext01> its old
<flux> vext01, it's triggered by a more recent version of ocaml. yeah, that's a good idea.
<fasta> So, can someone please give correct instructions to install any package with godi?
<fasta> Just an apt-get install hello would be ok.
<vext01> flux: cheers
<fasta> I mean some shred of evidence that it actually works.
<vext01> flux: there is a different error on i386 on the same code :P
adrien_o1w has joined #ocaml
<vext01> Cannot find file /usr/local/lib/ocaml/site-lib/batteries/pa_llist.
<vext01> then executes the script anyway :P
<flux> vext01, no idea about that
<flux> vext01, sounds like the extension got chopped at some point..
adrien_oww has quit [Ping timeout: 245 seconds]
<adrien> fasta: for lwt
<adrien> godi_console
<adrien> 2
<adrien> 153
<adrien> b
<adrien> x
<adrien> s
<adrien> o
<adrien> should work
<flux> apparently adrien has a cat around his keyboard ;)
<thomasga> (no he is just using godi :) )
<adrien> godi console is somtimes a bit weird ;-)
<adrien> btw, there might be an additional "s" or "o" when it selects additional deps
<thomasga> (godi console is *always* a bit weird)
<fasta> adrien: thanks, that helped.
<fasta> I apparently don't have wget.
emmanuelux has joined #ocaml
adrien_o1w is now known as adrien_oww
<fasta> No, that wasn't it, but I did find another issue.
<adrien> (* bah, failures with lablgtk git head and the godi package ='( *)
<adrien> but it's quite likely it's my fault
xcombelle__ has joined #ocaml
<fasta> adrien: well, it doesn't work here either.
<vext01> flux: updated from findlib 1.2.7 to 1.3.1 , same issue
<fasta> adrien: first of all it seems one of the hosts is down and also there is some gtk-config script missing.
<fasta> adrien: apt-file search gtk-config => nothing.
<fasta> (that is, nothing relevant)
<adrien> gtk-config? should be pkg-config
<fasta> adrien: yes, that should be.
<adrien> but you need to make sure you have all the "development packages" of your distribution installed
<flux> vext01, try the workaround mentioned in: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=630490
<fasta> adrien: why can't it just check whether it has all the files it needs before starting?
<flux> adding "dynlink" as a dependency to some camlp4 META files
<fasta> adrien: I think it's just bad packaging.
<adrien> fasta: it probably does so in the configure script
<fasta> adrien: no, it doesn't.
<adrien> when does it fail exactly? I need to see the error messages
<fasta> > ===> Patching for conf-gtk1-1
<fasta> > ===> Configuring for conf-gtk1-1
<fasta> > Exception: Failure "Script gtk-config not found".
<adrien> ah!
<adrien> gtk*1* and lablgtk*1
<adrien> *
<adrien> don't use that
<fasta> adrien: so, how do I get out of this mess?
<adrien> don't install lablgtk1: go back to the package selection, unselect it
<adrien> also unselect the conf-gtk1 package
caligula has quit [Remote host closed the connection]
<fasta> adrien: thanks
caligula has joined #ocaml
eikke has joined #ocaml
<adrien> grrrr, weird issue at installation of lablgtk2-git through godi; if you get the issue too, you know it has been noticed
adrien_oww has quit [Ping timeout: 248 seconds]
adrien_oww has joined #ocaml
<fasta> adrien: Now I get this: http://paste.kde.org/516458/
xcombelle__ is now known as xcombelle
<adrien> have you "configured" the "godi-lwt" package?
<adrien> if you go to godi-lwt and press "c", what does it say for [1], [2] and [3] ?
<fasta> adrien: yes, and it says yes for all.
<fasta> I think a tool like godi should have a button to just install everything.
<fasta> Diskspace/network are cheap.
<fasta> (and it should auto fetch distro packages)
<fasta> (with source fallback if it's not there)
<adrien> too many different distributions
<vext01> i am correct in thinking ocaml opens libraries in a dlopen()-like fashion?
<vext01> for example findlib uses tk, but not as a dynamic link, as a dlopen()
<adrien> in the "select source packages" screen (after you press "2"), what is the line for godi-ssl?
<adrien> godi-ocaml-ssl actually
<fasta> adrien: there is no b.
<fasta> adrien: and it was not already installed.
<fasta> adrien: [177] godi-ocaml-ssl 0.4.6 0.4.6 The Secure Socket Layer
<fasta> adrien: actually it thinks it is installed.
<fasta> Wrongly or rightly so.
<adrien> run: ocamlfind list | grep -i ssl
<fasta> adrien: nothing
rwmjones has quit [Ping timeout: 255 seconds]
<adrien> and:
<adrien> ocamlfind list
<adrien> (in a pastebinà
<adrien> )
avsm has joined #ocaml
mort___ has joined #ocaml
<adrien> hmm, ok, can you go to godi_console -> 2 -> godi-ocaml-ssl -> b -> x -> s -> o
<vext01> flux: the fix you linked works :)
<adrien> ?
<fasta> adrien: that also doesn't work. I did see the configure phase, but it went a bit too quickly to see what happened.
<adrien> you can scroll up with PageUp iirc
<fasta> adrien: > ===> Cleaning for godi-ocaml-ssl-0.4.6
<adrien> (if it has failed, this is always possible at the end)
<adrien> but I think you can also save the logfile
<fasta> adrien: ok, so that seems to have worked, but later it still says that it cannot find ssl.
<fasta> adrien: > E: Cannot find findlib package ssl
<adrien> for godi-ocaml-ssl
<fasta> adrien: ocamlfind list | grep ssl still nothing.
<fasta> adrien: no, that's while building another package.
<adrien> well, at the end of godi-ocaml-ssl build, remember "save protocol"
<adrien> do that and it'll save the logfile for the process
<adrien> (ah, germans)
<fasta> adrien: so, I do that in the screen I get after inserting a number and pressing enter.
<fasta> Why do we create the worst tools for other programmers?
<adrien> at the end of the build for godi-ocaml-ssl
<fasta> adrien: but I don't have any option to do that.
<adrien> well, godi has been very reliable for me in the past years; you've stumbled on something quite exceptional
<adrien> ok
<adrien> hold on
<fasta> adrien: ok, I do.
<fasta> adrien: but now it doesn't even try to build it anymore, because it was successful.
<fasta> adrien: which is why I pasted the cleaning stage.
<fasta> adrien: so, it now tries to build lwt again.
<fasta> adrien: but fails.
<adrien> you're running godi-skylift or rocketboost? ocaml 3.12.1?
<fasta> adrien: rocketboost
<fasta> adrien: The OCaml toplevel, version 4.01.0+dev3_2012-05-30
<fasta> adrien: isn't OCaml a stable language?
<fasta> That is, backwards compatible.
<vext01> im starting to wonder if list comprehension is supported in an interpreted script
Yoric has joined #ocaml
<adrien> hmm, you might want to try skylift then
<adrien> fasta: also, you're on a dev compiler and language: you should expect breakage
<adrien> also, 4.01 in particular should not be considered stable
<adrien> 4.00 "maybe"
<adrien> and it's a major version change so you don't actually want full compatibility
<fasta> adrien: I only care about source compatibility. Is that too much to expect?
<fasta> Or rather: what can I expect?
<fasta> If I write something in Common Lisp, I know it will work the same in 20 years time.
<fasta> If I write something using assembly language, it will work the same forever.
Yoric has quit [Ping timeout: 246 seconds]
emmanuelux has quit [Ping timeout: 246 seconds]
<fasta> If we look at their track-records (Intel has been doing it for over 30 years or so).
<sgnb> fasta: breaking changes are documented in the changelog... there are not a lot of them and they are usually very specific corner cases
<fasta> So, I don't see why languages which compile to these targets have less portability through time.
<adrien> fasta: and it's been painful legacy
<adrien> C11 removes gets()
<adrien> but even without the source compat, godi is at a pretty low-level
<fasta> I think gets is a reasonable change.
<fasta> And it is a trivial change.
<adrien> but you really shouldn't expect any stability with version 4.01.0+dev3
<adrien> it might not be the issue you're having right now but it'll bite you later on anyway
<fasta> adrien: ok, so I should just install the latest stable release and only think about installing a development compiler when I want to hack the compiler?
<sgnb> right
<adrien> or test compatibility with upcoming versions
<adrien> right now, I'd advise 3.12.1
<adrien> 4.00 is fine too but probably not as your "main" "work" installation
<fasta> adrien: which IDE/editor/mode do you use for OCaml?
<adrien> I use vim; many people use emacs and I can't say anything about modes; and some people use eclipse I think
<fasta> adrien: can you complete names based on type?
<fasta> adrien: e.g. such that print_<tab> 1 shows print_int and not print_string?
<fasta> adrien: with 3.12.1 everything magically works.
<fasta> Can't godi work with multiple cores?
Submarine has joined #ocaml
<fasta> adrien: ocsigen cannot be installed via godi because it wants to run chown. This was discovered almost 2 years ago.
avsm has quit [Quit: Leaving.]
avsm has joined #ocaml
<fasta> How can I uninstall a godi package?
<fasta> It seems like a really, really fragile tool.
Progster has joined #ocaml
<fasta> It says I can use 'r' to remove something, but it doesn't display that option.
<fasta> So, it's not even internally consistent.
<fasta> I.e. there are packages which are 'installed', but cannot be removed.
emmanuelux has joined #ocaml
rwmjones has joined #ocaml
<orbitz> fasta: I use odb for any complicated installation, or install by hand
osa1 has quit [Quit: Konversation terminated!]
<adrien_oww> fasta: same as you install a package except the [b]uild has been replaced with something else
<adrien_oww> fasta: also, I cannot complate in vim but I think it's doable
<fasta> I think godi also has some screen refresh bugs.
<fasta> Running it in tmux doesn't work properly.
K_F has quit [Ping timeout: 240 seconds]
<adrien> that's possible, yes
edwin has joined #ocaml
pheredhel has quit [Quit: ZNC by prozac - http://znc.sourceforge.net]
edwin has left #ocaml []
silver has quit [Ping timeout: 246 seconds]
ankit9 has quit [Ping timeout: 246 seconds]
ankit9 has joined #ocaml
silver has joined #ocaml
pheredhel` has joined #ocaml
avsm has quit [Quit: Leaving.]
mort___ has quit [Quit: Leaving.]
xcombelle has quit [Quit: I am a manual virus, please copy me to your quit message.]
ankit9 has quit [Ping timeout: 246 seconds]
eni has joined #ocaml
gnuvince has quit [Ping timeout: 250 seconds]
ftrvxmtrx has quit [Read error: Operation timed out]
eni has quit [Quit: Leaving]
ankit9 has joined #ocaml
joshuah has joined #ocaml
<joshuah> hi
<joshuah> is anyone here, who compile a shared object file from ocaml-source on mac os x? i have the problem, that the symbols are not found in the .o generated from .ml, when i link it to my .dylib
err404 has joined #ocaml
<fasta> orbitz: in odb also not everything works. E.g. odb sexplib
<fasta> Error: Unbound value Gen.ide.
<fasta> And some of the errors it displays are also completely bogus.
<fasta> odb seems like a nice attempt, but is also wildly amateuristic.
<fasta> Tests don't actually test anything; they use some 'heuristic' which is wrong.
hyperboreean has quit [Ping timeout: 252 seconds]
emmanuelux has quit [Ping timeout: 246 seconds]
ftrvxmtrx has joined #ocaml
<orbitz> fasta: I had no probelm installign sexplib with odb
<orbitz> odb isn't supposed to be a prefessional tool, just something thelema uses to make his life a bit easier
<orbitz> fasta: There is a post on the core mailing list where thelema gives teh URL to an odb package with the proper deps, I bet sexplib is in tehre
<fasta> orbitz: I just installed it via curl.
<orbitz> k
<fasta> orbitz: I get this: http://paste.kde.org/516590/
<orbitz> Did you use the package list thelema mentions in the core mail?
<orbitz> ocaml odb.ml --package http://paste.debian.net/plain/170991 is what I used to install core, which has sexplib in it
<orbitz> fasta: no, that is the caml list, not the core list
<fasta> orbitz: well, they are hiding really well then.
<orbitz> What are hiding really well?
<fasta> orbitz: odb core mailinglist should find something
<fasta> orbitz: if it doesn't the search engines aren't functioning if it actually exists.
<orbitz> fasta: no it shouldn't because google is shitty when it comes to partial searches
<orbitz> fasta: anyways, above I gave you the example odb command I used to install core, which has sexplib as a dep
thomasga has quit [Quit: Leaving.]
<fasta> That finds yet another excuse for not working: ocamlfind: Package `type_conv' not found
<fasta> orbitz: type_conv is wrong. It is supposed to be type-conv
<fasta> To me, it appears that monkeys are banging their keyboards in the hope that it will ever work.
<fasta> I have the impression that the ocaml compiler is quite good, but everything surrounding it, not so much.
<f[x]> messiah is coming!!! woo hoo!! save us!111
<fasta> Philippe Veber2012-06-29 10:21:52v108.00.01
<fasta> This is fixed with version 108.00.01 of all JaneSt packages.
<fasta> So, where do I get these 'JaneSt' packages?
<fasta> Besides 'at Jane Street capital'.
<fasta> What is even meant by 108.00.01. I can make up it is a version number, but of what?
<fasta> Well, no need to answer the last question.
gnuvince has joined #ocaml
<fasta> orbitz: I am guessing that you passed some flag to select the testing version.
<fasta> orbitz: because that seems to have fixed it.
<fasta> (I think something is seriously wrong when the stable package is broken and the testing version is not)
<fasta> It's supposed to be the other way around.
ankit9 has quit [Quit: Leaving]
sepp2k has joined #ocaml
<fasta> And odb also has display bugs.
<gasche_> report them!
<fasta> for package in $(odb | sed 's/Available.*://'); do odb $package; done
eni has joined #ocaml
<fasta> Run that with a suitable definition of odb and see the failures.
<fasta> cairo also doesn't work.
<fasta> (yes, I have the dev packages)
<fasta> I mean: for a system like this, how hard is it to run everything in a clean environment?
<fasta> And then just test whatever the packager claims to be working?
<fasta> And simply reject without any excuse when it doesn't work.
<fasta> The very notion of showing some package to be 'available' when it doesn't work should be impossible.
<gasche_> feel free to help setup a continuous integration bot to test exactly this
<fasta> "Make incorrect states unrepresentable", basically.
<fasta> I have no commercial interest in doing that now, but the OCaml collective all put together likely would.
<fasta> I like to think everyone hates broken stuff.
<fasta> It's like everyone is waiting to see how much everyone can be annoyed with broken stuff.
<gasche_> well "the OCaml collective" is everyone and no one
<gasche_> we need someone to do it; if you are interested in working on it, please don't hesitate
<gasche_> having an effective community precisely means working on stuff that you would like others to work on, not waiting for something else to do the job
<Qrntz> «The OCaml collective needs YOU!»
<gasche_> note that I don't criticize your position here; I completely understand that you may not have the time to do that; I don't either
<fasta> An effective community would be that all 1000 people pick a different issue, write a contract that they will deliver and then do it.
<gasche_> I was just mentioning that if, by chance, you're looking for a way to help, well, this little problem you've just ran into is a good opportunity
<fasta> I think all these package systems are basically the wrong thing to concentrate on anyway.
<fasta> If everyone would just use 'Nix' there wouldn't be a problem.
<fasta> Nix is a purely functional package manager which does exactly the same thing everywhere every time.
<fasta> It even already has some small collection of packages.
<gasche_> well, feel free to pick another problem you think is more important
<fasta> (for ocaml, that is)
<fasta> GODI, odb, etc. are adhoc tools designed by someone with too little time without any good organization.
<adrien> godi has existed for a loooooooooooong time
<fasta> adrien: and still it sucks.
<adrien> but then you have to add the fact that there are package scripts
<adrien> and packages and sources
<adrien> and all of them evolve
<fasta> adrien: which is exactly the problem.
<fasta> adrien: for every version you need to specify exact dependencies.
<fasta> adrien: you could likely do part of that automatically.
<fasta> But having this notion of 'everything dynamic' creates chaos.
<adrien> for new versions of one thing, you cannot expect 2-yo versions of something else to work
eni has quit [Ping timeout: 240 seconds]
<fasta> adrien: so, then they don't work; fine.
<adrien> _especially_ with a new major release
<fasta> adrien: simply don't try to work with the new version then.
<fasta> adrien: a user is interested in package X.
<fasta> adrien: a user doesn't want to care that X might depend on Y when it was released and now Y is newer and doesn't work anymore.
<fasta> Hackage for all its wrong decisions did that correctly.
<fasta> They only don't use the information they have and don't make it mandatory.
<adrien> a godi user is a developer and better have some idea of what goes into the libraries
<fasta> I think they are orthogonal issues.
<fasta> Throwing all problems on one big pile and then trying to attack it at once is no way of solving problems.
<thelema> fasta: display bugs in odb? it only uses printf and no control characters - maybe it's not odb's fault.
<fasta> thelema: it doesn't use ncurses?
<thelema> fasta: not at all.
<fasta> thelema: well, people can resize terminals and all kinds of other fancy stuff.
<fasta> thelema: which is all kinds of stuff which is being taken care of in such libraries.
<fasta> thelema: which is why tools that depend on those libraries do work, and yours doesn't.
<thelema> I see no reason to depend on ncurses for a tool that just does printf.
<fasta> thelema: your user interface is better than that of most, btw.
xcombelle has joined #ocaml
<fasta> thelema: but it doesn't actually work for everything you advertise/list.
<fasta> thelema: so, it basically doesn't have any QA.
<thelema> fasta: I can't guarantee that everything I list will work on every system out thehre.
<fasta> thelema: which is exactly the problem.
<thelema> fasta: sounds like an impossible problem.
<fasta> thelema: there are lots of ways in which a system could be made where that is the case.
<thelema> sure, feel free to make such a system
<fasta> thelema: there is no market for it.
<thelema> I don't want such a system
<fasta> thelema: which brings us to why your tool doesn't work.
<thelema> I want something that is simple and fails well
<thelema> I avoid reinventing the wheel - if a package fails to install, it's that package's fault (unless there was a dep that odb should have installed)
<gasche_> fasta, there are plans for centralized package database with QA
<gasche_> eg. Oasis-DB
<gasche_> odb.ml is a quick and simple tool for "the last mile", if you want
<fasta> gasche_: I think the word centralized is already wrong there.
<gasche_> it's not meant to do QA by itself, but to point to packages that have already been tested
<gasche_> if you use it only with oasis packages for example, you can expect things to work
<fasta> gasche_: if you want the 'community' to work, you need a system where _without_ communication, people can just plug a machine into the testing system.
<thelema> at the moment, odb.ml pulls from oasis-db, with packages grouped in three "repositories" - stable, testing, unstable
<thelema> odb currently defaults to testing, maybe for people like you I should have it default to stable
<fasta> thelema: it did _not_ work with stable.
<gasche_> fasta, centralization does have advantages in this case, as shown by the success of CPAN and, more modestly, hackage
<fasta> thelema: explicitly specifying --testing worked.
<gasche_> but it's not essential
<fasta> gasche_: the problem with hackage is that it sometimes goes down.
<thelema> fasta: the current process for migrating packages from unstable to testing to stable is: I try them, and if they work for me, I move them toward stable
<fasta> gasche_: and then I mean for multiple days.
<fasta> thelema: how does cairo2 work for you?
<thelema> fasta: ah, I guess it defaults to stable then. It's been a while since I've pushed testing to stable.
<fasta> thelema: I get: setupcbf4cd.c:(.text+0x1f): undefined reference to `cairo_image_surface_create'
<thelema> fasta: It worked for me at one time. That sounds like you've got the wrong version of the cairo C library, any suggestions how I prevent this failure?
<fasta> thelema: sure, you specify exactly which version you need for cairo2 to work.
<fasta> thelema: so, you first do your little generic test for features.
<flux> hmm, sounds like that function would have been there for a long time, sure it's not a linking problem? (ie. not finding the library or some such)
<thelema> fasta: and detect which version of cairo using...?
<fasta> thelema: like you are doing now, but then if it fails you say exactly which version you expect.
<flux> fasta, did you check if your cairo comes with the function?
<fasta> flux: I did not, but I doubt anyone compiling cairo in some ridiculous way.
<thelema> fasta: I don't see a practical way for odb to be able to detect the correct version of an arbitrary C library
<fasta> thelema: you should standardize on pkg-config.
<flux> fasta, well, I 100% expect the function to be there, but it would be good to confirm expectations :)
<flux> pkg-config is pretty nice, except I doubt it is that persistent in non-linux platforms.. ?
<flux> hmm, I mean "pervasive"
<fasta> thelema: pkg-config --modversion cairo
<fasta> thelema: that is for cairo version 1.
<fasta> thelema: I am not sure what you are calling.
<thelema> fasta: I'm not calling anything - I didn't write cairo2
<fasta> thelema: I suggest you set strong rules for how packages are allowed to work.
<fasta> thelema: basically like a dictator.
thomasga has joined #ocaml
<fasta> thelema: 'want to be on my website?' Play by the rules.
<thelema> fasta: I don't even own oasis-db, gildor does. I play by his rules.
<fasta> The minimal working requirements would be some Debian distro and some RPM distribution, I think.
<fasta> Preferably it's tested on about 20 operating systems.
<thelema> I'll see what I can do with `pkg-config --modversion`
<fasta> E.g. Debian Stable, Debian unstable, etc.
<fasta> A testing architecture would need to be pluggable.
<adrien> thelema: to check that a version is >= than what you need?
<thelema> fasta: I would prefer to test it on every version of every OS that ever existed on every platform
<fasta> thelema: which is also possible.
<thelema> adrien: yes, maybe C deps could be checked reasonably
<fasta> thelema: it just costs around $150,000 or something like that.
<thelema> fasta: but not practical. I have plenty of other work to do.
<adrien> thelema: pkg-config 'gtk+-2.0 >= 2.60'
<thelema> if you think this is needed, build it.
<adrien> thelema: returns with '1'
<adrien> better than parsing the output of pkg-config :-)
<thelema> adrien: ah, neat.
<adrien> reading configure scripts teaches a lot :P
<thelema> I already have the parsing code, and might want to print the currently installed version... what limitations are there on pkg-config?
<fasta> thelema: I think there aren't any.
<thelema> fasta: it works everywhere it's installed? cygwin?
<fasta> thelema: there is one limitation, but you could even work around that.
<fasta> thelema: I think it works on cygwin too, yes.
<thelema> what's the limitation?
<fasta> thelema: there are some circular dependencies in the installation of glib.
<fasta> thelema: on which pkg-config depends.
<fasta> thelema: and pgk-config depends on glib.
<fasta> thelema: yes, insane.
<thelema> ah, a pretty heavy dep structure.
<fasta> thelema: but that too has been worked around by someone.
<fasta> thelema: there is also a 600 line shellscript which replaces pgk-config.
<thelema> I don't have any plans on odb being involved in installing C libraries
<fasta> thelema: huh?
<adrien> thelema: if you already have the parsing code, I'd still use pkg-config's own parsing and checking
<fasta> thelema: pgk-config is _extremely_ standard.
<adrien> thelema: and do another call to get the modversion
<adrien> thelema: also, if you see someone or some platform refusing pkg-config, I'll be happy to get my baseball bat and explain why pkg-config is good
<fasta> adrien: we could for a mob.
<thelema> adrien: yup, that occurred to me
<fasta> form*
<fasta> thelema: the cairo2 package is basically just really wrong.
<fasta> thelema: because it calls pkg-config cairo --libs
<adrien> iirc cairo2 has custom logic on top of oasis to do pkg-config checks
<thelema> ok, submit a fix to cairo2
<thelema> or just patch your local version and tell odb about the patched version
<fasta> thelema: where is the code anyway?
<thelema> fasta: ~/.odb/install-cairo2/
<adrien> best would be full support in oasis
<adrien> which is a bigger task
<fasta> Plain makefiles are also often not portable.
<fasta> It seems it is really difficult for some people to write properly portable software.
<fasta> I think this is a problem with the existing configuration systems.
<fasta> It shouldn't even be possible to write something wrong, imho.
<fasta> 'wrong' as in 'unportable'.
<thelema> fasta: that seems to be the goal of oasis.
<thelema> except that it allows arbitrary ... extension ... of the build system it creates
<thelema> because there's always some weird feature of the author's system that ocamlbuild doesn't support
<flux> I'm sure people here have a lot of operating systems available. but the problem is that it should be automatic, and if it's automatic, it must be protected against malicious users..
<thelema> s/ocamlbuild/oasis/
<fasta> When you write cd relativepath, you are already non-portable.
<fasta> I think most people who build build systems don't actually understand whatever was created before them.
<fasta> Everyone wants to build their own shiny tool for advertising or something like that, because taking the time to look at what others have done is not fashionable in this day and age.
<fasta> thelema: how can I replicate what happens when I do odb cairo2 when in the installcairo2 directory?
<fasta> thelema: just make?
<thelema> ocaml setup.ml -configure
<thelema> ocaml setup.ml -build
<thelema> ocaml setup.ml -install
<thelema> or you can just point odb.ml at the directory, and it should work out what to do - odb.ml ~/.odb/install-cairo2/cairo-0.4.1
<fasta> thelema: is setup.ml a generated file?
<thelema> yes, generated by oasis
<fasta> thelema: what's the source file?
<thelema> _oasis
<thelema> except for any parts outside the magic OASIS barrier comments
avsm has joined #ocaml
<thelema> the bug is probably in the non-generated part
<adrien> for cairo, it is
Oejet has joined #ocaml
mort___ has joined #ocaml
<fasta> The problem is in whatever generates the calling of pkg-config cairo.
<thelema> fasta: you'll have to grep for that
<fasta> thelema: I already did that.
<thelema> and is it outside the magic comments?
<fasta> thelema: then I get Name: cairo and FindLibParent
<fasta> thelema: the latter one is commented.
<fasta> But since I don't know what that directive means...
<fasta> I think it is useless to abstract over tools.
<fasta> Because obviously pkg-config will be used forever.
<thelema> the error looks to me to be on L6087
<fasta> And if it is not there are ways to work around that.
<fasta> thelema: in the generated file, yes.
<fasta> thelema: the question is where it is in the non-generated file.
<thelema> it's not anywhere in the non-generated file - it's after the "(* OASIS_STOP *)" comment
<fasta> thelema: ok, then I am confused.
<thelema> which means it's been added by the authors of the package
<thelema> and is not part of what was generated
<fasta> thelema: are you saying that they used oasis and then adding something after it?
<fasta> thelema: that's... insane.
<fasta> added*
<thelema> when oasis regenerates a file, it only regenerates the part between OASIS_START and OASIS_STOP
<fasta> Ok, that's slightly less insane.
<thelema> meaning that what's outside those are safe to modify
<thelema> well, kind-of safe
<fasta> Ok, I sort of see what has led to this mess.
<fasta> Or well, no.
<fasta> pkg-config cairo --libs is just fine.
<thelema> probably just a misunderstanding of pkg-config
<fasta> I think it's just the wrong version then.
<fasta> But since they don't actually say which version they want...
<fasta> In software configuration you get exponential blowup version vise.
<fasta> wise*
<fasta> That's why you need to specify everything exactly.
<thelema> yes ,it is terrible that they don't say what version of cairo
zorun has quit [Read error: Connection reset by peer]
<fasta> thelema: anyway, if you want a quality eco system just reject crappy systems.
zorun has joined #ocaml
<fasta> That way people might even get some reputation when they do make it to the cut.
<thelema> if you specify everything exactly, you need the ability to have side-by-side installs of different versions, otherwise you end up with pkg A needing pkg B v1 and pkg C needing pkg B v1.1 -> fail
<fasta> thelema: yes, which is another problem nix has solved ;)
<fasta> thelema: really, nix is much better :)
<fasta> You can even say that you want to depend on gcc version 3.3.1
<fasta> Or you can bootstrap the latest gcc from quite a bunch of compilers back.
<fasta> Because currently it might very well be possible that there is a trojan in my compiler.
<fasta> Trusting trust, etc.
<thelema> yes, of course. unfortunately, the ocaml system that everyone bases package management on, "findlib", doesn't support this
smondet has joined #ocaml
<fasta> I wouldn't be surprised if people ran away from OCaml after they have seen their package management systems.
<thelema> ocaml's package management isn't the worst - the build process is quite terrible too.
<orbitz> Ugh
<orbitz> Dont' even get me started
<fasta> I mean the argument: if OCaml is so great, then why do your tools suck is really easy to make.
<orbitz> I've actually been quite happy making my own Makefiles
<fasta> orbitz: do you distribute to other parties?
<gasche_> one reason why the tools are not up to speed is that they are handled by the community
<orbitz> fasta: Ocaml has never really been much of a tooling language
<fasta> orbitz: it's unsurprising that Makefiles work for you on some small set of operating systems.
<gasche_> There are a lot of people to complain about OCaml tooling, and OCaml devs not being open enough to external contributions, but surprisingly few people ready to work on making the situation better
<fasta> For really simple software it is possible to make things which work in a lot of places, but most of those typically don't have some basic features.
<fasta> gasche_: it's just money.
<fasta> (which is why large corporations never have these issues)
<gasche_> fasta, it appears that the corporations that seriously use OCaml more or less have their own package ecosystem, so are shielded from these issues anyway
<fasta> gasche_: well, it appears that jane street uses oasis.
<fasta> gasche_: and as such, jane street is way too small.
<thelema> fasta: jane street sponsored the creation of oasis which they're just starting to use
<fasta> thelema: yeah, because that's cheaper than using one of their employees.
<fasta> But still oasis is a wrong idea technically.
<fasta> I doubt it even has any security.
<fasta> Let's say I work for an ISP.
<thelema> fasta: security against what?
<fasta> I know that someone from Jane St. is going to download some package and install it.
<thelema> MITM on the package download?
<fasta> I modify the package such that in testing it appears as if it works.
<fasta> thelema: yes
<thelema> download is over https
<orbitz> gasche_: The upside is, i actually enjoy making Makefile's so the lack of good buidl tooling is ok with me :) So I dont' spend a few days in #ocaml compalining about the lack of solutions
<gasche_> orbitz, I'm not fond of Makefiles for OCaml; I'd rather improve ocamlbuild until it's a good solution for mostly everyone
<gasche_> but it's nice that it works for you
<gasche_> (there is also OMake, that I'm not familiar with)
<fasta> thelema: ok, that's good then.
<orbitz> gasche_: Well I started doing teh Makefile's because Ocaml compilng of moduels was an utter black box to me, once I have a soem serious building under my belt maybe I'll be in a position where I can give back!
ankit9 has joined #ocaml
<orbitz> I liked OcamlMakefiel for awhile, but it became problematic when I wanted to build multiple thigns in 1 dir
<orbitz> But I enjoyed its simplicity
<Qrntz> it lacks support for native shared objects (.cmxs) as well
* Qrntz ended up using ocamlbuild for everything
avsm has quit [Read error: Connection reset by peer]
<thelema> Qrntz: who uses native shared objects?
<Qrntz> I do (?)
avsm has joined #ocaml
<Qrntz> how else would you implement plugins in a native application?
<gasche_> they're still a recent addition
mort___ has quit [Quit: Leaving.]
cago has quit [Quit: Leaving.]
cago has joined #ocaml
mika1 has quit [Quit: Leaving.]
avsm has quit [Read error: Connection reset by peer]
avsm1 has joined #ocaml
cago has quit [Read error: Operation timed out]
Submarine has quit [Ping timeout: 240 seconds]
mort___ has joined #ocaml
mort___ has quit [Client Quit]
avsm1 has quit [Quit: Leaving.]
K_F has joined #ocaml
joshuah has left #ocaml []
<thomasga> is there any way to tell ocamlfind to not install topfind.cmo in the ocaml stdlib path ?
<thelema> patch its installer?
<thomasga> right, I would like to avoid to do that
<adrien_oww> ask gerd? :P
<adrien_oww> or rm it afterwards
<thomasga> there is -no-topfind option to not install it
<adrien_oww> ask gerd if it's general; rm it yourself if you're the only one to need it
<thomasga> but I want to install it somewhere else
<thomasga> k; I will just manually copy the file then
<thelema> yup, you'll have to just move it
<fasta> Does this sound familiar to anyone? Fatal error: cannot open pervasives.cmi
<thelema> fasta: broken ocaml install?
<thelema> did you move the ocaml lib dir?
<fasta> thelema: it's the standard Ubuntu installation.
mort___ has joined #ocaml
<thelema> ls -l `ocamlc -where`/pervasives.cmi
<fasta> thelema: I had one installed in $HOME.
<fasta> thelema: but those binaries are not being called anymore.
<fasta> thelema: /usr/lib/ocaml/pervasives.cmi
<thelema> each ocaml install knows where its libraries are. maybe you're still calling a $HOME binary
<fasta> thelema: how I load just that cmi file?
<fasta> thelema: in OCaml, that is?
<thelema> -I /usr/lib/ocaml
<thelema> .cmi files don't have code, they're compiled module interfaces
<fasta> thelema: ok, so just any minimal test which uses code from that.
<thelema> just starting the toplevel ("ocaml") should load it.
<thelema> but I assume that's where you're getting your error
ftrvxmtrx has quit [Quit: Leaving]
ftrvxmtrx has joined #ocaml
<fasta> thelema: how should I be able to load it?
avsm has joined #ocaml
<thelema> $ ocaml
<fasta> thelema: I did something like ##load "Pervasives";;
<fasta> .cma
<fasta> But that obviously didn't work
<thelema> if you're running the toplevel, you don't need to do anything special to open the pervasives module
<thelema> it's... pervasive
<fasta> thelema: ah, ok.
<fasta> thelema: well, I can run ocaml just fine.
<thelema> you can do "1=1;;" to run code from it.
<fasta> thelema: also works
<thelema> so how do you generate that error?
<fasta> thelema: I try to install ocsigen.
<thelema> what command is it running that fails?
<fasta> thelema: so, go to ocsigen.org, get the bundle, unpack, ./configure --witon<option to get ocamlduce>
<fasta> thelema: then do make -C others
<fasta> thelema: then observe failure.
<gasche_> I thought recent versions of Ocsigen didn't require ocamlduce anymore
<fasta> gasche_: I wanted the 'complete' Ocsigen, in so far as that is possible.
<fasta> I think there should always be an --IWantAll option.
Cyanure has quit [Remote host closed the connection]
<gasche_> fasta, I mean, I think they are moving away from OcamlDuce because it was too hard to use for users
<gasche_> you seem to say that it is now *optional*, maybe; I haven't tried to install the most recent version yet
<Qrntz> ocamlduce is optional in the latest releases.
mort___ has quit [Ping timeout: 248 seconds]
Yoric has joined #ocaml
<thelema> fasta: the install problem with cairo2 has to do with command-line order of link arguments
<thelema> fasta: many distros have upgraded to a version of binutils that is pickier about argument order
<adrien> (by default)
<thelema> here's a patch that fixes the configure problem for me: http://paste.debian.net/178781/
<thelema> sending it upstream
<fasta> gasche_: ocamlfind: Package `ocamlduce' not found - required by `tyxml.duce'
<fasta> How cute: configure: 332: [: Illegal number: dev
ftrvxmtrx has quit [Quit: Leaving]
Cyanure has joined #ocaml
djcoin has quit [Quit: WeeChat 0.3.2]
<gasche_> ok, I did not know; thanks fasta
<fasta> gasche_: do you have any influence on ocsigen?
Yoric has quit [Ping timeout: 248 seconds]
<gasche_> not especially, no
<gasche_> well
<gasche_> I do meet the Ocsigen developers from time to time
Yoric has joined #ocaml
eikke has quit [Ping timeout: 248 seconds]
silver has quit [Read error: Connection reset by peer]
Submarine has joined #ocaml
<adrien> and then you all get drunk and wasted and none can code for days afterwards ='(
Yoric has quit [Ping timeout: 246 seconds]
<fasta> gasche_: I just tested ocsigen on a different machine and it does work there.
<fasta> So 'something' is wrong with my ocaml installation/environment variables.
<fasta> (which brings us to the whole 'repeatable builds' thing)
<thelema> what ocaml environment variables have you set?
<fasta> OCAMLPATH
<fasta> PATH
<thelema> to what? and why?
flux has quit [Ping timeout: 272 seconds]
<thelema> just OCAMLPATH
<fasta> thelema: to some odi directory, because odi said I needed to do that.
<thelema> actually, and how?
<fasta> thelema: in .bashrc
<thelema> is it possible that the ocsigen build script is running without that?
<fasta> I have no idea.
<fasta> Ocsigen should document the environment which it needs.
<fasta> They are manipulating a certain class of numbers; if they don't specify which class, it's never going to work.
<thelema> actually, what is the specific value of OCAMLPATH?
<fasta> thelema: /home/fasta/.odb/lib
<fasta> I also think it's quite stupid that it starts at port 80 by default when apache is already running there.
<fasta> That's an unrelated issue, but I mean: if you want your stuff to run out of the box, then make sure it does.
<fasta> Not rocket science and only 3 shell script lines.
<thelema> and PATH?
<fasta> thelema: PATH is really long.
<thelema> (just the ocaml part)
<fasta> thelema: and contains things like .odi/bin, and something for godi, I think.
<fasta> thelema: anyway, everything per instructions.
<thelema> you're using the debian ocaml, but you have an entry in your path for godi?
<fasta> thelema: yes
<fasta> thelema: but I don't use the ocaml compiled by godi.
<fasta> thelema: because I think that's also possible.
<thelema> then you don't want any godi entries in your path
<fasta> thelema: so, if I do want to use godi, I should let godi compile ocaml?
<fasta> thelema: because I then don't get what the point of godi is.
K_F has quit [Ping timeout: 240 seconds]
<fasta> thelema: this is confusing as hell this way.
<thelema> that's the normal way to do it. It may be possible for godi to use a system ocaml, but in this case, you don't need PATH entries, you need OCAMLPATH entries for the godi libs
<fasta> thelema: the normal way to do it is to let godi compile ocaml?
<thelema> I guess there's godi apps too, so maybe those get a path entry, similar to odb apps getting a path entry
<adrien> I don't think I'd try to mix godi and a system ocaml
<thelema> yes, the normal way for people to use godi is to let it compile ocaml
<thelema> (AFAIK)
<fasta> Ok, well, I can try that later. \
<adrien> yes
<thelema> so try removing the path to your failed GODI
<fasta> Yeah, I will try both things. Thanks. BBL
K_F has joined #ocaml
flux has joined #ocaml
emmanuelux has joined #ocaml
xcombelle has quit [Quit: I am a manual virus, please copy me to your quit message.]
Tobu_ has joined #ocaml
Tobu has quit [Ping timeout: 272 seconds]
avsm has quit [Quit: Leaving.]
thomasga has quit [Quit: Leaving.]
ftrvxmtrx has joined #ocaml
_andre_ has quit [Quit: leaving]
pangoafk is now known as pango
eikke has joined #ocaml
hyperboreean has joined #ocaml
eni has joined #ocaml
eikke has quit [Ping timeout: 240 seconds]
eikke has joined #ocaml
err404 has quit [Remote host closed the connection]
<fasta> Does anyone use typerex completion?
<fasta> From what I can see it is just one big pile of epic failure.
<fasta> They call one feature 'experimental'.
<fasta> But in fact, there isn't even such an identifier in their whole package.
<fasta> It seems more like marketing material.
<orbitz> It's pretty experimetnal as far as I know...
<fasta> I think 'experimental' is a weasel word.
<fasta> That's like saying you don't know whether it works.
<fasta> If I write a program I know that it works or that it doesn't.
<orbitz> Really though, fasta, I can only handle you complaining about the state of affaris in Ocaml for so long.
<thelema> experimental = it might work for you, it might not
<thelema> there's no binary of "it works" or "it doesn't" for most use cases
* adrien has "it works but I have no idea how it can" in mind
<thelema> frankly, most programs don't work, but they're still useful
<fasta> They have some setup instructions.
<fasta> They are basically wrong.
<fasta> I think I know how I can fix it.
<thelema> i.e. they don't work for you. They probably work for someone.
<thelema> Send them improvements. yay open source
<fasta> In fact, they even say they have some bug and they don't know how to solve it.
<fasta> No, I think they prefer to keep it a broken tool.
<fasta> They just want exposure and provide 'training' on the tool.
<fasta> A good tool works.
<fasta> (which is why their business model sucks)
<orbitz> TypeRex isn't a company...
<thelema> a good tool solves your problem. it doesn't have to work in general
<fasta> orbitz: yes, it is.
<thelema> orbitz: ocamlpro
<orbitz> I know ocamlpro makes it, but typerex is a product
<fasta> thelema: I think a tool needs to work for all inputs accepted.
<fasta> thelema: so, a formal language which either accepts a given string or doesn't in which case it returns a user-friendly error message.
<orbitz> fasta: It's open source, feel free to help them make it better
<thelema> fasta: otherwise you won't use it?
<fasta> thelema: basically.
<fasta> It just appears that nobody on the planet has the brains to comprehend how a useful tool should work.
<fasta> Or the time.
<fasta> I don't know what it is.
<thelema> fasta: then you need to stop using all software that's not formally proven correct (and even most of the software that is)
<orbitz> Wow, thankes for putting down everyone.
<thelema> fasta: software development is hard.
<orbitz> Your negativity is really fucking up my Qi
<fasta> thelema: I wrote a perfectly completing Emacs mode.
<fasta> thelema: fully interactive.
<fasta> thelema: just not for OCaml.
<fasta> It's not rocket science.
<fasta> It's just a few thousand lines.
<fasta> And requires compiler integration if you want to do it better.
<thelema> so get started writing the compiler integration.
<fasta> 'better' as in instead of 5 ms, 1ms.
<fasta> Nah, it's not 5, but it's perhaps 100ms or so.
<thelema> it can do context-sensitive completion w/o compiler integration?
<fasta> But figuring out what the lexical environment is of a buffer of 1000 lines doesn't need to take eons.
<fasta> thelema: sure
<thelema> scope sensitive?
<fasta> thelema: yes
<thelema> for what language?
<fasta> thelema: you never heard of it.
<fasta> thelema: it's fairly similar to OCaml, though.
<orbitz> That's an oddly named language
<thelema> what scope system?
<fasta> thelema: lexical.
<orbitz> Is it a properietery language?
<fasta> thelema: also top to bottom.
<fasta> orbitz: something like that.
<thelema> fasta: well, maybe you can come into the OCaml world and make high quality development tools for us to use too.
<orbitz> fasta: could you please be less vague
<adrien> for completion, I want something with full support for external libraries, including something like lablgtk: it has many modules, many functions, several aspects
<fasta> thelema: well, most of the time I pick tools where there is already some kind of eco system.
<fasta> adrien: sure
<thelema> fasta: it'd be sufficient for you to write a new findlib - everything else could be easily retargeted on your replacement.
<fasta> I don't see how an open-source tool is going to work.
<thelema> fasta: ?? you want your replacement to be closed source?
<fasta> But I also don't see a closed-source tool going to work.
<fasta> Because nobody will want to pay for it.
<fasta> "we want to maintain maximum flexibility" or whatever.
<orbitz> I don't understand, you just spent 5 minutes talking about how you have already done this for a language just liek ocaml and it was easy, why can't you just do ti for ocaml?
<fasta> orbitz: I didn't do it for free for the other language.
<orbitz> Why can't you do it for free for Ocaml?
<fasta> orbitz: because I also need to pay the bills.
<orbitz> I hack on ocaml in my free time...
<orbitz> I dunno fasta, if you're going to complain about how easy it is then make no effort to help the situation I'd really appreciate just saying nothing at all
<fasta> How many Ocaml programmers are there world wide?
<thelema> order of magnitude? maybe tens of thousands.
<fasta> thelema: that much?
<fasta> thelema: I was thinking more of 2-4 thousand top.
<fasta> Less so for full time.
<fasta> More like several 100.
<thelema> it's taught at a number of schools
<orbitz> I woudl say there are several more ocaml developers than Twelf developers, at least
<fasta> Yeah, and everyone hates it.
<thelema> yes, probably < 1K full time
<fasta> Ok, so it costs about 20K euro to develop something like that.
<fasta> Now, I don't see the math working.
<orbitz> Get a grant
<fasta> orbitz: from who?
err404 has joined #ocaml
<fasta> Anyway, I think open-source is really cool, but there is no decent economic model for it besides creating a crappy product first.
<orbitz> fasta: HOw do you think Ocaml was developed?
<fasta> orbitz: by a university with infinite resources from the government.
<fasta> orbitz: basically one of the purposes is to create nuclear reactors.
<fasta> orbitz: which is of strategic importance to the country.
<fasta> orbitz: as such, they likely get what they asked.
<fasta> orbitz: wrong answer?
<fasta> I think the economic value of a tool like that is >1M euro over a period of 10 years.
<adrien> no
<adrien> ocaml's value is probably higher than that
<adrien> but you're wrong how the funding aspecg
<adrien> aspect*
<fasta> adrien: I mean of such a decent completing editor.
<fasta> adrien: ocaml itself is likely closer to 50-100M.
<orbitz> I've yet to meet a university with infinite resources
<adrien> as for open-source's economic model first requiring the creation of a crappy product first, it's way better than closed-source which exists by creating crappy products first and forever after the first version
<fasta> orbitz: in my experience 99% of people at universities don't belong there.
<orbitz> fasta: If that is true it's both orthogonal and irrelevant to the idea of egtting a grant to maek an editor
<fasta> adrien: closed source subscription models work economically.
<fasta> adrien: that's why web-services were bron.
<fasta> born*
<adrien> doesn't improve the quality
<fasta> adrien: it doesn't? I think it does.
<fasta> adrien: likely a webservice where you would get a shell to do your thing backed by 48 cores machines would be better than any local experience.
<fasta> But the barrier for developers to give up their feeling which they have for a local machine is very high.
<hcarty> fasta: Why are you here in #ocaml?
<thelema> hcarty: clearly to tell us all how terrible our chosen language is.
<hcarty> thelema: Indeed
<fasta> thelema: the language is fine.
<fasta> thelema: it's the tools which aren't.
<hcarty> thelema: And how latency between a local and remote system doesn't matter
<fasta> Most notably build tools and editors.
<fasta> hcarty: I don't think you would notice the latency.
<hcarty> And a number of other ... interesting ... observations
<thelema> fasta: are you going to just complain or do something about it?
<orbitz> It's perfectly fine to realize there is a significant lacking in ocaml packaging, editors, and build tools. But please do somethign about it rather than just complain the entire time.
<hcarty> fasta: I notice it ever time I try to display a plot or other graphic
<fasta> hcarty: the code could run locally in lots of cases too.
<fasta> hcarty: in which case you wouldn't notice it.
<fasta> hcarty: and if it needs to run on the server, then it would compute faster than on your local machine.
<fasta> hcarty: which means your point is moot.
<orbitz> depends on computation time vs data transfer times
<hcarty> Assuming you can take advantage of the N local cores/CPUs available
<hcarty> orbitz: And that
<fasta> So, compute it on both at the same time.
<fasta> Whoever wins, wins.
<fasta> That's certainly not an argument.
<orbitz> Not if it costs me $$$ to run + upload + download
<hcarty> orbitz: But if you do this at a university you have infinite funding. Clearly.
<orbitz> Yeah, exactly
<fasta> It would likely cost whatever the price is for cloud computing now.
<orbitz> that's why I never got a raise in academia...infinite funds
<orbitz> It would cost what it costs? I'm shocked!
<fasta> orbitz: no, that's a lower bound.
<fasta> orbitz: see Amazon for that.
<bitbckt> it could cost more than it costs. :)
<fasta> So it will be that + some subscription fee.
<orbitz> fasta: Are you learning Ocaml so you can build the words best STM impl?
<fasta> orbitz: no
<bitbckt> when did #ocaml become #hackernews?
<orbitz> Are you planning on doing anything with Ocaml?
<fasta> orbitz: I wanted to evaluate Ocsigen, but that took a bit longer than expected.
<fasta> I also wanted to evaluate the development tools.
<fasta> I think they are of rather low quality, not much different from other fringe languages.
<fasta> With the compiler being the only exception, althought that too could use some work.
<orbitz> Ocsigen always seemed a bit too big for me
<orbitz> I'm working on my own web framwork in ocaml for fun
<hcarty> orbitz: I saw one on github recently... Ohm maybe?
<orbitz> hcarty: i'm web_typed. It does absolutely nothing currently, free time and all...
<hcarty> orbitz: Ah, free time :-)
<orbitz> Yep one of those
<hcarty> orbitz: Always a project killer
<orbitz> It's mostly a formalization of a python framework I did at another job
<orbitz> hcarty: yeah, too many dead projects under my belt :(
<orbitz> hcarty: Upside is, I have a project that I'm goign ot use this on which is a dependency for other people so I have some pressure, at least
<orbitz> Main problem I've having right now is coming up with some nice implemetnations for pattenrs I'll use
<orbitz> I'm trying to do something like gen_server in Erlang, but the Erlang model is so restrictive
Oejet has left #ocaml []
ulfdoz has joined #ocaml
eni has quit [Quit: Leaving]
Submarine has quit [Ping timeout: 240 seconds]
ftrvxmtrx has quit [Quit: Leaving]
cdidd has quit [Quit: Leaving]
eikke has quit [Ping timeout: 246 seconds]
gnuvince has quit [Ping timeout: 246 seconds]
smondet has quit [Quit: Leaving]
ftrvxmtrx has joined #ocaml
ankit9 has quit [Ping timeout: 250 seconds]
ImAlsoGreg has quit [Remote host closed the connection]
ankit9 has joined #ocaml
<dsheets> is typerex the future? if i migrate now, will i get tuareg-mode + goodies?
ski has quit [Ping timeout: 246 seconds]
Cyanure has quit [Remote host closed the connection]
<thelema> dsheets: I've migrated, and I have no goodies, just tuareg mode. Maybe I'll get goodies in the future.
<dsheets> thelema: you still use tuareg or just typerex-as-tuareg?
ski has joined #ocaml
<thelema> typerex as tuareg
<_habnabit> well, typerex has a shiny webpage at lesat
<_habnabit> least
gnuvince has joined #ocaml
<dsheets> thelema: how do you do buffer management?
<thelema> lots of "C-x b"
<dsheets> thelema: do you use multiple windows? what wm?
<_habnabit> C-x b and ido is all you need, really
<thelema> one window, unity WM
<thelema> yup, lots of praise for ido
<thelema> only interesting thing is that F9 is bound to 'recompile
<dsheets> hmm… i use xmonad with 3 columns of emacs buffers so i can see module defns and stuff
<dsheets> and then switch buffers with xmonad's controls
<dsheets> it's not the best for sure...
bobzhang has quit [Ping timeout: 248 seconds]
hto has joined #ocaml
<Drakken> so... a gadt is a whole family of types with a specified set of interactions.
<Drakken> If two data constructors return values with different parameter types, then you can't put their values together in a list.
<Drakken> Is that about right?
ssbr has quit [Ping timeout: 248 seconds]
fds has quit [Ping timeout: 248 seconds]
fds has joined #ocaml
hto_ has joined #ocaml
ssbr has joined #ocaml
<thelema> dsheets: I switch screens to firefox with either stdlib of batteries docs open