Xizor has quit [Remote host closed the connection]
dedis15 has quit [Remote host closed the connection]
lolcathost has joined #ocaml
eikke has quit [Ping timeout: 248 seconds]
dwmw2_gone has quit [Ping timeout: 260 seconds]
lolcathost has quit [Ping timeout: 260 seconds]
lolcathost has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
gnuvince has joined #ocaml
jbrown__ has joined #ocaml
lolcathost has quit [Read error: Connection reset by peer]
|jbrown| has quit [Ping timeout: 245 seconds]
Ptival has quit [Quit: leaving]
Ptival has joined #ocaml
Ptival has quit [Client Quit]
Ptival has joined #ocaml
madroach has quit [Ping timeout: 244 seconds]
madroach has joined #ocaml
|jbrown| has joined #ocaml
jbrown__ has quit [Ping timeout: 264 seconds]
gustav__ has quit [Remote host closed the connection]
<pippijn>
wieczyk: I decided to implement it as ast filter
Yoric has joined #ocaml
cdidd has joined #ocaml
Yoric has quit [Ping timeout: 246 seconds]
walter|r has quit [Quit: This computer has gone to sleep]
lolcathost has joined #ocaml
jamii has joined #ocaml
lolcathost has quit [Ping timeout: 240 seconds]
gustav__ has joined #ocaml
<dsheets>
I am attempting to define an abstract bifunctor/product of functors over a field and I'm running into a snag with expressing the scalar type equality constraint...
<dsheets>
I have module type ASPACE = functor (K : PFIELD) -> SPACE
<dsheets>
with module V_1 = V_1(K) and module V_2 = V_2(K) in the struct body but when I try to define functions with domain the common K.t scalar type, I get type errors.
<dsheets>
I am trying to use the with operator like:
<dsheets>
module V_1 : (SPACE with type scalar = K.t) = V_1(K)
<dsheets>
but I get a unification failure between the K argument to Product and the K argument to V_1
<dsheets>
why doesn't the 'with' operator work when a module is a field in a specification? It only looks like it has a defined syntax for first-level types
<dsheets>
I have a constraint in module type SPACE = sig module K : PFIELD type scalar = K.t … end
<dsheets>
I'd like to be able to talk about modules with spec SPACE without discussing their parametrization over the PFIELD...
<dsheets>
solution: apply the constraint to the ASPACE spec like: module type ASPACE = functor (K : PFIELD) -> (SPACE with type K.t = K.t)
<dsheets>
that seems ridiculously powerful… i'm so happy it works
<dsheets>
the submodule type constraint capability seems particularly cool when combined with other functor specs with their own constraints
gusta251 has joined #ocaml
gustav__ has quit [Ping timeout: 264 seconds]
jamii has quit [Ping timeout: 246 seconds]
gusta251 has quit [Read error: Connection reset by peer]
thelema has quit [Remote host closed the connection]
thelema has joined #ocaml
larhat has quit [Ping timeout: 268 seconds]
mindbender1 has quit [Ping timeout: 265 seconds]
<gustav__>
Isn't there some way of getting a free IP address?
Neros_ has quit [Ping timeout: 260 seconds]
Yoric has joined #ocaml
<_habnabit>
i don't know what that means
answer_42 has joined #ocaml
Snark has joined #ocaml
thelema has quit [Ping timeout: 260 seconds]
<flux>
gustav__, in a way similar to getting a free doman name? well, there are some free ipv6 tunneling services for getting a free ipv6 network, but that's probably it..
<gustav__>
;/
<gustav__>
IPv6...
<gustav__>
For all the 6 people using it. :(
<gustav__>
flux: What's it called btw?
<flux>
ipv6 tunnel broker?
<gustav__>
Yes.
<gustav__>
It's so funny people don't know what I mean. xD
<flux>
you can get one an ipv6 network with 6to4 if you have a static ip without contacting anyone
<gustav__>
Or am trying to say. :)
<flux>
(I use 6to4)
<flux>
well what do you mean?-)
<gustav__>
Have users hit one IP address and another IP address serves those requests.
<gustav__>
Forwarding.
<gustav__>
It's NAT over Internet.
andreypopp has joined #ocaml
<gustav__>
What VPN does. But... and rinetd.
<gustav__>
So not quite VPN.
<gustav__>
It's not like the IP address hangs freely in the air.
<gustav__>
Then it would just be an alias IP address. And those aren't aroud, I know that.
Neros has joined #ocaml
<gustav__>
IP address space. That's voodoo. Ugh.
<gustav__>
Omg. Someone on IPv6.
<flux>
well, I figured that's probably what you mean. but I don't think nobody offers that service for free. it would cost them real money to tunnel your traffic, not to mention it would easily implicate them if they did something less than legal.
<flux>
you can, however, probably get a virtual machine hosted for relatively cheap
<flux>
and you can then set up your own traffic forwarding. easy especially if you're just satisfied with http.
<gustav__>
Developing on a remote host is boring. And possibly unstable.
<gustav__>
But that's an option.
<flux>
how come you cannot develope on your local machine?
<gustav__>
Not production.
<gustav__>
Things always happen. You sorta wanna tinker.
<gustav__>
I'm the web gnome.
Cyanure has joined #ocaml
answer_42 has quit [Ping timeout: 264 seconds]
ftrvxmtrx has quit [Quit: Leaving]
leoncamel has quit [Ping timeout: 260 seconds]
pango is now known as pangoafk
sgnb`` has quit [Remote host closed the connection]
sgnb has joined #ocaml
Cyanure has quit [Remote host closed the connection]
gusta992 has joined #ocaml
gustav__ has quit [Ping timeout: 252 seconds]
andreypopp has quit [Quit: sleep]
gusta992 is now known as gustav__
leoncamel has joined #ocaml
mye has joined #ocaml
ftrvxmtrx has joined #ocaml
lolcathost has quit [Quit: When I come back, please tell me in what new ways you have decided to be completely wrong.]
hkBst has joined #ocaml
lolcathost has joined #ocaml
lolcathost has quit [Changing host]
lolcathost has joined #ocaml
Cyanure has joined #ocaml
Neros has quit [Ping timeout: 260 seconds]
Kakadu has joined #ocaml
<gustav__>
Do you know of any OCaml web/http forum software?
Xizor has joined #ocaml
thomasga has joined #ocaml
cago has joined #ocaml
Neros has joined #ocaml
<flux>
sadly not. I think some wiki software exists. maybe blog-.
<gustav__>
Wiki... that's nice.
<gustav__>
A wiki is like a forum.
<gustav__>
If I research some more into PostgreSQL and OCaml I could begin a forum software. But I hardly have any patience so it probably wouldn't be pretty. But I'd be the only developer probably.
ontologiae has joined #ocaml
mye has quit [Quit: mye]
<gustav__>
It should be fairly simple.
<Kakadu>
afair the was a miniforum example with ocsigen
<gustav__>
Open source?
thelema has joined #ocaml
djcoin has joined #ocaml
<pippijn>
adrien: is it possible to implement dependencies in ocamlbuild in the same way ocaml deps are handled?
<pippijn>
adrien: with a .deps file or something
eikke has joined #ocaml
cago1 has joined #ocaml
cago has quit [Quit: Leaving.]
astertronistic has quit [Read error: Operation timed out]
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
lambdas has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
<flux>
wish pgocaml was better. I wonder if postgresql itself could be enhanced to enable it..
<flux>
also it's a shame that pgocaml is pretty much vendor-lock-in
<gustav__>
There aren't any options right?
<flux>
doing the same in any other way would probably be a big undertaking, parsing sql-queries and data definitions
<flux>
any options?
<gustav__>
Someone has to code an option. I wouldn't call that vendor lock in.
<gustav__>
But it's coded in a lock in way maybe... but that's like saying computer screen lock in only users who can see...
<flux>
pgocaml is the postgresql-specific camlp4 extension that ensured static typing
<flux>
porting it to support other databases would be a big undertaking
<flux>
especially if they don't provide same level of type access as postgresql
<gustav__>
Probably, yes.
ocp has joined #ocaml
<flux>
there are other untyped database bindings for postgresql
<gustav__>
What does it need?
<gustav__>
Hmm.
<flux>
I'm not sure how it does the trick. probably it does something like EXPLAIN or SELECT .. LIMIT 0; and then looks the column types from the response packet.
<gustav__>
I think there should be support for smaller type databases. PostgreSQL is so damn enterprisy.
<flux>
well, there are sqlite bindings
<gustav__>
sqlite is still pretty enterprisy.
<gustav__>
It's made to scale to infinity almost.
<flux>
what is not enterprisy if both sqlite and postgresql are?
<gustav__>
There are cute small DBMSs too.
<flux>
I imagine there are modules for simple key-value associations as well
<flux>
in fact ocaml may come with one
<gustav__>
One is in Synaptic on Ubuntu.
<gustav__>
That's even more enterprisy.
<flux>
..synaptic is a package manager?
<gustav__>
Yes.
<flux>
how is that anyway relevant to databases?-)
<flux>
I'm not sure world needs a library for ad-hoc text-based databases
<gustav__>
Text is neat.
<gustav__>
Data is text, so.
<flux>
text also means you basically have to read it from the start to end every time you do something
<gustav__>
I like the file system, too. But it can't be used as a database. Not in web applications.
andreypopp has joined #ocaml
<flux>
and rewrite the whole thing as well when you modify anything
<gustav__>
Yeah. The file system sucks.
<gustav__>
Locks are horrible. It just doesn't work.
<flux>
also, dpkg is still really slow, even with the current computers.
larhat1 has quit [Quit: Leaving.]
<flux>
but I suppose it's difficult to use something faster (say, sqlite) because of the ad-hoc tools that would stop working
<gustav__>
Some text applications are really fast, but they don't think like fs people do. Or maybe they do... sigh.
<flux>
I know I've written such tools :)
<gustav__>
xD
<gustav__>
I just don't like the fact that it can take a while to read a sqlite db, because the db specs are open, but if it was a text file, I could read it right away.
<flux>
well, you cannot read it right away
<gustav__>
Maybe there's a Postgres FUSE plugin for me.
<flux>
you need an operating system to do it
<gustav__>
Sure...
<flux>
and once you have some more internal structure in a text file, it becomes annoying to 'read it right away'
<flux>
at least with the sqlite client you can query interesting things about it
fraggle_laptop has quit [Remote host closed the connection]
Neros has joined #ocaml
Kakadu has quit []
myx has joined #ocaml
tane has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
hkBst has quit [Quit: Konversation terminated!]
thelema has joined #ocaml
walter has quit [Quit: This computer has gone to sleep]
djcoin has quit [Quit: WeeChat 0.3.9.1]
Cyanure has joined #ocaml
leoncamel has joined #ocaml
Xizor has joined #ocaml
Kakadu has joined #ocaml
tac has joined #ocaml
xavierm02 has joined #ocaml
tac has quit [Client Quit]
Yoric has quit [Ping timeout: 252 seconds]
avsm has quit [Quit: Leaving.]
tac has joined #ocaml
thomasga has quit [Read error: Connection reset by peer]
thomasga1 has joined #ocaml
mye has joined #ocaml
Neros has quit [Read error: Connection reset by peer]
avsm has joined #ocaml
avsm has quit [Client Quit]
cago has joined #ocaml
walter has joined #ocaml
pangoafk is now known as pango
walter has quit [Quit: This computer has gone to sleep]
hto has quit [Read error: Connection reset by peer]
hto has joined #ocaml
milosn has joined #ocaml
ftrvxmtrx has joined #ocaml
sepp2k1 has joined #ocaml
pkrnj has joined #ocaml
sepp2k has quit [Ping timeout: 246 seconds]
fraggle_laptop has joined #ocaml
jamii has quit [Ping timeout: 260 seconds]
cago has left #ocaml []
ontologiae has quit [Ping timeout: 268 seconds]
beckerb has quit [Ping timeout: 260 seconds]
thomasga1 has quit [Quit: Leaving.]
Yoric has joined #ocaml
lolcathost has quit [Ping timeout: 252 seconds]
jamii has joined #ocaml
answer_42 has quit [Read error: Connection reset by peer]
answer_42 has joined #ocaml
answer_42 has quit [Write error: Connection reset by peer]
answer_42 has joined #ocaml
pkrnj has quit [Quit: Computer has gone to sleep.]
thelema has quit [Remote host closed the connection]
answer_42 has left #ocaml []
answer_42 has joined #ocaml
answer_42 has quit [Client Quit]
thelema has joined #ocaml
UncleVasya has quit [Quit: UncleVasya]
answer_42 has joined #ocaml
lambdas has quit [Remote host closed the connection]
Neros has joined #ocaml
walter has joined #ocaml
andreypopp has quit [Quit: sleep]
_andre has quit [Quit: leaving]
pkrnj has joined #ocaml
thelema has quit [Ping timeout: 276 seconds]
Kakadu has quit []
dskippy has joined #ocaml
<dskippy>
I am having trouble understanding a simple piece of syntax in a library. I am wondering if someone could explain it to me. In this code on line 144 a functions return is being used as the left-hand side of the dot operator. That makes me think it's returning a module. But Frame is a model on the right hand side of the dot. What's going on? : http://savonet.hg.sourceforge.net/hgweb/savonet/savonet/file/ef37a4b2979e/liquidsoap/src/operators/add.ml
<dskippy>
Also what is this Frame module, and how can I know from this code where it is located and how to get documentation on it, or atleast look at the code for it
<pippijn>
dskippy: ob.Frame.field
<pippijn>
dskippy: record field names are scoped
<_habnabit>
dskippy, attributes accessed with the . operator are namespaced in a module. if you do x.y, y has to be an attributed declared on a type that's in your current module
thelema has joined #ocaml
<_habnabit>
dskippy, so if you do x.M.y, it's accessing the y attribute declared in the M module
avsm has joined #ocaml
<_habnabit>
dskippy, it's also why you can't have two types in a module with the same attribute names
<pippijn>
you can
<pippijn>
but then you can't use them :)
<pippijn>
and you'll get a warning, I think
<_habnabit>
i'm pretty sure it's an error
<pippijn>
actually you can use them
<dskippy>
How would the attributelook when defined in that module?
<Qrntz>
if it's a record field namespace clash you won't get an error
<pippijn>
but you can only use the first one before the second one is defined
<Qrntz>
at least you wouldn't in 3.12
<pippijn>
Qrntz: in 4.0 the warning became an error?
<_habnabit>
dskippy, if you were in the M module, it would be just x.y
<dskippy>
Hm, I'm a bit new to OCaml and this is really going over my head. Sorry guys.
<Qrntz>
pippijn, actually it doesn't seem to produce even a warning
<Qrntz>
the later definition just shadows the earlier one here
<Qrntz>
(4.01)
smondet has joined #ocaml
<Qrntz>
er, s/0/00./
<dskippy>
_habnabit: is the return type of fixed_content some kind of stuct that's defined in the Frame module that was an attribute called audio then?
<dskippy>
Would it be something that was opened with open? Because the program uses Frame. to reference all the functions in that module.
<dskippy>
So I imagine whatever Frame is, it's not from something that's opened.
<_habnabit>
right, but I mean that in source.ml, there could've been `module Frame = ...`
<_habnabit>
you can arbitrarily nest modules
<dskippy>
Oh and that wouldn't be opened.
<_habnabit>
right, because it's just opening Source
<dskippy>
Well I can check around for that.
pkrnj has joined #ocaml
<dskippy>
This x.X.a thing is really odd to me. Never seen that in another language.
<dskippy>
X.a in your example is a reference to the a that is in {a : int}, right?
<_habnabit>
right
<dskippy>
Because when I make a type with named pieces like that, the names because . syntax accessors.
<_habnabit>
lunch; back later
<dskippy>
Thanks for the help, _habnabit
avsm has quit [Quit: Leaving.]
emmanuelux has joined #ocaml
lolcathost has joined #ocaml
lolcathost has quit [Changing host]
lolcathost has joined #ocaml
tane has quit [Quit: Verlassend]
<thelema>
dskippy: if it makes you feel any better, there's some good work going on to significantly reduce the issue of having to type the module name in record field accessors
<dskippy>
thelema: Oh yeah? Is this slated to be a language update at some point?
<dskippy>
The issue is not a big problem. It's just my experience from other languages.
<dskippy>
In Haskell, we don't have the dot accessors for attributes of some record/object... we say (a x) instead of x.a.
<dskippy>
When a is not exported, in Haskell, in makes perfect sense to qualify it with X.a because that what you do with functions.
<dskippy>
(X.a x) simple.
<dskippy>
In Java, the dot syntax is a way to access anything in the public interface. So if I have some object x with an attribute a, I just say x.a and there's no way for a to be hidden if it's declared public in the class.
thelema has quit [Remote host closed the connection]
<dskippy>
In OCaml mixing these two notions is like ... what! x.X.a? Weird.
Xizor has quit [Remote host closed the connection]
<dskippy>
But really it's just because OCaml's reusing a syntax in a way that most developers of other languages aren't going to immediately understand. It's not inherently bad. I'm sure I can get used to it.
pkrnj has quit [Quit: Computer has gone to sleep.]
Snark has quit [Quit: Quitte]
thelema has joined #ocaml
deu5 has joined #ocaml
thelema has quit [Remote host closed the connection]
thelema has joined #ocaml
<companion_cube>
dskippy: it's mostly a matter of type inference, I think
lolcathost has quit [Quit: Lost terminal]
answer_42 has quit [Quit: WeeChat 0.3.9]
lolcathost has joined #ocaml
lolcathost has quit [Changing host]
lolcathost has joined #ocaml
thomasga has joined #ocaml
dskippy1 has joined #ocaml
smondet has quit [Ping timeout: 245 seconds]
dskippy has quit [Ping timeout: 260 seconds]
dskippy1 has quit [Client Quit]
pkrnj has joined #ocaml
avsm has joined #ocaml
avsm has quit [Quit: Leaving.]
andreypopp has joined #ocaml
sepp2k1 has quit [Read error: Connection reset by peer]
thomasga has quit [Quit: Leaving.]
larhat has quit [Quit: Leaving.]
rwmjones has quit [Read error: Operation timed out]
milosn has quit [Read error: Connection reset by peer]
milosn has joined #ocaml
rwmjones has joined #ocaml
cdidd has quit [Remote host closed the connection]
avsm has joined #ocaml
mindbender1 has joined #ocaml
Cyanure has quit [Remote host closed the connection]
eikke has quit [Ping timeout: 260 seconds]
dskippy has joined #ocaml
deu5 has quit [Quit: Leaving]
eikke has joined #ocaml
gnuvince has quit [Ping timeout: 264 seconds]
gnuvince has joined #ocaml
Yoric has quit [Ping timeout: 260 seconds]
tac has quit [Quit: Page closed]
andreypopp has quit [Quit: sleep]
lolcathost has quit [Quit: When I come back, please tell me in what new ways you have decided to be completely wrong.]
tac has joined #ocaml
thelema has quit [Read error: Connection reset by peer]
Submarine has quit [Quit: Leaving]
thelema has joined #ocaml
lolcathost has joined #ocaml
dskippy1 has joined #ocaml
dskippy has quit [Ping timeout: 252 seconds]
xavierm02 has quit [Quit: Leaving]
ikaros has joined #ocaml
Yoric has joined #ocaml
pkrnj has quit [Quit: Computer has gone to sleep.]
mye has quit [Quit: mye]
eikke has quit [Ping timeout: 248 seconds]
larhat has joined #ocaml
jamii has quit [Ping timeout: 255 seconds]
ontologiae has joined #ocaml
eikke has joined #ocaml
mjonsson has joined #ocaml
ontologiae has quit [Ping timeout: 246 seconds]
eikke has quit [Ping timeout: 255 seconds]
Yoric has quit [Ping timeout: 252 seconds]
eikke has joined #ocaml
smerz_ has joined #ocaml
thelema has quit [Read error: Connection reset by peer]