sponge45 changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/
smimp has quit [Read error: 110 (Connection timed out)]
pcc has joined #ocaml
slowriot has joined #ocaml
pantsd has joined #ocaml
pantsd has quit [Client Quit]
pantsd has joined #ocaml
pcc has left #ocaml []
gunark has quit [Read error: 104 (Connection reset by peer)]
Aradorn has quit ["This computer has gone to sleep"]
Teltariat has joined #ocaml
<Teltariat> greets folks
<Teltariat> I don't know much about OCaml, got a couple of questions.
smimram has quit ["bli"]
<Teltariat> Does Ocaml provide any libraries that provide a 100% Ocaml "embedded database"? What I mean is are there any Ocaml libs that allow you to write, access and interact with a native database file on disk without any external dependencies?
<Teltariat> I'm looking for something that I can compile into one big, dependency-less binary
<tsuyoshi> hmm.. the closest thing would be the dbm module
<tsuyoshi> but that of course depends on dbm
<Teltariat> hmm.
<tsuyoshi> dbm is installed on virtually every unix system though
<Teltariat> tsuyoshi, I'd like to be able to build binaries that'll run on all the major platforms: Windows, Linux, BSD, Mac, etc
<tsuyoshi> what kind of database do you want?
<Teltariat> So I was looking for something that would allow me to build a nice self cotnained native binary
<tsuyoshi> you could just do static linking of dbm.. it's not hard
<Teltariat> Well at this point I'm time I just want to know about any kind of database that I can use
<Teltariat> I am looking for a language to learn and try a dumb idea I have in mind, but I wanted to be able to produce a binary that would run everywhere, and have everything it needed packed in
<Teltariat> I wanted it to have an embedded web server and database
<Teltariat> I saw Ocaml's Ocsigen and thought that maybe it was a good start
llama32 has joined #ocaml
<Teltariat> From what I see on the main website, Ocaml can create ready to go binaries for all those platforms, right?
<tsuyoshi> yep
<tsuyoshi> if you want to put everything into the binary, you can static link stuff just like with c
<tsuyoshi> so you can use dbm or.. what's the one sql library?
<tsuyoshi> I forget
<Teltariat> sqlite
<tsuyoshi> yeah
<Teltariat> SQLite is pretty nice, you haven't heard of it before?
<tsuyoshi> and there are a few berkeley db bindings
<tsuyoshi> I've heard of it, I just forgot the name
<Teltariat> Just out of curiousity, does Ocaml have sort of the equivalent for PHP's ADODB? A library that automatically knows how to talk to any of the popular RDBMS' out there? And does Ocaml have a leading ORM implementation? I'm just curious, again, sorry to bother you.
zeeeee has joined #ocaml
<zeeeee> is it possible to have variant records (type mytype = Abc of { a : int, b : int } | Def of { c : int })?
piggybox has left #ocaml []
<beterraba> yutuy,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,233334444444444444444444444,2
descender has quit [Read error: 110 (Connection timed out)]
Z4rd0Z has quit []
Mr_Awesome has joined #ocaml
<tsuyoshi> zee: I think you need a separate type for the record
beterraba has quit ["Leaving"]
Z4rd0Z has joined #ocaml
slowriot has quit [Read error: 110 (Connection timed out)]
jlouis has quit [Read error: 145 (Connection timed out)]
bobobo has quit ["leaving"]
jlouis has joined #ocaml
smimp has joined #ocaml
jlouis has quit [Read error: 145 (Connection timed out)]
Debolaz2 has joined #ocaml
Debolaz has quit [Read error: 131 (Connection reset by peer)]
jlouis has joined #ocaml
pstickne has joined #ocaml
llama32 has quit [Read error: 145 (Connection timed out)]
Mr_Awesome has quit ["...and the Awesome level drops"]
zak has joined #ocaml
_velco has joined #ocaml
johnnowak has joined #ocaml
<pango> Teltariat: try sqlite bindings
<pango> played with it for prototyping, it works ok
<Teltariat> Thanks pango
<pango> and no, I'm not aware of any abstract DB layer
<pango> one solution is to use the Perl binding to benefit from DBI... Not very elegant, though
love-pingoo has joined #ocaml
jajs has joined #ocaml
<pango> zeeeee: "There are no type expressions describing (defined) variant types nor record types, since those are always named, i.e. defined before use and referred to by name. Type definitions are described in section 6.8.1. "
johnnowak has quit []
<zeeeee> pango: sorry i'm new to ocaml...i didn't understand that sentence at all
<zeeeee> it says there are no variant types nor record types, but there are according to the ocaml-tutorial
<zeeeee> i was asking about variant types *and* record types as part of the same algebraic type
<zeeeee> (you can do this in haskell)
<pango> you have to declare record types first, so they get a name
<pango> type myrecord1 = { a:int; b:int } and myrecord2 = { c: int } and mytype = Abc of myrecord1 | Def of myrecord2
<zeeeee> pango: ah, thanks, that seems like what i sought
ikaros_ has joined #ocaml
<pango> what the section 6.4 of the user manual say (backed up by the BNFs, too) is that plain record type definitions aren't type expressions, so they cannot be used directly to define variant types
<pango> same for variant types themselves; type mytype = Abc of (Def of int | Ghi of string) won't parse
pango is now known as pangoafk
velco has joined #ocaml
love-pingoo has quit ["Connection reset by pear"]
triple_ has joined #ocaml
ikaros_ has quit [Read error: 110 (Connection timed out)]
love-pingoo has joined #ocaml
triple_ has quit [Read error: 145 (Connection timed out)]
ikaros_ has joined #ocaml
ikaros_ has quit [Read error: 104 (Connection reset by peer)]
b00t has joined #ocaml
descender has joined #ocaml
slipstream has joined #ocaml
slipstream-- has quit [Read error: 110 (Connection timed out)]
Submarine has quit [Read error: 104 (Connection reset by peer)]
Aradorn has joined #ocaml
ara has joined #ocaml
ara has quit [Remote closed the connection]
Aradorn has quit [Read error: 110 (Connection timed out)]
b00t has quit [Remote closed the connection]
Z4rd0Z has quit []
Z4rd0Z has joined #ocaml
Teltariat has quit ["leaving"]
zak has quit [Read error: 110 (Connection timed out)]
asmanian has joined #ocaml
jajs has quit [Read error: 104 (Connection reset by peer)]
ikaros has quit [Read error: 110 (Connection timed out)]
ikaros has joined #ocaml
asmanian has quit [Remote closed the connection]
gunark has joined #ocaml
batdog|gone is now known as batdog
love-pingoo has quit ["Leaving"]
pstickne_ has joined #ocaml
pstickne has quit [Connection timed out]
pantsd has quit [Read error: 110 (Connection timed out)]
velco has quit ["Ex-Chat"]
pangoafk has quit [Remote closed the connection]
pangoafk has joined #ocaml
smimou has joined #ocaml
pangoafk is now known as pango
pango_ has joined #ocaml
pstickne__ has joined #ocaml
pango has quit [Remote closed the connection]
pango_ is now known as pango
pstickne_ has quit [Connection timed out]
delamon has joined #ocaml
BitVector has joined #ocaml
BitVector has left #ocaml []
love-pingoo has joined #ocaml
_velco is now known as velco
sponge45 has joined #ocaml
magnus-- has joined #ocaml
Submarine has joined #ocaml
postalchris has joined #ocaml
olegfink has joined #ocaml
<olegfink> hi! what is ledit?
<olegfink> is it a part of ocaml or a separate tool?
<olegfink> and is it alive or not?
<love-pingoo> separate
<love-pingoo> it is still distributed, but doesn't evolve anymore (doesn't need it actually)
<love-pingoo> the ocaml interactive mode doesn't have line edition facilities, ledit takes care of adding them
<olegfink> ok
<olegfink> so very to get it?
<olegfink> found only version 1.1
<olegfink> couldn't compile ever
<love-pingoo> what's your system/distro ?
<olegfink> Linux/ArchLinux
<olegfink> oops
<olegfink> s:very:where:
<love-pingoo> I have 1.11 from the deb package
<love-pingoo> what's the compilation error ?
<olegfink> love-pingoo: use of antiquotation syntax deprecated since version 3.06+18
<olegfink> and
<olegfink> File "pa_local.ml", line 19, characters 0-1:
<olegfink> Unbound value _loc
<love-pingoo> hmm I don't remember about that...
<love-pingoo> and gotta go :\ sorry
<olegfink> seems if I want it to build I have to make huge changes :|
<olegfink> thanks anyway
<love-pingoo> it shouldn't be huge, but probably non trivial..
<olegfink> yup
<olegfink> I can't even understand the code =/
<delamon> olegfink: i think you should go and get debian package with all relevant patches. it should build cleanly.
<olegfink> aha
<olegfink> and install Debian
<delamon> olegfink: nope. you shouldnt
<olegfink> thanks pango
<olegfink> hey but these are patches for some Debain thing named dpatch
<delamon> olegfink: you can apply them manually, one by one
<love-pingoo> it would be nice that the ocaml team distributes an up-to-date tarball of ledit
<delamon> well, tuarge-mode is way superior to ledit. so...
<olegfink> but that needs emacs however
<love-pingoo> ledit is useful in itself
<pango> is Daniel de Rauglaudre still working at the INRIA ?
<love-pingoo> I use it for my own tools
<love-pingoo> pango: nope
<pango> ledit is written is revised syntax, maybe that's why nobody's updating it ;)
<pango> s/is/in/
<delamon> most of software do not have license probles with readline
<delamon> or just reimplement it by themselfs
* olegfink has written alias ocaml='ledit ocaml' and now is happy at last
* pango uses locaml='ledit -h ~/.ocaml_history -x ocaml'
* delamon just starts ghci :-)
Mr_Awesome has joined #ocaml
delamon has quit ["WeeChat 0.2.1"]
reilly has joined #ocaml
velco has quit ["I'm outta here ..."]
Z4rd0Z has quit []
dark_light has joined #ocaml
love-pingoo has quit ["Connection reset by pear"]
postalchris has quit ["Leaving."]
<magnus--> Is there an ocaml build system?
<magnus--> for projects larger than 1 file
<magnus--> and projects sharing source code
<magnus--> with other projects
<magnus--> Thanks
<pango> (+ more... seems everyone made his own ;) )
<magnus--> too much to choose from :)
<magnus--> I need to hear what people actually use
<pango> so far I've had small needs, so I used findlib + standard Makefiles (using the example from the user manual as a template)
<smimou> magnus--: if you have a small project, OCamlMakefile will fit perfectly and is very simple to use
<magnus--> thanks guys
<pango> (actually the one from the user manual doesn't even use findlib... I don't remember where I picked mine from)
<tsuyoshi> I just use make and findlib
<tsuyoshi> don't see any reason not to... ocaml works fine with make
<smimou> OCamlMakefile is only a makefile with all the usual needed rules
<magnus--> Do these work with interactive development?
<magnus--> like the SML system
<smimou> what do you mean by interactive development?
<magnus--> I'm right now using emacs+tuareg with it's interactive ocaml prompt
<magnus--> for testing functions I just wrote etc
<pango> it uses ocaml's toplevel, that can dynamically load bytecode compiled modules
<pango> if you put #load "topfind" ;; in ~/.ocamlinit, you can benefit from findlib in the toplevel, too
<pango> load one module and all its dependancies in one go, etc
<magnus--> aha, so findlib handles module dependencies
<magnus--> seems I should look into findlib
smimp is now known as smimp`baking
<pango> and adjustments to include path
<pango> #require "sqlite" ;;
<pango> /usr/lib/ocaml/3.09.2/sqlite: added to search path
<pango> /usr/lib/ocaml/3.09.2/sqlite/sqlite.cma: loaded
<magnus--> aha
<magnus--> heh, it seems that I can cheat a bit for now
<magnus--> I just put #use "../shared/Env.ml";; at the top of my file
<pango> directives like #use are normally only used in the toplevel
<magnus--> tuareg loads files into the toplevel by pasting them into the toplevel
<magnus--> maybe that's why it works
<pango> no, I think it's allowed... it's just that as soon as you have separate compilation working, you avoid includes
smimp`baking is now known as smimp
<pango> mmmh well, it works because tuareg-mode uses the toplevel
<pango> but neither compiler accepts toplevel directives
<magnus--> tuareg should use #use
<magnus--> I guess my hack isn't going to work for very long :)
<pango> so you'll have to remove all #use, #load, etc. to compile your program