00:11
Iter has quit [Read error: 110 (Connection timed out)]
00:23
maihem has joined #ocaml
00:36
GreyLensman has joined #ocaml
00:51
Nutssh has quit [Read error: 104 (Connection reset by peer)]
01:21
Smerdyakov has joined #ocaml
01:42
cjohnson has joined #ocaml
02:36
cmeme has quit [Remote closed the connection]
02:37
cmeme has joined #ocaml
02:45
cjohnson has quit [Read error: 104 (Connection reset by peer)]
03:23
GreyLensman has quit ["Leaving"]
03:23
maihem has quit ["Read error: 54 (Connection reset by chocolate)"]
03:45
monotonom has joined #ocaml
03:47
Smerdyakov has quit ["sleep"]
03:53
kinners has joined #ocaml
05:10
fab_ has joined #ocaml
05:19
_fab has quit [Read error: 60 (Operation timed out)]
06:17
slashvar1ejcp] has quit [Read error: 104 (Connection reset by peer)]
06:24
Manonthespoon has joined #ocaml
06:28
bk_ has quit ["Leaving IRC - dircproxy 1.1.0"]
06:30
Manonthespoon has left #ocaml []
06:41
monotonom has quit ["Don't talk to those who talk to themselves."]
07:23
kinners has quit [Connection timed out]
07:38
mrsolo_ has quit ["Leaving"]
07:47
karryall has quit ["go"]
08:06
_shawn has quit [Read error: 104 (Connection reset by peer)]
08:07
shawn has joined #ocaml
08:28
kinners has joined #ocaml
08:33
_shawn has joined #ocaml
08:35
bk_ has joined #ocaml
08:40
_shawn has quit [Read error: 104 (Connection reset by peer)]
08:42
_shawn has joined #ocaml
08:49
shawn has quit [No route to host]
09:00
bk_ has quit ["Leaving IRC - dircproxy 1.1.0"]
10:18
kinners has quit ["leaving"]
10:50
bk_ has joined #ocaml
10:52
urz has joined #ocaml
11:43
karryall has joined #ocaml
11:45
bk_ has quit ["Leaving IRC - dircproxy 1.1.0"]
11:47
buggs^z has joined #ocaml
12:04
buggs has quit [Read error: 110 (Connection timed out)]
12:15
Iter has joined #ocaml
12:29
cedricshock has quit ["Leaving"]
12:52
noss has joined #ocaml
12:54
maihem has joined #ocaml
13:18
buggs^z is now known as buggs
14:00
Axioplase has joined #ocaml
14:01
<
Axioplase >
Chat Lu!
14:28
vincenz has joined #ocaml
14:30
mattam_ has joined #ocaml
14:33
mattam has quit [Read error: 60 (Operation timed out)]
14:42
Smerdyakov has joined #ocaml
15:04
noss has quit [Remote closed the connection]
15:05
noss has joined #ocaml
15:20
Godeke has joined #ocaml
15:25
Iter has quit [Read error: 110 (Connection timed out)]
16:20
maihem has quit [calvino.freenode.net irc.freenode.net]
16:20
cmeme has quit [calvino.freenode.net irc.freenode.net]
16:20
mattam_ is now known as mattam
16:21
maihem has joined #ocaml
16:21
cmeme has joined #ocaml
16:46
karryall has quit ["tcho"]
16:49
<
fab_ >
why does "let f a b = () let test1 = f 3 let test2 = f 2.0" work and "let rec f a b = () and test1 = f 3 and test2 = f 2.0" gives a type error?
16:51
<
gim >
because "let rec test2 = (non lambda term)" is not allowed
16:51
<
gim >
same problem with test1 of course
16:52
<
gim >
there must be an argument
16:52
<
fab_ >
but "let rec f a b = () and test1 = f 3" is ok
16:53
<
fab_ >
but after the definition of test1, f isnt polymorphic
16:53
<
fab_ >
so test2 fails
16:54
<
fab_ >
but if the definitions aren't connected by and, f stays polymorphic
16:54
<
gim >
the polymorphic abstraction is prbably done after the full declaration
16:55
<
fab_ >
what do you mean by "polymorphic abstraction"?
16:56
<
gim >
when f : 'a -> 'a is considered as forall 'a, 'a -> 'a
16:57
<
gim >
don't know if "polymorphic abstraction" is meaningful
16:58
<
fab_ >
i dont think i get it :)
16:58
<
fab_ >
i thought the only difference of definitions with "and" is to allow mutual recursion
16:59
<
gim >
in the 2nd case 'a used in term2 is the same 'a as in term2
16:59
<
gim >
in the first case f is known to be forall 'a, 'a -> 'a
17:00
<
gim >
and different type names can be used by the type inference
17:00
<
fab_ >
ok, i think i got that... but do you know why it was implemented this way?
17:02
<
gim >
because you cant do the "abstraction" until you know exactly the type of f that can be linked to the test1 or test2 one
17:04
<
gim >
(not in that case though)
17:04
<
fab_ >
maybe it was to simple ;)
17:24
<
gim >
# let rec f a b = () and test1 = f 3 in f;;
17:24
<
gim >
This kind of expression is not allowed as right-hand side of `let rec'
17:25
<
gim >
works for you ?
17:26
<
gim >
(that justifies my first remark)
17:29
<
Demitar >
fab_, that
*only* works in the toplevel.
17:31
<
fab_ >
well, i got the type error while writing a program, and checked it in toplevel only
17:31
<
Demitar >
Or if you specifically tell it that you want a and b to be polymorphic.
17:31
<
Demitar >
I meant the first case "let f a b = () let test1 = f 3 let test2 = f 2.0"
17:33
<
Demitar >
By the way. Don't listen too much to me right now. I'm a bit tired. ;-)
17:34
kosmikus is now known as kosmikus|away
18:10
noss has quit ["Leaving"]
18:14
Axioplase has quit [Read error: 60 (Operation timed out)]
18:33
wolfman8k has joined #ocaml
18:40
Axioplase has joined #ocaml
18:40
vincenz has left #ocaml []
19:19
Submarine has joined #ocaml
19:39
mkorman has joined #ocaml
19:40
<
mkorman >
does anyone know if there's a way to inspect an object within ocamldebug?
19:49
crnfl has joined #ocaml
19:51
<
crnfl >
is it okay to ask language questions?
19:53
<
crnfl >
I have a type error, but I think it's just my lack of knowledge about syntax
19:53
<
crnfl >
I've defined two types
19:53
<
crnfl >
type 'a condition = .. | Eq of 'a ..
19:54
<
crnfl >
type stree = .. | Constraint of int * (stree condition) ..
19:54
<
crnfl >
| IfElse of (stree condition) * stree * stree * stree
19:55
<
crnfl >
(just to cut to the meat of it)
19:55
<
crnfl >
anyway, I have something which is
19:55
<
crnfl >
Constraint(1,Eq(Constant(1,0))),
19:55
<
crnfl >
Get(1,reg),
19:55
<
crnfl >
set_flag f_z,
19:55
<
crnfl >
clear_flag f_z
19:55
<
crnfl >
and I get a type error when I try to compile that with ocamlc
19:55
<
crnfl >
This expression has type SemTypes.stree but is here used with type SemTypes.stree SemTypes.condition
19:56
<
crnfl >
maybe I've specced the type wrong? I got a bit confused with how it's meant to work
19:57
<
Submarine >
try parentheses outside of Eq(Constant(1,0))
19:58
<
crnfl >
Constraint(1,(Eq(Constant(1,0)))),
19:58
<
crnfl >
because that generates the same error
20:00
<
crnfl >
also, I can't figure out quite how to load random files into the interpreter, but I might just have missed something
20:00
<
Riastradh >
#load "file";;
20:00
<
crnfl >
ahhh, cool, thank you :)
20:02
<
crnfl >
that'll come in handy for debugging :)
20:03
<
crnfl >
does anybody know any good examples where they have a type that contains a specialisation of another generic type?
20:03
<
crnfl >
because it's confusing me a bit the syntax and why it doesn't like it :|
20:07
wolfman8k is now known as wolf|away
20:08
* Submarine
does not see what's wrong.
20:08
<
crnfl >
okay, this is weirding me out
20:08
<
Submarine >
What doe the compiler say?
20:08
<
crnfl >
This expression has type SemTypes.stree but is here used with type SemTypes.stree SemTypes.condition
20:08
<
crnfl >
when I use the interactive front end
20:09
<
crnfl >
# Constant(1,0);;
20:09
<
crnfl >
- : SemTypes.stree = Constant (1, 0)
20:09
<
crnfl >
- : int SemTypes.condition = Eq 1
20:09
<
crnfl >
but when I tree and do something with the Constant it doesn't want to know
20:09
<
crnfl >
# Eq (Constant(1,0));;
20:09
<
crnfl >
- : SemTypes.stree SemTypes.condition = Eq (Constant (1, 0))
20:09
<
crnfl >
okay, that works...
20:10
<
crnfl >
do I need a ;;
20:11
<
Submarine >
which expression?
20:11
<
Submarine >
consider dccing me code
20:12
<
crnfl >
yeah, I think I might
20:13
<
crnfl >
I see it now :)
20:13
<
crnfl >
it was telling me exactly what I needed to know
20:13
<
crnfl >
I specified it as being a constraint, but I was giving the wrong type
20:13
CosmicRay has joined #ocaml
20:15
<
crnfl >
basically, I had an stree which represents a constraint, which I thought I needed to use there, but it actually wanted a constraint instead
20:15
<
crnfl >
so I was overly wrapping it
20:15
<
crnfl >
it just confused me :)
20:15
dobrek has joined #ocaml
20:16
<
dobrek >
hi is there some readline binding for ocaml, readline probably not because I would have found it probably. But is there smth with the similar functionality ?
20:21
<
dobrek >
thanks I will have a look
20:23
<
dobrek >
cool ocaml hump asked for ledit said that it is : 1 line editor written in OCaml. It provides line editing for the Caml toplevels, as well as other interactive Unix commands.
20:23
<
dobrek >
Daniel de Rauglaudre
20:24
<
dobrek >
and send me to the french webpage which contains no link to ledit :((
20:24
<
Submarine >
ddr has changed affectations at INRIA.
20:24
<
truls >
Dance Dance Revolution?
20:24
<
Submarine >
Daniel de Rauglaudre
20:25
<
Submarine >
ftp://ftp.inria.fr/INRIA/cristal/Daniel.de_Rauglaudre/Tools/
20:25
Submarine has left #ocaml []
20:34
cedricshock has joined #ocaml
20:45
bk_ has joined #ocaml
20:49
crnfl has quit ["Leaving"]
21:05
urz has joined #ocaml
21:05
<
urz >
is it impossible to create a record object whose type is defined in anohter module?
21:06
<
urz >
without importing the module i mean
21:06
<
Smerdyakov >
You have to qualify the field names with the module name.
21:06
<
Smerdyakov >
{Module.f1 = 1}
21:11
urz has quit [Remote closed the connection]
21:11
Smerdyakov has quit ["eat"]
21:33
karryall has joined #ocaml
21:49
Submarine has joined #ocaml
21:50
wolf|away is now known as wolfman8k
21:50
gl has left #ocaml []
21:50
gl has joined #ocaml
21:58
CosmicRay has quit ["Client exiting"]
22:12
Axioplase has quit [Read error: 54 (Connection reset by peer)]
22:17
monotonom has joined #ocaml
22:29
mkorman has quit [Read error: 110 (Connection timed out)]
22:37
wolfman8k has quit [Remote closed the connection]
22:39
wolfman8k has joined #ocaml
23:05
Smerdyakov has joined #ocaml
23:06
monotonom has quit ["Don't talk to those who talk to themselves."]
23:14
dobrek has quit ["leaving"]
23:20
Smerdy has joined #ocaml
23:21
cjohnson has joined #ocaml
23:21
Smerdyakov has quit [Nick collision from services.]
23:21
Smerdy is now known as Smerdyakov
23:29
wolfman8k is now known as wolf|z
23:49
Submarine has left #ocaml []
23:52
mfurr has joined #ocaml