»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
flussence forums.gentoo.org/viewtopic-t-901474.html 00:04
00:04 overrosy left
flussence whoops, ww 00:04
00:09 molaf_ joined 00:12 molaf left
diakopter [Coke]: the problem with the first idea is that redo/next/last lose their meaning inside loops (usually redo/next/last are enclosed in conditional blocks after all) 00:13
I like the second idea
00:15 benabik left
dalek kudo/nom: ef4702d | Coke++ | t/spectest.data:
track failure modes
00:17
00:28 clairvy left 00:29 clairvy joined 00:33 clairvy left 00:34 Guest53729 left 00:37 abercrombie joined 00:44 localhost left 00:48 localhost joined 01:08 IngisKahn joined 01:10 Ingis left, replore joined 01:23 envi_ joined
shachaf preflex: seen sorear 01:33
preflex sorear was last seen on #perl6 9 hours, 25 minutes and 11 seconds ago, saying: pir::setprop(...)
01:38 ab5tract joined 01:39 fridim_ joined 01:42 hypolin joined 01:51 wolfman2_ left 01:52 Chillance left 01:53 cooper left 01:56 fridim_ left 01:59 ab5tract left, whiteknight joined 02:00 whiteknight is now known as Guest81902
dalek odel: 80d077d | diakopter++ | lua/ (7 files):
decent perf improvements
02:02
02:28 alc joined 02:30 cooper joined 02:58 cafesofie left 03:04 Guest81902 left 03:10 simcop2387 left 03:11 icovnik left 03:14 simcop2387 joined 03:28 satyavvd joined 03:29 wolfman2000 joined
cognominal I have to grok the sigiless silliness. 03:42
03:45 buubot_backup left
diakopter you have *yet to? 03:46
cognominal indeed. 03:49
03:54 mkramer joined 03:56 abercrombie left 04:04 cooper left, buubot_backup joined 04:05 huf left 04:06 sftp left 04:19 f00li5h left 04:20 f00li5h joined, kfo joined, cooper joined 04:23 kfo_ left
sorear shachaf: hello! 04:27
good * #perl6
shachaf sorear: Happy birthday!
04:27 buubot_backup left
sorear Thanks. 04:28
niecza: say "hi" 04:29
p6eval niecza v11-22-gbebf7a0: OUTPUT«hi␤»
sorear \o/ p6eval is back
04:38 xensu joined 04:40 jaldhar left 04:41 jaldhar joined 04:45 xensu left 04:47 buubot_backup joined 04:55 cooper left 04:59 buubot_backup left
diakopter brrr 05:06
05:12 orafu left 05:13 orafu joined
[Coke] nom: say "nom: say 'nom'" 05:17
p6eval nom ef4702: OUTPUT«nom: say 'nom'␤»
05:19 buubot_backup joined 05:30 huf joined 05:54 sunnavy left
moritz happy sorear++ 05:55
05:56 sunnavy joined
moritz [Coke]: at your convenience, could you please add gist.github.com/1340539 to the top of rakudo's tools/build/Makefile.in and see if it still builds after a reconfigure? thank you 06:04
06:07 alim joined, mkramer left
moritz [Coke]: on windows that is 06:15
sorear moritz: thanks 06:27
TimToady: do we have a good way to quantify the completeness of Unicode support? 06:30
or just S05 in roast hmm
06:33 thou left 06:36 risou_awy is now known as risou 06:46 alim left 06:48 overrosy joined 06:49 daniel-s joined 07:05 icovnik joined 07:08 sunnavy left 07:09 sunnavy joined 07:13 icovnik left 07:15 replore left 07:30 dual joined 07:39 zby_home joined 07:43 robertbrook joined 07:47 mkramer1 joined 07:56 replore_ joined 08:03 robertbrook left, wtw joined 08:09 envi_ left 08:12 f00li5h left 08:14 f00li5h joined 08:26 xinming_ is now known as xinming 08:27 f00li5h left 08:28 mj41 joined 08:29 f00li5h joined 08:36 buubot_backup left 08:55 alim joined, buubot_backup joined 08:59 cosimo joined 09:03 f00li5h left, f00li5h joined 09:05 overrosy left 09:06 overrosy joined 09:12 f00li5h left 09:17 overrosy left 09:19 overrosy joined 09:23 mishin joined 09:29 Trashlord joined
tadzik good morning #perl6 09:40
happy birthday sorear!
09:53 ab5tract joined 10:02 mkramer1 left 10:03 mkramer joined, mkramer left 10:04 hypolin left 10:21 alc left 10:26 replore_ left
moritz I have some trouble understanding how native ints and Int mix 10:28
in particular, if I write 1233 * 456, are these two numbers native ints? 10:29
or can they be used both as native ints and Int, as rakudo does?
trouble is that if they are interpreted as native ints, and are a bit larger than in my example, they can overflow
erm, not they, but the result of the operation 10:30
10:36 mishin left 10:40 satyavvd left 10:45 wk left 10:48 Trashlord left, Trashlord joined 10:49 risou is now known as risou_awy
moritz nom: pir::say pir::typeof__SP(3) 11:04
p6eval nom ef4702: OUTPUT«Int␤»
11:07 mkramer1 joined 11:10 tomaw is now known as theia, theia is now known as tomaw
moritz jnthn++ # factoring SymbolTable (and its usage in the actions) very nicely 11:24
11:24 mkramer1 left
moritz I have hopes that the codegen changes for the bigint things doesn't become too ugly 11:25
11:27 daxim joined 11:35 domidumont1 joined 11:36 domidumont left 11:52 bluescreen10 joined 11:54 Trashlord left 11:55 pmurias joined 12:00 Trashlord joined 12:04 daniel-s left 12:08 pmurias left 12:10 pmurias joined 12:15 Patterner left 12:16 Psyche^ joined, Psyche^ is now known as Patterner 12:26 fridim_ joined 12:29 sftp joined 12:31 clairvy joined 12:37 bazqux joined, sunnavy left, pmurias left, sunnavy joined 12:38 Trashlord left, sunnavy left, sunnavy joined, pmurias joined 12:40 sunnavy left, sunnavy joined 12:41 Trashlord joined 12:46 Trashlord left
dalek kudo/bigint: 29eeaf8 | moritz++ | src/Perl6/ (2 files):
start to generate bigints in the actions.

Does not compile the setting yet
12:47
kudo/bigint: e2c2af5 | moritz++ | src/Perl6/Actions.pm:
switch radcalc to bigints

now dies in quote_escape:sym<hex>
12:48 pmurias left, molaf_ left
moritz "get_integer() not implemented in class 'Int'" 12:49
that error message has a certain irony
12:50 pmurias joined, clairvy left, clairvy joined 12:51 mj41 left 12:55 clairvy left 12:56 pmurias left 12:58 pmurias joined 13:07 Lothar left 13:08 bbkr left, Kivutarrr joined 13:09 bbkr joined
dalek p/bigint: 05d6ab2 | moritz++ | / (3 files):
add nqp::isbig_I op, and nqp:: variants for bigint <-> str conversion
13:10
p/bigint: 9647ef9 | moritz++ | src/HLL/Actions.pm:
make ints_to_string a method, so that it can be overridden in subclasses
13:10 mkramer joined 13:12 pmurias left 13:13 mkramer left 13:14 pmurias joined 13:20 Lothar joined 13:24 wk joined
dalek kudo/bigint: e68268b | moritz++ | src/Perl6/Actions.pm:
fix hex escapes; restore compilation of the setting
13:25
13:32 mj41 joined 13:35 pmurias left 13:37 pmurias joined 13:42 pmurias left 13:43 jaldhar left, jaldhar joined 13:44 pmurias joined 13:50 jaldhar left
dalek kudo/bigint: b147776 | moritz++ | src/Perl6/SymbolTable.pm:
move bigint serialization to the proper place
13:54
13:55 smash joined
smash hello everyone 13:55
13:58 mj41 left
moritz hi smash 14:01
nom: say 9999999999999999999999999 + 1
p6eval nom ef4702: OUTPUT«Use of uninitialized value in string context␤Use of uninitialized value in string context␤===SORRY!===␤error:imcc:eval_ins: op 'add_i_n_i' not found␤␤ in file '(file unknown)' line 58506025␤»
moritz huh :-)
b: say 9999999999999999999999999 + 1
p6eval b 1b7dd1: OUTPUT«1.59089797835941e+18␤»
moritz locally:
$ ./perl6 -e 'say 9999999999999999999999999 + 1' 14:02
10000000000000000000000000
there's still a decent degree of brokenness in that branch
but at least the codegen for ordinary int literals seems fine 14:03
nom: say 9999 ** 10
p6eval nom ef4702: OUTPUT«-9223372036854775808␤»
14:06 mj41 joined 14:09 vmspb joined, pmurias left 14:11 pmurias joined 14:13 Trashlord joined 14:24 bazqux left 14:27 thou joined
tadzik moritz++ 14:28
14:29 pmurias left 14:31 pmurias joined 14:37 pmurias left, Trashlord left 14:38 pmurias joined 14:40 Trashlord joined 14:41 Trashlord is now known as Guest44156 14:45 pmurias left, sayu joined 14:47 pmurias joined 14:50 pmurias_ joined, quicoju joined 14:51 pmurias left 14:58 sftp left 15:02 pmurias_ left, djanatyn left
moritz the radcalc code looks a bit weird/redundant 15:03
the cases that creates a Rat, that is
15:03 Tene left 15:04 pmurias joined
moritz return $*ST.add_constant('Rat', 'type_new', 15:04
$*ST.add_numeric_constant('Int', $iresult)<compile_time_value>,
$*ST.add_numeric_constant('Int', $fdivide)<compile_time_value>,
15:04 djanatyn joined
moritz :nocache(1) 15:04
);
15:04 Tene joined, Tene left, Tene joined
moritz why the the add_numeric_constant calls when the result is discarded? 15:05
and it seems the Rat case is special-cased anyway to serialize the nu and de 15:06
tadzik what do you mean: discarded?
moritz I mean that only $thing<compile_time_value> is passed on to $*ST.add_constant 15:07
but $thing (return value from add_numeric_constant) isn't used
but $iresult and $fdivide already are compile-time values
tadzik but it's in the symboltable 15:08
the 'call add_constant and use only the <compile_time_value>' seems quite common in Actions, methinks
hmm, I may see your point
15:09 pmurias left
moritz $ST.add_constant special-cases the codegen for the arguments when the type is 'Rat' 15:10
15:11 pmurias joined 15:12 daxim left
tadzik oh 15:12
15:13 wtw left
moritz and the trouble with that special case is that it assumes that Int round-trips on unboxing to int, and then boxing again 15:14
which is broken by bigints
which is why Rat literals for big numbers are just as broken in the bigint branch as in nom
nom: say 3.14444444444444444444444444444444444
p6eval nom ef4702: OUTPUT«===SORRY!===␤bigint_get_long: number too big␤»
moritz ok, broken in a different way :-) 15:15
$ ./perl6 -e 'say 3.14444444444444444444444444444444444'
Segmentation fault
tadzik I completely don't understand grammars in nom
moritz let's wait 'til after the rebuild
tadzik b: gist.github.com/1358234 15:16
p6eval b 1b7dd1: OUTPUT«keys: ("zebra")␤elems: 3␤elems2: 1␤"whatever"␤»
tadzik nom: gist.github.com/1358234
p6eval nom ef4702: OUTPUT«keys: ().list␤elems: 1␤elems2: 0␤"whatever"␤»
15:16 pmurias_ joined
tadzik seems that captures are lost more often than we thought 15:16
15:16 pmurias left, pmurias_ is now known as pmurias
moritz try $/.list.keys 15:17
erm
$/.hash.keys
tadzik still () 15:18
15:19 Guest44156 is now known as Trashlord, Trashlord left, Trashlord joined 15:23 pmurias left 15:24 pmurias joined
moritz the bigints + rat business is rather fiddly :/ 15:28
when I call a nqp::something_I() op with something that isn't a bigint, it segfaults 15:29
15:36 pmurias left 15:38 pmurias joined
moritz jnthn: moritz.faui2k3.org/tmp/rat-bigint.patch on the bigint branch (needs newest nqp/bigint) makes the arguments to Rat.new() come out as Mu instead of Int while compiling the setting, and I don't understand why. Maybe you can take a look... 15:45
16:00 MayDaniel joined 16:05 pmurias left 16:06 pmurias joined 16:12 quicoju left 16:13 quicoju joined 16:18 risou_awy is now known as risou 16:21 pmurias left 16:23 pmurias joined 16:29 IngisKahn left 16:32 pmurias left 16:34 pmurias joined 16:35 dual left, fsergot left 16:42 quicoju left 16:43 quicoju joined 16:46 alim left 16:50 wk left 16:57 mj41 left 16:59 wolfman2000 left 17:13 quicoju left 17:15 quicoju joined 17:25 quicoju left 17:28 dju left 17:31 pmurias left 17:32 IngisKahn joined, pmurias joined 17:36 dju joined 17:41 pmurias left 17:43 pmurias joined, phenny joined 17:47 dju left 17:54 simcop2387 left
moritz nom: BEGIN my $*QSIGIL = 5; $y 17:54
p6eval nom ef4702: OUTPUT«(signal SEGV)» 17:55
moritz oops.
17:55 simcop2387 joined, tty234 joined 17:57 Chillance joined 17:58 molaf joined, pmurias left 18:00 pmurias joined 18:03 dju joined, cognominal_ joined 18:05 paly joined 18:06 cognominal left 18:07 pmurias left 18:08 pmurias joined 18:18 pmurias left, paly left 18:20 dju left 18:21 pmurias joined
dalek kudo/bigint: 3d97eda | moritz++ | src/core/Int.pm:
use new nqp::pow_I opcode
18:26
kudo/bigint: 7c6a4a6 | moritz++ | src/Perl6/Actions.pm:
use add_numeric_constant for numeric constant
kudo/bigint: 933a1a5 | moritz++ | src/Perl6/Actions.pm:
document some assumptions; remove unused variable

no functional changes
18:27 pmurias left 18:28 pmurias joined
moritz perl6: say 9 ** -10 18:29
p6eval niecza v11-22-gbebf7a0: OUTPUT«1/3486784401␤»
..rakudo ef4702: OUTPUT«2.86797199079244e-10␤»
..pugs b927740: OUTPUT«*** ␤ Unexpected "-"␤ at /tmp/d5IRG5jOst line 1, column 10␤»
18:33 pmurias left, imarcusthis left, bluescreen100 joined 18:34 pmurias joined
moritz infix ** seems to work nicely in the bigint branch 18:36
18:37 bluescreen100 left, bluescreen10 left
moritz now if I could only get these f#### Rat literals working... 18:37
18:37 bluescreen10 joined 18:39 pmurias left 18:40 dju joined 18:41 pmurias joined 18:42 imarcusthis joined 18:47 pmurias left 18:49 pmurias joined 19:00 pmurias left 19:01 pmurias joined 19:02 nebuchadnezzar left 19:05 M_o_C joined 19:06 pmurias left, nebuchadnezzar joined 19:08 pmurias joined 19:10 wolfman2000 joined
moritz nom: nqp::say(my $x) 19:12
p6eval nom ef4702: OUTPUT«Use of uninitialized value in string context␤␤»
moritz mqp: say(my $x)
nqp: say(my $x)
p6eval nqp: OUTPUT«␤»
clsn nom: "e u a u e u a" ~~ /:sigspace ("a") ([<[aeiou]> ]+)$/ 19:13
p6eval nom ef4702: ( no output ) 19:14
clsn nom: say ("e u a u e u a" ~~ /:sigspace ("a") ([<[aeiou]> ]+)$/)
p6eval nom ef4702: OUTPUT«=> < a u e u a>␤ 0 => <a>␤ 1 => <u e u a>␤␤»
clsn nom: say ("e u a u e u a" ~~ /:sigspace .("a") ([<[aeiou]> ]+)$/)
p6eval nom ef4702: OUTPUT«#<failed match>␤»
clsn Does that make sense to anyone? The only difference was adding a . before the ("a"), and if you look at the prior match, there IS stuff before it.
std: say ("e u a u e u a" ~~ /:sigspace ("a") ([<[aeiou]> ]+)$/) 19:15
p6eval std be1f10e: OUTPUT«Potential difficulties:␤ [<[aeiou]> ] appears to be an old-school character class; please use <[<[aeiou]>\x20]> if you␤ mean a character class, or quote it like '<[aeiou]> ' to match␤ string as a unit at /tmp/Olyn9W30q8 line 1:␤------> e u a" ~~ /:sigspac…
19:15 pmurias left
moritz clsn: it seems that it doesn't backtrack when it should 19:15
clsn Yeah. It gets weirder:
nom: say ("e u a u e u a" ~~ /:sigspace .?("a") ([<[aeiou]> ]+)$/) 19:16
p6eval nom ef4702: OUTPUT«=> < a u e u a>␤ 0 => <a>␤ 1 => <u e u a>␤␤»
clsn But
nom: say ("e u a u e u a" ~~ /:sigspace (.?)("a") ([<[aeiou]> ]+)$/)
p6eval nom ef4702: OUTPUT«#<failed match>␤»
clsn So it fails *only* if you're trying to capture that part.
sorear niecza: say(my $x) # is this entirely wrong, then?
p6eval niecza v11-22-gbebf7a0: OUTPUT«Potential difficulties:␤ $x is declared but not used at /tmp/Z_dLBnm2XM line 1:␤------> say(my ⏏$x) # is this entirely wrong, then?␤␤Any()␤»
moritz so another instance of "backtracking over capures wrongly"
erm 19:17
modulo English
sorear: not at all
TimToady niecza: say ("e u a u e u a" ~~ /:sigspace (.?)("a") ([<[aeiou]> ]+)$/)
p6eval niecza v11-22-gbebf7a0: OUTPUT«#<match from(3) to(13) text( a u e u a) pos([#<match from(4) to(4) text() pos([].list) named({}.hash)>, #<match from(4) to(5) text(a) pos([].list) named({}.hash)>, #<match from(6) to(13) text(u e u a) pos([].list) named({}.hash)>].list) named({}.hash)>␤»
19:17 pmurias joined
clsn Is this stuff known, or worth sending in? 19:17
TimToady niecza: say ("e u a u e u a" ~~ /:sigspace .("a") ([<[aeiou]> ]+)$/)
p6eval niecza v11-22-gbebf7a0: OUTPUT«Match()␤»
moritz sorear: I've only tested nqp and nom with pir::say
sorear needs to invent a less verbose syntax for Match.perl
moritz clsn: worth reporting
sorear: for Match.gist at least
sorear ...right that's what I meant :|
clsn Thanks. I live in deathly fear of sending in an extraneous bug report... 19:18
moritz clsn: don't be. We sometimes get duplicate bug reports, and they don't kill us
clsn: the search facility of rt.perl.org sucks, so it's inevitable
and with > 500 tickets it's simply impossible to track in your head what's submitted and what not 19:19
clsn OK. Thanks for the encouragement. 19:20
TimToady niecza: say ("e ! a u e u a" ~~ /:sigspace .("a") ([<[aeiou]> ]+)$/)
p6eval niecza v11-22-gbebf7a0: OUTPUT«Match()␤»
TimToady niecza: say ("e !!a u e u a" ~~ /:sigspace .("a") ([<[aeiou]> ]+)$/) 19:21
p6eval niecza v11-22-gbebf7a0: OUTPUT«#<match from(3) to(13) text(!a u e u a) pos([#<match from(4) to(5) text(a) pos([].list) named({}.hash)>, #<match from(6) to(13) text(u e u a) pos([].list) named({}.hash)>].list) named({}.hash)>␤»
TimToady this is arguably correct behavior for bare .
if <ws> matches real ws it probably should not match '' on either end of it
clsn I was just looking at that. using ". " instead of "." works... Is . not allowed to match space under :sigspace? 19:22
TimToady that's not the problem 19:23
moritz nom: say :10<3*10**3>
p6eval nom ef4702: OUTPUT«3000␤»
moritz nom: say :10<3*10**3>.WHAT
p6eval nom ef4702: OUTPUT«Num()␤»
TimToady <ws> matches one way or the other, but does not imply a backtrack inside it 19:24
moritz TimToady: should that prodcue a Num (in analogy to 3e3)?
or an Int instead?
and :10<3.0*10**3>? Rat? Num? Int? 19:25
TimToady S02:3287
19:27 bluescreen10 left
moritz so even :10<0.1*10**1> produces an Int 19:28
TimToady according to current spec, yes
sorear TimToady: iirc, we want <.ws> <.ws> to mean the same thing as <.ws> 19:29
TimToady well, sure, since you can put two spaces in a row into sigspace patterns pretty easily
std uses memos to handle that, generally 19:30
sorear yeah, just saying that we need <.ws> to match "" on the _right_ side of "real ws" 19:31
TimToady sure, but it's still not backtracking either of them
19:31 M_o_C left
clsn Does the space after the :sigspace adverb count as a <.ws> space? I would expect not. 19:31
TimToady it currently does, though we've considered changing it
it would make some things easier, and also harder to explain :) 19:32
clsn In that case, the problems I'm seeing do make some sense, but then how does one make a :sigspace pattern that does not start with <.ws>?
TimToady put the :s after what you want to match without it, for one
or use an unspace 19:33
but in general, it would help rules participating in LTM if we changed it to ignore ws before the first subtoken
STD has a bunch of token decls with :s that could just be rules if that were the case
assuming that the 'ignore ws after :s' also applies to the implicit :s of "rule" 19:34
it would be a sane default, and one can always force it the other way with [ ] or <ws> if needed 19:35
clsn (these matches worked differently in past rakudos, btw, but if the current behavior can be claimed to be correct that isn't so important a point.)
TimToady but as I said, the only thing preventing it that I can see is that it'd be harder to explain
clsn I don't know; that the adverb has to be delimited by whitespace (which doesn't count) seems pretty intuitive to me. 19:36
19:36 sayu left
TimToady I'd also note that the initial whitespaces in *any* alternation should probably be ignored, to keep LTM sane 19:36
I think std and niecza do this implicitly without telling anyone in any case
when you write a rule { stuff [ a | b | c ] } it really turns into rule { stuff [a |b |c ] } 19:38
it might only do that if there's ws outside the []; don't recall offhand
so perhaps the actual rule we should advertize is that sigspace will be ignored anywhere something can be used as an alternative under LTM 19:39
19:39 bluescreen10 joined
TimToady and since any token or rule could in theory be used in such an alternation, initial sigspace there is ignored 19:39
clsn Can you use an unspace inside a rule, btw? I tried putting a backslash after the :s and it didn't work. (putting the :s after the first element did) 19:40
TimToady there is potentially some ambiguity there, so may be outlawed unspace where it looks like a quoted space 19:41
std: / foo\ bar /
p6eval std be1f10e: OUTPUT«===SORRY!===␤No unspace allowed in regex; if you meant to match the literal character, please enclose in single quotes (' ') or use a backslashed form like \x20 at /tmp/Yg2saDkZHQ line 1:␤------> / foo\⏏ bar /␤Parse failed␤FAILED …
TimToady heh, doesn't say what to do if you wanted unspace
so nevermind about that suggestion; I'm just going senile (hopefully slowly) 19:42
19:42 pmurias left
clsn OK, fair enough. :) 19:42
TimToady well, there's always [:!s ]
std: / foo[:!s ]bar / 19:43
p6eval std be1f10e: OUTPUT«ok 00:01 120m␤»
TimToady std: / foo#`( )bar /
p6eval std be1f10e: OUTPUT«ok 00:01 120m␤»
TimToady there's embedded comments too
clsn Turns out that in the original case I was working with, I actually had /:sigspace ^.../, i.e. search anchored at the head of the string, which natually would always fail when that first space is counted!
19:43 buubot_backup left
TimToady yes, another argument for ignoring initial ws 19:43
19:43 pmurias joined
TimToady I think I'll spec it that way and see who panics this tie 19:44
diakopter pmurias: hi 19:45
clsn ok. 19:46
19:47 molaf left
clsn nom: "e u a u e u a" ~~ /:sigspace^.*?("a") ([<[aeiou]> ]+)$/ 19:49
p6eval nom ef4702: ( no output )
clsn nom: say ("e u a u e u a" ~~ /:sigspace^.*?("a") ([<[aeiou]> ]+)$/)
p6eval nom ef4702: OUTPUT«=> <e u a u e u a>␤ 0 => <a>␤ 1 => <u e u a>␤␤»
clsn nom: say ("e u a u e u a" ~~ /:sigspace^(.*?)("a") ([<[aeiou]> ]+)$/)
p6eval nom ef4702: OUTPUT«#<failed match>␤»
clsn Still a problem that the capture parens make it fail. 19:50
dalek odel: c52987f | diakopter++ | lua/ (3 files):
minor improvements
19:52
clsn Looks like I can do without that capture in my single perl6 program... Now once the recursion thingy is fixed it will work again. 19:55
19:56 wk joined
dalek ecs: d7e1a70 | larry++ | S05-regex.pod:
generalize rule relating sigspace to LTM
19:57
TimToady this spec change means that much of STD is now wrongish :) 19:58
sorear: ^^ 19:59
TimToady tries hard to avoid the "But we already have 11 users" syndrome :) 20:00
20:00 wk left
TimToady though we should not have much code depending on ws being significant at the front of rules, except maybe the TOP 20:01
where we might need an extra <.ws> to get LTM started up right 20:02
20:02 buubot_backup joined
TimToady once we've fixed this, we can then relax our token { :s } instances to mere rules 20:02
dalek kudo/bigint: 3014678 | moritz++ | src/Perl6/Actions.pm:
fix calling of radcalc for radix literals; make them produce the right type, I hope
20:04
20:06 mkramer joined, mkramer left 20:09 thou left 20:10 sftp_ joined 20:13 pmurias left
dalek odel: 66ccb5f | diakopter++ | lua/compiler/Makefile:
Makefile oopsie
20:13
20:14 vmspb left, pmurias joined 20:18 wolfman2000 left 20:19 pmurias left, jaldhar joined, buubot_backup left 20:20 pmurias joined
TimToady oh, and clsn++ for reminding me that I wanted to do that... 20:23
clsn Thanks! 20:24
20:26 ksi joined 20:29 preflex_ joined 20:30 preflex left, preflex_ is now known as preflex
TimToady we might simplify it further and say that we look for significant whitespace only after an explicit matcher, never after declarations or syntactic functors like brackets 20:30
a quantified atom would count as a matcher for this, presumably 20:32
20:33 jaldhar left, jaldhar joined
TimToady this might simplify both the semantics and the teaching 20:33
above I use "declaration" to mean things like :my and :sigspace, not in the declarational sense we use when discussing LTM 20:34
in rule { 'foo' } the 'foo' is declarational but not a declaration :)
sorear but metachar:sym<[ ]> is a quantified atom
so is metachar:p6adv
20:35 cooper joined, cooper left, cooper joined
TimToady true, so just the opening [ is exempt 20:35
as a degenerate case rule {'' ... } would give the current semantics 20:36
I think this simplification can also cut down on some of the <ws> pressure 20:37
and clarify the semantics of ws around ** and % 20:38
that is, we could just make those follow the same rule, and not special-case them
as we don now 20:39
*do
as for p5adv, we'd have to rethink that one, I imagine
a lexical scope might have to eat the initial ones explicitly 20:41
sorear I think we have :my as a quantified atom too
TimToady or normspace eats them
but this seems like a good simplification to me, and worth a little agony 20:42
20:42 thou joined
TimToady maybe it's just a lexer state, and any real matcher enables a 1-shot sigspace 20:46
well, wouldn't be lazy, rather a use-it-or-lose-it 20:47
but maybe that's just syntax
TimToady -> catfood acquisition mode & 20:49
20:52 jaldhar left, _jaldhar joined, Ingis joined 20:56 IngisKahn left 20:57 pmurias left 20:59 pmurias joined 21:02 ab5tract left 21:04 vmspb joined, pmurias left
PerlJam That sigspace change seems useful but it also looks like it has a small gotcha: token foo { :s [ foo | bar | baz ] ... } # did the sigspace do its job or get ignored? 21:04
21:05 ethndbst joined, ethndbst left, ethndbst joined 21:06 pmurias joined 21:08 am0c joined 21:10 _jaldhar left 21:13 pmurias left 21:15 pmurias joined 21:19 ethndbst left 21:22 pmurias left 21:24 pmurias joined
moritz I've been struggling with the Rat codegen for half a day, and giving up now 21:28
there's what seems to be an optimization for Rat in Perl6::SymbolTable.add_constant
removing it causes segfaults
21:29 pmurias left
moritz changing it to deal with bigints in any way that I can imagine makes it die with opaque errors 21:29
21:29 am0c_ joined
TimToady PerlJam: only the trailing whitespace would be recognized, so it depends on what you think its job is 21:29
your declaration would be indistinguishable from a rule declaration 21:30
21:31 pmurias joined 21:32 am0c left, Trashlord left 21:34 Trashlord joined
PerlJam TimToady: token blah { ... [:s [ foo | bar | baz ] ] ... } # then. What I'm trying to get at is that sometimes the regex author may need to be explicit about the <.ws> when they're trying to use :s 21:37
(the ellipses are meta in this example :)
TimToady that will ignore whitespace before foo, bar, or baz 21:39
that is, not expect whitespace
use :s '' [ ] to mean the other thing now
dalek odel: 8a63edd | diakopter++ | lua/runtime/ (3 files):
clone fixups
odel: 7ecd0ed | diakopter++ | lua/compiler/Makefile:
Merge branch 'master' of github.com:diakopter/6model
PerlJam ah 21:40
21:41 donaldh joined
PerlJam Still that's likely to surprise people 21:43
21:48 pmurias left
TimToady it 21:49
it's impossible to never surprise people :)
unless maybe when you're dead
and sometimes even then...
I just hope I'm never surprisingly boring :) 21:50
21:52 pmurias joined, ethndbst joined 21:56 bluescreen10 left 21:57 pmurias left 21:59 pmurias joined 22:02 buubot_backup joined 22:05 pmurias left, am0c_ left 22:06 pmurias joined 22:07 buubot_backup left 22:09 donaldh left 22:11 bluescreen10 joined 22:14 overrosy left 22:16 overrosy joined 22:29 buubot_backup joined 22:30 MayDaniel left, Kivutarrr left 22:34 bluescreen10 left 22:35 bluescreen10 joined, donaldh joined 22:37 pmurias left 22:39 pmurias joined 22:45 pmurias left 22:46 pmurias joined 22:51 pmurias left 22:52 pmurias joined 22:57 donaldh left, pmurias left 22:59 pmurias joined, alvis left 23:07 pmurias left 23:11 pmurias joined 23:13 _jaldhar joined, tkr joined
tkr hi. what about PDL for perl6? 23:13
what is it's replacement.
?
23:14 slavik1 left
TimToady S09, but not implemented yet 23:14
tkr Hm, let me peek.
23:14 alvis joined
dukeleto does Rakudo have any plans to implement S09 any time soon? 23:15
TimToady they're working up to it with 6model and native types 23:16
tkr TimToady: Im talking about superfast Linear Algebra libraries 23:17
Ah. Im probably confused in the discussion as I just joined the channel. 23:18
TimToady sorry, on the phone at the moment 23:19
tkr on a wireless phone or normal? 23:20
do you dial the number using your index finger? 23:21
TimToady: np. :) 23:22
dukeleto tkr: you want superfast linear algebra in perl 6? 23:23
tkr dukeleto: well, not that I really need it. I was just curious.
dukeleto: Ive been attending the Machine Learning class online and learnt a lot of linear algebra that used to be "black" magic for me. 23:24
dukeleto tkr: there are some bindings to BLAS from Parrot that you could probably use in Rakudo. I say probably. I don't think anybody has ever tried.
tkr dukeleto: than I was delighted to hear that perl5 can do about the same as Matlab/Octave, when it comes to performance related to number crunching, and I got curious if perl6 had something cool that I wasnt aware of yet. :)
dukeleto: ok. 23:25
dukeleto tkr: perl5/matlab/octave are all basically C, so yeah, *roughly* the same performance, but different memory overheads 23:26
tkr: nobody can number crunch like Fortran, still.
really, all we need is for ingy to port Inline::Fortran to Parrot and then Rakudo will get it for free... 23:27
what could go wrong?
23:28 pmurias left 23:29 buubot_backup left, _jaldhar left, pmurias joined 23:32 _jaldhar joined 23:34 vmspb left, zby_home__ joined 23:35 zby_home left 23:40 ksi left 23:42 ab5tract joined 23:47 pmurias left 23:51 whiteknight joined, whiteknight is now known as Guest25363 23:52 buubot_backup joined 23:53 _jaldhar left 23:54 _jaldhar joined 23:56 zby_home__ left 23:58 buubot_backup left