Jedai has quit [Read error: 60 (Operation timed out)]
Jedai has joined #ocaml
|Jedai| has quit [Read error: 110 (Connection timed out)]
fatalerrorx has joined #ocaml
fatalerrorx has left #ocaml []
jeremiah has quit [Read error: 104 (Connection reset by peer)]
jeddhaberstro has joined #ocaml
jeddhaberstro has quit [Remote closed the connection]
jeremiah has joined #ocaml
BarackOboto has joined #ocaml
BarackOboto has quit [Remote closed the connection]
fatalerrox has joined #ocaml
hsuh has quit [Remote closed the connection]
fatalerrox is now known as fatalerrorx
fatalerrorx has quit []
fatalerrorx has joined #ocaml
johnnowak has joined #ocaml
fatalerrorx has quit []
Submarine has joined #ocaml
maxote has left #ocaml []
maxote has joined #ocaml
ygrek has joined #ocaml
<palomer>
thelema, whoa
<palomer>
thelema, I think I'm going to file another bug report
<palomer>
this one will be titled "program takes up more and more memory and then dies"
<palomer>
as opposed to "memory leak"
<palomer>
thelema, did you change the code in any way?
* palomer
is off to bed
blue_prawn has joined #ocaml
<blue_prawn>
good morning all
johnnowak has quit []
GustNG has joined #ocaml
marmotine has joined #ocaml
fatalerrorx has joined #ocaml
bohanlon` has joined #ocaml
bohanlon has quit [Read error: 104 (Connection reset by peer)]
jeremiah has quit [Read error: 104 (Connection reset by peer)]
Camarade_Tux_ has joined #ocaml
Camarade_Tux has quit [Read error: 110 (Connection timed out)]
_zack has joined #ocaml
Camarade_Tux_ is now known as Camarade_Tux
filp has joined #ocaml
ulfdoz has joined #ocaml
Linktim has joined #ocaml
jeremiah has joined #ocaml
fatalerrorx has quit []
Linktim_ has joined #ocaml
yziquel has joined #ocaml
<yziquel>
Hello. I just managed to install godi on my virtual machine. Well, perhaps: should godi_console say "This is the GODI bootstrap console - no interactive mode available" ???
<yziquel>
when typing "godi_console" inside a cygwin terminal?
tomh has joined #ocaml
<yziquel>
haven't used godi a lot before...
tomh has quit [Client Quit]
Linktim has quit [Read error: 113 (No route to host)]
Linktim_ has quit [Read error: 110 (Connection timed out)]
<flux>
yziquel, it sounds like you didn't rub stage 2 of the installation
<flux>
or perhaps godi/win32 doesn't support it
<flux>
run, not rub :)
longh has joined #ocaml
yziquel has quit [Read error: 54 (Connection reset by peer)]
jeremiah has quit [Read error: 104 (Connection reset by peer)]
jeremiah has joined #ocaml
vixey has joined #ocaml
jeremiah has quit [Read error: 104 (Connection reset by peer)]
tsuyoshi has quit ["Lost terminal"]
tsuyoshi has joined #ocaml
damg has quit [Remote closed the connection]
jeremiah has joined #ocaml
jeremiah has quit [Connection reset by peer]
<vixey>
inria's svn is down :/
jeremiah has joined #ocaml
<thelema>
vixey: inria has svn? I only know of cvs
<mfp>
flux: that's a strange link you got... http://plan9.bell-labs.com/who/hobby/MetaPost.html > "MetaPost is a powerful graphics language based on Knuth's METAFONT, but with PostScript output and facilities for including typeset text."
<flux>
what do you mean by strange?
<flux>
that's exactly the quote I drew my conclusions from :)
<mfp>
well "is sort of a tool for other tools" sounds like a diff thing
<flux>
the link I have was a list of other applications that made use of MetaPost
<flux>
wouldn't that match the definition of a tool used by other tools?
<mfp>
ah sorry, I misread that as a tool to use other tools
ttamttam has left #ocaml []
Yoric[DT] has joined #ocaml
Associat0r has quit [Client Quit]
<Yoric[DT]>
hi
Iskr has joined #ocaml
pango has quit [Remote closed the connection]
<thelema>
hi Yoric[DT]
<thelema>
we've converted to git (if you hadn't noticed)
<Yoric[DT]>
\o/
<Yoric[DT]>
No, I haven't noticed, I'm just back from holidays and my 500+ e-mails aren't downloaded yet :)
<thelema>
heh.
<thelema>
not too much on the development end - I'm still working on flushing out ropes.
<Yoric[DT]>
flushing or fleshing?
<thelema>
you're right, fleshing. I want to flush them sometimes, though.
pango has joined #ocaml
<Yoric[DT]>
:)
<Yoric[DT]>
On my side, I've been working on a types-and-effects type system for OCaml.
<Yoric[DT]>
Not something which can be neatly integrated into Batteries, though :)
<thelema>
contrary to some thought, there are some things that don't go into batteries.
longh has quit [Read error: 104 (Connection reset by peer)]
_zack has joined #ocaml
yziquel has quit [Read error: 110 (Connection timed out)]
Axioplase has joined #ocaml
Linktim has quit [Read error: 104 (Connection reset by peer)]
Linktim has joined #ocaml
* thelema
tries the latest ocaml cvs vs. batteries
<thelema>
and fails to compile ocaml.
thelema has quit ["finishing ubuntu upgrade"]
<blue_prawn>
do you know if there is yet a DB implemented in ocaml ?
<Yoric[DT]>
In OCaml?
<Yoric[DT]>
Or for OCaml?
<Yoric[DT]>
(and yes, I actually know of one implemented in OCaml, but it's proprietary)
<blue_prawn>
proprietary and open source ?
<Yoric[DT]>
No, proprietary and closed source.
<Yoric[DT]>
They promise to liberate it eventually, but not before two years.
<blue_prawn>
who is this "they" ?
<Yoric[DT]>
MLState
<blue_prawn>
i've started to make a small toy naive one
thelema has joined #ocaml
<Smerdyakov>
What's wrong with PostgreSQL?
<blue_prawn>
I don't understand?
<Smerdyakov>
Why are you implementing "a DB"?
<blue_prawn>
I'm a beginner, and I took it as an exercise
<blue_prawn>
and programming is one of my hobbies, so I have to find subjects
<blue_prawn>
but I guess my toy db is very naive
<blue_prawn>
I would be pleased if I find a teacher or an experienced programmer to give me comments about it
hkBst has joined #ocaml
<thelema>
blue_prawn: ocaml could use bindings to memcached
<blue_prawn>
but the link until the archive doesn't work
<Smerdyakov>
blue_prawn, to me, it helps to choose projects with actual independent value.
<blue_prawn>
Smerdyakov: sorry I'm not sure to understand what you mean, could you re-formulate the same sentence in a different way ? (sorry for my bad english)
<flux>
interfacing with memcached from ocaml indeed does look like something that would better be implemented as a native ocaml library instead of writing bindings to some c library - the protocol is that simple, and a good implementation would likely make use of callback functions
<Smerdyakov>
blue_prawn, I don't think it makes sense to choose "learning projects" that you wouldn't work on for purposes beyond education.
<blue_prawn>
ha ok
<blue_prawn>
but I will use my toy db for my personal use
<blue_prawn>
perhaps also for my website
Kerris4 has quit [Read error: 104 (Connection reset by peer)]
<flux>
if one wants experience in writing databases in ocaml, there don't seem to be much other options than to write your own :)
<flux>
(writing databases instead of merely writing code to interface with one)
<_zack>
thelema: I'm looking for my way into batteries code, where should I put the wrapper around camlzip? src/core/baselib/ or rather src/core/camlzip/ ?
<_zack>
I think my case is quite new, since it is the first really external library to be integrated ...
<Smerdyakov>
blue_prawn, why would you want to do that?
<Smerdyakov>
blue_prawn, instead of using Postgres?
<blue_prawn>
for example for my website, if I want a PG DB I have to pay
<_zack>
blue_prawn: don't they have sqlite installed?
<thelema>
_zack: core/camlzip
<_zack>
thelema: ack, so each external lib would have its own entry there
<blue_prawn>
yes surely, but even then, this was a subject I was interested to work on
<thelema>
well, I don't think it goes in extlib.
<_zack>
thelema: that's for sure
<_zack>
but I was more generally wondering about the general policy
<Smerdyakov>
blue_prawn, the cost of getting hosting with real tools installed is so low that I don't accept your reason as a good one.
<thelema>
I have different inclinations on the organization of batteries than Yoric[DT], who has set up the current organization
<Yoric[DT]>
mmmh?
<Yoric[DT]>
Ah.
<_zack>
Yoric[DT]: read above, my question to thelema
<Yoric[DT]>
Yep, just seen.
<Yoric[DT]>
I'd put it in src/core/camlzip/.
<_zack>
Yoric[DT]: I thought DT was for "detached" or something, that's why I didn't ping you as well :/
<Yoric[DT]>
:)
<blue_prawn>
Smerdyakov: it's my personnal website, not a professional one
<Yoric[DT]>
DT is because I'm not the only Yoric around here.
<thelema>
DT is David Teller, no?
<Smerdyakov>
blue_prawn, why is that relevant?
<Yoric[DT]>
(well, the other one may be spelt Yorik or something such, but it's still confusing)
<Yoric[DT]>
thelema: indeed
<_zack>
thelema: I guess so
<Smerdyakov>
blue_prawn, $5/mo. is more than enough to get everything you need.
<_zack>
Yoric[DT]: but you used to be just "Yoric", don't you?
code17 has quit ["Leaving."]
<Yoric[DT]>
Yes.
<Yoric[DT]>
Well, there's no deep and profound reason on this.
<Smerdyakov>
blue_prawn, that's the price now for HCoop (http://hcoop.net/). We will probably raise dues soon, but it will still be trivial for anyone with income.
<Yoric[DT]>
s/on/for/
<thelema>
anyway, about batteries...
<blue_prawn>
Smerdyakov: yes, but the problems stays the same: programming is a hobby for me, so I have to find subjects
<_zack>
Yoric[DT]: actually, I was curious and checked, the "Yoric" nickname on freenode was last seen more than 1 year ago, usually it's enough to ask for taking over a nick
<thelema>
I'd prefer code that depends on something external to the project go in /src/<projectname>
<Yoric[DT]>
ok
<Yoric[DT]>
Sorry, afk.
<_zack>
thelema: or maybe src/contrib/ ?
<thelema>
I don't find much value in core/
<Smerdyakov>
blue_prawn, work only on projects that you wish existed, even if someone else built them. That's my advice.
<_zack>
but I see your point, something like camlzip it's definitely not "core"
<thelema>
I guess the unicode ropes are kinda an exception, as we intend them to be a major data structure (nearly replacing string)
<_zack>
nevertheless, a tons of dirs under src/ won't be good either
<thelema>
so we want it part of the core.
<_zack>
so src/contrib/ or src/libs/ can be better suited
<thelema>
only one dir per subproject
<thelema>
maybe /src/libs/camlzip
<_zack>
thelema: but still, it is a more detailed classification than, say, "syntax"
<thelema>
that sounds good to me.
<_zack>
so I don't think they should be at the same level
<_zack>
src/libs/ is fine with me
* thelema
is very pragmatic about directories -- too many makes things hard to find just as too few does.
<_zack>
while we are at batteries, any reason why the nothread/ stuff uses the Inner module indirection, while thread/ doesn't?
<thelema>
that's a yoric question.
<_zack>
Yoric[DT]: ^^^
<Iskr>
sorry
<Iskr>
i can't really stand OCaml syntax
<Iskr>
have you got any suggestions to make me appreciate it?
<thelema>
yes, they have some anti-patterns in their code.
<Iskr>
you already knew it?
<thelema>
no, I just downloaded the code and am browsing
<Iskr>
ah ok
<Iskr>
you have been very quick
<Iskr>
moreover we were trying to compile it on a bsd server
<Iskr>
and it givers some errors
<thelema>
really? the same code should compile on bsd and linux
<Iskr>
yes
<Iskr>
but we can't use the same makefile
<thelema>
ah... that would cause problems...
<Iskr>
doing 'by hand'
<Iskr>
we got this error
<Iskr>
let me paste it
<flux>
easier to install gnu make perhaps?
<thelema>
compilation with ocaml is unnecessarily complex
<thelema>
at least before ocamlbuild
<Iskr>
on ocamlopt.opt -c -inline 23 -unsafe parser.mli -o parser.cmi
<Iskr>
File "parser.mli", line 36, characters 48-59:
<thelema>
drop the "-inline"
<thelema>
drop the "unsafe"
<Iskr>
Unbound type constructor Absyn0.decl
<thelema>
heh. I get the same error on my computer
<Iskr>
is it a bsd?
<thelema>
using ocamlbuild to take care of dependencies, etc.
<thelema>
no, I run ubuntu
<Iskr>
ah ok
<Iskr>
(but i mean you are not using the makefile provided)
<thelema>
no, I'm not.
<Iskr>
ok
<Iskr>
(che -inline and -unsafe drop didn't work)
<thelema>
that was a general suggestion, not a compilation fix
gal_bolle has quit [Remote closed the connection]
<Iskr>
right
<thelema>
well, parser.mli depends on absyn.ml
<Iskr>
yes
<thelema>
# workaround for ocamlyacc "open" lack
<thelema>
@mv parser.mli _parser.mli
<thelema>
@echo -e "open Absyn\n" >parser.mli
<thelema>
@rm -f _parser.mli
<thelema>
@cat <_parser.mli >>parser.mli
<thelema>
oops, reverse those last two lines
<Iskr>
right
<Iskr>
i think we are getting it
pango has quit [Remote closed the connection]
<Iskr>
let's see if it works now...
<Iskr>
it works!
<Iskr>
thank you
pango has joined #ocaml
<thelema>
you're welcome.
<_zack>
thelema, Yoric[DT]: so, how should libraries in src/libs/ refer to stuff in batteries (e.g., System.IO), via the final module path or via the implementation module path?
<thelema>
implementation module path
<thelema>
final path is only for external code
GustNG has quit ["Leaving."]
<thelema>
(at least that's my initial reaction)
<_zack>
k
<thelema>
any reason I haven't thought for the other way?
GustNG has joined #ocaml
<_zack>
thelema: well, in a sense, the "external" library we are gonna integrate just need glue code, which is likely to be implementable even using the external API...
<_zack>
but the principle of using inside batteries only the implementation path is a sane one
<thelema>
I think of batteries as having a bunch of libraries stuck together, with a nice mask of code that gives a satisfactory presentation to the mess behind the scenes
threeve has joined #ocaml
<_zack>
thelema: tell me, why I don't feel happy about being behind the scenes? :)
<thelema>
you're not behind the scenes, just your ugly code. :P
<_zack>
i'll ask him to write himself them!
<thelema>
j/k
pango has quit [Remote closed the connection]
pango has joined #ocaml
GustNG1 has joined #ocaml
ttamttam has joined #ocaml
GustNG has quit [Read error: 60 (Operation timed out)]
aspirant1 has joined #ocaml
ttamttam has left #ocaml []
<aspirant1>
bu ne
Iskr has left #ocaml []
<thelema>
aspirant1: I agree.
<aspirant1>
nasıl yani
<aspirant1>
?
<thelema>
sorry, I don't really understand you.
<aspirant1>
thanks thelema
aspirant1 has quit ["Ex-Chat"]
Linktim has quit [Read error: 104 (Connection reset by peer)]
Linktim has joined #ocaml
marmotine has quit [Remote closed the connection]
Linktim_ has joined #ocaml
marmotine has joined #ocaml
marmotine has quit [Remote closed the connection]
GustNG1 has quit ["Leaving."]
Linktim has quit [Read error: 110 (Connection timed out)]
Linktim has joined #ocaml
Linktim_ has quit [Read error: 110 (Connection timed out)]
jeremiah has quit [Read error: 104 (Connection reset by peer)]
ygrek has quit [Remote closed the connection]
Linktim has quit [Read error: 110 (Connection timed out)]
jeremiah has joined #ocaml
ulfdoz has quit ["deprecated"]
Yoric[DT] has quit ["Ex-Chat"]
jeremiah has quit [Read error: 104 (Connection reset by peer)]
GustNG has joined #ocaml
Kerris4 has joined #ocaml
jeremiah has joined #ocaml
jeremiah has quit [Read error: 104 (Connection reset by peer)]
GustNG has quit [Read error: 110 (Connection timed out)]
Linktim has joined #ocaml
jeremiah has joined #ocaml
filp has quit ["Bye"]
jeremiah has quit [Read error: 104 (Connection reset by peer)]
Linktim has quit [Read error: 110 (Connection timed out)]
<flux>
10% performance increase by going from using strings to using self-made substring module, another 10% by going from non-mutable iterators to mutable to further reduce allocation rate
<flux>
(the task at hand: parsing mailbox files)
<flux>
I'm guessing I won't be able to squeeze it much further, as 12% is taken by scanning for newlines (!), 35% by memory management (!!), unless I found another smart way to reduce the allocation rate
<flux>
find, even
<Camarade_Tux>
flux, how fast are your currently processing mails ?
<flux>
around 20M/s on a 1.3GHz Pentium
jeremiah has joined #ocaml
dobblego has quit [Remote closed the connection]
<flux>
or in other terms: if each post is around 8 KB long, around 2600 per second
jeremiah has quit [Read error: 104 (Connection reset by peer)]
dobblego has joined #ocaml
<Camarade_Tux>
I'm wondering when you'll stop optimizing it :p
<flux>
I think I'm about done now :)
dobblego has quit [Client Quit]
<flux>
I'm actually wondering if I should even use the latest version, as it does use mutation quite a lot..
<flux>
I'm bound to do some allocations per line as I use Enum in the parser
<flux>
but perhaps there is a limit to optimizations :)
Associat0r has joined #ocaml
<Camarade_Tux>
I think there is one but I don't think you've reached it :p