00:02
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
00:05
mcclurmc_away is now known as mcclurmc
00:09
emmanuelux has quit [Remote host closed the connection]
00:25
avsm has joined #ocaml
00:28
mcclurmc is now known as mcclurmc_away
00:47
milosn_ has joined #ocaml
00:48
milosn has quit [Ping timeout: 244 seconds]
00:55
arneis has quit [Ping timeout: 245 seconds]
00:57
<
dsheets >
using oasis+ocamlbuild, the stdout of "ocaml setup.ml -build" destroys/corrupts terminal buffer. has anyone else experienced this?
00:57
<
_habnabit >
dsheets, wow, what terminal are you using?
00:58
<
dsheets >
if i redirect stdout to a file, i can read the build log
00:59
<
dsheets >
_habnabit: Terminal.app :-(
00:59
<
_habnabit >
dsheets, it probably is checking isatty(stdout) then
00:59
<
_habnabit >
dsheets, eh, which version of OS X? no issues here
00:59
<
_habnabit >
odd, same for me
01:00
<
_habnabit >
what's your $TERM?
01:00
<
_habnabit >
also, try doing `ocaml setup.ml -build | cat`
01:01
<
dsheets >
xterm-color
01:01
<
_habnabit >
hmm, same for me
01:01
<
_habnabit >
wonder if it's something specific to your ocaml/oasis/ocamlbuild
01:01
<
_habnabit >
what about if you do the pipe, though?
01:01
<
_habnabit >
also, how exactly does it "destroy/corrupt" the terminal buffer?
01:02
<
dsheets >
pipe works fine
01:02
<
_habnabit >
okay, then it's most definitely checking isatty(stdout)
01:03
<
dsheets >
deletes lines backwards
01:03
<
_habnabit >
could you take a screenshot before and after? i'm really curious
01:04
<
dsheets >
brb adium is crap
01:04
<
_habnabit >
for irc, yes
01:05
dsheets has quit [Quit: Leaving.]
01:05
dsheets has joined #ocaml
01:05
<
dsheets >
yeah, it sucks at managing the chat buffers… seems like it's linearly scanning them constantly or something stupid
01:06
<
dsheets >
ok, screencap
01:13
<
dsheets >
it appears as though every write to the terminal is preceded by some kind of control sequence that deletes previous lines
01:15
Neros has joined #ocaml
01:19
<
dsheets >
_habnabit: any ideas? |'m using |cat for now.
01:20
<
_habnabit >
sorry, something else is distracting me atm. will look later
01:24
xavierm02 has quit [Quit: Leaving]
01:41
avsm has quit [Quit: Leaving.]
01:59
rrolles has quit [Ping timeout: 244 seconds]
02:04
gnuvince has quit [Quit: Remember when men were men and regular expressions recognized regular languages?]
02:19
madroach has quit [Ping timeout: 244 seconds]
02:20
gnuvince has joined #ocaml
02:20
madroach has joined #ocaml
02:22
Neros has quit [Ping timeout: 260 seconds]
02:31
jamii has joined #ocaml
02:37
rrolles has joined #ocaml
03:11
jamii has quit [Ping timeout: 260 seconds]
03:11
gnuvince has quit [Quit: Remember when men were men and regular expressions recognized regular languages?]
03:19
gnuvince has joined #ocaml
03:22
mk270 has quit [Ping timeout: 255 seconds]
03:27
tautologico has quit [Quit: tautologico]
03:31
mk270 has joined #ocaml
03:43
BiDOrD_ has joined #ocaml
03:45
BiDOrD has quit [Ping timeout: 260 seconds]
04:01
andreypopp has joined #ocaml
04:18
nooy has left #ocaml []
04:27
andreypopp has quit [Quit: sleep]
04:35
andreypopp has joined #ocaml
05:04
andreypopp has quit [Quit: sleep]
05:26
Yoric has joined #ocaml
05:30
andreypopp has joined #ocaml
05:36
ganjahtronic has joined #ocaml
05:39
andreypopp has quit [Quit: sleep]
05:44
Drakken has quit [Ping timeout: 245 seconds]
05:47
Drakken has joined #ocaml
05:54
cdidd has joined #ocaml
06:00
Yoric has quit [Ping timeout: 246 seconds]
06:12
jewel has joined #ocaml
06:53
andreypopp has joined #ocaml
06:55
jewel has quit [Ping timeout: 276 seconds]
07:03
<
dsheets >
is there a way to expose a record type that has fields that are only mutable internal to the module?
07:03
<
dsheets >
is the answer "use an object"?
07:07
<
julm >
# module M : sig type t = private { mutable x : int } end = struct type t = { mutable x : int } end;;
07:07
<
julm >
module M : sig type t = private { mutable x : int; } end
07:07
<
julm >
# let f t = t.M.x <- 0;;
07:07
<
julm >
Error: Cannot assign field M.x of the private type M.t
07:11
<
dsheets >
julm: wow, that's really cool. thanks! :-)
07:15
andreypopp has quit [Read error: Connection reset by peer]
07:22
hkBst has joined #ocaml
07:22
hkBst has quit [Changing host]
07:22
hkBst has joined #ocaml
07:24
CoverSlide has quit [Ping timeout: 260 seconds]
07:35
avsm has joined #ocaml
07:42
CoverSlide has joined #ocaml
07:42
andreypopp has joined #ocaml
07:55
Yoric has joined #ocaml
08:01
<
f[x] >
dsheets, that is ocamlbuild doing, regarding terminal stuff
08:01
* f[x]
using gnome-terminal on linux
08:01
<
dsheets >
you see the same behavior? when i run the ocamlbuild command directly, i cannot repro
08:02
* f[x]
always thought it was a feature.. not very pleasent though
08:02
<
dsheets >
but under oasis, badness
08:02
<
f[x] >
without setup.ml it is ok
08:03
<
f[x] >
never paid attention, just got used to it %)
08:03
<
dsheets >
dsheets : funny -> sad
08:03
<
adrien >
hmmm, what's the issue?
08:03
<
adrien >
"ocaml setup.ml -build"
08:03
<
f[x] >
I guess it qualifies for the bug report :)
08:04
<
adrien >
it tells you how it runs ocamlbuild
08:04
<
dsheets >
adrien: yes, it destroys buffer… to read the log, i have to "ocaml setup.ml -build | cat" like _habnabit suggested
08:04
<
adrien >
copy that, append "-classic-display"
08:04
<
f[x] >
the log is in _build/_log
08:05
<
f[x] >
running under strace doesn't reproduce this behaviour..!
08:05
<
dsheets >
adrien: no classic display in my setup.ml?
08:06
<
f[x] >
dsheets, do you use rlwrap?
08:06
<
f[x] >
what happens with "$(which ocaml) setup.ml -build"?
08:06
<
dsheets >
blast! alias ocaml='rlwrap ocaml'
08:06
<
dsheets >
thanks, sorry :-(
08:06
<
f[x] >
but how it explains?
08:12
<
dsheets >
f[x]: rlwrap ocaml setup.ml -build destroys the buffer because setup.ml is sending control codes to the term to stay small (and keeps deleting the present line). rlwrap on top of that does something silly with the output control codes… ?
08:17
<
adrien >
such ways of displaying have never worked correctly through pagers for me
08:17
rrolles has quit []
08:18
mcclurmc_away is now known as mcclurmc
08:21
fusillia has joined #ocaml
08:22
avsm has quit [Quit: Leaving.]
08:24
<
f[x] >
dsheets, looks like, rlwrap -t dumb helps
08:25
<
dsheets >
f[x]: cool, thanks
08:36
julm has quit [Quit: Coyote finally caught me]
08:37
avsm has joined #ocaml
08:38
Kakadu has joined #ocaml
08:39
avsm has quit [Client Quit]
08:59
GnomeStoleMyBike has joined #ocaml
09:04
milosn_ is now known as milosn
09:06
othiym23 has quit [Read error: Operation timed out]
09:13
Snark has joined #ocaml
09:14
ftrvxmtrx_ has joined #ocaml
09:19
othiym23 has joined #ocaml
09:40
sepp2k has joined #ocaml
09:41
* f[x]
thanks himself too, -1 inconvenience
09:43
beginner42 has joined #ocaml
09:45
<
beginner42 >
what is the github repo for this irc channel?
09:45
<
Kakadu >
beginner42: logs?
09:45
<
beginner42 >
Kakadu: yes
09:46
<
pippijn >
is there one?
09:46
<
pippijn >
I hope not
09:47
<
Kakadu >
pippijn: MI5 and others are already departured to you
09:54
<
pippijn >
Kakadu: what do you know about finite automata?
09:55
<
pippijn >
Kakadu: do you know subset construction?
09:55
Progster has joined #ocaml
09:55
<
pippijn >
NFA -> DFA?
09:55
<
Kakadu >
hmmm. I've studied that
09:56
Cyanure has joined #ocaml
09:58
_andre has joined #ocaml
10:03
<
pippijn >
can you see what language this is supposed to accept?
10:03
<
pippijn >
0 is the start state
10:04
<
Kakadu >
it seems to be determinated
10:04
<
pippijn >
it is a deterministic finite automaton, yes
10:04
<
pippijn >
what language does it accept?
10:06
<
Kakadu >
It will be very long RE
10:07
<
Kakadu >
How alphabet looks like? ['*'; '/'; 'A0'] ?
10:07
<
pippijn >
A0 is actually not part of the alphabet
10:07
<
pippijn >
it's the action performed when the automaton terminates
10:08
<
Kakadu >
than ['*'; '/']
10:08
<
pippijn >
[^'*' '/'] means "all characters except those 2
10:08
<
pippijn >
so the alphabet is the full character set
10:08
<
Kakadu >
['*'; '/'; 'a'] for simplicity
10:10
<
pippijn >
can you produce an example sentence for this automaton?
10:11
<
Kakadu >
this is /*a*/
10:11
<
Kakadu >
Is it related somehow to your C++ parser?
10:12
<
pippijn >
I don't see that
10:12
<
pippijn >
/*a*/ works
10:12
<
pippijn >
Kakadu: yes
10:12
<
pippijn >
but here is the problem:
10:12
<
pippijn >
it also accepts /*a*/a
10:14
mrm has joined #ocaml
10:18
<
pippijn >
the problem is state 11,4
10:18
<
pippijn >
in the NFA, state 11 accepts nothing
10:18
<
pippijn >
but in the DFA, the subset {11, 4} accepts everything accepted by 4
10:18
<
pippijn >
which is the full character set
10:19
<
Kakadu >
11,4 shoul be final
10:19
<
Kakadu >
I see double circle on it
10:24
<
pippijn >
but final states can go back to non-final states
10:27
<
Kakadu >
Who have built this automaton?
10:27
<
pippijn >
my program built it from the regexp
10:28
<
Kakadu >
You have build NFA and than converted it to DFA?
10:30
<
Kakadu >
is NFA OK?
10:30
<
pippijn >
I'm pretty sure it is
10:31
<
pippijn >
I can't draw it
10:35
mcclurmc is now known as mcclurmc_away
10:37
andreypopp has quit [Quit: sleep]
10:39
dwmw2_gone has quit [Ping timeout: 260 seconds]
10:40
dwmw2_gone has joined #ocaml
10:41
<
Kakadu >
pippijn: Do u use something like Tomphson algorithm?
10:41
<
pippijn >
I don't know
10:42
<
pippijn >
I made it up by myself from the theory
10:45
Progster has quit [Ping timeout: 256 seconds]
10:45
andreypopp has joined #ocaml
10:46
andreypopp has quit [Client Quit]
10:47
andreypopp has joined #ocaml
10:47
<
Kakadu >
what is associativity in [^ '*']| "*"* [^ '*' '/']
10:48
<
pippijn >
what do you mean?
10:48
<
Kakadu >
([^ '*']| "*"*) [^ '*' '/']
10:49
<
Kakadu >
[^ '*']| ("*"* [^ '*' '/'] )
10:49
* Kakadu
is building NFA on a paper
10:50
madroach has quit [Quit: leaving]
10:50
<
pippijn >
the llatter
10:50
madroach has joined #ocaml
10:51
madroach has quit [Client Quit]
10:52
madroach has joined #ocaml
10:57
ftrvxmtrx_ has quit [Quit: Leaving]
10:57
beginner42 has quit [Remote host closed the connection]
10:59
larhat has joined #ocaml
11:03
avsm has joined #ocaml
11:04
larhat has quit [Read error: Connection reset by peer]
11:05
madroach has quit [Ping timeout: 244 seconds]
11:07
larhat has joined #ocaml
11:11
madroach has joined #ocaml
11:16
toolslive has quit [Ping timeout: 244 seconds]
11:18
avsm has quit [Quit: Leaving.]
11:20
<
Kakadu >
so It is rather difficult to build NFA without epsilon rules
11:20
<
pippijn >
so use epsilon rules
11:20
<
pippijn >
I also use them
11:20
<
Kakadu >
It seems that Tomphson algotithm can help You to build DFA with epsilon rules
11:21
<
Kakadu >
And after tomphsonisation it should work OK
11:21
avsm has joined #ocaml
11:26
mcclurmc_away is now known as mcclurmc
11:27
andreypopp has quit [Quit: quit]
11:31
toolslive has joined #ocaml
11:35
<
pippijn >
looks better now
11:36
<
pippijn >
wait, it's still broken.. the DFA is not deterministic
11:40
<
Kakadu >
I can mnually build only NFA
11:44
<
pippijn >
Oops! Google Chrome could not find wstaw.org
11:44
avsm1 has joined #ocaml
11:44
<
wieczyk >
What are you trying to match by this automata?
11:45
<
Kakadu >
Use mozilla
11:45
<
pippijn >
Kakadu: it works now
11:45
<
pippijn >
maybe my DNS was broken
11:45
<
wieczyk >
% host wstaw.org
11:45
<
wieczyk >
wstaw.org has address 178.33.48.123
11:47
avsm has quit [Ping timeout: 252 seconds]
11:48
sivoais has quit [Read error: Connection reset by peer]
11:52
Progster has joined #ocaml
11:57
Neros has joined #ocaml
11:58
avsm1 has quit [Quit: Leaving.]
12:00
<
Kakadu >
it doesn't recognize /********a*/
12:02
<
wieczyk >
What language do you want to parse?
12:03
<
Kakadu >
wieczyk: C++ comments
12:04
<
wieczyk >
states = { q_code, q_maybe_open, q_comment, q_maybe_close }
12:04
<
wieczyk >
Well, C++ comments are //, or /* ... */ or both?
12:04
<
wieczyk >
q_start = q_code
12:05
<
wieczyk >
ok again question
12:05
sivoais has joined #ocaml
12:05
<
wieczyk >
You are trying to detect is some string is a C++ comment?
12:05
<
Kakadu >
wieczyk: rule token = parse
12:05
<
Kakadu >
| "/*" ([^ '*']| "*"* [^ '*' '/'])* "*"+ "/" { token lexbuf }
12:05
<
wieczyk >
So "/* aaaa
*/" is correct word, but "sssdsa /* aaaaa */" is not/
12:05
<
Kakadu >
it seems so
12:06
<
Kakadu >
but pippijn knows better what he want
12:06
<
wieczyk >
states = { q_start1, q_command, q_maybe_close, q_closed, q_not_comment }
12:06
<
wieczyk >
states = { q_start, q_command, q_maybe_close, q_closed, q_not_comment }
12:06
<
wieczyk >
transitions:
12:07
<
wieczyk >
states = { q_start, q_maybe_open, q_command, q_maybe_close, q_closed, q_not_comment }
12:07
<
wieczyk >
This DFA is not complete ;]
12:08
<
wieczyk >
You should also add some state 'error' and add transitions
12:08
<
wieczyk >
but it is nothing important
12:08
<
Kakadu >
btw he wants to build it automatically
12:08
<
wieczyk >
Why we have transition "on q2 when '/' -> q2'
12:09
<
wieczyk >
also we have two transitions 'on q2 when * -> ...' it is not DFA ;/
12:09
<
wieczyk >
Ah automaticly
12:09
<
wieczyk >
We can do it in the easy way if we dont want to get minimal DFA.
12:10
<
wieczyk >
Because naive (exponential) translation from NFA do DFA is very easy.
12:10
<
pippijn >
wieczyk: minimisation is another step, but not really necessary
12:11
<
pippijn >
and minimisation seems rather complex
12:11
<
pippijn >
and I'd rather get something to work, first :)
12:11
<
wieczyk >
Do you now how to prove that for any NFA automata we can construct DFA?
12:12
<
wieczyk >
It is constructive proof with gives you exponential algorithm for translation :D
12:13
<
Kakadu >
wieczyk: yep, and this algo uses epsilon rules
12:14
<
wieczyk >
DFA cannot have epsilon rules
12:15
<
wieczyk >
Deterministic-FA cannot have nondeterministic rules, due to this definition.
12:15
<
Kakadu >
than my algorithm is bad
12:15
<
wieczyk >
Think about this:
12:15
mcclurmc is now known as mcclurmc_away
12:15
<
wieczyk >
DFA = (Q, trans, q_start, F)
12:15
<
wieczyk >
Q - states
12:15
<
wieczyk >
trans : Q -> char -> Q
12:15
<
wieczyk >
q_start : Q
12:15
<
wieczyk >
F : subset of Q
12:16
<
wieczyk >
We wanted to name NFA ;]
12:16
<
wieczyk >
NFA = (Q, trans, q_start, F)
12:16
<
wieczyk >
Q - states
12:16
<
wieczyk >
trans: Q -> char -> subset-of-Q
12:16
<
Kakadu >
trans Q -> char - > Q list
12:17
<
wieczyk >
I have assumed that epsilon rules from this NFA have been elimiated
12:17
<
wieczyk >
do you know how to eliminate epsilon rules from NFA?
12:17
<
wieczyk >
If it is easier for you we can define NFA which allows to epsilon-rules.
12:17
<
wieczyk >
trans: Q -> char option -> Q list
12:17
<
Kakadu >
I can do it manually but I don't remember algorithm
12:18
<
wieczyk >
but it is easier to speak about proof when epsilons are eliminated.
12:19
<
wieczyk >
Now we want to construct DFA which simulates this NFA.
12:19
<
wieczyk >
How we can do this? We need to track 'possible states' of this NFA
12:19
<
wieczyk >
state of DFA = Q list
12:20
<
Kakadu >
btw, you should better explain this to pippjin
12:20
<
wieczyk >
So who is interested in this proof?
12:20
<
wieczyk >
If any :D
12:21
<
Kakadu >
pippjin want to recognize regular expressions
12:22
<
wieczyk >
I think we can do easily naive translations: REGEXP -> NFA -> NFA-noeps -> DFA
12:22
<
Kakadu >
but some people says that languages which are recognizable by DFA without epsilon-rules is smaller than regular languages
12:22
<
wieczyk >
Impossible.
12:38
UncleVasya has joined #ocaml
12:46
emmanuelux has joined #ocaml
12:56
gnuvince has quit [Ping timeout: 252 seconds]
12:57
avsm has joined #ocaml
12:58
<
pippijn >
Kakadu: those people are provably wrong
12:59
<
Kakadu >
pippijn: I've realized that already
12:59
<
pippijn >
Kakadu: and you are wrong in writing my name
12:59
<
Kakadu >
pippijn: it is from Lord of The Rings?
12:59
<
pippijn >
it is from my name
13:00
<
Kakadu >
pippijn: Than you r from Lord of The Rings?!
13:01
mcclurmc_away is now known as mcclurmc
13:15
<
Kakadu >
pippijn: btw, IIRC you are QML hacker? Do you help people in #qt-qml?
13:15
avsm has quit [Quit: Leaving.]
13:21
chambart has joined #ocaml
13:25
avsm has joined #ocaml
13:25
cdidd has quit [Read error: Operation timed out]
13:25
<
wieczyk >
What a pain
13:25
<
wieczyk >
I thouhjt that QML is something related to ML
13:26
<
wieczyk >
and I was hited by JavaScript
13:26
cdidd has joined #ocaml
13:26
<
Kakadu >
wieczyk: Yeah, related. Both L mean Language
13:26
emmanuelux has quit [Quit: emmanuelux]
13:26
<
wieczyk >
and boht are parseable
13:27
<
Kakadu >
wieczyk: and maybe even grammar classes are similiar
13:28
xavierm02 has joined #ocaml
13:34
<
pippijn >
Kakadu: not really
13:34
<
pippijn >
I played with it
13:35
<
Kakadu >
we should rewrite OCamlBrowser in QML and close a question about Qt bindings
13:39
ontologiae has joined #ocaml
13:39
emmanuelux has joined #ocaml
13:39
UncleVasya is now known as SorryForMyEnglis
13:41
SorryForMyEnglis is now known as UncleVasya
13:41
avsm has quit [Quit: Leaving.]
13:44
ontologiae has quit [Ping timeout: 264 seconds]
13:49
Yoric has quit [Ping timeout: 252 seconds]
13:50
ontologiae has joined #ocaml
13:51
avsm has joined #ocaml
13:56
travisbrady has joined #ocaml
14:07
mcclurmc is now known as mcclurmc_away
14:09
<
wieczyk >
Kakadu: nice idea
14:09
<
wieczyk >
Kakadu: but i would like to have ocamlbrowser for terminal ;]
14:09
<
Kakadu >
wieczyk: I really thing that ocamlbrowser is used only by me
14:11
ontologiae has quit [Ping timeout: 240 seconds]
14:12
<
hcarty >
Kakadu: Me too!
14:12
<
flux >
I wish emacs has better mli browser
14:12
<
hcarty >
I use it often, particularly with new libraries
14:13
<
pippijn >
this is my NFA
14:13
<
Kakadu >
hcarty: We need a man who asks `WTF is ocamlbrowser?` :)
14:13
<
wieczyk >
good point ;]
14:13
<
wieczyk >
pippijn: I can write DFA by hand for this language.
14:14
<
pippijn >
but that's not the point
14:14
<
wieczyk >
So what are you trying to achieve
14:14
<
wieczyk >
this image is effect of your program?
14:19
<
flux >
I actually have a version of that algorithm as well
14:20
<
flux >
but I don't remember if it works, and in any case, I imagine it would be compleetely useless for comparison :)
14:20
<
flux >
840 lines :-o
14:20
Yoric has joined #ocaml
14:21
<
pippijn >
flux: what does that include?
14:21
<
pippijn >
RE -> NFA?
14:21
<
flux >
DFA module, NFA module, RE module, conversion from RE to NFA and NFA to DFA
14:22
<
flux >
actually it does NFA -> GNFA at some point as well, so GNFA module
14:22
<
flux >
I don't even remember what GNFA is :) (other than somehow 'generalized' nfa)
14:24
ontologiae has joined #ocaml
14:24
<
Kakadu >
Heh, it seems i've created qocamlbrowser GUI. It's time to code in OCaml
14:34
paolooo has joined #ocaml
14:35
ontologiae has quit [Read error: Connection reset by peer]
14:39
mcclurmc_away is now known as mcclurmc
14:46
<
pippijn >
and that is wrong
14:48
avsm has quit [Quit: Leaving.]
14:51
avsm has joined #ocaml
14:54
gnuvince has joined #ocaml
14:57
gal_bolle has joined #ocaml
14:57
mcclurmc is now known as mcclurmc_away
15:05
avsm has quit [Quit: Leaving.]
15:08
jamii has joined #ocaml
15:08
mrm has quit [Ping timeout: 268 seconds]
15:09
travisbrady has quit [Quit: travisbrady]
15:17
travisbrady has joined #ocaml
15:17
contempt has quit [Ping timeout: 272 seconds]
15:17
TechCel has joined #ocaml
15:20
Progster has quit [Ping timeout: 252 seconds]
15:25
chambart has quit [Ping timeout: 246 seconds]
15:26
contempt has joined #ocaml
15:27
Kakadu has quit [Quit: Konversation terminated!]
15:27
tac has joined #ocaml
15:33
ontologiae has joined #ocaml
15:47
UncleVasya has left #ocaml []
15:47
Submarine has joined #ocaml
15:47
Submarine has quit [Changing host]
15:47
Submarine has joined #ocaml
15:48
jewel has joined #ocaml
15:49
Submarine has quit [Client Quit]
15:56
itewsh has joined #ocaml
15:57
larhat has quit [Quit: Leaving.]
15:59
Kakadu has joined #ocaml
16:04
<
pippijn >
adrien: that's good
16:06
hkBst has quit [Quit: Konversation terminated!]
16:20
thelema has quit [Ping timeout: 255 seconds]
16:27
fusillia has quit [Ping timeout: 260 seconds]
16:31
sepp2k has quit [Ping timeout: 260 seconds]
16:45
ontologiae has quit [Ping timeout: 246 seconds]
16:46
answer_42 has joined #ocaml
16:47
ontologiae has joined #ocaml
17:02
sepp2k has joined #ocaml
17:05
itewsh has quit [Quit: o/]
17:06
Kakadu has quit [Ping timeout: 264 seconds]
17:09
paolooo has quit [Quit: Page closed]
17:10
Kakadu has joined #ocaml
17:31
chambart has joined #ocaml
17:31
gnuvince has quit [Ping timeout: 255 seconds]
17:39
gnuvince has joined #ocaml
17:42
travisbrady has quit [Quit: travisbrady]
17:43
tane has joined #ocaml
17:49
sepp2k has quit [Read error: Connection reset by peer]
17:49
sepp2k has joined #ocaml
17:55
GnomeStoleMyBike has quit [Ping timeout: 240 seconds]
17:59
bddn has left #ocaml []
18:04
emmanuelux has quit [Quit: emmanuelux]
18:04
travisbrady has joined #ocaml
18:13
Ptivalien is now known as Ptival
18:15
chambart has quit [Ping timeout: 246 seconds]
18:18
emmanuelux has joined #ocaml
18:20
smondet has joined #ocaml
18:21
<
Kakadu >
Isn't it strange?
18:21
<
Kakadu >
# #load "/usr/lib/ocaml/compiler-libs/utils/config.cmo";;
18:21
<
Kakadu >
# module C = Config;;
18:21
<
Kakadu >
Error: Unbound module Config
18:22
<
smondet >
Kakadu: you may need the "#directory" thing also
18:22
<
smondet >
(to get the .cmi)
18:22
emmanuelux has quit [Client Quit]
18:22
<
Kakadu >
smondet: thanks
18:23
chambart has joined #ocaml
18:51
gnuvince has quit [Ping timeout: 240 seconds]
18:59
gnuvince has joined #ocaml
19:00
tac has quit [Ping timeout: 245 seconds]
19:05
iago has joined #ocaml
19:07
ulfdoz has joined #ocaml
19:09
Cyanure has quit [Remote host closed the connection]
19:19
emmanuelux has joined #ocaml
19:24
gnuvince has quit [Ping timeout: 260 seconds]
19:26
ganjahtronic has quit [Ping timeout: 260 seconds]
19:28
_andre has quit [Quit: leaving]
19:30
gal_bolle has quit [Read error: Connection reset by peer]
19:32
ontologiae has quit [Ping timeout: 255 seconds]
19:37
<
wieczyk >
When new Ocaml?
19:37
<
adrien >
4.00.1 was a few weeks ago
19:39
<
hcarty >
wieczyk: ocamlbrew it! opam it! GODI it! All the cool parties are happening in 4.00.1 land!
19:41
* adrien
still hasn't had time to move from 3.12.1
19:42
<
adrien >
I
_want_ runtime type information however, that'd make me switch no matter I'm busy otherwise
19:56
Snark has quit [Quit: Quitte]
20:00
* Kakadu
has strange feeling that he's doing the same error again. Same feeling like déjà vu.
20:02
<
wieczyk >
Yes, I also use 3.12
20:02
<
wieczyk >
but I am wating for namespaces
20:11
iago has quit [Ping timeout: 252 seconds]
20:16
larhat has joined #ocaml
20:17
larhat1 has joined #ocaml
20:18
<
pippijn >
can the ocaml toplevel print stack traces?
20:18
<
pippijn >
I want to get a backtrace in a script
20:18
<
hcarty >
pippijn: Not without a patch
20:19
<
hcarty >
pippijn: Can you convert the offending script to work with ocamlscript? That would give you a compiled, backtraceable result.
20:20
<
pippijn >
I just compiled it directly
20:20
<
pippijn >
I don't need it, I was just wondering
20:21
larhat has quit [Ping timeout: 252 seconds]
20:27
GnomeStoleMyBike has joined #ocaml
20:28
<
travisbrady >
anyone else seen this error when trying to start utop (installed via ocamlbrew)? "Fatal error: exception UChar.Out_of_range"
20:28
<
wieczyk >
When do you prefer Hashtbl rather than Map ?
20:30
<
pippijn >
wieczyk: whenever it's faster and you need the speed and you want to use an imperative data structure
20:30
<
_habnabit >
wieczyk, Map requires a bunch of comparisons for every lookup
20:30
<
hcarty >
travisbrady: I haven't. What steps did you take?
20:31
<
travisbrady >
I should say this is ubuntu running via vagrant/virtualbox
20:31
<
travisbrady >
I installed ocamlbrew successfully on the 2nd try. the first time it failed because I didn't have m4
20:32
<
wieczyk >
< is polimorphic
20:33
<
travisbrady >
hcarty: looked over the log and everything was clean
20:38
answer_42 has quit [Quit: WeeChat 0.3.9]
20:43
Neros has quit [Read error: Connection reset by peer]
20:47
<
hcarty >
travisbrady: I'm not sure what would cause that issue. Do you have other OCaml installations in your path? Did you source ocamlbrew.bashrc?
20:48
<
hcarty >
travisbrady: That error may be coming from Camomile. I'm not sure what would cause it though.
20:48
<
travisbrady >
I have an ocamlbrew install on my actual hardware-based machine. and I did source the bashrc
20:48
<
hcarty >
Do you get the same error on your physical-machine install?
20:48
<
hcarty >
Is the VM a 32 or 64 bit Ubuntu?
20:49
<
hcarty >
I don't know if that matters, but I guess it could affect something in Camomile or utop.
20:51
<
travisbrady >
hcarty: no, the physical install works perfectly so far.
20:52
sivoais has quit [Remote host closed the connection]
20:52
<
hcarty >
It looks like this is an exception from Camomile. Maybe somehow due to encoding/locale settings.
20:52
sivoais has joined #ocaml
20:52
<
travisbrady >
64 bit Ubuntu yes
20:53
<
hcarty >
It's a text encoding issue. I'm not sure what would trigger it though.
20:55
<
hcarty >
travisbrady: I have a working ocamlbrew install also under a 64bit Ubuntu VM. No issues with utop.
20:56
<
hcarty >
LANG=en_US.UTF-8 in the environment
20:56
<
hcarty >
Same for all LC_* environment variables
20:56
<
travisbrady >
I've got the same LANG
20:57
<
travisbrady >
hmmm, but for LC_ALL I have just "en_US"
20:57
<
hcarty >
My LC_ALL is blank
20:57
<
hcarty >
Don't know if that matters here, but I imagine it could.
20:58
<
travisbrady >
Huzzah!
20:58
<
travisbrady >
"LC_ALL=en_US.UTF-8 utop" works
20:58
<
hcarty >
Excellent!
20:59
<
travisbrady >
Strange how that works. I remember having a Camomile issue with an install like 3 years ago.
21:15
gnuvince has joined #ocaml
21:20
thelema has joined #ocaml
21:22
naquad has joined #ocaml
21:26
TechCel has quit [Ping timeout: 260 seconds]
21:38
Kakadu has quit [Quit: Konversation terminated!]
21:41
cdidd has quit [Read error: Connection reset by peer]
21:41
<
travisbrady >
I'm getting "make inconsistent assumptions over interface Mutex" when trying to #require "redis" in the toplevel
21:41
<
travisbrady >
anyone know how to resolve that?
21:43
<
thelema >
make clean
21:44
<
thelema >
travisbrady: that error means that there's two modules A and B that depend on Mutex
21:45
<
thelema >
travisbrady: but they depend on different versions of Mutex, maybe two different Mutex modules.
21:45
<
travisbrady >
Ahh, ok.
21:46
<
travisbrady >
it seems this lib uses and maybe conflicts w/ Batteries
21:47
<
thelema >
more likely both just need to be recompiled from scratch, thus the 'make clean' response
21:47
<
pippijn >
./dfa < testsuite/huge.ii 0.20s user 0.02s system 90% cpu 0.239 total
21:47
<
pippijn >
it's about 10 times as fast as ocamllex
21:47
<
pippijn >
a little more than 10 times
21:47
<
pippijn >
ocamllex: %%% lexing took 2.525081s
21:48
<
thelema >
pippijn: okay, but now add the needed features
21:48
<
pippijn >
thelema: like what?
21:49
<
thelema >
tracking token locations
21:49
<
pippijn >
already have that
21:49
<
pippijn >
I'm using Lexing.lexbuf
21:49
<
thelema >
ok, maybe send a patch to mantis to improve ocamllex
21:50
<
pippijn >
it's written in C
21:50
<
pippijn >
this one is in ocaml
21:50
<
pippijn >
it's not table based
21:51
<
thelema >
mutually recursive functions?
21:54
<
thelema >
how's the compile time?
21:54
<
pippijn >
./re2ml.native testsuite/re2ml/t0008.mll 0.10s user 0.03s system 88% cpu 0.144 total
21:54
<
pippijn >
ocamllex testsuite/re2ml/t0008.mll 0.07s user 0.02s system 83% cpu 0.105 total
21:55
<
thelema >
not generating the .ml, compiling all the recursive functions
21:55
<
thelema >
iirc, there's some quadratic behavior in the compiler (or worse) for long recursion
21:55
<
pippijn >
ocamlopt dfa.ml -o dfa 1.85s user 0.07s system 98% cpu 1.949 total
21:56
<
pippijn >
ocamlopt testsuite/re2ml/t0008.ml 0.17s user 0.05s system 86% cpu 0.259 total
21:56
<
travisbrady >
thelema: how do you mean compiled separately?
21:56
<
pippijn >
yes, much slower than the tables
21:57
<
pippijn >
thelema: I don't think there is very deep mutual recursion
21:58
<
pippijn >
for most automata
21:58
<
pippijn >
I didn't implement DFA minimisation, yet
21:58
<
pippijn >
but I suspect it won't help much
21:58
<
pippijn >
just a little
21:58
<
pippijn >
both in run time and compile time
21:58
travisbrady has quit [Quit: travisbrady]
21:59
<
pippijn >
right now the only thing that I know of that is not implemented in my generator are sub-matches
22:00
<
pippijn >
or bindings of any kind
22:00
<
pippijn >
['a'-'z']+ as id { ... }
22:00
<
pippijn >
this is not in, yet
22:03
Reventlov has quit [Quit: leaving]
22:05
Yoric has quit [Ping timeout: 252 seconds]
22:18
Progster has joined #ocaml
22:41
chambart has quit [Ping timeout: 246 seconds]
22:46
ontologiae has joined #ocaml
22:49
jamii has quit [Ping timeout: 252 seconds]
22:51
xavierm02 has quit [Quit: Leaving]
23:06
ftrvxmtrx has quit [Quit: Leaving]
23:20
Cyanure has joined #ocaml
23:29
ansx_ has quit [Read error: Operation timed out]
23:30
ansx has joined #ocaml
23:40
arneis has joined #ocaml
23:58
<
pippijn >
also, making a list and then iterating over it is much (2 times) faster than passing a closure and iterating directly