Parrot 4.7.0 "Hispaniolan" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 4 September 2012.
00:36 kid51 joined 00:39 kid51_ joined 01:09 kid51 joined
MikeFair waves. 01:09
01:16 kid51_ joined
dalek rrot/native_pbc2: d92e691 | rurban++ | / (5 files):
Configure probes for format, sizes, ranges and digits

Probe FLOATVAL_FMT/floatvalfmt with float round-trip precision tests. Found that long double and __float128 on intel are stable only with %17Lg. I.e. 17 digits precision in number-string round trips. Do the precision test for all float types.
Also test for the cpp defines of ranges and DBL|FLT_DIG
  (precision digits).
New config hash value for floatvaldig, the number of compiler precision digits, which be different to the tested floatvalfmt.
Improved HAS_FLOAT128 detection.
Use HAS_INT64 instead of HAS_LONGLONG for bswap64.
01:43
02:13 rurban joined, rurban left 02:16 kid51 joined 02:19 kid51_ joined 02:39 benabik joined
MikeFair heya benabik 02:39
benabik o/ MikeFair 02:40
MikeFair benabik: Hey question for ya
benabik If it's quick, I'm buried in signals and pipes.
MikeFair So I've got these two block rules, that basically go:
'on' <identifier> <statement_list> 'end' $<identifier> 02:41
it's working just fine, but I'm noticing that it's getting really on some parses because of the possibility of lots of backtracking
err really slow
is it better to make 'on' <identifier> and 'end' <identifier> separate match statements? 02:42
or is that not a 'quick question'? :)
(signals and pipes, sounds FUN!! :) ) 02:43
=)
benabik "fun" more like.
learning the ins and outs of controlling terminals is oy
MikeFair grins broadly at benabik's pain.
benabik So it's supposed to match 'on foo 1; 2; 3; end foo' ? 02:44
MikeFair yep
benabik Is end a valid statement?
MikeFair there are many 'end' <ident> satements but they are the equivalent of } 02:45
end if, end repeat, end <handlername>
sorear MikeFair: have you played with Rakudo's grammar debugger? 02:46
MikeFair it'd be a lot more complicated to break it out because I'd have to find out which 'end' this one was
sorear you might have to move your code from NQP to Perl 6 for that
MikeFair sorear: no I haven't yet... and I'm on the new NQP so it might actually be available to me now! :)
rurban_mobile wouldn't on var{ statement_list } be better?
MikeFair sorear: right - yeah
rurban_mobile ending a list with end is a pain 02:47
benabik Right, matching the end as part of the block is a good idea. I'm just wondering if the "end $<id>" gets munched by statement_block somewhere
MikeFair rurban_mobile: syntax is not my choice really =)
sorear rurban_mobile: MikeFair is writing a grammar for an existing language (HyperTalk)
rurban_mobile Oops
MikeFair rurban_mobile: but I agree
I'm building up to being able to parse this: 02:48
on start
if true then repeat with word char of item = char char to word of word
char of char to word char to char of char char of word
put a&&"HyperTalk is a bitch to parse
end repeat else beep
end start
There's a mixture of element items, keywords as variables, range expressions, if, repeat, and a handler :) 02:49
I've got one test file that's a combination of every if statement construction I could think of 02:50
it's curently 68 lines and takes 30 to 45 seconds to parse
benabik MikeFair: that block shouldn't cause backtracking unless the end is getting munched by statement_list. Which I would suggest is a bad thing.
Unless end at the beginning of a statement is valid. In which case the grammar is extremely unfortunate. 02:51
MikeFair benabik: Well <EXPR> is valid
benabik Is 'end' a valid expr?
MikeFair I am not sure if 'end' is a valid varname 02:52
MikeFair looks at his reference
benabik language keywords should not be variable names.
And even if it is, I would hope "end foo" is unambiguously the end of foo. :-/ 02:54
MikeFair well I'll just call it that end is not a valid statement starter
benabik: yes, end foo is the end of 'on foo' 02:55
benabik As far as I can tell, it would only need to backtrack if <statement_list> went past end foo. So I would suggest trying to figure out if that's happening. Otherwise perhaps the backtracking is somewhere else. 02:56
Grammar debugger could be very useful for this.
MikeFair Well the if is the monster backtracker 02:57
benabik perlgeek.de/en/article/debug-a-perl-6-grammar
moritz++
MikeFair benabik: I think the way they make it "fast" is to use the presence/non-presence of <return> characters at key points 02:58
benabik You might want a token stmt_end { $$ || ';' } 02:59
MikeFair 'then' <statement> = single then // 'then' <return> <statement> = multi if terminated with 'end' 'if'
benabik I imagine Hypercard was not implemented with a backtracking parser.
MikeFair benabik: hehe -nope 03:00
benabik I remember Hypercard. It wasn't that advanced. :-D
MikeFair benabik: It's gotten a lot more advanced in the later generations of the xTalk family, but HyperTalk is what I have a reference fore
-e
aloha -2.71828182845905
benabik 2+2 03:01
aloha 4
benabik aloha tries to parse every message in channel as math? ow.
MikeFair benabik: check out www.runrev.com if you're interested / at all curious about what the latest generation of it can do -- it's quite impressive
ha!
sorear MikeFair: remember cuts. 03:02
MikeFair didn't know what that aloha message was.
sorear 2.718281828 is e
MikeFair cuts?
sorear MikeFair: have you ever used prolog?
benabik Cuts and using token liberally is good.
MikeFair benabik: oh - about the stmnt_end: 03:03
token statement { || <statement_control> [ ';' ]? || <EXPR> } 03:04
I currently have that, I kep trying to add [ ';' | $$] but it doesn't seem to work
I don't know why they have the first || in there
sorear [ ';' || $$ ] 03:05
might work better
MikeFair sorear: i've tried that too
sorear MikeFair: leading || is ignored, it's useful for lining up lists
token foo {
|| <foo>
|| <bar>
|| <quux>
}
MikeFair sorear: I left it in because it looked prettierI jsut wasn't sure what it did, good to know it's ignorable
sorear: That regex is currently lined up that way 03:06
benabik Hah. SuperCard offers a discount if you have any HyperCard stuff. 03:08
MikeFair benabik: hehe - not that I'd want either; =) 03:09
MikeFair is suprised you found anything supercard related today
benabik ?
MikeFair HyperCard or SuperCard
They've been out of publication for decades now
at least as far as I've been aware
After SuperCard came MetaCard which really kicked ass, then the Revolutionguys bought the Metcard engine out and in the last few years have just really made it something incredible 03:10
benabik SuperCard still exists: www.supercard.us/
MikeFair Wow 03:12
sure enough
MikeFair didn't know.
benabik Okay, back to homework. yay 03:13
MikeFair benabik: yay 03:14
03:14 rurban_mobile joined
MikeFair sorear / rurban_mobile : the real problem is the say stuff 03:15
err the if stuff
I was hoping not to have to enforce the newline after then construct 03:16
I was also trying to do something like 'then' ~ 'else' <statement_list> || 'then' ~ [ 'end' 'if' ] <statement_list> 03:17
|| <statement>
Hmm, verbatim is interesting 03:19
04:35 Khisanth joined 05:53 nopaste joined 06:18 nopaste joined 06:40 fperrad joined 07:06 brrt joined 08:20 Psyche^ joined 12:41 PacoAir joined 12:43 PacoAir joined 13:10 JimmyZ joined 13:37 benabik joined 13:40 bluescreen joined 14:38 nine left, nine joined 15:13 rurban_mobile joined 15:21 contingencyplan joined 16:02 brrt left 16:47 benabik joined 17:04 tuxit joined 17:54 benabik_ joined 18:08 benabik joined 18:17 TonyC joined 18:19 lucian joined 18:22 TonyC joined 18:23 nopaste joined 18:37 rurban_mobile joined 18:45 mdupont joined 19:00 rurban_mobile joined 19:22 benabik joined 19:30 dmalcolm joined 19:33 rurban_mobile joined 19:39 mtk joined
dalek p: 2651350 | moritz++ | src/QAST/Operations.nqp:
[QAST] do not null something we still need

Fixes RT #114836
19:42
kudo/nom: 220a691 | moritz++ | tools/build/NQP_REVISION:
bump to an NQP revision which fixes RT #11483
19:44
19:48 benabik joined
dalek rrot: 3d2a484 | rurban++ | src/dynpmc/ (2 files):
dynpmc/os: actually build this dummy pmc for loadlib "os" backcompat
20:21
rurban_mobile tadzik: loadlib "os" should work now. I really forgot to build and install it into runtime/parrot/dynext/ 20:23
tadzik mistab? 20:25
dalek rrot/native_pbc2: eca83f5 | rurban++ | src/packfile/pf_items.c:
check for HAS_LONGLONG with Parrot_UInt8 cast, fix syntax error in temp. code
20:47
rrot/native_pbc2: a38401c | rurban++ | / (3 files):
fix various typos, use FLOATVAL_FMT directly in imcc
21:17 travis-ci joined
travis-ci [travis-ci] parrot/parrot#543 (master - 3d2a484 : Reini Urban): The build is pending. 21:17
[travis-ci] Change view : github.com/parrot/parrot/compare/a...2a484d3e57
[travis-ci] Build details : travis-ci.org/parrot/parrot/builds/2425440
21:17 travis-ci left 21:33 lucian joined
dalek rrot: 39f8f91 | jkeenan++ | / (4 files):
Add ASSERT_ARGS() to two files; re-run 'make headerizer.'
21:39
rrot/native_pbc2: 6a80df4 | rurban++ | / (3 files):
promote float to double va va_arg()...

intel and pcc does not support va_arg float arguments. Sounds weird but so it is. float still has problems
21:43
rrot/native_pbc2: e4efd86 | rurban++ | src/packfile/pf_items.c:
fix cvt_num8_num4
21:53 lucian joined 22:51 alvis joined 23:26 benabik joined 23:59 lucian joined