<thelema>
hcarty: since odb is working on local information, there's a chance it'll do extra work. if the deps are just A -> B -> C, then recompiling A will recompile B and then C If there's triangles, some duplicate recompilation is possible with the current strategy
raphscallion has joined #ocaml
enthymeme` has joined #ocaml
raphscallion has quit [Quit: raphscallion]
enthymeme has quit [Quit: rcirc on GNU Emacs 23.1.1]
enthymeme` has quit [Quit: rcirc on GNU Emacs 23.1.1]
lopex has quit []
joewilliams is now known as joewilliams_away
joewilliams_away is now known as joewilliams
raphscallion has joined #ocaml
ymasory has joined #ocaml
raphscallion has quit [Quit: raphscallion]
<sheets1>
are methods with optional arguments that are actually unsupplied sometimes possible?
<sheets1>
it seems like type inference likes to open the object type and close the method type to disallow non-use of optional arguments. i assume this is for subtyping purposes?
joewilliams is now known as joewilliams_away
ymasory has quit [Quit: Leaving]
joewilliams_away is now known as joewilliams
Tobu has quit [Remote host closed the connection]
Tobu has joined #ocaml
ecc has quit [Ping timeout: 252 seconds]
Tobu has quit [Quit: No Ping reply in 180 seconds.]
Tobu has joined #ocaml
dnolen has quit [Quit: dnolen]
ulfdoz has joined #ocaml
ankit9 has quit [Quit: Leaving]
joewilliams is now known as joewilliams_away
jderque has joined #ocaml
ulfdoz has quit [Ping timeout: 246 seconds]
ankit9 has joined #ocaml
Tobu has quit [Remote host closed the connection]
Tobu has joined #ocaml
ankit9 has quit [Quit: Leaving]
Tobu has quit [Read error: Connection reset by peer]
Tobu has joined #ocaml
jderque has quit [Quit: leaving]
Tobu has quit [Ping timeout: 260 seconds]
Tobu has joined #ocaml
Enjolras has joined #ocaml
ankit9 has joined #ocaml
Tobu has quit [Ping timeout: 260 seconds]
thomasga has joined #ocaml
mcclurmc_home has joined #ocaml
Cyanure has joined #ocaml
matthias19 has joined #ocaml
<matthias19>
moin
Tobu has joined #ocaml
boscop_ has joined #ocaml
boscop has quit [Ping timeout: 246 seconds]
Yoric has joined #ocaml
vivanov has joined #ocaml
edwin has joined #ocaml
philtor has quit [Read error: Operation timed out]
impy has quit [Ping timeout: 244 seconds]
wishi has joined #ocaml
<wishi>
hi
<wishi>
is there any particular reason why there're no 3.12 win installers?
<wishi>
I'm looking for a native port here, not cyg
<wishi>
so if someone has install instructions for the vs-based port, or even a bin, could be helpful
impy has joined #ocaml
Cyanure has quit [Remote host closed the connection]
<f[x]>
follow the readme, it is not hard
<f[x]>
or there are unofficial automatically built mingw binaries for current svn
<chegibari>
Hello.
<chegibari>
What's the minimum amount of information required by ocamlc to compile an ".ml" file referencing a module M? A ".mli" file to be accessible? a ".cmi" file?
<flux>
a .cmi-file
<chegibari>
thanks, flux
cizra2 has joined #ocaml
<cizra2>
Hi. What does "of info" mean in a variant type declaration? type term = TMTrue of info | ... | TmIf of info * term * term * term
<cizra2>
(I know Haskell, sort of, so that'd be a good thing to build an analogy on.
<chegibari>
They have a very similar syntax there, haskell and ocaml
<chegibari>
maybe in haskell you don't have "of" at all?
<rproust>
type t = A of int is Haskell's data t = A int
<cizra2>
No "of" in Haskell
<rproust>
(or something like it, I'm not 100% confident in Haskell's part)
<cizra2>
okey, thank you very much.
<cizra2>
What does * mean? Are the values later on constructed like TmIf * t1 * t2 * t3 or what?
<chegibari>
it's the tuple kind constructor
<rproust>
it's for tuple types (AKA product type)
<rproust>
in Haskell I believe a comma is used
<cizra2>
Ah! Thank you.
<rproust>
* refers to the type being a product type
<wishi>
saves me some hours of fidding VS build script debugging here
<chegibari>
I hate building in VS things that were originally developed on Linux. The build system never works
<chegibari>
something is always missing, etc.
<matthias19>
is someone here able to compile ocaml on minix? or can someone tell me a way to just compile with nums library and without unix, str, etc.?
larhat has joined #ocaml
<matthias19>
minix only supports the minimum set of POSIX functions and definitions to be compatible and it seems it contains barely nothing (and most notable no complete set of) extensions like sockets
<matthias19>
which makes it break
<matthias19>
on compilation
<chegibari>
flux, so to compile (-c) an ".ml" file against a library, in general I need the set of "*.cmi" files that were produced when that library was compiled?
<flux>
chegibari, yes. you need a .cmi-file, which requires only an .mli file (and its dependencies) to produce.
<chegibari>
in other words: distributing a library for development means distributing the ".cma" file and the set ".cmi" of the units included in the library
<flux>
yes
<chegibari>
thanks
<flux>
also do remember .cma
<flux>
uh
<flux>
.cmxa
<flux>
and some libraries can come with separate .cmo/.cmx-files that need to be linked in. for example lablgtk has one I think.
<flux>
that's because modules in .cma-files aren't evaluated unless you refer to them
<flux>
so if you don't refer to some initialization module in a .cma-file, it won't get evaluated
<flux>
and lablgtk wants to sidestep the issue by providing a .cmo-file that is linked and evaluated always
<matthias19>
oh about the evaluation, that is nice to know
ikaros has joined #ocaml
<chegibari>
I'm making a building system for ocaml that works like Visual Studio's build system so I need to copy the right stuff around
<flux>
cool, there is ocaml-backend for ragel
<matthias19>
ragel?
<flux>
it's a state machine compiler
<flux>
wish it didn't concentrate on supporting octets only though.
<flux>
but I guess that's its main use
<flux>
state machine compiler is nice if you need to parse modem input in a robust manner
<gildor>
chegibari: why not use ocamlbuild ?
<matthias19>
hmm - does it do anything nifty a normal fsm generator doesn't do? or is it more generic than just tokenization?
<flux>
matthias19, hmm, normal fsm generator like what?
<matthias19>
lex/flex/ocamllex/etc.?
<matthias19>
most people just use fsm-generators for parsing (most I know I should say)
<flux>
yeah, I was just making sure you weren't referring to push down automatas ;)
<matthias19>
oh -- I belong to the people who know the difference in computation power and can even prove the difference without much trouble or looking into books ... :-)
<flux>
I don't think it's any more powerful than for example ocammlex is. but it support multiple targets.
<flux>
maybe it provides nicer ways to control the fsm, as it is not geared towards lexing programming languages
<matthias19>
I've written myself a library some time ago which supports negation and difference of REs for constructing scanners, which IMHO is a nice thing to have
<matthias19>
always missing that in some of the scanner generators
<flux>
although the page has a lexer for a C-like language ;)
<matthias19>
C itself is a bit too nasty to parse anyway
<matthias19>
context sensitive languages can suck a bit in that regard
<matthias19>
"sockopt.c: 167: error: field 'lg' has incomplete type" <-- *grr* want to disable Unix module/library as it just don't want to compile on minix
<matthias19>
hmm we have currently a thesis where someone is implementing a LR(k)-parser generator in Objective Caml going
<matthias19>
which fits quite nice in topic at the moment (as this is #ocaml and we are talking about scanners/parsers)
<chegibari>
gildor, because I ignored it and because I won't use it only for ocaml. I just hated "make"
<chegibari>
gildor, I'm reading about ocamlbuild now
<f[x]>
flux, input alphabet is not constrained to bytes
<matthias19>
and I'm talking about real LR(k), not just LALR(k) or even just LALR(1) which is the case for yacc/ocamlyacc
<f[x]>
(but for ocaml it is limited to chars for now)
<gildor>
chegibari: you can use oasis on top of ocamlbuild to ease description of what need to be compiled, but this targets OCaml only projects (maybe not your goal)
<f[x]>
it is much more powerful and pleasant to use than ocamllex
<chegibari>
I'm doing the same for GLR. but it's not a thesis
<chegibari>
I'm just learning OCaml and parsing
<chegibari>
actually, I'm rewriting the same things in C#, F#, now OCaml and probably Haskell after that
<matthias19>
well - the student is implementing the parser presented on ICALP 2010 (polynomial in the size of the grammar instead of exponential as was the best known before); checking if it is pratically feasible in terms of constants
<matthias19>
and it is just "Diplom-thesis"
<chegibari>
sorry, I didn't mean to sound as if I was despise his work
<matthias19>
nono
<matthias19>
I didn't think so
<matthias19>
was just clarifying
<matthias19>
but this saving in space requirements is really neat
<matthias19>
you do not really need to rewrite your grammar if it needs more than k lookaheads
<matthias19>
s/k/1/
<matthias19>
of course this is always possible as LR(k)=LR(1), but sometimes you just do not want to rewrite
<chegibari>
yes
<chegibari>
as "language programming" becomes more popular having more friendly parsing tools is important
<chegibari>
and vice-versa
<chegibari>
ocamlbuild's users manual is very... short :)
Smerdyakov has joined #ocaml
<wishi>
what is language programming? compiler building?
<chegibari>
writing full-fledges compiler/interpreters or part of them or similar activities
<wishi>
metaprogramming, okay
<wishi>
antlr and stuff
<chegibari>
:)
<Smerdyakov>
Anyone from INRIA watching the channel now?
<gildor>
Smerdyakov: maybe thomasga
<matthias19>
metaprogramming is something different than writing a compiler or interpreter
<thomasga>
I'm no more at INRIA :-)
<Smerdyakov>
thomasga, are you Thomas Gazagnaire?
<thomasga>
yup
<thomasga>
why?
<Smerdyakov>
Just wondering!
<thomasga>
(wow I'm famous :-)
<thomasga>
(ha, just saw who you are, hi Adam :-)
<Smerdyakov>
Hello. I'm sitting in Paris trying to figure out what to do today. :)
Cyanure has joined #ocaml
ankit9 has quit [Quit: Leaving]
ankit9 has joined #ocaml
<chegibari>
wishi, metaprogramming is usually intended as the set of techniques used when you write code that generates codes that solves your actual problem. So, in a very broad sense writing a full-fledged compiler is "metaprogramming" but not in the technical meaning. Using C or Scheme macros, or T4 or Linq expressions or System.Reflection.Emit in C# are what you mean for metaprogramming, usually
<f[x]>
or metaocaml
jamii has joined #ocaml
lopex has joined #ocaml
zorun has joined #ocaml
Smerdyakov has quit [Quit: Leaving]
<wishi>
oh noez... I need to build from src... http://code.google.com/p/idaocaml/ - not too sure why, but too many details spoil the fun ;)
<wishi>
chegibari: ah, that makes sense. thanks for making that clear.
<matthias19>
bye
matthias19 has left #ocaml []
thelema has quit [Read error: Connection reset by peer]
thelema_ has joined #ocaml
jderque has joined #ocaml
vivanov has quit [Ping timeout: 244 seconds]
tildedave has joined #ocaml
Tobu has quit [Quit: No Ping reply in 180 seconds.]
zorun has quit [Ping timeout: 264 seconds]
zorun has joined #ocaml
jamii has quit [Read error: Connection reset by peer]
chegibari has quit [Ping timeout: 240 seconds]
dnolen has joined #ocaml
smerz has joined #ocaml
Snark has joined #ocaml
emmanuelux has joined #ocaml
notk0 has joined #ocaml
<notk0>
hello, how can I get the value at index i for an a'*b'*c' etc type
<notk0>
?
<thelema_>
notk0: in general you can't, as 'a, 'b and 'c will have different types and the return value has to be a single type
<thelema_>
the right way to get at the components of a tuple is pattern matching: let (a,b,c) = (3,"foo",8.2)
<thelema_>
notk0: does that make sense?
<notk0>
thelema_, yes it does, I just explicitly declared it's form
<thelema_>
if you want to index by an integer, you can use an array, but all the components have to be the same type
emmanuelux has quit [Ping timeout: 255 seconds]
<hcarty>
gildor: Could you push the oasis package to the 3.12 section in GODI?
ocp has joined #ocaml
thomasga has quit [Ping timeout: 246 seconds]
dnolen has quit [Quit: dnolen]
oriba has joined #ocaml
Cyanure has quit [Quit: Quitte]
avsm has joined #ocaml
oriba has left #ocaml []
<notk0>
hello, let's say I have an object that I am sure to be of a type Constructor(value) is it possible to get that value without using an match s with Constructor(v) -> ?
<f[x]>
why?
<notk0>
f[x], because it requires less code?
<f[x]>
no
<notk0>
f[x], thank you, that was very helpful
<thelema_>
notk0: let Constructor v = Constructor(value) in v + 3
<thelema_>
if it turns out at runtime that the part between the "=" and "in" isn't a Constructor, you'll get an exception. You'll also get a compile time warning if you do this. Better to use match.
<notk0>
thelema_, can you give me an example with type t = TInt of int; and let x= Tint(5);;
<thelema_>
let Tint y = x in y = 5
Enjolras is now known as Biganon_
Biganon_ is now known as Enjolras
<gildor>
hcarty: I need to fix a bunch of deps before pushing oasis to 3.12
<gildor>
hcarty: esp. regarding type-conv and ocaml-data-notation
<thelema_>
gildor: should the admin/odb error be fixed now?
<gildor>
thelema_: argh, ETOOMUCHTHINGSTODO
<thelema_>
gildor: got it. work on what you need to.
<gildor>
thelema_: this is fixed
<gildor>
at least I can see the admin panel
lopex has quit []
<thelema_>
gildor: seems fixed for me too. Thanks
<gildor>
thelema_: you can even see my 2 latest upload
* thelema_
doesn't see his latest upload - batteries 2.0beta
<gildor>
thelema_: when did you upload it ?
<gildor>
thelema_: I see batteries 1.3.0
<thelema_>
yesterday
Tianon has quit [Ping timeout: 260 seconds]
<thelema_>
no problem - I can re-upload easily.
<gildor>
don't know, maybe you get caught in my battle with backup restoration
<thelema_>
ah, maybe I had the version number in the _oasis file wrong
<thelema_>
the download says batteries2.0beta, but the version says 1.3.0
jld has quit [Ping timeout: 255 seconds]
* gildor
can do "oasis upload ocaml-data-notation-0.0.4.tar.gz" from his computer now ;-)
<gildor>
I should bump the alpha version of oasis-db
<hcarty>
gildor: Understood - thank you for all of your effort
jld has joined #ocaml
wormphlegm has quit [Ping timeout: 244 seconds]
<gildor>
hcarty: sorry for the delay, I don't have enough time to work on everything at once, but stay tuned, I will do it (except if someone do it before me -- which would be great)
<hcarty>
gildor: Thank you, and no apology needed! I'm looking forward to getting a chance to try out oasis with a few of my own projects.
jderque has quit [Quit: leaving]
<thelema_>
gildor.TODO#push(Make package errors in admin/odb repository-local)
jld has quit [Ping timeout: 264 seconds]
Tianon has quit [Ping timeout: 260 seconds]
<gildor>
thelema_: I don't work with objects
<thelema_>
ok, gildor.TODO.push "..."
<gildor>
better
<gildor>
thelema_: could you give me a more precise description of what you want ?
<thelema_>
sure, on the admin page, the errors are global.
<thelema_>
while if I promote a package to testing without its deps, there's no error
Tianon has joined #ocaml
Tianon has quit [Changing host]
Tianon has joined #ocaml
<thelema_>
I'd like to see a dep error if a package in testing or stable doesn't have all of its deps in testing or stable, respectively
<gildor>
thelema_: ok, maybe open a bug, I won't do it right now and don't want to forget
<thelema_>
ok
jld has joined #ocaml
<gildor>
thelema_: BTW, it uses to work this way, but the deps computation code has changed a lot and I maybe miss something in the odb panel
<thelema_>
btw, good job putting a link to the bug tracker right on the top of the page. I was about to ask where that was...
<thelema_>
also, any chance of having the uploader just take a URL and auto-download the current file at that URL?
joewilliams_away is now known as joewilliams
<gildor>
thelema_: yes, it should work using something called uscan, that we use in debian to track upstream release
<thelema_>
ah, sounds like fun. as long as you've got it on your todo list somewhere...
ymasory has joined #ocaml
pdhborges has joined #ocaml
<thelema_>
gildor: looks like the oasis server clock is a bit slow: tar: ocaml-fileutils-0.4.2: time stamp 2011-05-24 17:46:36 is 37.425989033 s in the future
<thelema_>
gildor: you're right about dep handling being wierd - I just uploaded fileutils and there's still errors about various packages needing it.
<gildor>
thelema_: that is normal, you don't describe libraries provided in the _oasis file of fileutils
<thelema_>
oops.
<thelema_>
-oasis2, here I come
<gildor>
you should have sections Library "fileutils" ....
<thelema_>
then the Name: should be ocaml-fileutils?
<gildor>
yes
<thelema_>
seems kinda redundant, but I guess it fits the rest of your libraries
<gildor>
BTW, I will use your _oasis to create fileutils 0.4.3
<gildor>
thelema_: it is redundant in case you ship a single library, but not in case of multiple libraries per package
<thelema_>
well thanks. I hope you fix the bugs I leave, as I'm sure it'll be broken somehow
<thelema_>
hmm, I should put [Library "batteries"] somewhere in batteries' _oasis file?
<gildor>
yes, as well, with build deps
<thelema_>
except I'm using Custom for building
<gildor>
build deps are here to tell oasis-db your deps, not only the build system
<thelema_>
Batteries' deps are in the global section... or at least were, when it had deps
<gildor>
BuildDeps of the global section are just a shorthand to set deps to libraries/executable
<gildor>
you should have a least one lib/exec section to be able to apply them
<thelema_>
- : Str.split_result list = [Text "1.5.0"]
<thelema_>
I was expecting [Text "1"; Delim "."; Text "5"
<thelema_>
...
<thelema_>
ah, regexp_string is wrong...
enthymeme has joined #ocaml
<thelema_>
hcarty: fix pushed. i'll be back in 15
<hcarty>
thelema_: Thanks, I'll give it a try
<hcarty>
thelema_: fileutils fails during build, but that looks like a packaging issue
<thelema_>
lol, that's me too. I'll keep working on its package.
olauzon has joined #ocaml
ankit9 has joined #ocaml
vivanov has joined #ocaml
Tobu has joined #ocaml
<thelema_>
hmm, why doesn't XCustomConf: ./configure result in configure getting run when I do "ocaml setup.ml -configure"
lopex has joined #ocaml
<thelema_>
ah, clearly I need to set ConfType: custom
<thelema_>
now I have to deal with the missing setup.data
jderque has joined #ocaml
zsparks has joined #ocaml
<zsparks>
Wow, lots more people in here than in #sml :(
ulfdoz has joined #ocaml
<zsparks>
I've got a few questions about ocaml's build system, if y'all can answer them
<zsparks>
It appears that foo.ml is automatically turned into a module Foo with the definitions in foo.ml, and similarly for foo.mli (but with signatures and FOO instead of Foo)
<zsparks>
What if I want to make a functor? Is this supported, or do I have to do something different?
<thelema_>
functors have to be within files.
<zsparks>
(or am I building my files in some arcane way and there's a much better way of doing things? ;P)
Associat0r has joined #ocaml
<thelema_>
see the stdlib's Map and Set for examples
<zsparks>
thelema_: How so?
<zsparks>
Oh, so I can make, like, a wrapper module around a functor
<zsparks>
but I can't make a standalone functor?
<thelema_>
map.ml: module Make (Foo: Comparable) = struct <set definition here using Foo> end
<thelema_>
no, functors have to be enclosed with a module
<zsparks>
hmm, okay, thanks
<notk0>
let say I have a type t = Tint of int; and I have a variable x that I know is of Tint, how can I get it's value without doint a match x with Tint(i) -> i ?
rfg has joined #ocaml
<thelema_>
notk0: let Tint i = x in ...
<thelema_>
# type t = Tint of int;;
<thelema_>
type t = Tint of int
<thelema_>
# let x = Tint 3;;
<thelema_>
val x : t = Tint 3
<thelema_>
# let Tint y = x in y+2;;
<thelema_>
- : int = 5
<notk0>
thelema_, you're my HERO
<notk0>
thelema_, YOUR MY HERO
<notk0>
I <3 U
<notk0>
I AM GAY FOR YOU
<notk0>
NO HOMO
<adrien>
you're going to need bodyguards to protect your from fans thelema_ :P
<thelema_>
now I'm more than famous -- I'm infamous.
<notk0>
kerneis, is it true that you work at Paris 7 University?
vivanov has quit [Read error: Connection reset by peer]
<thelema_>
does anyone know how to query ocamlfind for all packages that depend on a module?
Modius has quit [Quit: "Object-oriented design" is an oxymoron]
ygrek has joined #ocaml
yezariaely has joined #ocaml
notk0 has quit [Quit: bye bye]
Tobu has quit [Ping timeout: 260 seconds]
yezariaely has left #ocaml []
Tobu has joined #ocaml
<thelema_>
"Successfully installed oasis" yay! back to where I was back in april, but with the oasis-db backend.
avsm has joined #ocaml
<thelema_>
:( can't install janest-core, as it needs 3.12 (and the version on the server doesn't even have an _oasis file, so the odb module doesn't know the deps)
Transformer has joined #ocaml
Transformer has quit [Excess Flood]
Tobu_ has joined #ocaml
Tobu has quit [Quit: No Ping reply in 180 seconds.]
Tobu_ has quit [Changing host]
Tobu_ has joined #ocaml
Reaganomicon has joined #ocaml
ankit9 has quit [Quit: Leaving]
pdhborges has left #ocaml []
boscop_ has quit [Ping timeout: 250 seconds]
boscop_ has joined #ocaml
avsm has quit [Quit: Leaving.]
vivanov has joined #ocaml
<Reaganomicon>
Is there an OCaml equivalent to Haskell's "where"?
<zorun>
yeah, I think so
<zorun>
but maybe this is a syntax extension
<adrien>
"pa_where" I guess
Associat0r has quit [Quit: Associat0r]
<hcarty>
Reaganomicon, zorun: There is a syntax extension. I don't know if it's maintained.
chegibari has joined #ocaml
<Reaganomicon>
Well, pa_where is 2 years old but it's a start. Cheers
<chegibari>
can you execute some arbitrary ocaml script from another ocaml script?
<chegibari>
I mean, using the interpreter
<hcarty>
thelema_: I think you can find dependent modules with the findlib API, but I don't know if you can from the command line interface
<chegibari>
something like execfile() in Python
<thelema_>
hcarty: the command line has -d for dependents, but it returns the package itself as a dependent. I'm now just cheating and filtering anything that starts with the package name from the list.
<thelema_>
chegibari: probably, although you'll have to dig a bit into the toplevel controls, this functionality isn't exposed for normal use.
<thelema_>
chegibari: the normal way to do this: [#use "filename.ml"] doesn't take variables as argument
<zsparks>
I'm trying to use the Num arbitrary precision library, but it appears to be lacking a num_of_float function -- is there a different version of Num that does have this? (or alternatively, a better arbitrary precision arithmetic library?)
<thelema_>
chegibari: look at the toplevel/ dir in the ocaml compiler source
boscop_ has quit [Ping timeout: 246 seconds]
<thelema_>
zsparks: the usual way to do this is to go through string.
<thelema_>
let num_of_float x = Num.num_of_string (string_of_float x)
<thelema_>
it's not pretty, but it works
boscop_ has joined #ocaml
<zsparks>
thelema_: yeah, that's what I've been doing
<zsparks>
but I die a little inside each time I use it :(
<thelema_>
yes, I understand
vivanov has quit [Ping timeout: 240 seconds]
<zsparks>
And is there a math library for Nums? There appear to be a lot of things in there already, but I need to be able to compute the tangent
<zsparks>
(and ideally, random numbers in various distributions, but I figure trigonometric functions are probably more likely to exist)
<thelema_>
well, as nums are either big_ints or ratios of bigints, tangent is inherently excluded
<hcarty>
thelema_: odn depends on ounit, but odb doesn't know this. Packaging/_oasis error I presume.
<hcarty>
odb does look like it is cleaning up nicely
<thelema_>
oh. I guess the install of oasis worked for me because something else had a dep on ounit and installed it
<thelema_>
hcarty: thank you
<gildor>
hcarty: concerning odn, the bundle I released is just the result of a partial test (i.e. part of the ounit test suite of oasis-db), I'll upload odn 0.0.4 in my test suite to get it in the bundle
<hcarty>
Ah, I see part of the problem
<hcarty>
odn calls for ounit, but odb expects oUnit
<gildor>
hcarty: fileutils needs love esp regarding oasis, it is a shame that I didn't find the time to do it myself
<thelema_>
hcarty: I don't think that's it, otherwise I'd be getting warnings on the admin panel
<thelema_>
gildor: well, fileutils-0.4.2-oasis6 seems to work, although I had to hack a bit around setup.data
<gildor>
thelema_: janest-core, sexplib et al have an _oasis file, but they applied a patch to add a field (Pack: true, to create module pack) that raise a parsing error, I need to be able to ignore unknown fields when parsing _oasis file and re-extract Jane Street _oasis file
<thelema_>
gildor: is there a way to run ConfType= internal, custom?
<hcarty>
gildor: I was able to build and install fileutils with odb and fileutils-0.4.2-oasis6 as thelema_ said
<gildor>
thelema_: ConfType: internal, custom, no but you can use PostConfCommand:
<thelema_>
gildor: that might work... one sec
<gildor>
thelema_: Libraries "str" FindlibParent: fileutils Path: src/ in fileutils
<thelema_>
ok. not that anyone's likely to depend on fileutils.str and not fileutils, but sure
<thelema_>
it's one step closer to proper oasis-ification of the library
<gildor>
indeed
m7d has joined #ocaml
<thelema_>
okay, -oasis7 uploaded
<thelema_>
oasis7 fails
<thelema_>
any way to get --prefix passed to PostConfCommand?
<gildor>
I put my work of tonight on vote: fileutils vs oasis bundle
<gildor>
5 minutes to vote ;-)
<pdhborges>
what is fileutils for?
<thelema_>
gildor: fileutils, as odb >> bundle
<gildor>
fileutils is a set of function like cp, touch, mv in ocaml
<gildor>
(i.e. an API)
<gildor>
pdhborges: ^^^
<hcarty>
gildor: fileutils gets my vote
<pdhborges>
and what is oasis bundle?
<chegibari>
thelema_, yes, my first try was #use with a variable but it failed miserably
<chegibari>
thelema_, thanks for the suggestion
<chegibari>
thelema_, I'm using python now but I really wanted to use ocaml
<thelema_>
chegibari: most likely, what you're trying to do isn't the right way to do things. "exec" is rarely the right way to do things
<gildor>
"oasis bundle" takes a tarball that contains an OCaml software and _oasis file and create another tarball that contains this very same program + all its dependencies and a script to build them in order
<gildor>
pdhborges: ^ ^ ^
<pdhborges>
:|
lopex has quit [Ping timeout: 246 seconds]
<pdhborges>
tht looks more usefull
<zorun>
chegibari: what are you trying to do?
lopex has joined #ocaml
m7d has quit [Remote host closed the connection]
m7d has joined #ocaml
m7d has quit [Client Quit]
<gildor>
ok, 2 votes for fileutils, 1 for bundle
<gildor>
lets work on fileutils
<ygrek>
+1 for bundle
<ygrek>
not fair!
<thelema_>
ygrek: too late. :P
<gildor>
argh, you make it balanced ygrek
<ygrek>
that was the intent!
<pdhborges>
gildor: are you Sylvain?
<gildor>
but I will work on fileutils, I have done too much bundle for today
<gildor>
pdhborges: yes
<pdhborges>
whoa nice!
<pdhborges>
gildor: is the target code for oasis factored out or is ocamlbuild hardcoded?
<thelema_>
grr, *way* too many steps to test a new _oasis file in odb
<gildor>
pdhborges: ocamlbuild is a plugin for oasis, you should be able to replace it by omake or ocamlmakefile
<thelema_>
gildor: -oasis9 works and has all the fixes I know how to make.
<gildor>
thelema_: thx for your work, will use it for fileutils 0.4.3
<pdhborges>
gildor: I'll have to check that out
<pdhborges>
(hates ocamlbuild with a passion)
avsm has joined #ocaml
<gildor>
pdhborges: when I say you should, it doesn't mean it is actually possible, I didn't yet code this part
<thelema_>
pdhborges: it's possible to simply set configure, build, install, etc. commands directly and oasis will just run those.
<thelema_>
pdhborges: why the hate for ocamlbuild?
<pdhborges>
gildor I understood
<pdhborges>
thelema_: ocamlbuild spits files all over the place
<thelema_>
umm, it contains all the files it makes in _build/
<pdhborges>
thelema_: the files with hashes
<pdhborges>
and the other stuff
<pdhborges>
is side by side with source code
<thelema_>
pdhborges: are you sure you're thinking of ocamlbuild? it doesn't put *anything* side by side with source code that I know of
<chegibari>
thelema_, zorun: It's still my build system of this morning, where I use some python (but I'd prefer ocaml) code to define a project
boscop has joined #ocaml
boscop_ has quit [Ping timeout: 246 seconds]
<pdhborges>
thelema_: What about the mllib files?
<thelema_>
pdhborges: ah, you're talking about how the build instructions (.mllib, .itarget, _tags) usually get splattered through the project. That's true. Of course it's possible to put them all in a single folder, except for _tags and myocamlbuild which go in the project root
<ygrek>
you can write custom rules and do not have mllib files and etc
ulfdoz has quit [Ping timeout: 246 seconds]
<thelema_>
in the extreme, all the logic to build your project can be put into myocamlbuild.ml and you don't need any other files.
<ygrek>
yup
Snark has quit [Quit: Ex-Chat]
<pdhborges>
thelema_: how do I set oasis to build such myocamlbuild?
<thelema_>
pdhborges: that's a gildor question.
jderque has quit [Quit: leaving]
ymasory has quit [Quit: Leaving]
<gildor>
pdhborges: for now we focus on the classical setup of ocamlbuild
<gildor>
pdhborges: but if you have the motivation, you can patch the oasis' ocamlbuild plugin to do that
rfg_ has joined #ocaml
rfg has quit [Read error: Connection reset by peer]
rfg_ is now known as rfg
chegibari has quit [Remote host closed the connection]
avsm has quit [Ping timeout: 244 seconds]
pdhborges has quit [Quit: Leaving.]
thomasga has quit [Quit: Leaving.]
ygrek has quit [Remote host closed the connection]
edwin has quit [Remote host closed the connection]