»ö« | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moritz_ on 25 June 2010.
00:02 Psyche^ joined, risou_ joined
thundergnat rakudo: ("a".."z").perl.say 00:03
p6eval rakudo 6ccdcd: OUTPUT«"a".."z"␤»
thundergnat hmmm.
Have string ranges been disabled? 00:04
colomon no
thundergnat string series still work
colomon that's the correct behavior
rakudo: ("a".."z").list.perl.say
p6eval rakudo 6ccdcd: OUTPUT«("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z")␤»
masak thundergnat: minor nit: it's infix:<...> that's usually called "series". infix:<..> is called "range". 00:05
00:05 dju left 00:06 HarryS left, dju joined
thundergnat masak: I know, I was actually trying to make that distinction. 00:06
00:06 Patterner left, Psyche^ is now known as Patterner
thundergnat rakudo: ("a"..."z").perl.say 00:06
p6eval rakudo 6ccdcd: OUTPUT«("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z")␤»
00:07 lichtkind left
masak thundergnat: pardon me, then. was confused by the surrounding evaluations. :) 00:07
00:07 risou_ left 00:08 fod joined 00:09 Tene left, HarryS joined
thundergnat I didn't realize that ranges evaluated in scalar context just return a string. 00:10
Amazing what you can learn by reading the docs.
masak no, that's not so. 00:11
rakudo: my $r = 1..3; say $r.WHAT
p6eval rakudo 6ccdcd: OUTPUT«Range()␤»
00:11 jhuni joined
thundergnat Ok, I will attempt to stop saying stupid things now. it may be a struggle.... 00:13
00:13 shortcircuit joined 00:14 alester left
colomon rakudo: my $r = 1..3; say $r 00:15
p6eval rakudo 6ccdcd: OUTPUT«1 2 3␤»
00:15 HarryS left 00:19 HarryS joined 00:23 lucs joined, thundergnat left 00:25 HarryS left
shortcircuit TimToady: If the test data for rosettacode.org/wiki/Find_Common_Directory_Path isn't thorough, feel free to add a test case or two and make a note on the talk page. 00:26
Also, thanks a bunch for all the Perl6 code, and I'm pleased to see it help shake bugs out of the language implementation. :) 00:27
00:28 lichtkind joined
masak thanks for Rosetta Code! :) 00:28
shortcircuit Hey, I just run the servers. It's hackers who add the code. :)
masak shortcircuit++ # running the servers 00:29
00:29 drbean joined, HarryS joined
lichtkind :) 00:30
00:30 lichtkind left
TimToady shortcircuit: well, for sure the specced dataset would not have flushed out the problem which assumed nothing of the form /foo/bar/foo existed 00:31
but yes, it has been very helpful to have a set of problems to work against 00:33
I've done more Perl 6 programming in the last two weeks than in the previous two years, unless you count the standard grammar
shortcircuit AFAIK, two other languages (Tcl and Seed7 ) have seen improvements resulting from using RC as a workset, and one other is using it in its design phase. 00:34
TimToady well, since we're still in the design phase, us too :)
shortcircuit That kind of thing gives me no end of warm opcodes. :) 00:35
00:35 HarryS left 00:36 Sanitoeter joined 00:37 araujo left 00:38 [particle] joined 00:39 HarryS joined
PerlJam wonders what it means to *not* be in the design phase. 00:42
FurnaceBoy PerlJam: that's called Boxing Day!
colomon TimToady++ 00:43
PerlJam FurnaceBoy: There will be no boxing day, only perpetual christmas.
FurnaceBoy PerlJam: I know :)
00:44 espadrine left 00:45 HarryS left
lue hello o/ 00:48
masak hellue \o 00:49
00:49 HarryS joined 00:50 espadrine joined 00:55 HarryS left
lue
.oO(how insane is it to think writing a Perl 6 frontend for gcc is fun?)
00:58
masak lue: sounds like the regular level of insane here. 00:59
00:59 HarryS joined
tylercurtis lue: If you're not picky about your choice of code generator, you could help me work on Bennu (once I start doing so again). :) 01:00
shortcircuit lue: Wouldn't you need to statically-link an interpreter for eval? 01:03
01:05 HarryS left
lue I read trying to turn a language-dependant AST into something gcc can understand is the best way to go, which is where I got the idea to use STD for the language parsing. 01:06
[ Remember: no guarantees I'll actually do it, though :) ]
masak it's entirely up to you :) 01:07
I've had similar thoughts with Yapsi: putting STD as the frontend and C code/gcc as the backend.
lue It all depends if I can actually get STD running right now :) 01:08
masak there's a version on CPAN that you can install.
\xF0 giggles at STD
TimToady just don't giggle infectiously...
masak it's a STD pun around here... 01:09
FurnaceBoy sounds more like a sepulchral unhinged evil genius laugh
01:09 HarryS joined
lue I would prefer to develop a perl6-gcc frontend locally, on my 12-year old laptop... it's going to take a while :) 01:11
tylercurtis Some categories of typical Lisp macros seem easy to express as block-taking functions in Perl 6. For example, with-open-file, with-accessors, some looping forms.
lue can the CPAN version be used in Perl 6 code? [or is it just a convenient way to install STD?] 01:14
01:16 HarryS left
tylercurtis lue: I don't think there are many Perl 6 implementations that can actually run STD. More accurately, I'm not sure if any other than viv can. Niecza is close, I think. 01:17
01:17 araujo joined 01:18 redicaps joined, redicaps left, masak left 01:19 HarryS joined
lue The second one is able, it'll be a special day. 01:19
01:20 araujo left, araujo joined
tylercurtis phenny: ask sorear Are there any LHF tasks I could work on for Niecza? 01:22
phenny tylercurtis: I'll pass that on when sorear is around.
01:23 araujo left, araujo joined 01:26 HarryS left 01:28 cjk101010 left 01:29 HarryS joined 01:33 whiteknight left 01:34 araujo left, HarryS left
ingy what is the proper perl6 executable to run on feather? 01:35
should I build my own?
01:39 HarryS joined
cbk It there a special regex metachar that matches numbers that may have a decimals in them? I need to match numbers like: 1, 5, 5.77, 10.345, etc... 01:40
01:41 nimiezko left
cbk I was doing /\d+.\d+/ but it's not working too good. 01:41
TimToady esp since . matches anything... 01:42
FurnaceBoy cbk: escape the .
01:42 gfx joined, meinwald5 is now known as meinwald
tylercurtis Even with the escaping, that won't match 1 or 5. Or 1. or .5 01:42
tylercurtis should have used quotation marks.
FurnaceBoy tylercurtis: and it goes on from there...
tylercurtis: signs? exponent? ....... :)
cbk thats what I was haven' problems with
I want the user of my perl6 program to be able to enter a data set using any number (including numbers with decimals) separated by a space. 01:44
TimToady see token dec_number in STD.pm6
cbk TimToady, ok 01:45
this is my work in progress so far. (doesn't work yet)
my @userData = $userInput.comb(/ \d+.\d+/);
01:46 HarryS left
TimToady combing for /\d+ ['.' \d+]?/ would be a better start 01:47
cbk yes im using .comb instead of .words
don't I have to use <> when using []'s? 01:48
TimToady not if it's not a character class
cbk ie <[1..9]>
TimToady <[a..z]> is only for character classes
cbk oh ok.
TimToady [ ] is just ( ) that don't capture now
cbk so the [] is optional in the match? 01:49
TimToady noms &
01:49 HarryS joined
cbk and the ? is zero or more times 01:50
lue IIRC, ? means 'zero or once', + means 'once or more', * means 'zero or more' 01:51
Quadrescence lue gets a cleany star for good work 01:53
01:56 HarryS left 01:59 HarryS joined 02:05 HarryS left 02:08 |CTAPOMAK| joined 02:09 HarryS joined 02:14 jferrero left 02:15 HarryS left 02:18 Italian_Plumber left 02:19 HarryS joined 02:26 HarryS left 02:29 HarryS joined 02:31 leprevost joined 02:34 araujo joined 02:36 HarryS left 02:39 HarryS joined 02:44 Jose___ joined 02:45 HarryS left 02:47 Jose___ is now known as YAWPP 02:48 alester joined
colomon huh. the basic Range spec is very off from the current implementation. :\ 02:48
02:49 HarryS joined
colomon also, current spec seems a bit off. 02:52
02:53 FurnaceBoy left 02:54 HarryS left
colomon at least.... 02:54
rakudo: say Array ~~ Iterable
p6eval rakudo 6ccdcd: OUTPUT«1␤»
02:59 HarryS joined
colomon How do you reconcile "It is specifically illegal to use anything that does Iterable as implicitly numeric..." with "Hence, Array types in the second argument are assumed to be intended as numeric if the left argument is numeric..." 03:01
I mean, given that Arrays are Iterable... 03:02
lue Good puzzle... I say you can't. The spec did say 0 ... 2,$x was the right way to count every other item up to $x, before TimToady fixed it. 03:03
colomon that's an entirely different section. but yeah, it's not perfect... 03:04
03:05 HarryS left, araujo left 03:06 araujo joined 03:08 araujo left 03:09 HarryS joined 03:10 araujo joined
colomon I'm not really sure I see the point in coercing numeric ranges to "the wider type". And "wider type" isn't well-defined, as far as I can see. 03:10
and I'm tired and repeating myself. 03:11
03:12 araujo left, araujo joined 03:13 Holy_Cow joined 03:14 YAWPP left 03:15 Holy_Cow left, HarryS left 03:19 HarryS joined
sorear Who could I bug about setting up nightly builds for Rakudo? 03:21
phenny sorear: 01:22Z <tylercurtis> ask sorear Are there any LHF tasks I could work on for Niecza?
sorear I'm looking for someone with 2GB+ of RAM and 24/7 uptime who can compile Rakudo regularly and upload gzipped perl6.pbc somewhere 03:22
perl6.pbc files compress extremely well, don
't be scared off by the 15MB... 03:23
a lot of us would appreciate it, I think
03:24 HarryS left 03:26 cbk left, exodist left 03:27 exodist joined
sorear hmm... LHF 03:27
03:29 HarryS joined 03:34 leprevost left, espadrine left 03:36 HarryS left 03:39 HarryS joined 03:46 HarryS left 03:49 HarryS joined 03:56 HarryS left 03:59 HarryS joined 04:01 fod left 04:06 HarryS left
[particle] sorear: get a feather account and set it up! 04:07
04:09 HarryS joined 04:11 cjk101010 joined 04:14 HarryS left 04:19 HarryS joined
sorear [particle]: I don't think feather has nearly enough memory 04:25
ooo, it's been upgraded
04:26 HarryS left 04:29 HarryS joined 04:34 HarryS left 04:38 HarryS joined 04:39 sftp left
sorear tylercurtis: I can't think of any offhand 04:39
what. 04:41
there appear to be *91* Parrot checkouts on feather1
ok, only 46; /data was causing double counts 04:42
there are 3 rakudo trees
04:46 HarryS left 04:47 HarryS joined
sorear HarryS: eh? 04:47
04:47 hans__ joined
HarryS hello 04:52
hans__ Hello, how to connect to a postresql-database when there is no need of a password? my $dbh = MiniDBI.connect( $dsn, $user, $password, RaiseError => 1, PrintError => 1, AutoCommit => 0); 04:53
sorear Juerd: feather1 is currently under painfully heavy load due to googlebot hammering svn.pugscode.org's web-svn-diff-thingy 04:57
Juerd: if I were to add it to robots.txt, would that be good?
Cpu(s): 0.3%us, 0.6%sy, 0.1%ni, 47.7%id, 51.2%wa, 0.0%hi, 0.0%si, 0.1%st 04:58
mmm thrashing
several 'D' processes
05:11 gfx left
diakopter sorear: yeah it'd be ok to add /svn to robots.txt 05:24
05:26 alester left 05:37 alester joined 05:38 alester left 05:39 kaare joined 05:40 kaare is now known as Guest83575 05:42 hans__ left 05:43 vks joined 05:44 vks left
moritz_ good morning 05:57
sorear hello 06:02
06:06 uniejo joined 06:07 justatheory left 06:14 wtw joined 06:16 dream joined 06:17 crythias left 06:22 cjk101010 left 06:26 dual left 06:36 mberends joined 06:41 mberends left
sorear Why are svn checkouts of Parrot run from feather so SLOW 06:42
they take like 10+ minutes
rakudo checkout: 4s
06:49 simcop2387 left 06:50 simcop2387 joined 07:05 tylercurtis left 07:06 Ross joined 07:09 drbean left
sorear wtf, I think my pbc_to_exe is broken 07:14
parrot perl6.pbc -> works fine
./perl6 -> PackFile_unpack: This Parrot cannot read bytecode files with version 8.2.
07:15 Ross left 07:18 dju left, Trashlord left 07:19 dju joined 07:21 Guest83575 is now known as kaare_
kaare_ Anyone knows who's managing planetsix.perl.org - and why it doesn't pick up from rakudo.org? 07:25
07:25 kcwu left, zag joined
kaare_ Should pmichaud change the feed from use.perl.org? 07:25
moritz_ kaare_: most rakudo.org posts are also sent as e-mail to the perl6-announce list, which planetsix picks up 07:27
07:27 dju left 07:28 dju joined
kaare_ moritz_: It missed Rakudo Star for august 07:28
07:30 kcwu joined
moritz_ kaare_: that's unfortunate 07:31
kaare_ That's why I bring it up :-) 07:32
I've been busy @ work so I haven't been following here. Just now I looked around and saw it. 07:33
I guess that if I miss it, a lot of other people will too. 07:34
moritz_ not sure what the best solution is 07:35
07:36 kcwu left 07:38 kcwu joined 07:57 dju left 07:58 dju joined, kcwu left 07:59 kcwu joined 08:02 kcwu left 08:03 kcwu joined 08:06 Trashlord joined 08:23 dakkar joined 08:31 agentzh joined 08:42 pfusik joined 08:44 pfusik left, amkrankruleuen joined 08:50 dakkar left 08:55 cjk101010 joined 08:56 dakkar joined 09:01 zulon joined 09:08 timbunce joined 09:18 Guest75712 left 09:20 Guest75712 joined 09:21 cjk101010 left 09:22 cjk101010 joined 09:24 dual joined 09:27 sjohnson joined 09:35 dream left
bbkr rakudo: / $. / # another one not accepted by STD 10:02
p6eval rakudo 6ccdcd: ( no output )
bbkr std: / $. / # another one not accepted by STD
p6eval std 32120: OUTPUT«===SORRY!===␤Unsupported use of $. variable; in Perl 6 please use the filehandle's .line method at /tmp/qiax0mJToC line 1:␤------> / $.⏏ / # another one not accepted by STD␤Parse failed␤FAILED 00:02 116m␤»
10:03 agentzh left 10:07 azert0x joined
moritz_ phenny: tell masak re proto tests, my rakudo was more broken than I thought it was... anyway, fix for tt #1746 pushed, feel free to apply your enum patch 10:13
phenny moritz_: I'll pass that on when masak is around.
dalek kudo: f8e959c | nwellnhof++ | src/ops/perl6.ops:
Fix memory handling in rebless_subclass

Se tt #1746 for details
10:17
10:35 sftp joined 10:50 espadrine joined 10:54 daxim joined 11:08 PZt left 11:15 jferrero joined 11:16 Kodi joined 11:17 Italian_Plumber joined, _ilbot2 left 11:19 wamba joined
bbkr rakudo: /$^ / # another STD compatibility bug 11:22
p6eval rakudo f8e959: ( no output )
11:23 moritz_ left 11:28 tadzik joined 11:29 zulon left
bbkr rakudo: /$'x'/ # and another one :) 11:30
p6eval rakudo f8e959: ( no output )
11:33 Guest75712 left 11:36 moritz joined
moritz my server was suddenly rebooted; the IRC logs will be down until it resurfaces 11:36
phenny moritz: 04 Apr 09:27Z <sorear> tell moritz - I just noticed Blizkost doesn't have a license! Is Artistic 2.0 (same as Parrot) acceptable to you?
moritz: 28 Jul 02:54Z <[Coke]> tell moritz I'm sorry about all the questionable testing tickets!
moritz: 05 Aug 20:27Z <[Coke]> tell moritz nevermind.
moritz: 13 Aug 22:49Z <tadzik> tell moritz the Channel Index link on irc.pugscode.org is broken, shows a calendar for #perl6 rather than a channel list
[Sorry, some messages were elided and lost...]
bbkr what does /<</ matches? it doesn't match literal '<<', nor it's treated as incorrect character list opening 11:38
moritz left word boundary
bbkr rakudo: say "a b c" ~~ /<<b/ 11:39
p6eval rakudo f8e959: OUTPUT«b␤»
bbkr moritz++ #can explain everything
11:46 Mowah joined
bbkr rakudo: "" ~~ /{}*/; say "alive" # hmm, should this eval block for infinity? I cannot find in spec how should quantifier after block act. Should /{"a"}?/ be the same as /"a"?/ ? 11:48
p6eval rakudo f8e959: OUTPUT«(timeout)»
moritz has now purged the phenny queue of messages sent to moritz instead of moritz_ :-)
std: '' ~~ /{}*/
p6eval std 32120: OUTPUT«ok 00:01 118m␤»
bbkr moritz: it's legal syntax, but I doubt it behaves correctly 11:49
moritz bbkr: since {} doesn't return anything that can be matched against, I'd argue it should complain "quantifiers follows nothing" or so
std: /*/
p6eval std 32120: OUTPUT«===SORRY!===␤Quantifier quantifies nothing at /tmp/vVYxb5D_AS line 1:␤------> /*⏏/␤Check failed␤FAILED 00:01 116m␤»
moritz or "can't quantify non-matching construct" or something
bbkr rakudo: "" ~~ /{"a"}*/; say "alive" # so this shoul NOT timeout 11:50
p6eval rakudo f8e959: OUTPUT«(timeout)»
moritz IMHO it should be a parse error at compile time
s/parse//
bbkr blah. looks like * tries to execute {} block infinite number of times
moritz rakudo: '' ~~ / {say 'a'} * / 11:51
p6eval rakudo f8e959:
..OUTPUT«(timeout)␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a␤a􏿽xE2
bbkr bug?
moritz bug 11:52
bbkr reports
tadzik btw 11:53
rakudo: say $_ for <>;
p6eval rakudo f8e959: OUTPUT«===SORRY!===␤Unsupported use of <>; in Perl 6 please use lines() or () at line 22, near "<>;"␤»
bbkr So /{"a"}*/ should be the same as /"a"*/ ?
tadzik or (), rakudo says
moritz rakudo: say $_ for < >;
bbkr rakudo: say $_ for $*IN
moritz bbkr: no
p6eval rakudo f8e959: ( no output )
rakudo f8e959: OUTPUT«IO()<0x62e5ed0>␤»
tadzik Should say "or () as an empty list", like STD does
std: say $_ for <> 11:54
p6eval std 32120: OUTPUT«===SORRY!===␤Unsupported use of <>; in Perl 6 please use lines() to read input,␤ or ('') to represent the null string,␤ or () to represent Nil at /tmp/ei6aXvYiCv line 1:␤------> say $_ for <⏏>␤Parse failed␤FAILED 00:01 116m␤»
takadonet morning all
moritz bbkr: {} executes a block, and discards its result
tadzik or to Nil
moritz bbkr: which is why it doesn't make sense to quantify it
11:54 jhuni left
moritz tadzik: these days, we use () for empty list, and Nil for "Nothing to see here, move along" 11:54
bbkr moritz: thanks, so only infinite execution is a bug here 11:55
tadzik moritz: yep, but this error message is misleading a bit
use lines() or () tells nothing
moritz bbkr: as I've said twice before, I think it should be a compile time error
tadzik as if () was equivalent to lines()
moritz tadzik: lines() is what Perl 5 programmers want, () what Perl 6 programmers want
(who write <>, that is) 11:56
tadzik ywis. But it would be more helpful if it would say what STD does, lines() for input or () for a Nil
moritz except that it should say s/Nil/empty list/ 11:57
tadzik: want to write a patch for rakudo?
tadzik moritz: sure thing
rakudo: say ().WHAT
p6eval rakudo f8e959: OUTPUT«Parcel()␤»
tadzik a'right. But I was unable to ack for this message, where is it? 11:58
11:58 zby joined
moritz rakudo: <> 11:59
p6eval rakudo f8e959: OUTPUT«===SORRY!===␤Unsupported use of <>; in Perl 6 please use lines() or () at line 22, near "<>"␤»
moritz ack -Q 'lines() or' src/
the "Unsopported use of ... in Perl 6 please use ... at" comes from <.obs()> calls 12:00
tadzik hmm, ack --all 'lines() or ()' didn't find it for some reason
yeah, I know that
moritz ack -Q
otherwise () is a regex group 12:01
which matches the empty string, not ()
tadzik ah
moritz src/Perl6/Grammar.pm line 1499 12:02
tadzik yep, I'm on it
is 'lines() for input reading or () for an empty list' ok for you?
moritz std: <> 12:03
p6eval std 32120: OUTPUT«===SORRY!===␤Unsupported use of <>; in Perl 6 please use lines() to read input,␤ or ('') to represent the null string,␤ or () to represent Nil at /tmp/n9BTa1MEHJ line 1:␤------> <⏏>␤Parse failed␤FAILED 00:01 114m␤»
tadzik <> is more like an empty list than like Nil
when a Perl6'er uses it, imho
moritz right 12:04
tadzik compiling to make sure
moritz so take the message from STD, with s/Nil/empty list/
easy karma :-)
tadzik with null string too?
moritz yes 12:05
tadzik I'd also s/or//
moritz soemtimes tried to abuse <> as ''
+1
tadzik also s:2nd/to represent/for an/, to avoid duplication
what do you think? 12:06
[Coke] huh. Inline::C has ingy's old name.
moritz IMHO duplication is fine; there's a pattern in that error message, and we shouldn't try to hide it
tadzik alright
lines() to read input, (\'\') to represe 12:07
nt a null string or () to represent an empty list
duh. Ok?
moritz yes
with s/\n// :-)
tadzik there's no \n, that's a lack of screen width :) 12:08
or rather a window width
moritz :-)
tadzik . o O ( like a guided hacking ) :) 12:10
12:12 redicaps joined 12:14 JimmyZ joined
tadzik patch sent 12:18
moritz tadzik++
tadzik moritz | easy karma :-) 12:19
:)
12:19 Mowah left
tadzik moritz++ # guidance 12:20
12:20 drbean joined
JimmyZ couldn't open irclog.perlgeek.de 12:24
moritz JimmyZ: the server has been rebooted
12:24 _jaldhar left 12:25 _ilbot2 joined, ChanServ sets mode: +v _ilbot2
JimmyZ it still is down? 12:26
moritz no
12:26 moritz left
JimmyZ I couldn't visit it :( 12:27
12:28 moritz_ joined, lichtkind joined
smash hello everyone 12:32
lichtkind hi smash 12:33
lines is lazy as for right?
colomon lines is lazy. 12:35
lichtkind colomon: thank you 12:36
colomon you're welcome.
12:37 PZt joined
moritz_ IRC logs are finally back 12:37
colomon \o/
moritz_ (and my server, for that matter :-) 12:38
JimmyZ moritz_++ 12:41
12:43 ash_ left
moritz_ rosettacode.org/wiki/Bead_Sort the Haskell version looks nice; I don't quite understand it though 12:51
if anybody does, porting in to Perl 6 shouldn't be too hard
12:52 Holy_Cow joined 12:55 M_o_C joined
smash moritz_: let me see that, i love haskell 12:56
moritz_ import Data.List 12:57
beadSort :: [Int] -> [Int]
beadSort = map sum. transpose. transpose. map (flip replicate 1)
smash (yeap, loogink at the site, thks) 12:59
s/loogink/looking/
daxim I wrote like 95% of the Perl for that wiki
moritz_ well, TimToady is working hard to change that :-) 13:00
otoh his solutions are often so short that it's probably a small percentage, line-wise :-) 13:02
daxim I'd like to see a data structures cookbook for p6 13:04
moritz_ then write it :-)
daxim a recursive impossibility
13:05 JimmyZ left
daxim I neglected to mention: I'd like to see it to read and learn 13:05
Kodi I wrote like 95% of the Perl 6 (before y'all started contributing).
smash moritz_: ahh, excelent piece of haskell 13:07
very nice indeed
moritz_ why does it transpose twice? I'd kinda expect it to be the identitity operation 13:08
smash moritz_: let me show you an example, easier than trying to explain i guess 13:09
13:09 orafu left, orafu joined
moritz_ rakudo: say 'a' ~~ /(a) && (.)/; say $0; say $1 13:12
p6eval rakudo f8e959: OUTPUT«a␤␤␤»
moritz_ anybody want to submit a rakudobug? :-) 13:13
13:15 timbunce left, meppl joined
smash moritz_: gist.github.com/558997 13:17
13:17 sftp_ joined, sftp left
tadzik beautiful 13:18
13:19 timbunce joined
moritz_ so the flip basically corresponds to the p6 R meta operator? 13:20
so (flip replicate 1) is 1 Rxx right? 13:21
13:23 Kodi left
moritz_ rakudo: say (map {1 xx $_ }, 4, 1, 3, 2) 13:24
p6eval rakudo f8e959: OUTPUT«1111111111␤»
moritz_ rakudo: say (map {1 xx $_ }, 4, 1, 3, 2).perl
p6eval rakudo f8e959: OUTPUT«((1, 1, 1, 1), (1), (1, 1, 1), (1, 1))␤»
moritz_ rakudo: say ([Z] map {1 xx $_ }, 4, 1, 3, 2).perl
p6eval rakudo f8e959: OUTPUT«maximum recursion depth exceeded␤ in 'Block::count' at line 5773:CORE.setting␤ in 'Block::count' at line 5777:CORE.setting␤ in 'Any::join' at line 1␤ in 'List::perl' at line 2598:CORE.setting␤ in <anon> at line 2598:CORE.setting␤ in 'Any::join' at line 1␤ in 13:25
..'List::perl' at …
moritz_ ew.
tadzik rakudo: say ([.elems] map {1 xx $_ }, 4, 1, 3, 2).perl
oh, noes
p6eval rakudo f8e959: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
smash rakudo: say (map {1 xx $_ }, 4, 1, 3, 2).sort.perl
p6eval rakudo f8e959: OUTPUT«((1), (1, 1), (1, 1, 1), (1, 1, 1, 1))␤»
tadzik rakudo: say ( map {1 xx $_ }, 4, 1, 3, 2).map( .elems ).perl 13:26
p6eval rakudo f8e959: OUTPUT«No applicable candidates found to dispatch to for 'map'. Available candidates are:␤:(Mu : &block;; *%_)␤␤ in main program body at line 22:/tmp/tzkTwY2Gm6␤»
tadzik -_-
moritz_ *.elems
tadzik rakudo: say ( map {1 xx $_ }, 4, 1, 3, 2).map( *.elems ).perl
yeah
p6eval rakudo f8e959: OUTPUT«(4, 1, 3, 2)␤»
tadzik duh, too early
smash you're missing the sort of the inner lists 13:27
tadzik we're missing this transpose-transpose magic I think
moritz_ right
smash rakudo: say (map {1 xx $_ }, 4, 1, 3, 2).sort.map( *.elems ).perl
p6eval rakudo f8e959: OUTPUT«(1, 2, 3, 4)␤»
moritz_ a "normal" matrix transpose can be written as [Z], if rakudo doesn't suck
smash is cheating :P 13:28
moritz_ but that won't work for entries of different length
so we'd have to fill with 0s
13:28 uniejo left
tadzik or add a transpose function/method to be as awesome as haskell 13:28
moritz_ or steal one of the other Bead Sort implementations for Perl 6 13:30
smash 'maximum recursion depth exceeded' :) 13:31
13:32 espadrine left
[Coke] wonders if perl6 has upped it's recursion depth setting yet. 13:33
argh, its
moritz_ nope
we want to fail fast :-)
13:34 kiffin joined, kiffin left 13:36 kaare_ left
colomon rakudo: say [Z] ([[1, 2, 3], [4, 5, 6], [7, 8, 9]]).perl 13:37
no!
p6eval rakudo f8e959: OUTPUT«No applicable candidates found to dispatch to for 'infix:<Z>'. Available candidates are:␤:()␤:(Any $lhs, Any $rhs)␤␤ in 'reducewith' at line 312:CORE.setting␤ in main program body at line 1␤»
13:37 M_o_C left
colomon rakudo: say ([Z] [[1, 2, 3], [4, 5, 6], [7, 8, 9]]).perl 13:37
p6eval rakudo f8e959: OUTPUT«No applicable candidates found to dispatch to for 'infix:<Z>'. Available candidates are:␤:()␤:(Any $lhs, Any $rhs)␤␤ in 'reducewith' at line 312:CORE.setting␤ in main program body at line 1␤»
colomon oh. flattens? 13:39
rakudo: say (flat([[1, 2, 3], [4, 5, 6], [7, 8, 9]])).perl
p6eval rakudo f8e959: OUTPUT«([[1, 2, 3], [4, 5, 6], [7, 8, 9]])␤» 13:40
moritz_ rakudo: say infix:<Z>([1, 2, 3])
p6eval rakudo f8e959: OUTPUT«No applicable candidates found to dispatch to for 'infix:<Z>'. Available candidates are:␤:()␤:(Any $lhs, Any $rhs)␤␤ in main program body at line 22:/tmp/xetWZ99ZVE␤»
moritz_ rakudo: say infix:<Z>([1, 2, 3], [4, 5, 6])
p6eval rakudo f8e959: OUTPUT«142536␤»
moritz_ rakudo: say infix:<Z>([1, 2, 3], [4, 5, 6], [7, 8, 9])
p6eval rakudo f8e959: OUTPUT«No applicable candidates found to dispatch to for 'infix:<Z>'. Available candidates are:␤:()␤:(Any $lhs, Any $rhs)␤␤ in main program body at line 22:/tmp/qr6y_7vYSj␤»
13:40 espadrine joined 13:41 rgrau_ joined
colomon rakudo: say [Z]([1, 2, 3], [4, 5, 6], [7, 8, 9]) 13:45
p6eval rakudo f8e959: OUTPUT«1 7 4 8 2 9␤»
13:46 espadrine left
colomon Is that actually correct? 13:46
moritz_ don't think so 13:47
smash colomon: depends on what you're trying to do
colomon it's [1, 4, 2, 6, 3, 6] Z [7, 8, 9]
moritz_ the spec says that [op] a, b, c should behave like a op b op c
and since Z is supposed to have list associativity, that's wrong
colomon reduce meta doesn't even look at list associativity
13:48 espadrine joined
colomon and of course, infix:<Z>([1, 2, 3], [4, 5, 6], [7, 8, 9]) doesn't actually work 13:48
moritz_ right; it needs slices for proper implementation
13:49 Mowah joined
moritz_ btw I fear I'll miss #cpan6sketch, if there is one 13:50
tadzik I missed it last time and there was no #cpan6sketch :)
shortcircuit moritz_, daxim: The way Rosetta Code is currently organized, each page is a chrestomathy. Slice it sideways, and you've got three hundred or so cookbooks. I don't see why we couldn't have a few more task pages for data structures. We've got "Compound Data Type" "Enumearation", "Array" and "Associative array" so far. 13:54
We've got enough task pages that I don't try to keep track of them all in my head any more. 13:55
13:55 perlygatekeeper joined 13:57 uniejo joined
moritz_ perldoc.perl.org/perlfaq4.html might be a nice source of inspiration for more task 13:58
14:04 drbean left 14:05 |CTAPOMAK| left 14:10 JimmyZ joined 14:13 fridim left 14:14 zag left 14:16 envi^home joined 14:19 wtw left 14:20 jferrero left 14:24 rgrau_ left
bbkr rakudo: say "" ~~ /$/ # bug? in p5 it matches 14:25
p6eval rakudo f8e959: OUTPUT«␤»
bbkr nvm, works fine
14:26 molaf joined 14:27 molaf left
moritz_ rakudo: say so "" ~~ /$/ 14:27
p6eval rakudo f8e959: OUTPUT«1␤»
bbkr rakudo: say "OK" if "0" ~~ /0/ # tricky one..
p6eval rakudo f8e959: OUTPUT«OK␤» 14:28
bbkr \o/
14:28 JimmyZ left
bbkr what is this "say so" ? looks like a nice trick 14:28
moritz_ prefix:<so> is boolean context. Just like 'not', but without the negation 14:29
14:29 rgrau_ joined
bbkr rakudo: say so 4# expecting 1... 14:29
p6eval rakudo f8e959: OUTPUT«1␤»
bbkr rakudo++
14:34 patspam joined 14:40 Guest23195 joined
bbkr rakudo: say so "a" ~~ /<<*/ # timeout, but I think already known as /""*/ case 14:43
p6eval rakudo f8e959: OUTPUT«(timeout)»
moritz_ yes, there's a ticket for quantified zero-width matches
14:44 justatheory joined
bbkr matching longest alternative is NYI, right? like in "a bb c" ~~ m/a|bb/ 14:46
moritz_ right 14:47
but notice that this would match a, even with correct LTM implementation
because it always tries the left-most match, even if shorter 14:48
bbkr what does LTM stands for?
moritz_ Longest Token Matching
14:48 _jaldhar joined 14:49 tylercurtis joined
bbkr reads spec... 14:50
[particle] rakudo: "a bb c" ~~ m/(bb|a)/; say $1; 14:51
p6eval rakudo f8e959: OUTPUT«␤»
slavik rakudo: "a bb c" ~~ m/(bb|a)/; say $0; 14:54
p6eval rakudo f8e959: OUTPUT«a␤»
slavik rakudo: "a bb c" ~~ m/(bb|a)/; say $/.perl;
p6eval rakudo f8e959: OUTPUT«Match.new(␤ from => 0,␤ orig => "a bb c",␤ to => 1,␤ positional => [␤ Match.new(␤ from => 0,␤ orig => "a bb c",␤ to => 1,␤ ),␤ ],␤)␤»
bbkr [particle]: first match is $0, not $1 like in P5
slavik and that, too
$/ is the smart match object that gets created 14:55
14:55 patspam left
[particle] bad fingers! bad! [particle]-- needs breakfast 14:59
15:00 macroron joined 15:02 patspam joined
bbkr rakudo: my $code = "\$" ~ 1 x 1024; eval $code; # bang! 15:15
p6eval rakudo f8e959: OUTPUT«error:imcc:syntax error, unexpected IDENTIFIER ('Inf')␤ in file 'EVAL_10' line 105593236␤» 15:16
tadzik rakudo: my $code = "\$" ~ 1 x 1024; say $code;
p6eval rakudo f8e959:
..OUTPUT«$11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111…
tadzik oh
15:17 cls_bsd left
[particle] i need a regex to remove trailing slashes, and following newlines if they exist 15:20
shortcircuit moritz_: Another place we keep lists for inspiration for tasks is here: rosettacode.org/wiki/Rosetta_Code:V...mming_task 15:21
[particle] i suppose it's { \\ $ \n? }{} 15:22
15:22 ash_ joined
bbkr [particle]: those in rx are trailing BACKslashes :) 15:26
[particle] bbkr: yes, that's what i meant, scratch what i said. still need breakfast, i'm afraid. 15:27
let me just fix that now.
moritz_ \/+\n*$$ 15:28
bbkr [particle]: also don't use $ but $$
tadzik given 'yes' { .say so } 15:30
rakudo: given 'yes' { .say so } 15:31
p6eval rakudo f8e959: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
tadzik :(
rakudo: given 'yes' { say .so }
p6eval rakudo f8e959: OUTPUT«1␤»
ingy [Coke]: that's because Ingy never released a version on Inline::C :) 15:33
bbkr rakudo: given 'no' { say .so } # i don't think 'no' is recognized as False
p6eval rakudo f8e959: OUTPUT«1␤»
ingy *of
tadzik rakudo: given 'yes' { say ~.so } 15:34
p6eval rakudo f8e959: OUTPUT«1␤» 15:35
ash_ rakudo: given 0 { say ~.so } 15:36
p6eval rakudo f8e959: OUTPUT«0␤»
tadzik ash_: how is try.rakudo going? 15:37
15:38 masak joined
masak oh hai, #perl6! 15:38
phenny masak: 10:13Z <moritz_> tell masak re proto tests, my rakudo was more broken than I thought it was... anyway, fix for tt #1746 pushed, feel free to apply your enum patch
ash_ moritz_++ made some changes so use FORBID_PIR works in the REPL, so the security concerns are gone, but i ran into a weird issue with IPC::Run connecting the sub-processes STDIN to the default STDIN, so if you sent the daemon a command, it would do '> ' and wait for you to enter it on the server... which is wrong, that hasn't happened before, so i am trying to find out why, also it only happens in linux, not OS X which confuses me more
smash masak: hi
masak will review my own patch a bit, then apply it. 15:39
ash_ tadzik: wall of text was about try.rakudo btw
tadzik ash_: yeah, I see
FORBID_PIR caught my eyes
bbl 15:40
15:40 tadzik left
bbkr rakudo: 1 .. 2 .. 3 # known bug? should not be parsed according to STD 15:40
p6eval rakudo f8e959: ( no output )
ash_ the fact that IPC::Run only messes up on linux (with same versions of perl, and IPC::Run) is baffling
moritz_ :(
would it help if I installed a newer or older IPC::Run on that server? 15:41
15:41 Guest23195 is now known as _kaare
ash_ moritz_: once i get it working on my server thats mimicing feather3 (its just a vm) then i'll see about changing whats on feather3, anyway, i plan on fixing it today, even if i need to scrap IPC::Run, which would be sad, IPC::Run is the only sub-process managing perl module i have found that has re-set able timers and timeouts, most of them only let you set the timeout once, when a program starts, then never again, which isn't what I want, unless i make th 15:43
more complex (which i'd like to avoid)
15:44 _jaldhar left
ingy en.wikipedia.org/wiki/Perl_6_rules - There is a notability threat at the top of the page 15:47
masak ingy: in the long run, trying to acheive happiness through Wikipedia cabal policies and decisions will always fail. 15:54
doesn't hurt to try, though. just don't put your soul into it.
bbkr rakudo: my $x; my $y := $x; say $x =:= $y # known bug? it should return true on comparing variables binding, right?
p6eval rakudo f8e959: OUTPUT«0␤»
15:55 EvanCarroll left
masak bbkr: right. don't think it's known. 15:55
moritz_ yes
it is known, and submitted
15:55 takadonet left
masak moritz_++ 15:55
bbkr damn, I was hoping for 700th ticket in RT :P 15:56
masak (because 699 are not enough?) :)
15:58 isBEKaml joined
tylercurtis phenny: tell sorear that he seems to have misspelled supersede as supercede in Niecza::Actions. 15:58
phenny tylercurtis: I'll pass that on when sorear is around.
ash_ masak: there is some irony that you would say that :P
masak ash_: *lol*
isBEKaml .u 20A8 15:59
phenny U+20A8 RUPEE SIGN (₨)
isBEKaml \o/ perl6++
ash_ masak: how many tickets do you have? just curious
masak ash_: somewhere between 960 and 1e3.
that includes a lot of closed ones, of course.
isBEKaml hi, #perl6! 16:00
masak isBEKaml! \o/
ingy masak: too true
16:00 EvanCarroll joined
EvanCarroll _sri: what ever happened to your blog entry on dispatchers for dummies 16:00
masak ingy: in this case, they're looking for more sources, which doesn't sound too bad.
EvanCarroll _sri: that was a really great entry, I can't find it now
isBEKaml masak: What's up? I'm just so happy to see Rupee sign among the unicode symbols on this channel. :)
.u 20B9 16:01
phenny U+20B9 (No name found)
16:01 Mowah left
isBEKaml :( 16:01
This is the latest position for the actual symbol.
en.wikipedia.org/wiki/Indian_rupee_sign
masak isBEKaml: I'm doing fine! Yapsi release tomorrow, a few things to do until then. :)
isBEKaml masak: Yapsi! \o/ 16:02
ash_ masak++ # keep up the good work, i am not as good at finding bugs 16:03
isBEKaml BTW, something I noticed this morning, the third Rosetta Code solution for FizzBuzz (I know, :D) seems like a cheat. Can someone clarify? 16:04
More than anything, I was rather surprised to see Fizzbuzz among the tasks. :D 16:05
ingy masak: yeah, and I'm sure we could dig up a few :) 16:07
moritz_ which one do you think is cheating? the Ada solution?
TimToady Yeah, I wondered about that when I looked, but left it in for the entertainment value.
last Perl 6
doesn't use %%
moritz_ oh
isBEKaml yes.
16:08 ash_ left
TimToady but the spec doesn't say you have to use modular arithmetic 16:08
moritz_ doesn't find that cheating at all
isBEKaml Btw, it doesn't seem to work in my local build.
moritz_ spirit of timtowtdi etc.
TimToady I didn't try that one
isBEKaml rakudo: for ('' xx 2, 'Fizz') xx 34 Z ('' xx 4, 'Buzz') xx 20 Z 1 .. 100 -> $f, $b, $n { say $f ~ $b || $n; }
p6eval rakudo f8e959: OUTPUT«No applicable candidates found to dispatch to for 'infix:<Z>'. Available candidates are:␤:()␤:(Any $lhs, Any $rhs)␤␤ in main program body at line 22:/tmp/mLbIHvWcjY␤»
16:08 ash_ joined
isBEKaml Z and a space? 16:08
moritz_ TimToady: you could even use Z~ insstead of the first Z, and only two closure params 16:09
isBEKaml can space be used as a op? I think it should be ~ for concat, if that's what the solution is about
TimToady I didn't write it
moritz_ oh
TimToady Z defaults to Z, like X defaults to X,
Juerd sorear: That would be good, but the whole svn thing is one huge disaster 16:10
TimToady current rakudo doesn't do list associative list infixes
Juerd sorear: Nobody seems to want to maintain it, and I will probably just kill it off.
TimToady pugs: for ('' xx 2, 'Fizz') xx 34 Z ('' xx 4, 'Buzz') xx 20 Z 1 .. 100 -> $f, $b, $n { say $f ~ $b || $n; }
p6eval pugs: OUTPUT« 1 2␤ 4 Buzz 5␤ 7 8␤ Buzz 10 11␤ 13 14␤ 16 17␤ 19 Buzz 20␤ 22 23␤ Buzz 25 26␤ 28 29␤ 31 32␤ 34 Buzz 35␤ 37 38␤ Buzz 40 41␤ 43 44␤ 46 47␤ 49 Buzz 50␤ 52 53␤ Buzz 55 56␤ 58 59␤ 61 62␤ 64 Buzz 65␤ 67 68␤ Buzz 70 71␤ 73 74␤ 76 77␤ 79 Buzz 80␤ …
16:10 Ross joined
Juerd sorear: The svn thing in Apache is a source of enormous memory leaks too 16:11
sorear: And indeed, it's not web spider proof.
isBEKaml no Fizz?
:)
Juerd If nobody comes with a solution, that just means that it'll die.
moritz_ rakudo: for ('' xx 2, 'Fizz') xx * Z~ ('' xx 4, 'Buzz') xx * Z 1..100 -> $f, $n { say $f || $n } 16:12
p6eval rakudo f8e959: OUTPUT«No applicable candidates found to dispatch to for 'infix:<Z>'. Available candidates are:␤:()␤:(Any $lhs, Any $rhs)␤␤ in main program body at line 22:/tmp/pVqW08LMCi␤»
16:12 zulon joined
TimToady flat champagne, all buzz, no fizz 16:12
moritz_ Juerd: would it make you happy if I migrated the pugs repo to git, and moved it github?
tylercurtis rakudo: .say for (('' xx 2, 'Fizz') xx 34 Z~ ('' xx 4, 'Buzz') xx 20) Z|| 1 .. 100;
p6eval rakudo f8e959:
..OUTPUT«1␤2␤Fizz␤4␤Buzz␤Fizz␤7␤8␤Fizz␤Buzz␤11␤Fizz␤13␤14␤FizzBuzz␤16␤17␤Fizz␤19␤Buzz␤Fizz␤22␤23␤Fizz␤Buzz␤26␤Fizz␤28␤29␤FizzBuzz␤31␤32␤Fizz␤34␤Buzz␤Fizz␤37␤38␤Fizz␤Buzz␤41␤Fizz␤43␤44␤FizzBuzz␤46␤47␤Fizz␤49␤Buzz␤Fizz␤52␤53␤Fizz␤Buzz␤56␤Fizz␤58␤59␤FizzBuzz␤61␤62␤Fizz␤64␤Buzz␤Fizz␤67␤68␤Fizz􏿽xE2
moritz_ then we'll have to come up with a clever solution for the commitbit thing
Juerd moritz_: Yes. Moving it isn't even necessary. Anything that will tune it down to /normal/ resource usage is good enough 16:13
moritz_: Also, I believe that something like this belongs on feather2
TimToady std: .say for (('' xx 2, 'Fizz') xx 34 Z~ ('' xx 4, 'Buzz') xx 20) Z|| 1 .. 100; 16:14
moritz_ Juerd: It does, but I don't dare to migrate it. Too many bad experiences with apache+svn+jifty (for commitbit)
p6eval std 32120: OUTPUT«ok 00:01 118m␤»
Juerd moritz_: Currently feather1 can be dossed with just a few http requests, and is dossed regularly by googlebot. That's bad, and hardly googlebot's fault :)
16:14 EvanCarroll left
Juerd moritz_: Nobody dares migrate it. 16:14
+to
isBEKaml tylercurtis++
Juerd But without anyone to maintain it, we should ask ourselves if this setup should even be used. 16:15
moritz_ Juerd: currently it seems to me that a migration to git+github is easier than finding a volunteer who maintains svn on feather 16:18
so I'll look harder into migration strategies
Juerd Agreed.
I think that my point was that git + gitonfeather would work too
ingy Juerd: is there a star executable on feather?
Juerd ingy: If you build one :) 16:19
moritz_ Juerd: yes, but it would also suffer from the maintenance problem
ingy ok, I just didn't want to waste resources
Juerd ingy: Currently nobody provides a regurarly updated rakudo
moritz_: True.
ingy Juerd: have /usr/bin/perl6 be the latest star sounds like a good idea... 16:20
moritz_ thinks any perl6 in $PATH will confuse the crap out of people
ash_ ingy: which feather are you on? I know on feather3 it won't build due to resource limitations, but if you build it locally, then copy the core.pir file (thats the one that takes to much memory) and modify the makefile, you can get it to build on feather3
moritz_ rather do a /opt/rakudo-star-2010.08/bin/perl6 16:21
[Coke] harmil?
moritz_ any maybe an /opt/rakudo/bin/perl6 which symlinks there
ash_ perl6-on-feather++
moritz_ and tell people to use that if they want it
TimToady std: .say for (('' xx 2, 'Fizz') xx * Z~ ('' xx 4, 'Buzz') xx *) Z|| 1 .. 100;
p6eval std 32120: OUTPUT«ok 00:01 118m␤»
TimToady rakudo: .say for (('' xx 2, 'Fizz') xx * Z~ ('' xx 4, 'Buzz') xx *) Z|| 1 .. 100;
p6eval rakudo f8e959:
..OUTPUT«1␤2␤Fizz␤4␤Buzz␤Fizz␤7␤8␤Fizz␤Buzz␤11␤Fizz␤13␤14␤FizzBuzz␤16␤17␤Fizz␤19␤Buzz␤Fizz␤22␤23␤Fizz␤Buzz␤26␤Fizz␤28␤29␤FizzBuzz␤31␤32␤Fizz␤34␤Buzz␤Fizz␤37␤38␤Fizz␤Buzz␤41␤Fizz␤43␤44␤FizzBuzz␤46␤47␤Fizz␤49␤Buzz␤Fizz␤52␤53␤Fizz␤Buzz␤56␤Fizz␤58␤59␤FizzBuzz␤61␤62␤Fizz␤64␤Buzz␤Fizz␤67␤68␤Fizz􏿽xE2
moritz_ wants to open an organization account for Perl 6 on github. What name should I use? 16:22
TimToady no need to count the inner zips
moritz_ 'Mu' and 'perl6' are taken
ingy ash_: I asked for an account on feather, because I couldn't build on my slicehost. thanks for the tip.
Juerd ingy: Great idea, even. Will you do that? :)
ingy Juerd: right away
:)
moritz_ 'perlsix' is free
16:22 EvanCarroll joined
Juerd ingy: Where shall I symlink it to? 16:22
16:23 cdarroch joined, cdarroch left, cdarroch joined
ash_ perl6 is taken as an organization on github? :-( 16:23
moritz_ ash_: no, as a user
16:23 _jaldhar joined
ash_ oh, got ya 16:23
ingy Juerd: ~ingy/local/bin/
Juerd: ~ingy/local/bin/perl6
moritz_ ash_: currently the 'book' and 'perl6-examples' accounts are in there
ash_ right right, i understand, i just thought someone had taken the name to be a jerk, but i am wrong it seems 16:24
16:25 araujo left
moritz_ pmichaud++ took it long before github supported organization accounts 16:25
16:26 araujo joined
TimToady tylercurtis: are you updating rosettacode or shall I? 16:26
tylercurtis TimToady: I shall.
16:26 lichtkind_ joined
TimToady see my *'s above? 16:26
tylercurtis Yes. 16:27
16:27 lichtkind left, lichtkind_ is now known as lichtkind
moritz_ github.com/perlsix/Mu # the new pugs repo 16:27
Juerd ingy: Done 16:28
moritz_ next step: inform all people with pugs commit bits about it, and add them to the repo if they have a github ID
16:28 araujo left
TimToady oh well 16:28
moritz_ TimToady: resistance is futile :-) 16:29
smash moritz_: i give up on that transpose thing (for now at least) :-)
[particle] moritz_: new bugs repo?
HA, silly fingers!
moritz_ lol
[particle] pugs? when did that decision happen?
16:29 araujo joined
TimToady smash: just do the "Pattern_matching" entry instead (red-black tree matching) 16:29
tylercurtis TimToady: updated it. 16:30
moritz_ [particle]: just now
[particle]: nobody maintains the svn server, so we need to find another solution 16:31
smash TimToady: sorry, which one !?
[particle] ok, then. i'd like a commit bit and privs to add new committers, if you wouldn't mind. 16:32
i r particle
TimToady smash: rosettacode.org/wiki/Pattern_matching
moritz_ sure
TimToady smash: I believe signature matching is up to the task 16:33
szbalint starts following gitpug
TimToady only one pug?
isBEKaml oh, that was fast. All the commits are retained! \o/
smash TimToady: thank you, let me look at it 16:34
moritz_ isBEKaml: nonono, it'll take much longer 16:35
all the projects that use pugs checkouts need some time to switch to the new scheme
szbalint The naughty pug is the one that subverts the rest of the pugs. :)
16:35 alester joined
isBEKaml moritz_: I was wondering when I saw the last commit by patrickas++ on 30 Aug. 16:35
shortcircuit Just a general FYI. This page should be useful/interesting: rosettacode.org/wiki/Reports:Tasks_..._in_Perl_6 16:37
moritz_ also found that :-)
TimToady yes, nice page
16:38 molaf joined
TimToady is trying to figure out how we get the color of a screen pixel in Perl 6 :) 16:39
16:39 dju left 16:40 uniejo left 16:41 dju joined
masak moritz_++ # Mu repo 16:42
isBEKaml goes singing "My heart goes Mu...." {ducks}
masak that cultural reference is lost to me as a non-Bharatan... :P 16:43
TimToady perhaps the new camel book should be a cow book
moritz_ now we only need to figure out hwo to checkout out parts of a repo
TimToady that would be funnier in Deutsch
do kuh's say muh? 16:44
s/"'"//
isBEKaml *lol* That's from an old Bollywood song "My dil goes hmmm... "
I just *gasp* transmogrified it.
"Dil" in hindi means "heart" 16:45
masak ooh 16:46
ash_ moritz_: svn co svn.github.com/moritz/Mu.git/t/spec only checks out the spec from Mu 16:47
moritz_ ash_++
with s/moritz/perlsix/
isBEKaml svn co is enabled from git # I didn't know about git-svn interop. 16:48
ash_ git pulls full repo's as far as i can tell, so i don't see how to do it with git...
isBEKaml ?
masak chromatic++ # www.perl.com/pub/2010/08/people-of-...masak.html
ash_ github has svn mirrors of git repos
tylercurtis masak++
ash_ thats a github special thing
16:48 EvanCarroll left
isBEKaml github++ 16:48
16:48 dakkar left 16:55 sftp_ left
ingy is github.com/rakudo/rakudo/tree/2010.08 the star tag for august? 16:57
16:59 ruoso joined, sftp_ joined 17:01 EvanCarroll joined
sorear bbkr: Did it ever occur to you that std might have have bugs 17:05
phenny sorear: 15:58Z <tylercurtis> tell sorear that he seems to have misspelled supersede as supercede in Niecza::Actions.
bbkr sorear: yes, and I reported a few STD bugs already. why are you asking? 17:07
ash_ rakudo: sub postcircumfix:<<< >>>($foo) { say $foo }; <"foo">; # just curious
p6eval rakudo f8e959: OUTPUT«===SORRY!===␤Null PMC access in find_method('lineof')␤»
ash_ rakudo: sub postcircumfix:«< >»($foo) { say $foo }; <"foo">; # just curious
p6eval rakudo f8e959: OUTPUT«===SORRY!===␤Null PMC access in find_method('lineof')␤»
ash_ oh, oops 17:08
rakudo: sub circumfix:«< >»($foo) { say $foo }; <"foo">; # just curious
p6eval rakudo f8e959: ( no output )
17:13 Italian_Plumber left
masak sorear: bbkr reported discrepancies between Rakudo and STD, without much consideration for which one is "right". I think that's fine. 17:14
sorear masak: my reading of the tickets was very STD-normative
masak "Rakudo allows postfix<:> in regexp(?) but STD doesnt" 17:15
that just says they differ.
not which one is right.
bbkr masak: indeed. I'm not skilled enough to distinct Rakudo bug and STD bug. so if something is STD bug then just reject ticked. but discrepancy is something that should be reported anyway and fixed somewhere - in Rakudo or in STD.
masak bbkr: STD bugs also belong in RT, according to some schools of thought. 17:16
diakopter if it's called perl6 RT... maybe the current perl6 RT needs renamed to rakudo 17:17
bbkr so how should I act when I spot disrepancy if I'm not supposet to report to RT? 17:18
[Coke] you should report it to RT.
bbkr thanks :)
[Coke] (unless there is an STD specific bug queue of which I am not aware)
masak diakopter: people have also been committing doc and book bugs to RT. most are using it as the 'rakudo RT', but not everyone. 17:19
diakopter oh...
bbkr [Coke]: if I spot something that I know for sure is STD then I report directly to TimToady, otherwise to RT
17:20 Italian_Plumber joined
TimToady the current STD bug queue is a file named "todo" 17:20
moritz_ github.com/moritz/perlgeek.de/blob/...ar.html.en # I'm currently working on an article about debugging grammars, and writing robust grammars
any comments/suggestions?
bbkr moritz_: awesome 17:21
treed fist identifier! 17:24
17:25 _kaare left 17:26 envi^home left
moritz_ typos fixed, treed++ 17:26
treed nods 17:27
Looks good so far.
masak moritz_: s/less errors/fewer errors/
moritz_ rakudo: say 'abc' ~~ /<?DEBUG(1)> .+b/
p6eval rakudo f8e959: OUTPUT«ab␤»
moritz_ rakudo: say 'abc' ~~ /<?DEBUG(1)> <alpha>+ b/ 17:28
p6eval rakudo f8e959: OUTPUT«ab␤»
masak moritz_: the '... and test along the way.' paragraph breaks the sometimes-made assumption that ordinary text paragraphs can be read independently of headings. 17:29
[Coke] rakudo star has no "issues" tab. any easy way to link back to rt's bug queue from there? 17:30
(on github)
moritz_ masak: I'll fix that
masak moritz_++
[Coke] rakudo/rakudo has a link in the README, which is probably sufficient. also, bug in the README -> HTML generation: Rakudo's official web site is <rakudo.org/&gt;, 17:31
17:31 TiMBuS left
masak moritz_: nqp-rx has a debug/trace facility. I haven't tried it much, but it seems to overlap slightly with your suggestion for manually adding debug statements. 17:33
moritz_ masak: I thought <?DEBUG(1)> worked. Right now I don't see any effect.
worked in rakudo, that is
masak I thought so too. sadly, I don't know any more about it. 17:34
pmichaud++ likely will, though.
17:34 TiMBuS joined 17:36 redicaps left 17:37 Tene joined
moritz_ <?DEBUG(1)> seems to work in grammars 17:39
masak huh. why would there be a difference inside or outside of a grammar? 17:40
17:40 plainhao joined
moritz_ rakudo: my token foo { <alpha> }; 'abcd' ~~ /<?DEBUG(1)> <foo>+d/ 17:41
p6eval rakudo f8e959: OUTPUT«Method 'foo' not found for invocant of class 'Cursor'␤ in <anon> at line 22:/tmp/GwTfXOewyT␤ in 'Cool::match' at line 2420:CORE.setting␤ in 'Regex::ACCEPTS' at line 5823:CORE.setting␤ in main program body at line 10:/tmp/GwTfXOewyT␤»
moritz_ rakudo: my token foo { <alpha> }; 'abcd' ~~ /<?DEBUG(1)> <&foo>+d/
p6eval rakudo f8e959: OUTPUT«1283275173.029351 0/0 START foo␤1283275173.029638 0/0 PASS foo at pos=1␤1283275173.029860 1/0 START foo␤1283275173.030061 1/0 PASS foo at pos=2␤1283275173.030274 2/0 START foo␤1283275173.030426 2/0 PASS foo at pos=3␤1283275173.030636 3/0 START
..foo␤1283275173…
moritz_ seems to work outside too, but not for <alpha>
masak because <alpha> (along with the other predefined rules) is special-cased 17:42
probably should emit debug output, though.
17:42 risou_ joined
masak submits nqp-rxbug 17:43
sorear moritz_: did you head Juerd say he wants to shut down svn.pugscode.org? 17:45
std: /$$x/
p6eval std 32120: OUTPUT«Can't call method "Str" on unblessed reference at STD.pm line 58885.␤FAILED 00:01 116m␤»
moritz_ sorear: yes
17:46 Transformer joined 17:47 risou_ left 17:48 Transformer left 17:51 estrabd is now known as jlagron, jlagron is now known as jlagrone, dju left 17:52 jlagrone is now known as estrabd 17:58 dju joined
colomon did not sleep through #phasers 17:59
moritz_ phenny: ask pmichaud in trace output from NQP-rx with <DEBUG(1)>, whas is the second number in the second column? ie the /1 in 1283276995.944721 17/1 START comment 18:00
phenny moritz_: I'll pass that on when pmichaud is around.
ingy ingy@feather:~$ perl6 -v 18:01
This is Rakudo Perl 6, version 2010.08 built on parrot 2.7.0
Copyright 2008-2010, The Perl Foundation
moritz_ \o/
masak colomon: ooh, #phasers! thanks for reminding me. 18:02
colomon you're quite welcome. I didn't remember myself until I woke up from my nap... 18:04
18:08 macroron left
moritz_ added a section about <?DEBUG(1)> 18:08
sorear std: / x: / 18:09
p6eval std 32120: OUTPUT«ok 00:01 116m␤»
18:09 fglock joined
sorear quantifier:<:> requires a space 18:10
fglock hi all
moritz_ hi fglock
fglock: how are you? how is perlito going? 18:12
fglock I've replaced Pugs::Compiler::Perl6 with Perlito in v6.pm, 18:14
PCP6 was not maintained anymore, and Perlito is getting good enough
so now v6.pm and perlcabal.org/~fglock/perlito.html are the same compiler 18:15
which is kinda cool
and easier to maintain
18:16 tadzik joined
fglock also Perlito got a precedence parser, and lists 18:16
got to update all backends before a release 18:17
dalek ecza: a2ee189 | sorear++ | src/Niecza/Actions.pm:
s/supercede/supersede/ (tcurtis++)
18:18
fglock also v6.pm is now pluggable, and v6-mildew could work (thanks to pmurias++)
tadzik oh hai 18:19
isBEKaml hi, tadzik
fglock moritz_: a few months ago you've asked about cleaning up mp6/kp6 from the pugs repository, I think it's ok to move those away now 18:21
18:21 daxim left 18:22 tri1 joined
moritz_ fglock: do you have a public repository where they live? or are they superseeded by perlito? 18:23
fglock the pugs repository keeps the history after you remove the files, right? 18:25
perlito replaces mp6/kp6 now
and v6.pm
18:26 zulon left
fglock Pugs::Compiler::Rule is used by Pugs, I think 18:26
TimToady rakudo: my @x = ($_ for ^10); say @x.perl # known bug? 18:28
p6eval rakudo f8e959: OUTPUT«[]␤»
18:28 molaf left
sorear fglock: yea, svn can version deleted files 18:28
TimToady rakudo: my @x = (for ^10 { $_ }); say @x.perl
p6eval rakudo f8e959: OUTPUT«[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]␤»
fglock rakudo: my $x; say "$x" 18:29
p6eval rakudo f8e959: OUTPUT«Any()␤»
TimToady that's Str vs Stringy confusion
fglock I've ran into this when running rakudo on perlito's test
is this correct? 18:30
TimToady rakudo: my $x; say ~$x;
p6eval rakudo f8e959: OUTPUT«Any()␤»
TimToady that's also wrong
should produce "" and a warning. it's the low-level .Str that produced Any(), not .Stringy
fglock is $x a "Mu"?
TimToady vars default to Any 18:31
sorear TimToady: Is ::> new?
TimToady not new in STD, but new in spec
syntax is provisional
::> is the old ::
fglock rakudo: Any()
sorear std: / ::> / # not in STD yet
p6eval rakudo f8e959: OUTPUT«Could not find sub &Any␤ in main program body at line 22:/tmp/g1Kl5UMcYk␤»
std 32120: OUTPUT«===SORRY!===␤Unable to parse regex; couldn't find final '/' at /tmp/7_upg75Mhg line 1:␤------> / ::⏏> / # not in STD yet␤ expecting any of:␤ quantifier␤ regex atom␤Parse failed␤FAILED 00:01 115m␤»
TimToady when STD turned :: into LTM always
sorear ah 18:32
fglock rakudo: $x.perl
p6eval rakudo f8e959: OUTPUT«===SORRY!===␤Symbol '$x' not predeclared in <anonymous> (/tmp/Et9_LzdSYj:22)␤»
sorear so what's ::>? | or ||?
fglock rakudo: my $x; $x.perl
p6eval rakudo f8e959: ( no output )
TimToady either
fglock rakudo: my $x; say $x.perl
p6eval rakudo f8e959: OUTPUT«Any␤»
TimToady if | it's equiv to ::, if surrounding [] is standalone
fglock TimToady: thanks 18:33
TimToady hmm, where did I put ::> then... 18:34
moritz_ ::> is new to me 18:35
TimToady maybe it was only in gimme5
18:35 hans__ joined
TimToady that were it 18:35
anyway, attaches to COMMITBRANCH rather than COMMITLTM 18:36
whatever we decide for the syntax 18:37
could even be <then>
or we steal ::: for that and change ::: to <commit(Rule)> or some such 18:38
commit should have a smartmatched argument somehow anyway 18:39
then :: vs ::: would be backwards from a globality standpoint, but right from a huffman viewpoint 18:41
pugssvn r32121 | lwall++ | [STD] add ::> (already handled in viv) 18:47
18:53 Lorn left 19:00 dju left 19:03 dju joined 19:08 Lorn joined 19:11 M_o_C joined, _jaldhar left 19:14 _macdaddy joined
mathw o/ 19:18
tadzik \o
masak mathw! \o/ 19:19
mathw is back from holiday
ash_ moritz_: i now have the server using the rakudo repls working now, i only have 1 last thing to finish up, cleaning up dead sessions, then i'll be ready to update try.rakudo.org
tadzik ash_: can I try?
I won't break anything, promise :)
19:19 Mowah joined
ash_ sure, give me a few mins and i'll get you a link to my test server 19:20
tadzik: break it as best you can 19:21
so i can fix it before it becomes a problem
tadzik oh, fun comes 19:22
[Coke] masak: can you try to close a ticket and tell me what happens?
masak [Coke]: sure thing. 19:23
19:23 plainhao left, M_o_C left, M_o_C joined
[Coke] make sure it says "logged in as masak" in the URHS. 19:23
masak [Coke]: ok. 19:24
[Coke] whoops.
ok, I added you as a parrot dev (but not committer) 19:25
that should do it.
masak [Coke]++
19:26 M_o_C left
colomon masak, oh master of the bugs: has anyone else reported the problem with .chomp not generating a Str anymore? 19:29
masak colomon: yes. 19:30
or something very much like it.
might've been .split
colomon this one is
19:30 M_o_C joined
colomon rakudo: my $a = "this is a test"; say $a.PARROT; say $a.chomp.PARROT 19:31
p6eval rakudo f8e959: OUTPUT«Perl6Scalar->Str␤String␤»
colomon .trans wouldn't work on a "String", perhaps .split wouldn't either?
masak colomon: right. here it is. rt.perl.org/rt3/Ticket/Display.html?id=76564 19:32
but that one is resolved, so maybe submit a new one.
colomon ok, and more important may be learning where the tests go. masak++ 19:33
tadzik ash_: gotta go now, but can test it tomorrow if you paste me a message via phenny 19:34
masak (spec <-> implementation <-> RT <-> spectests)++
ash_ kk, will do
19:34 tadzik left
colomon rakudo: my $a = "this is a test"; say $a.trans("t=>T") 19:36
p6eval rakudo f8e959: OUTPUT«t=>T.perl is not a Pair␤ in <anon> at line 2249:CORE.setting␤ in 'Cool::trans' at line 1␤ in main program body at line 22:/tmp/NkEJ05eA9V␤»
colomon rakudo: my $a = "this is a test"; say $a.trans("t"=>"T")
p6eval rakudo f8e959: OUTPUT«This is a TesT␤»
colomon rakudo: my $a = "this is a test"; say $a.chomp.trans("t"=>"T")
p6eval rakudo f8e959: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected␤ in main program body at line 22:/tmp/lhXlaJPKOc␤»
sorear TimToady: Did you say something about ::> caring about bare []?
19:37 Quadrescence left
colomon moritz_: what's the state of the spectest repo at the moment? if I make changes, should I make them to SVN or a git repo out there somewhere? 19:37
moritz_ colomon: still SVN 19:38
colomon moritz_++
sorear moritz_: why use perlsix when we already have perl6? 19:40
moritz_ sorear: because afaict perl6 is not an organization account 19:41
19:41 timbunce left
moritz_ sorear: and because I have no administrative power over Perl 6 19:41
sorear ...hugme? 19:42
pmichaud: do you control 'perl6' on github?
moritz_ sorear: I have the API token for hugme use 19:43
19:43 hans__ left
[Coke] Surely someone in this channel has it. ;) 19:44
moritz_ it's pmichaud, yes
sorear It just bugs me that we now have both perl6 and perlsix
TimToady sorear: ::> commits to the current meaning of a surrounding [] (or rule) regardless of whether the scope's alternations take part in LTM
pugssvn r32122 | colomon++ | [t/spec] Add tests to verify that .chomp returns a proper Str (fudged because at the moment, it does not).
19:45 wamba left
sorear TimToady: Are [ <foo> ::> ] and <foo>: equivalent? 19:47
19:48 timbunce joined
colomon rakudo: my $a = "this is a test"; say (~($a.chomp)).trans("t"=>"T") 19:48
p6eval rakudo f8e959: OUTPUT«This is a TesT␤»
colomon rakudo: my $a = "this is a test"; say (($a.chomp)).trans("t"=>"T")
TimToady sorear: I believe so
p6eval rakudo f8e959: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected␤ in main program body at line 22:/tmp/NT27MZaS_Y␤»
masak colomon++
colomon does anyone out there atm have an idea how to get Cool.chomp to return a proper Str? I'm testing just adding a ~ to the output, but that seems like it is probably less than optimal... 19:49
19:50 proller_ left
moritz_ prefix:<~> is the only way I know about 19:50
s/about/of/
masak same here.
maybe check what prefix:<~> does and do that? :)
TimToady Stringy() or .Stringy is what it should do
colomon I think prefix:<~> is deep magic. 19:51
TimToady the functional form is probably more optimizable at compile time
colomon unless masak++ fixed that during the Buf work?
moritz_ $P0 = new ['Str']
assign $P0, a
masak colomon: nope, didn't venture into prefix:<~>
moritz_ where a is a PIR string
colomon moritz_++ # will try that next 19:52
moritz_ src/cheats/str-ops.pir
colomon $P0 = new ['Str']
assign $P0, $S0
%r = box $P0
does that look like the proper translation to Q:PIR? 19:53
[Coke] s/box //
moritz_ no need for the box
you can use %r instead of $P0 everywhere
[Coke] or, %r = new [ 'Str'] ; assign %r, $S0
box is for going from basic types to PMCs. if you already have a PMC, it might just explode.
colomon [Coke]++ moritz_++ 19:54
colomon stopped the compile before the explosion.
moritz_ my $x = pir::new__pS('Str'); pir::set__PS($x, $x) maybe
19:55 EvanCarroll left
[Coke] I think pir::set($x, ~$x) might be clearer. 19:57
also, pir::new('Str') should work these days. 19:58
moritz_ if you use ~$x, there's no need for the other magic
20:00 Italian_Plumber left
colomon I'm going with %r = new ['Str'] assign %r, $S0 for now -- simple, seems like it ought to be reasonably efficient, and it appears to work. 20:00
spectesting... 20:01
afk
20:05 Ross left
moritz_ stll looks for replies to his perl6-user mail 20:07
20:09 lamstyle left 20:10 dju left
ash_ man, generating core.pir is intense 20:10
masak wipes brow 20:11
20:11 Italian_Plumber joined
sorear moritz_: I haven't gotten it 20:12
ash_: try feather.perl6.nl/~sorear/rakudo/src/gen/core.pir
moritz_ sorear: www.nntp.perl.org/group/perl.perl6....g1309.html
20:12 lamstyle joined
tri1 is it possible to use net::ldap with perl6 ? 20:12
sorear I was trying to set up nightly builds earlier, but pbc_to_exe hates me 20:13
ash_ sorear: which revision is that from? just curious
moritz_ tri1: might be possible through blizkost
20:13 dju joined 20:14 fglock left
sorear ash_: the build log should say 20:14
moritz_: that sounds like a job for multi-pass parsing
er, hmm. 20:15
moritz_ sorear: you mean a separate pass that checks the nesting?
sorear moritz_: yes 20:16
moritz_: both passes being perl 6 grammars, potentially
moritz_ hm. Possible. But I thought that multi-pass parsing was evil.
rokoteko ash_: cpansearch.perl.org/src/RURBAN/illg...index.html .. Is it insane (the more or the less if you havent took a peek at perl5 sources) ..?
isn't Parrot supposed to be like perl5 xs for perl6?
sorear no 20:17
not at all
rokoteko how to make perl6 fast then?
moritz_ by optimizing it
ash_ rokoteko: if you need to link to foreign C code, you can do most of that with the parrot NCI system
sorear parrot is supposed to be like pp_*.c, sv.c, hv.c, cv.c, and Metaconfig for perl 6 20:18
run.c too
rokoteko Ok, Im speechless. I was (previously) thinking that this is the biggest flaw that perl6 has. everyone knows C, who knows parrot. 20:19
how the fuck to *really* optimize eventually. 20:20
ash_ parrot's the vm rakudo is implemented on top of (currently), its kinda like how java can be compiled for the jvm 20:21
sorear RA-KU-DO
I hate this mindset of "perl6 = parrot" 20:22
rokoteko ash_: are you trying to repeat to me why I think Java is a failier?
sorear: agreed.
[Coke] sorear: I know. it's really bringing parrot down.
;)
rokoteko but Rakudo is the best implementation available.
ash_ rokoteko: i am not sure i follow
tylercurtis rokoteko: I'm not too fond of Java, but in what respect do you think that Java is a failure?
TimToady except for where pugs is still the best implementation :)
rokoteko tylercurtis: there is only one way to do it. 20:23
TimToady oh that perl 6 would fail as badly as java! :)
[Coke] no joke. I /wish/ that many people hated perl 6. ;)
huf that's impossible, perl6 is far too good a language to be adopted *that* widely
tylercurtis rokoteko: What do you mean? 20:24
rokoteko TimToady: I wouldnt mind every other kid at University being taught perl6 instead of Java.
TimToady metoo
but we have to get to the university professors while they're still in grade school. :)
rokoteko mjperry.blogspot.com/2010/06/higher...ut-to.html 20:25
ash_ my professor in the spring did an independent study on vm's where i started on, nq-nqp, which isn't that far off from perl6
he teaches the compiler class and thought the idea of a parser that didn't define itself till runtime was awesome btw 20:26
tylercurtis rokoteko: I can understand the complaint of Java not having a TIMTOWDI philosophy, but I don't understand how that relates to the JVM.
ash_ and, class starts in 5 mins, so got to go 20:27
TimToady htaaof
sorear The problem with JVMs is that there are too many of them and they all suck.
20:27 ash_ left
TimToady some of them don't suck at certain things though 20:27
moritz_ some have good JIT, reliable garbage collection, and good concurrency 20:28
sorear thinks Perl6 needs a proper ExtUtils::, but nobody else cares enough to make #cpan6sketch happen
TimToady fsdo "good" and "reliable"
masak "some of them don't suck at certain things" -- the same could be said of Perl 6 implementations.
TimToady we care, we're just stretched too thin ourselves 20:29
rokoteko TimToady: I didnt mention pugs. If I only had iq 140+ (I doubt Im even close to that), I wish I could understand it. :)
but Rakudo is good.. But it might take years to have advantages like XS to make it very powerful for the unusual hackers. 20:30
masak sorear: I want you to know that I support your efforts with #cpan6sketch.
[Coke] rokoteko: what sort of power are you looking for?
rokoteko [Coke]: performance
sorear People seem to like joining #perl6 just to complain. I don't get it 20:31
We all know Perl 6 performance sucks
[Coke] sorear: be happy they care enough to share.
TimToady sorear: are you complaining? :)
[Coke] hugme: hug sorear
hugme hugs sorear
rokoteko I (before this dicussion) thought that you could write the stuff using parrot (as replacement for perl5 X) to make things faster.
20:31 _sri left
rokoteko s/X)/XS)/ 20:32
tylercurtis rokoteko: If Perl 6 can't give you good enough performance, write it in C and use a FFI(which will hopefully look like Zavolaj).
sorear rokoteko: you can, just not using Parrot
TimToady that might've been the story in, oh, about 2003.
sorear Parrot is a VM
the word you're looking for is FFI
[Coke] there are layers upon layers here.
moritz_ rokoteko: the problem with rakudo's speed is a mixture of not using parrot optimal, and parrot not providing what rakudo needs
rokoteko sorear: isnt that an acronym?
sorear rokoteko: so is XS 20:33
tylercurtis rokoteko: you can actually embed PIR or use PIR ops in Rakudo, but that's a bad idea, because that's not portable across implementations.
TimToady XS is a pun on "excess"
rokoteko sorear: ok. you know what XS is? :) mind telling me what FFI is ?
sorear FFI = foreign function interface
it lets you run C code from Perl6 20:34
we don't have ExtUtils::CBuilder yet, you'll need to ship a separate .so
rokoteko yes. lot's of time when I have mentioned XS I get reponses like "Why dont you use Inline::C?"
\xF0 that's a horrible response 20:35
TimToady they both have their place
20:35 M_o_C left, M_o_C joined
rokoteko sorear: I just was thinking aloud that it will take a while. :) but I previously thought from this discussion that is .pir is supposed to be the same performance improvement as .xs. please pardon of me being wrong. 20:36
cognominal rokoteko, the long term road to performance, with agility and maintainability is done by having a good high level language runing on a smart VM. That's what Perl 6, Rakudo and Parrot are about even the latter two are not quite there yet.
agility is a slogan, Perl 6 will make it a reality.
rokoteko I really like rapid development. :) so here I agree with you cognominal.
TimToady ooh, nice slogan. "Making slogans into reality." 20:37
sorear rokoteko: Being wrong is not a sin, so I can't pardon it. ;)
Learning is even less of a sin
TimToady
.oO(Live and let learn.)
cognominal TimToady turns every thing into meta
[Coke] He never meta slogan he didn't leak. 20:38
TimToady Anything you can do, I can do meta / I can do anything meta than you. No you can't! Yes I can!...
rokoteko sorear: I only miss the cos of all this. e^(i*pi) = cos(pi) + i*sin(pi) .. ok. I got the sin. where is the cause? and wtf is e? 20:39
sorear TimToady: What are the purposes of the cursor_xact calls on CursorBase.pmc lines 1858, 1872, 1886, 1900 ?
20:39 dh___ joined
rokoteko (pun seriously intended) 20:40
20:40 dh___ left
moritz_ wow, %hash.values.=map: *.elems # works in rakudo 20:40
tylercurtis rokoteko: another thing to consider is that Perl 6 is designed to be optimizable. For example, object attributes are more abstract so they can potentially be stored more efficiently.
20:40 EvanCarroll joined 20:41 hercynium joined
rokoteko tylercurtis: ok. perl6 is designed to be optimizable. Im just sometimes having trouble where the Parrot fits in. but that is probably only because I dont know Parrot. hence the discussion :) 20:41
moritz_ parrot.org tries to describe what parrot is :-) 20:42
20:42 patspam left
TimToady sorear: they chop the backtracked bits out of the current xact chain so they don't have to be re-traversed later on 20:42
rokoteko moritz_: havent diven in there yet :)
sorear rokoteko: Parrot is an implementation factor of Rakudo. It contains no user-servicable parts
rokoteko moritz_: only scracthed the tip of the mountain (made of ice floating in an ocean).. 20:43
tylercurtis Parrot's a VM that Rakudo happens to run on. And it theoretically makes it easier to integrate different languages together. For example, if you have Blizkost installed, you can do "use Some::Module:from<perl5>;".
sorear TimToady: ... I don't see how
tylercurtis Although the interoperability with Perl 5 through Blizkost is a bit limited.
rokoteko sorear: I was trying to discuss of my (current) views of perl5 XS vs using Parrot underneath. 20:44
sorear rokoteko: perl5 XS leaks a lot of perl5's implementation details
rokoteko Im not here to dishonour anyone! only to appreciate and learn. dont take me wrong, I love Perl. :)
sorear: yes it does. and I kinda understand that the XS interface has been living (and optimized for years and years) and perl6 is new. 20:46
TimToady sorear: okay, they don't chop it out, but they put anew false floor there to mark the track as "backed" :)
rokoteko sorear: but perl6 on parrot.. can it do the same for the Parrot (vs. XS) programmer?
TimToady the back as tracked?
the backtrack as ed?
rokoteko TimToady++ 20:47
You're a bit older but I was an edling user when I was younger. :)
-g
20:47 EvanCarroll left
sorear I was an ed user when I was younger 20:48
TimToady I watched Mr. Ed when I was young.
sorear TimToady: Where is the code that checks for the "CL" etc xact entries? 20:49
20:49 yrgd joined 20:50 patspam joined 20:51 tri1 left, FurnaceBoy joined
TimToady sorear: not sure there is any at the moment. it might've been there once, or the marks may have just been info for the debugging log 20:52
20:52 sftp_ left
TimToady certainly they're all named with C first so that they *could* be recognized if we wanted to 20:52
and it might well be that we could get some benefit from actually chopping out the backtracked nodes from the new self 20:53
I might've thought that's what I was doing at the time 20:54
marking all the xacts as invalid is really only for the other users who still may have them in flight; we could probably chop them from our current list 20:55
masak someone opines 'Rakudo Plus' twitter.com/Jinzang/status/22645927237 20:56
sbp double star - exponentiation! 21:00
TimToady well, *+1 is kind of an inside joke
dalek psi: 21732ee | svatsan++ | / (4 files):
Added 'unless' keyword.
21:01
psi: 515246f | svatsan++ | / (4 files):
added 'until' keyword.
tylercurtis I think we should wait until HyperWhatever is implemented to even consider using it as a Rakudo Star release name.
21:01 whiteknight joined
masak isBEKaml++ \o/ 21:01
TimToady going from Star to Plus has the same kind of issue as going from a one-humped camel to a two-humped camel; what comes after that?
masak TimToady: times. oh wait.
sorear easy, add tetration syntax 21:02
TimToady eventually we'll get to Rakudo @#$!&?#@ 21:03
sbp the subname should be valid perl6, for bonus points
masak TimToady: that's how I feel already sometimes. :)
sbp and should print JAP6H... 21:04
masak can an action method have any say in whether a rule fails? 21:09
[Coke] it's too late by then, isn't it? 21:10
moritz_ it's too late indeed
masak it's never too late to fail :)
21:10 Quadrescence joined
FurnaceBoy TimToady: nothing genetic engineering can't now fix. 21:10
[Coke] you can fail in the action, but that's not the same thing.
masak what's the closest thing to failing a grammar match from within an action method? 21:11
moritz_ die()
$/.CURSOR.panic('OH NOEZ')
masak I like that.
I don't like die(). that's the same problem as I had with ~
TimToady FurnaceBoy: I know that; see rosettacode.org/wiki/Evolutionary_a...thm#Perl_6
FurnaceBoy I suppose exceptions are called OHNOEZ in LOLCAT. 21:12
masak everything else in a regex returns false, but ~ dies.
moritz_ unless they are called FEJL
rokoteko Rakudo log_e(z)
FurnaceBoy TimToady: excellent
huf that's a bit too yiddish to be lolcat, moritz_ ;)
sorear in viv, that's spelled $/.panic
FurnaceBoy moritz_: I certainly had to look twice. :)
sorear you can also say $/.sorry to fail the match but keep going
niecza: augment class Any { }; say $foo; 21:13
TimToady
.oO(You'll be sorry!!!)
p6eval niecza 1d65d67: OUTPUT«Can't locate STD.pm in @INC (@INC contains: /home/p6eval/niecza/src /opt/perl-5.12.1/lib/site_perl/5.12.1/x86_64-linux /opt/perl-5.12.1/lib/site_perl/5.12.1 /opt/perl-5.12.1/lib/5.12.1/x86_64-linux /opt/perl-5.12.1/lib/5.12.1 .) at /home/p6eval/niecza/src/Niecza/Grammar.pm
..line 3.␤…
masak suspected he'd find the METHINKS IT IS LIKE A WEASEL sentence at rosettacode.org/wiki/Evolutionary_a...thm#Perl_6
that's from one of Dawkins' books.
"Blind Watchmaker", prob'bly. 21:14
huf isnt it shakespeare?
FurnaceBoy masak: seems likely
21:14 patspam left
FurnaceBoy huf: the example may be from Dawkins 21:14
masak aye. en.wikipedia.org/wiki/Weasel_progra..._algorithm
FurnaceBoy huf: not the text per se 21:15
masak huf: the phrase is from Hamlet, yes.
21:15 patspam joined
TimToady it's about monkey typing :) 21:15
huf :)
21:15 patrickas joined
TimToady to be or not to be, that is the fobnitz "Come over here Fred, I think we got something..." 21:16
21:16 dju left
FurnaceBoy TimToady: unfortunately the ionosphere was too small to contain it. 21:16
21:16 dju joined
TimToady perhaps they named their fitness function "Fred". 21:16
masak I think this might be an urge for Perl 6 to hurry up replacing Perl 5: twitter.com/Hannibal7878/status/22635870630 21:18
21:18 timbunce left
masak right before Hamlet and Polonius talk about weasels, they're talking about a camel. 21:18
sbp and then ruby on whales 21:19
sorear masak: ?
M_o_C Google says: "Dispatch by the number of arguments in Perl5 do not ... soon Perl6 Koi Koi ~" So he's missing some sort of polymorphism based on signature with perl 5?
21:19 _jaldhar joined
masak sorear: ¿ 21:20
M_o_C: yeah. methinks so.
sorear koi koi...
patrickas masak: ؟
masak koi koi, #perl6! 21:21
I don't know Japanese, but to me it sounded like KUAI4 KUAI4 快快 21:22
dalek ecza: 8f9cfd5 | sorear++ | lib/Cursor.cs:
[nrx] Simplify xact/backtrack correspondence
21:23
ecza: 33f66ad | sorear++ | / (2 files):
[nrx] Implement CommitAll, CommitTo(name), CommitRule
21:23 stepnem left
isBEKaml whoa! en.wikipedia.org/wiki/Koi_Koi_Seven 21:24
21:24 timbunce joined
isBEKaml Google gave me this as the second link. 21:25
hanufada? 21:26
21:26 stepnem joined
isBEKaml www.gamedesign.jp/flash/hanafuda/rule_e.html 21:27
21:29 M_o_C left, rurban joined
sorear or keep going (referred to as 'koi-koi,' 21:32
isBEKaml g'night, #perl6! 21:37
masak sleep well, isBEKaml! 21:38
patrickas bonne nuit, isBEKaml!
isBEKaml :)
isBEKaml zzz 21:39
21:39 isBEKaml left, Mowah left 21:42 drbean joined, Italian_Plumber left 21:43 treed is now known as treed-rlpowell 21:44 treed-rlpowell is now known as rlpowell 21:46 araujo left, araujo joined 21:49 araujo left, rlpowell is now known as urmom, urmom is now known as tswett
masak it happens quite often that I accidentally name variables $a or $b in shorter Perl 5 scripts. then I spend time, sometimes several minutes, trying to figure out why they behave so strangely. 21:50
21:50 araujo joined, tswett is now known as treed
patrickas I do the same in perl6 but name them $^a and $^b and then things get messy too! (just being silly :-) 21:51
masak if things get messy in that case, then it's more a matter of LTA error messages. :) 21:52
for example, it makes no sense to use those hats outside of a block.
std: say $^a
p6eval std 32122: OUTPUT«===SORRY!===␤Placeholder variable $^a may not be used outside of a block at /tmp/4FPBUW6jjF line 1:␤------> say $^a⏏<EOL>␤Check failed␤FAILED 00:01 116m␤»
patrickas hence the "being silly" part
masak I know, I know :)
frettled masak: as long as you don't use the hats indoors. 21:53
Perl 6: outdoor use only?
masak patrickas: just taking the opportunity to show that your statement not only happened to be silly, but must have been :)
yapsi: my $a = 0; unless $a { say 42 } 21:54
p6eval yapsi: ( no output )
masak :/
patrickas BTW I find it interesting that in rosettacode.org/wiki/Evolutionary_algorithm the perl5 solution uses @target and @valid_chars but in perl6 it uses $target and $range...
masak yapsi: something that definitely doesn't parse
p6eval yapsi: ( no output )
masak yapsi: say 42
p6eval yapsi: ( no output )
masak moritz_: p6eval/yapsi iz teh broke
patrickas rakudo: my $a = 5; say $^a; 21:57
p6eval rakudo f8e959: OUTPUT«5␤»
patrickas is that reported ? ^^
masak yes. 21:58
patrickas I guess it's too obvious to not have been masaked a long time a go :-)
21:58 timbunce left 21:59 rschuster joined
masak never hurts to check. 22:01
rakudo: my %h = 1 => "foo", 2 => "bar", 3 => "foo"; %h = grep { .value ne "bar" }, %h.pairs; say %h.perl
p6eval rakudo f8e959: OUTPUT«{}␤»
masak anyone but me thinks that the result should contain two pairs?
22:01 Holy_Cow left 22:03 ruoso left
patrickas rakudo: my %h = 1 => "foo", 2 => "bar", 3 => "foo"; my %n = grep { .value ne "bar" }, %h.pairs; say %n.perl 22:04
p6eval rakudo f8e959: OUTPUT«{"1" => "foo", "3" => "foo"}␤»
masak submits rakudobug
patrickas++ # workaround 22:05
22:05 timbunce joined 22:08 s_mosher left
masak rakudo: my %h = 1 => "foo"; %h = %h; say %h.perl 22:09
p6eval rakudo f8e959: OUTPUT«{}␤»
masak rakudo: my %h = 1 => "foo"; my %n = %h; say %n.perl
p6eval rakudo f8e959: OUTPUT«{"1" => "foo"}␤»
patrickas duh! 22:10
masak doubleplusungood.
patrickas rakudo: my %h = 1 => "foo"; %h = %h.clone; say %h.perl; 22:11
p6eval rakudo f8e959: OUTPUT«{"1" => "foo"}␤»
patrickas might be slightly nicer than creating a names temporary variable as a workaround 22:13
s/names/named/
masak indeed.
22:15 japhb left
masak .oO( :$value.method as sugar for :value($value.method) -- tempting, but perhaps a job for a module ) 22:17
22:22 amkrankruleuen left 22:25 patspam left 22:26 patspam joined 22:29 drbean left 22:32 cdarroch left, leprevost joined
leprevost hi, i have a question about rakudo star installation 22:33
masak excellent.
let's hear it.
leprevost I have a previous version of rakudo installed and now I whant to update it to the recent version, what is the best way to do it ?
masak just install the new one, I'd suppose. 22:34
22:34 rschuster left
leprevost i thought that, I just need it to confirm 22:35
masak stamps 'confirmed' on a paper and gives to leprevost :)
leprevost hehe, thank you Sir.
masak best of luck with your new Rakudo. 22:36
FurnaceBoy oil regularly 22:38
masak rakudo: say 'oil regularly'.comb.sort.join 22:42
p6eval rakudo f8e959: OUTPUT« aegilllorruy␤»
masak rakudo: say 'oil regularly'.comb.sort.trim
p6eval rakudo f8e959: OUTPUT«a e g i l l l o r r u y␤» 22:43
masak rakudo: say 'oil regularly'.comb.sort.join.trim
p6eval rakudo f8e959: OUTPUT«aegilllorruy␤»
masak rakudo: say 'oil regularly'.comb.sort.uniq.join.trim
p6eval rakudo f8e959: OUTPUT«aegiloruy␤»
masak rakudo: say 'oil regularly'.comb.sort.uniq.join.trim.subst('ae', 'æ') 22:44
p6eval rakudo f8e959: OUTPUT«ægiloruy␤»
22:44 leprevost left
masak :) 22:44
22:44 jhuni joined
masak jhuni: aloha! 22:45
dalek kudo: 2ac5feb | colomon++ | src/core/Cool-str.pm:
Have Cool.chomp return a proper Str.
22:46
jhuni masak: mahalo 22:50
22:53 alksentrs joined 22:54 s_mosher joined
timbunce Having a rand_char function in rosettacode.org/wiki/Evolutionary_a...thm#Perl_6 just to do $range.pic seems like a needless distraction in an otherwise clear and concise implementation. (Also, if $range were renamed $chars then $chars.pick would make the in-place use even more natural.) 23:02
FurnaceBoy sees many eyeballs at work 23:03
23:04 sahadev1 left 23:05 saaki left
colomon does that even work? (the classic colomon question) 23:07
23:07 rgrau__ joined
masak colomon: what, Range.pick? 23:07
colomon no, [+] $str Zeq $target
23:08 rgrau_ left
colomon where $str is a string, and $target is an array of letters. 23:08
masak the function of the [+] eludes me.
colomon sums the number of matches, I presume.
masak ooh!
of course, because the result from Zeq will be 1 0 0 1 1 0... 23:09
colomon ah, maybe $str isn't actually a string
alksentrs Hello #perl6 23:10
colomon o/
arnsholt Huh. Changing version control systems seems to have changed my workflow a bit for the better too ^^
masak alksentrs: hi!
alksentrs masak: Hello
masak hello.
arnsholt Oh, and hi =)
alksentrs I've been following #perl6 a while 23:11
23:11 saaki joined
alksentrs This is the first time I've logged on 23:11
masak hugme: hug alksentrs
hugme hugs alksentrs and blushes
masak :)
alksentrs and is the first time I've used IRC
masak: Thanks
masak I'd say it's going well so far!
alksentrs masak: Who created the hugbot?
masak moritz_++ 23:12
alksentrs Why?
masak its chief function isn't even hugging.
it's handing out commit bits to diverse repos.
23:12 patspam left
masak hugme: show yapsi 23:12
hugme masak: the following people have power over 'yapsi': T⁣imToady, [⁣particle], c⁣olomon, j⁣nthn, m⁣asak, m⁣oritz_, p⁣michaud, s⁣narkyboojum. URL: github.com/masak/yapsi/
masak hugme: add alksents to yapsi
hugme masak: ERROR: Can't add alksents to yapsi: 404 Not Found
masak just an example.
\xF0 alksentrs: welcome to irc. you are now a man
alksentrs masak: Thanks. 23:13
FurnaceBoy titters girlishly
alksentrs masak: Sorry, didn't see type
masak \xF0: it's interesting how you assume alksentrs is male :)
alksentrs *typo
I am male
masak so I assumed. :)
alksentrs alksentrs = corruption of Alexander
\xF0 :D
masak alksentrs: are you from .ru?
\xF0 masak: or, alternatively, irc makes him into a man!
alksentrs No
England 23:14
masak oh!
alksentrs I got it from the Code Book by Simon Sigh
masak :)
alksentrs *Singh
Aha, Rakudo has finished compiling
Sometimes I get weird error about mismatched versions 23:15
What causes that?
TimToady dunno, usually deleting one or the other of parrot/ or /parrot_install fixes it though 23:16
masak I think we'd better show you another bot.
rakudo: say "Alexander".lc.subst(/e/, "").subst("x", "ks").subst(/a/, "e", :nd(2)).subst("der", "trs")
alksentrs rakudo: 3
TimToady .u smiling
phenny U+263A WHITE SMILING FACE (☺)
p6eval rakudo f8e959: OUTPUT«alksentrs␤»
rakudo f8e959: ( no output )
alksentrs rakudo: () .= () 23:17
p6eval rakudo f8e959: ( no output )
TimToady it doesn't autosay
alksentrs segfaults
23:17 smash left
masak checks locally 23:17
TimToady () isn't mutalbe
*bl
masak alksentrs: so it does. good catch.
TimToady though it shouldn't dump
masak submits rakudobug
alksentrs++
TimToady buubot: karma alksentrs 23:18
buubot TimToady: alksentrs has karma of 1
masak alksentrs: now you're officially part of the Perl 6 effort.
alksentrs rakudo: say +&[+] # number of multi matches
p6eval rakudo f8e959: OUTPUT«13␤»
masak yeah, that's probably not spec...
more like a Parrot see-through.
TimToady definitely not spec
masak :) 23:19
better plug it before someone uses it for something.
alksentrs I tested Rakudo a few weeks ago, and found a few oddities
masak we love oddities.
alksentrs I have a list...
masak we tend to frame oddities and put them up on the wall.
TimToady and TheDamian suggests that &[+] is not as useful anymore, now that we have *+*
masak nobody seems to prefer &[+] except me... :) 23:20
23:20 rgrau__ left
TimToady he suggests that &[+] should be put up against the wall... 23:20
23:20 rgrau__ joined
masak let's wait until the revolution comes. 23:20
alksentrs rakudo: say 1 % 0 23:21
colomon how does &[+] work? Is it always infix:<+>?
p6eval rakudo f8e959: OUTPUT«1␤»
masak colomon: aye.
alksentrs: o.O
alksentrs: that should be a 'div by zorro' error, if you ask me.
FurnaceBoy masak: what, the revolution isn't *here*?
TimToady shh
alksentrs rakudo: say 0 % 0
p6eval rakudo f8e959: OUTPUT«0␤» 23:22
masak FurnaceBoy: it was here while you left the room. said it'd be back again tomorrow, same time.
colomon $x % $y == $x - floor($x / $y) * $y
alksentrs rakudo: say 0 / 0
p6eval rakudo f8e959: OUTPUT«Divide by zero␤ in 'infix:<div>' at line 3565:CORE.setting␤ in 'Rat::new' at line 3866:CORE.setting␤ in 'infix:</>' at line 3955:CORE.setting␤ in main program body at line 22:/tmp/wGT2CbE7AM␤»
colomon rakudo: say floor(1/0).perl
p6eval rakudo f8e959: OUTPUT«Inf␤»
TimToady rakudo: say (0/0).WHAT
p6eval rakudo f8e959: OUTPUT«Divide by zero␤ in 'infix:<div>' at line 3565:CORE.setting␤ in 'Rat::new' at line 3866:CORE.setting␤ in 'infix:</>' at line 3955:CORE.setting␤ in main program body at line 22:/tmp/UVbMWk9Ytg␤»
colomon rakudo: say floor(1/0) * 0
p6eval rakudo f8e959: OUTPUT«NaN␤» 23:23
alksentrs rakudo: say (0 := 1)
p6eval rakudo f8e959: OUTPUT«1␤»
colomon okay, so that's not how it's being calculated...
ah, just a call to pir::mod
masak submits $x % 0 rakudobug 23:24
alksentrs rakudo: { use v5; }
p6eval rakudo f8e959: OUTPUT«Null PMC access in setprop()␤ in main program body at line 22:/tmp/RUrRrsffwz␤»
TimToady alksentrs++
masak submits binding-of-literal rakudobug
masak submits 'use v5' rakudobug
alksentrs++
rakudo: use v5 23:25
p6eval rakudo f8e959: ( no output )
colomon hopes masak doesn't expect us to trap LHS of 0 on infix:<%> before calling into Parrot...
masak rakudo: use v5; say "alive"
p6eval rakudo f8e959: OUTPUT«alive␤»
masak colomon: I expect $x % 0 to die just as much as $x / 0 does.
alksentrs rakudo: say ~('1' .. '43') # shouldn't this be similar to (1 .. 43)? 23:26
p6eval rakudo f8e959: OUTPUT«1 2 3 4␤»
lichtkind colomon: what is LHS?
alksentrs left hand side
masak alksentrs: no. 23:27
alksentrs: because ranges of strings follow different increment/halting rules than ranges of numbers.
TimToady which will probably be revised, but still may not work the way you expect :) 23:28
alksentrs rakudo: say ~('α' .. 'ω')
p6eval rakudo f8e959: OUTPUT«α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω␤»
TimToady single chars are a special case currently 23:29
not for ranges, but for the ... that the .. turns into 23:30
masak I think I'd prefer the string ranges semantics to err on simplicity.
alksentrs rakudo: '' ~~ / { $0.perl } /
p6eval rakudo f8e959: OUTPUT«Null PMC access in find_method('perl')␤ in <anon> at line 1192:CORE.setting␤ in 'Any::join' at line 1␤ in 'Mu::attribs' at line 1193:CORE.setting␤ in 'Mu::perl' at line 1197:CORE.setting␤ in <anon> at line 22:/tmp/QKdlrTtTtd␤ in 'Cool::match' at line 2420:CORE.setting␤
..in 'R…
masak preferably it should have a wide common base with string increment.
which should also preferably be extremely simple.
alksentrs string increment seems very... odd to me 23:31
masak alksentrs: that one's known. but thanks.
TimToady there is another consideration, however, which is that string increment can't know the goal, while a series can
23:31 jferrero joined, timbunce left
alksentrs only Perl 5 and Perl 6 have it? 23:31
TimToady and they have it differently
which explains some of the problem right there :) 23:32
alksentrs What is it used for?
TimToady things like generating filenames
or other symbols that want to be unique
alksentrs Would it be safer to use interpolation of numbers, or something? 23:33
huf c has string increment for very short strings :)
TimToady snorts
huf well... sortof ;)
TimToady alksentrs: it depends on how you define "safer" 23:34
certainly it could be just as well defined
alksentrs In terms of Unicode?
TimToady in the sense of any algorithm being repeatable
alksentrs Locale? Codepoints vs Graphemes vs etc
masak TimToady: the uses cases with generating filenames and other unique symbols doesn't really motivate the big section in S03 on exotic alphamets and Unicode number-y things.
23:35 rurban left
TimToady Graphemes don't have well-ordered codepoints 23:35
there are many reasons to want sequences of single chars
the carry is a bit less well motivated, but is there to keep the tendency toward uniqueness 23:36
rakudo: ('⚀' .. '⚅').pick.say
p6eval rakudo f8e959: OUTPUT«⚁␤» 23:37
alksentrs How do other languages solve similar problems?
TimToady by forcing the complexity onto the programmar and code reader, usually
masak for the filenames/unique use case, you could keep a number in a separate variable, and build the strings yourself just-in-time. 23:38
Yapsi does that in a couple places.
rather than using the magical string increment behavior.
23:39 jhuni left
alksentrs masak: Yapsi uses bytecode, doesn't it? How does it differ from LLVM, JVM, .NET, ...? 23:39
...Parrot...
masak no, right now Yapsi only compiles down to a text opcode format called SIC.
TimToady strange intermediate code? 23:40
alksentrs Isn't that the name of the Intercal compiler?
masak TimToady: :)
alksentrs No wait: ick
23:40 jhuni joined
masak Yapsi has a small runtime which probably doesn't deserve to be called a VM. 23:40
alksentrs sick was the CLC-INTERCAL compiler
masak all of it in ~500 lines of Perl 6 code.
TimToady maybe it "came from" there
masak \o/ all tests successful in Yapsi! 23:41
for the first time since the refactor.
making 'variable not declared' errors work right was ridiculously hard to do during the parse phase.
TimToady tell me about it 23:42
masak but it was the first time I tried, so there might be better ways than the one I settled on.
23:42 alester left
alksentrs I gave a half-hour talk on Perl 6 a few days ago 23:43
masak the last hump I stumbled on was just hilarious: it found the <variable> inside <declaration> before it found the <declaration> itself (because actions work bottom-up), and so it always gave the error, even for declarations.
23:43 patrickas left
masak alksentrs: wow! cool! 23:43
TimToady alksentrs: did you survive?
masak alksentrs: are there slides somewhere?
alksentrs No slides
I just wrote a couple of Perl 5 programs on the whiteboard, and went from there 23:44
I have handwritten notes
*had
It was for an interview, no less
masak Perl 6 in an interview? 23:45
alksentrs I was supposed to do a talk on the topic of my choice
masak would have loved to hear that
alksentrs I showed them the "idomatic" Fibonacci generator thing 23:47
*idiomatic
I'm not sure if they were awed or apalled
masak beams
TimToady sometimes s/pal/w/ over time 23:48
alksentrs One asked if Perl 6 was optimized for toy examples, not production software
TimToady it's a fair question
masak basically the same objection mst had on Twitter. 23:49
TimToady to which the correct answer is, the two are not mutually exclusive
masak twitter.com/shadowcat_mst/status/22112066276
TimToady toys are how we learn Real Life when we're young 23:50
alksentrs Another question that was asked: Why should people use Perl6 instead of Perl5? (c.f. People used C++ instead of C because of its OOP support.)
23:50 drbean joined
TimToady same with Perl 6 :) 23:51
only in our case, it's true :P
alksentrs rakudo: ''>>.() 23:53
p6eval rakudo f8e959: OUTPUT«Tried to find null name␤ in main program body at line 22:/tmp/LpPTTKSQcE␤»
TimToady the more serious answer is that Perl 5 programmers often don't notice when they're getting frog-boiled, and Perl 6 is designed to scale better 23:54
alksentrs MONKEY_PATCHING doesn't scale...
does it?
TimToady indeed, which is why we discourage it
that's a strange one 23:55
alksentrs What does unable to parse blockoid mean? 23:57
TimToady usually it means it got a more specific error later, but didn't know how to describe it, and backtracked till the start of block
and often in that case, STD will give you a better error
if it is an error... 23:58
alksentrs Is there a low-precedence method call operator? 23:59