<eldragon>
Camarade_Tux, how to play youtube.com's videos in my iPhone?
alpounet has quit [Ping timeout: 276 seconds]
_zack has joined #ocaml
<Camarade_Tux>
eldragon: flash has never worked afaik, html5 does however
<Camarade_Tux>
btw, of course they wouldn't be able to tell something written in ocaml from somthing in C/C++/Obj-C but it's funny how they're doing their worst :-)
enthymeme has quit [Quit: rcirc on GNU Emacs 23.1.1]
smimou has quit [Ping timeout: 246 seconds]
smimou has joined #ocaml
thrasibule has quit [Ping timeout: 246 seconds]
myu2 has quit [Remote host closed the connection]
prince has quit [Quit: 전 이만 갑니다.]
pimmhogeling has joined #ocaml
f[x] has joined #ocaml
dark has quit [Remote host closed the connection]
alpounet has joined #ocaml
alpounet has quit [Read error: Connection reset by peer]
alpounet has joined #ocaml
_unK has joined #ocaml
pimmhogeling has quit [Ping timeout: 265 seconds]
myu2 has joined #ocaml
slash_ has joined #ocaml
myu2_ has joined #ocaml
myu2 has quit [Ping timeout: 260 seconds]
myu2_ has quit [Ping timeout: 246 seconds]
myu2 has joined #ocaml
ikaros has quit [Remote host closed the connection]
ikaros has quit [Read error: Connection reset by peer]
Nepomuk has joined #ocaml
slash_ has quit [Quit: leaving]
slash_ has joined #ocaml
Nepomuk has quit [Quit: [BX] mIRCrap: JUST DON'T DO IT!]
<robthebob>
hi, i'm trying out batteries included, but when I load my code into a custom toplevel i get "Error: Unbound type constructor Hashtbl.t" from a simple type g = (int, int) Hashtbl.t#
<robthebob>
(without the #)
<robthebob>
this seems to work if I don't load the batteries modules
<robthebob>
any ideas (compiles fine btw)
<gildor>
Camarade_Tux: do you know SFU ?
<Camarade_Tux>
gildor: I've used it a bit
drk-sd has joined #ocaml
<gildor>
Camarade_Tux: does it worth Cygwin ?
<gildor>
worth -> equal
<Camarade_Tux>
robthebob: hmmm, not sure I'll be able to help you but, how did you make the custom toplevel?
<Camarade_Tux>
gildor: well, that may not be 100% accurate but afaik, you need SFU installed to use binaries made with SFU: it has a windows services which provides the posix layer and without that service, your binaries won't work so it's a bit annoying for redistribution (compare to redistributing a few .dll files)
<Camarade_Tux>
but overall, I've found it pretty nice: looked rather clean and worked well while being faster than cygwin
<robthebob>
i think the custom toplevel is a red herring actually. if I just do "ocaml" to start up a normal toplevel (but with the battop.ml #require "batteries") then
<robthebob>
# type g = (int, int) Hashtbl.t;;
<robthebob>
Error: Unbound type constructor Hashtbl.t
<robthebob>
which works fine if i don't #require "batteries"
<gildor>
Camarade_Tux: my guess regarding Windows, in general, is that they tend to distribute big self-contained applications and avoid dependencies tracking
<Camarade_Tux>
I was really happy with SFU until I found out I couldn't easily redistribute applications =/
<gildor>
Camarade_Tux: the CoApp project is very nice but goes against one the big concept of Windows application
<Camarade_Tux>
actually, that's what made me stop using it (and the lack of time in general)
<Camarade_Tux>
WinSxS is actually quite nice: it's a big repository of all the .dll files, ... with hardlinks too save space
<gildor>
yep, and I think it half abandonned (though I need to check if they don't have rename it somewhere)
<Camarade_Tux>
if you use the windows explorer to calculate the size of the folder, it'll tell it's using a lot of space but hardlinks save most of it
<Camarade_Tux>
I don't think SFU is abandonned, or, there was some news about it quite recently, need to check
<robthebob>
don't worry if you can't help Camarade_Tux, quite specific question i know. but do you know where the batteries guys hang out so i could ask them?
<Camarade_Tux>
gildor: also, for coapp, I think they're also really targetting developpers and maybe hoping they'll make static applications to avoid the dependencies (or maybe, for zlib1.dll and a few other very common ones, provide them)
<Camarade_Tux>
well, thelema is here
<robthebob>
ah, is he one of the main authors?
<Camarade_Tux>
maybe the #require "batteries" does some magic and hides Hashtbl
<robthebob>
seems like it ends up doing something quite magical
<Camarade_Tux>
which version of batteries? and is the 'BatHashtbl' module available?
<robthebob>
i'm using 1.0.1
<robthebob>
i know 1.1 is out, but it took me long enough to compile this version
<robthebob>
i don't have root on this machine, so it seemed that i needed to do a fresh ocaml build to get set up
<gildor>
SFU 3.5 -> published around 2004 and it is the current version of SFU
<gildor>
Camarade_Tux: I know some guy who would say it is dead ;-)
<gildor>
Camarade_Tux: but nevermind, if it is working, it is still ok, I just think that MS doesn't put a big effort in SFU
<Camarade_Tux>
they somehow integrated parts of it in vista and win7 (not all editions) actually
<robthebob>
ah, in the source code found something interesting
<gildor>
I think so, but cannot find information on MSDN about it
seafood has joined #ocaml
<robthebob>
in batteries.ml they declare a module "legacy" with all the old modules in
<Camarade_Tux>
well, SFU is actually from Interix, not MS, although I've never really understood precisely the relationship
<robthebob>
and then module Array = struct include Array include BatArray end
<robthebob>
but... module Hashtbl = BatHashtbl
<Camarade_Tux>
gildor: someone just confirmed vista has a version '6' and win7 '6.1'
<gildor>
Camarade_Tux: where I can find information about it
<gildor>
download link ?
<Camarade_Tux>
robthebob: yeah, and using BatHashtbl should be exactly like Hashtbl
mjonsson has quit [Ping timeout: 258 seconds]
<Camarade_Tux>
only, hidden
<Camarade_Tux>
gildor: ah, forgot to mention it's not available in all editions, only ultimate, enterprise, something like that
<gildor>
Professional ?
<gildor>
I have a Windows Vista Pro
<robthebob>
so BatHashtbl doesnt include the standard Hashtbl like BatArray does
<thelema>
robthebob: the reason for the difference is that modules with functorized submodules can't be extended in the same way as modules without.
<thelema>
as to your original problem... hmmm...
<thelema>
if that's so, it's a bug and we should fix it.
<robthebob>
does that one-liner reproduce the problem on your machine?
<thelema>
robthebob: it doesn't, but I'm running the latest git version of batteries.
<thelema>
I'll look to see if we fixed that since... what version are you running?
<thelema>
we fixed that bug right before version 1.1
<robthebob>
i see, i'll just check if its 1.1
<thelema>
so it's fixed in 1.1.0
<robthebob>
yeah i see line 39:type ('a, 'b) t = ('a, 'b) Hashtbl.t
<robthebob>
i'll upgrade to 1.1.0
<robthebob>
what would you recommend as the best way of installing on a machine you don't have root access on?
<thelema>
hmm, that's tricky. I don't know how to get findlib to work as non-root.
<thelema>
is findlib installed as you?
<robthebob>
yeah i had a lot of trouble so in the end i had to compile a whole ocaml distribution and install it to a directory under my home directory!
<robthebob>
the situation is that i can install stuff (have sudo yum install privileges) but nothing else
<robthebob>
i appreciate your help here
<robthebob>
is there any documentation on the language extensions included in batteries?
<thelema>
there's not much language extensions at the moment.
<thelema>
The old docs should still be in ... batteries/doc/batteries/html/extensions.html
_zack has quit [Quit: Leaving.]
<thelema>
Not all of these extensions are still around. Just the unicode string/rope literals and...
<robthebob>
ok thanks, good to know
<robthebob>
switching to 1.1.0 has fixed that bug, can't compile right now as the overlay isn't working anymore though
f[x] has quit [Ping timeout: 248 seconds]
f[x] has joined #ocaml
<robthebob>
i must admit, i'm not quite clear on how that should work when compiling
<robthebob>
it makes sense for the toplevel that #require "batteries" pulls in the overlay, but for compiling i can't see how that works
<robthebob>
looks like "open Batteries" at the top of the file
thieusoai has quit [Quit: Leaving]
<robthebob>
are pa_where and pa_comprehension going to go back in thelema?
ccasin has joined #ocaml
willb has quit [Read error: Operation timed out]
willb has joined #ocaml
komar_ has quit [Quit: WeeChat 0.2.6]
Shoggoth has quit [Quit: Ex-Chat]
avsm has quit [Quit: Leaving.]
yakischloba has joined #ocaml
ikaros has joined #ocaml
protz has quit [Read error: Operation timed out]
<thelema>
robthebob: the best we've been able to do with the toplevel is to provide an ocamlinit file that easily runs the real initialization script for a batteries-enabled toplevel.
<thelema>
that changed with 1.1, so maybe you need to copy the new pre-loader into your ~/.ocamlinit
<thelema>
ocamlfind doesn't provide any way for one module's initialization code to do toplevel directives, such as #install_printer
<thelema>
maybe there's some way to get around that and put this code in an initialization module that's compiled with batteries and opened by findlib.
<thelema>
when compiling, the "overlay" is just to open the Batteries module, and compile with the batteries source files in path.
<thelema>
I agree that having two separate systems is rubbish, and wish to spend lots of time fixing this.
<derdon>
thelema: so it is planned to have one standard install system for ocaml projects?
<thelema>
That would be nice. I hope that's the intent for Oasis
<gildor>
yes
<thelema>
gildor: great!
<gildor>
well it depends on what install system is
<derdon>
you're my wonderwall *sing*
<gildor>
oasis provides a way to build your library
<gildor>
every oasis enabled project
<gildor>
have the possibility to build using the following commands:
<gildor>
ocaml setup.ml -configure
<gildor>
ocamlt setup.ml -build
<gildor>
ocaml setup.ml -install
<gildor>
(+ optional: ocaml setup.ml -test and ocaml setup.ml -doc)
<gildor>
(+ other command: ocaml setup.ml -uninstall|-clean|-distclean)
<gildor>
is this what you are looking for an install system ?
<derdon>
gildor: is it possible to redefine these commands? e.g. redefining the action of ``setup. ml -doc``
ztfw has joined #ocaml
<gildor>
derdon: of course, you define yourself what it means
<derdon>
cool
<gildor>
the basic is that it iter the document section defined in _oasis calling commands to build the doc
<gildor>
e.g. for OASIS itself
<derdon>
hm
<gildor>
Document manual
<gildor>
Type: custom (0.1.0)
<gildor>
Title: OASIS User Manual
<gildor>
if flag(gettext)
<gildor>
XCustom: $OASIS --gettext-language C -documentation > doc/MANUAL.mkd
<gildor>
have you received the lines Document ... DataFiles ?
<gildor>
derdon: ^^^
<derdon>
hm
<gildor>
need an explanation of these lines ?
<derdon>
yes
<derdon>
I think there is some communication problem between us
<gildor>
Document manual is a section describing a document
<gildor>
I use the "custom" plugin v0.1.0 to build it
Submarine has joined #ocaml
<gildor>
if I set the flag "gettext" during configure, I use the first command "$OASIS --gettext-language C -documentation > doc/MANUAL.mkd"
orphee has quit [Quit: rcirc on GNU Emacs 22.1.1]
<gildor>
which means "execute the executable OASIS with command line arg ' --gettext-language C -documentation' and redirect output to 'doc/MANUAL.mkd'"
<gildor>
the clean counterpart is to remove "$rm" doc/MANUAL.mkd
<gildor>
when you install this section you copy the file "doc/MANUAL.mkd" to the $docdir
<derdon>
so I could also say "execute my own shell script xy with some arguments"?
<gildor>
yes
<gildor>
this is exactly what the plugin custom is made for
<derdon>
good, that's what I wanted to hear :)
<gildor>
added values are $OASIS and $rm which will change in the context
<gildor>
$rm = rm -f on Linux, $rm = rd
<gildor>
on Windows (humm, I realize this is maybe a mistake here, maybe it should be delete on Win32, need to check)
<thelema>
"del", usually
<gildor>
on OASIS = _build/src/OASIS on Linux and _build/src/OASIS.exe on Win32
<gildor>
thelema: yep del
<gildor>
fix it
yakischloba is now known as jakedouglas
<gildor>
derdon: want to know anything else ?
<gildor>
<advertisement>will give an extensive 30min talk about this next week at OCaml Meeting</advertisement>
<Camarade_Tux>
gildor: btw, is the video ok?
<gildor>
I am still looking for a volunteer to help me on this
<Camarade_Tux>
what do you need? (that's actually something we wondered on #ocaml-fr last week)
<derdon>
gildor: no, now i know that I will read the doc of OASIS anytime to use it ;)
<gildor>
Camarade_Tux: someone that just start/stop the video
boscop has quit [Ping timeout: 265 seconds]
<Camarade_Tux>
that sounds doable ;-)
<Camarade_Tux>
but leaving now, ttyl
<gildor>
Camarade_Tux: I do it myself 2 years ago, you have 1min at the beginning and 1 at the end of each talk the rest of the time, you can follow the talk
<gildor>
Camarade_Tux: if you want to help on this point, I will be grateful
mutewit has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
joewilliams_away is now known as joewilliams
mutewit has quit [Ping timeout: 276 seconds]
th5 has quit [Quit: th5]
f[x] has quit [Ping timeout: 240 seconds]
ikaros_ has joined #ocaml
ikaros has quit [Read error: Operation timed out]
sepp2k has joined #ocaml
avsm has joined #ocaml
avsm has quit [Quit: Leaving.]
avsm has joined #ocaml
avsm has quit [Client Quit]
komar_ has joined #ocaml
Submarine has quit [Quit: Leaving]
derdon has quit [Ping timeout: 260 seconds]
maskd has joined #ocaml
Yoric has quit [Ping timeout: 258 seconds]
ulfdoz has joined #ocaml
krankkatze has joined #ocaml
_unK has quit [Remote host closed the connection]
drk-sd has quit [Quit: {'EXIT', drk-sd, "bye"}]
aij has quit [Write error: Broken pipe]
aij has joined #ocaml
_unK has joined #ocaml
_unK has quit [Read error: Connection reset by peer]
derdon has joined #ocaml
_unK has joined #ocaml
_unK has quit [Remote host closed the connection]
<derdon>
gildor: I've got still a question :)
<derdon>
gildor: why is it "-documentation" and not "--documentation" (to be POSIX compatible)?
enthymeme has joined #ocaml
<thelema>
derdon: ocaml style is single - even for long options
<thelema>
(I know, I don't like it either)
sepp2k has quit [Quit: Leaving.]
bluestorm has joined #ocaml
_unK has joined #ocaml
Submarine has joined #ocaml
<derdon>
thelema: oh, so one ocaml lib is to blame there. ok
<derdon>
I can live with it
<derdon>
s/live/cope
<thelema>
the compiler itself uses single -'s
aij has quit [Read error: Operation timed out]
<derdon>
the ocaml compiler defines how to parse command line options?
<thelema>
no, but it sets the standard
aij has joined #ocaml
<derdon>
ok
<thelema>
the Arg library in the ocaml stdlib uses single -, as well
<Camarade_Tux>
but the comments at the top are misleading
<Camarade_Tux>
the "test" at the end should be up-to-date
<thelema>
the one thing I want to do is have [--abc arg1 arg2 arg3] call a function with arg1 arg2 and arg3 as parameters (with default values, of course)
<flux>
camarade_tux, bah, no arg.mli ;)
<Camarade_Tux>
flux: -i ;p
<Camarade_Tux>
flux: I made it last week
<thelema>
(switch * spec list * (spec * (unit -> unit)) list *string) list I just love this type.
<flux>
hmm, is that sarcastic or sincere?-)
<thelema>
a little both - it's a crazy type, but it's got all the nooks and crannies needed to properly represent what I think of with command-line args
<thelema>
val fold_args : error : 'a error -> 'a command list -> 'a -> 'a
<thelema>
?? how does the ... : error : ... work?
<flux>
hm?
<Camarade_Tux>
for my module, I tried to keep everything simple: it will recognize the switches you give but is pretty liberal and leaves it to you to check the validity (if it's a valid float for example)
<flux>
error is both a type and a label in that context
<thelema>
ah, that's what I missed.
<thelema>
(error:'a error) -> ...
<thelema>
my ocaml parser threw an exception without the ()
<flux>
is your head running camlp4 or camlp5 possibly?-)
<thelema>
nope, just pure ocaml.
begonzo has joined #ocaml
maskd has quit [Quit: leaving]
<flux>
what I like about the functional interface is that you can put the argument list as a global value, but you don't need to have the things it modifies as globals
<flux>
but on the other hand the syntax { mode with fofo = x } is a bit heavy as well
<flux>
and there cannot be generic boolean flag setters for it
<flux>
atleast not without some camlpx..
begonzo has quit [Quit: Konversation terminated!]
<thelema>
yes, that's something I'm hoping to resolve with mine - often I have an optional float parameter that defaults to running some action with arguments = the previous few arguments
<bluestorm>
one problem with Arg is that it's not clear when the actions are done
<flux>
are tornado codes better than reed salomon ones? possibly more efficient?
<thelema>
Software-based implementations of tornado codes are about 100 times faster on small lengths and about 10,000 times faster on larger lengths than software-based Reed-Solomon erasure codes while having only slightly worse overhead.[1]
begonzo has joined #ocaml
<flux>
bah, you can't expect me to read the first paragraph! I jumped straight to the second!
<flux>
;)
<thelema>
the advantage of them is that they're crazy fast. the disadvantage is that they don't guarantee decoding 100MB of data with 100MB of check blocks.
<thelema>
you might need 104MB of check blocks.
<flux>
but yeah, I can understand how something more efficient than RS would exist
<flux>
btw, I have reed salomon implementation for ocaml
<flux>
it's crazy not-fast :)
<thelema>
I bet.
joewilliams_away is now known as joewilliams
<begonzo>
hello
<thelema>
hi
<begonzo>
so.....
<begonzo>
i'm new
<begonzo>
i need a module or something that does a tree
<flux>
for school, right?
<begonzo>
i tryed to do myself...but it's difficult
<begonzo>
yes
<flux>
perhaps you can describe your troubles in greater detail
<alpounet>
are you familiar with the definition of list ?
<begonzo>
yes i know lists
yakischloba has joined #ocaml
<begonzo>
so...do you know the language "lustre"?
<begonzo>
i have to do a tree that represent the tree of nodes calls
<brendan>
have you read the jason hickey book? IIRC it has a demo of a tree very early on
<begonzo>
anyway...a lustre node is similar to a functio, with in, out,local variables
<begonzo>
uh no i don't know it...
<thelema>
ok, so you have in, out and local variables in your lustre functions
<thelema>
so you need a tree with three children?
<begonzo>
yes
<begonzo>
children and parents
<thelema>
children and parents?
<bluestorm>
why would the tree make the difference between in, out and local variables ?
<thelema>
I see three children, do you need a link up to the parents?
<brendan>
parents plural is not a tree :)
<bluestorm>
what exactly is that tree meant to represent ?
<begonzo>
ohps you are right...sorry
<begonzo>
:P
pimmhogeling has joined #ocaml
<begonzo>
anyway a lustre program is a main function that calls other functions etc etc..i need a tree and i have to know parent and children of each function
<flux>
hmm
<flux>
sure you want a tree, not a graph?
<begonzo>
yes tree
<bluestorm>
should different invocations of the same function/node be identified or distinct ?
<thelema>
yes, dataflow language uses a tree.
<begonzo>
they are distinct
<thelema>
begonzo: type l_node = Variable of string | Function of l_node * l_node * l_node
<begonzo>
uhm
<begonzo>
it's difficult to explain for me
<begonzo>
i have to go
<begonzo>
thank you
begonzo has quit [Remote host closed the connection]
ccasin has quit [Quit: Leaving]
ulfdoz has quit [Read error: Operation timed out]
fschwidom has quit [Remote host closed the connection]
pimmhogeling has quit [Ping timeout: 245 seconds]
Associat0r has quit [Quit: Associat0r]
M| has quit [Ping timeout: 260 seconds]
ygrek has quit [Ping timeout: 245 seconds]
M| has joined #ocaml
bluestorm has quit [Ping timeout: 260 seconds]
_unK has joined #ocaml
komar_ has quit [Quit: WeeChat 0.2.6]
komar_ has joined #ocaml
jeddhaberstro has joined #ocaml
maskd has joined #ocaml
iZZy_ has joined #ocaml
ikaros_ has quit [Ping timeout: 240 seconds]
dark has joined #ocaml
seafood has joined #ocaml
pimmhogeling has joined #ocaml
struktured has quit [Ping timeout: 276 seconds]
iZZy_ has quit [Quit: Leave the magic to Houdini]
mutewit has joined #ocaml
seafood has quit [Quit: seafood]
slash_ has quit [Quit: Lost terminal]
Amorphous has quit [Read error: Connection reset by peer]