»ö« 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! | Rakudo Star Released!
Set by diakopter on 6 September 2010.
flussence rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ $_ for @ra; say @ra.perl 00:00
p6eval rakudo a95c1d: OUTPUT«Bool::True␤Bool::True␤[10..20, 30..40]␤»
flussence it doesn't auto-flatten
00:00 shi joined
flussence oh, and 00:01
richyfish i dont want to flatten tho
tadzik what's @a?
flussence rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say $_ for @ra; say @ra.perl
p6eval rakudo a95c1d: OUTPUT«10 11 12 13 14 15 16 17 18 19 20␤30 31 32 33 34 35 36 37 38 39 40␤[10..20, 30..40]␤»
richyfish i want to check 10 is in either range
flussence rakudo: say 10 ~~ 30..40
p6eval rakudo a95c1d: OUTPUT«Bool::False␤»
flussence hm
richyfish (sorry @a = @ra typo)
flussence that *does* look weird 00:02
rakudo: say 10 ~~ (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
p6eval rakudo a95c1d: OUTPUT«Bool::False␤»
flussence rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say (10 ~~ $_).perl for @ra; 00:03
p6eval rakudo a95c1d: OUTPUT«Bool::True␤Bool::True␤»
flussence rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say $_.WHAT for @ra; 00:04
p6eval rakudo a95c1d: OUTPUT«Range()␤Range()␤»
flussence rakudo: say 10 ~~ (30..40)
p6eval rakudo a95c1d: OUTPUT«Bool::False␤»
00:04 Guest87704 joined
flussence yeah, now I'm lost too. 00:04
richyfish yep, i tried it with map also
00:04 adu left
richyfish rakudo: map { 10 ~~ $_ }, @ra; 00:05
p6eval rakudo a95c1d: OUTPUT«===SORRY!===␤Symbol '@ra' not predeclared in <anonymous> (/tmp/eHyLgpziqc:22)␤»
richyfish oops
rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; map { 10 ~~ $_ }, @ra;
p6eval rakudo a95c1d: ( no output )
richyfish so, would you say this is a bug? 00:07
flussence looks like one to me, but I'm no expert on the internals 00:09
richyfish hmmm
sorear not a bug 00:11
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet
sorear p6eval only prints stuff if you tell it to
rakudo: rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say map { 10 ~~ $_ }, @ra;
p6eval rakudo a95c1d: OUTPUT«===SORRY!===␤Confused at line 22, near "rakudo: my"␤»
sorear rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say map { 10 ~~ $_ }, @ra;
p6eval rakudo a95c1d: OUTPUT«Bool::TrueBool::True␤» 00:12
richyfish yeah, not talking about p6eval.
talking about the output: Should be True, False ?
sorear rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ 30..40
p6eval rakudo a95c1d: OUTPUT«Bool::False␤»
sorear rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ @ra[1];
p6eval rakudo a95c1d: OUTPUT«Bool::False␤»
sorear rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ @ra[0];
p6eval rakudo a95c1d: OUTPUT«Bool::True␤»
sorear oh
10 ~~ $_ 00:13
~~ evaluates the right hand side in a context where $_ is equal to the left hand side
so that's the same as 10 ~~ 10
richyfish $_ is a Range() in this context tho
flussence rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ * for @ra[1]; 00:14
p6eval rakudo a95c1d: OUTPUT«Bool::True␤»
flussence rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ * for @ra;
p6eval rakudo a95c1d: OUTPUT«Bool::True␤Bool::True␤»
flussence I guess * = $_ here
sorear richyfish: $_ is 10 while the ~~ is being evaluated though
rakudo: say { 10 ~~ $_ }.(5)
p6eval rakudo a95c1d: OUTPUT«Bool::True␤»
sorear rakudo: say { 10 ~~ $^a }.(5)
p6eval rakudo a95c1d: OUTPUT«Bool::False␤»
flussence but if all you want to do is check if 10 is in either range... 00:15
sorear do you understand yet?
flussence rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ any(@ra);
p6eval rakudo a95c1d: OUTPUT«Bool::True␤»
richyfish rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say map { .WHAT }, @ra;
p6eval rakudo a95c1d: OUTPUT«Range()Range()␤»
richyfish thats why i said $_ is a Range(), which is why i'm a little confused. 00:16
flussence rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ (say $_.perl; $_) for @ra;
p6eval rakudo a95c1d: OUTPUT«10␤Bool::True␤10␤Bool::True␤»
sorear richyfish: $_ can have different values in different parts of the same expression
richyfish ah
so, out of interest. in the last above expression what sets $_ 00:19
sorear ~~ does 00:20
18:13 < sorear> ~~ evaluates the right hand side in a context where $_ is equal to the left hand side
18:14 < sorear> richyfish: $_ is 10 while the ~~ is being evaluated though
richyfish yup.
sorear how could I have been clearer?
richyfish understood now. 00:21
flussence rakudo: say $_ for 1..3; 00:22
p6eval rakudo a95c1d: OUTPUT«1␤2␤3␤»
flussence for sets $_, but ~~ does too, and ~~ gets called later
that description seems slightly clearer
imp.
s/p/o/.
00:24 whiteknight joined
richyfish thanks guys. and goodnight. 00:25
00:27 richyfish left 00:31 Tene joined, Tene left, Tene joined, felliott_ joined 00:32 felliott left, felliott_ is now known as felliott, stkowski left
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ics_tablet 00:32
00:33 stkowski joined 00:35 me joined, me is now known as Guest73587 00:36 Guest73587 left
kthakore j 00:39
00:41 lopaway is now known as lopnor 00:42 Tene left 00:53 am0c joined 00:58 stkowski left, QinGW joined 01:01 stkowski joined
dalek ecza/cilbackend: c5c25e1 | sorear++ | lib/CLRBackend.cs:
Set up AssemblyBuilder harness
01:03
ecza/cilbackend: 4660079 | sorear++ | Niecza.proj:
Add CLRBackend to the build system
01:15 lopnor left 01:20 nymacro joined 01:22 lopnor joined 01:26 risou left 01:30 lue joined 01:34 shi left 01:35 perigrin_ is now known as perigrin
flussence the IO spec in S32 really confuses me... what's the perl6 equivalent of a "mkdir -p a/b/c" command? And will it work in rakudo? 01:35
01:46 stkowski left 01:50 ab5tract joined
flussence (otoh, 'run "mkdir -p a/b/c"' is good enough for now) 01:55
02:04 lopnor is now known as lopaway 02:24 mkramer joined
sorear flussence: S32 is being kept around for historical reasons only; there is no current IO spec 02:39
hmm
now that we're using version control, would anyone object to me just deleting S32-io and S16?
diakopter sorear: yes, I object.. 02:42
02:42 masonkramer joined
diakopter sorear: I think they should be deleted by the person who replaces them, while they're replacing them 02:44
sorear: I don't get "now that we're using version control" ... the synopses have been versioned since the Beginning
02:45 molaf_ joined 02:53 dd-sphere joined 03:00 whiteknight left
jasonmay got some perl6 goodies coming your way 03:10
mdxi the formatting on the perl6 book is really good! (i'm late to the party) 03:12
sorear jasonmay: ooh 03:17
03:19 agentzh joined
dalek ecza/cilbackend: 3ba74f7 | sorear++ | lib/CLRBackend.cs:
Implement generation of methods from CpsOp structures
03:27
03:29 awwaiid_ left 03:36 masonkramer left 03:38 justatheory joined 03:48 satyavvd joined 04:10 morphbot joined, morphbot left 04:28 PerlPilot joined 04:29 PerlJam left, PerlPilot left, PerlJam joined 04:38 jaldhar joined 04:40 masak joined
masak morning, #perl6 04:40
phenny masak: 16 Dec 18:36Z <sorear> tell masak I'd especially like to hear your thoughts on S02:2603
sorear morning, masak
masak backlogs
sorear .student.uu.se, eh. 04:41
masak that's my neighbor's non-locked-down wifi. 04:43
I think I like S02:2603. I remember when it was added.
it basically says that YOU_ARE_HERE is as transparent as possible, and that checking whether loop control phasers are "within the loop block" have to account for YOU_ARE_HERE. 04:44
the specifics are up for grabs, of course, since no-one has implemented that yet. 04:45
04:48 Alias_ joined 04:52 orafu joined
sorear masak: you seem to be thinking about hard points of phaser implementation though 04:55
masak I'm getting in the mood for attacking the hard points, yes.
wow, Perl is right up there. www.dataists.com/2010/12/ranking-th...langauges/ 04:59
diakopter there, I think "popularity" is being used a bit too ambiguously 05:02
masak yes, probably.
diakopter "number of questions on stackoverflow" might correlate with "difficulty of learning the language" or "number of experts on stackoverflow willing/able to provide great answers" or "number of times language-non-users encountering the language have to ask a question about it [lack of learnability]" 05:04
[lack of learnability OR sheer volume of foreign/unfamiliar code encountered] 05:06
masak in any event, it doesn't correlate with "dead [and uninteresting]"
sorear stackoverflow is not a reliable source imho.
masak it's really hard in general to get good numbers on this. 05:07
diakopter I still like the job listing keyword trends graph at indeed.com
masak in other news, Perl 6 really rocks! twitter.com/excalibor/status/15526186239131648 05:09
this microblogger seems to be saying that Perl 6 doesn't provide "straight constructors" at present. twitter.com/lopnor/status/15625421819215873 -- if anyone with Japanese skillz can improve on that translation, I could reply to him. 05:12
05:14 dd-sphere left
masak <sorear> christmas is an in-joke anyway -- it should never have been turned into a rumor 05:15
I'm afraid that's not how the Internet works. ;)
nom & 05:24
05:24 masak left 05:56 redicaps joined 06:02 dju joined, dju left, dju joined
dalek ecza/cilbackend: 8023f20 | sorear++ | lib/CLRBackend.cs:
Add literal ClrOp node types
06:29
ecza/cilbackend: e585cf5 | sorear++ | lib/CLRBackend.cs:
Implement CpsOp primitive and sequence operations
06:38 am0c left 06:43 lopaway is now known as lopnor 06:45 shachaf joined 06:54 _kaare joined 07:01 wtw joined 07:04 justatheory left 07:10 lopnor is now known as lopaway 07:15 uasi joined 07:29 justatheory joined 07:39 jhuni joined 07:40 envi joined
dalek ecza/cilbackend: 1463e1c | sorear++ | lib/CLRBackend.cs:
Add exe-generation support
07:43
sorear whee, I can now run "Hello world"... sort of
07:46 justatheory left
uasi rakudo: %0<foo> = 'bar'; say %0<foo> 07:51
p6eval rakudo a95c1d: OUTPUT«bar␤»
uasi rakudo: %0001<foo> = 'bar'; say %1<foo> 07:52
p6eval rakudo a95c1d: OUTPUT«bar␤»
uasi %111111111111 = 1 crashes 07:53
sorear as well it should 07:55
at best that should give 'out of memory'
since %123 is implicitly an array access
uasi an array access? 07:56
sorear yes
%123 = %( $/.[123] )
accesses the 124th positional capture of the most recent regex match as a hash
uasi ah! 07:57
thanks, sorear
08:00 [Coke] joined
moritz_ std: %123 08:27
p6eval std 625303c: OUTPUT«ok 00:01 118m␤»
diakopter std: try{} 08:29
p6eval std 625303c: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'try' used at line 1␤Check failed␤FAILED 00:01 118m␤»
diakopter std: try{ }
p6eval std 625303c: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'try' used at line 1␤Check failed␤FAILED 00:01 118m␤»
diakopter std: try { }
p6eval std 625303c: OUTPUT«ok 00:01 118m␤»
diakopter std: if { } 08:30
p6eval std 625303c: OUTPUT«===SORRY!===␤Expression needs parens to avoid gobbling block at /tmp/xjdxTjGIG8 line 1:␤------> if ⏏{ }␤Missing block (apparently gobbled by expression) at /tmp/xjdxTjGIG8 line 1:␤------> if { }⏏<EOL>␤ expecting
..statement l…
dalek tpfwiki: (maxidus maxidus)++ | www.perlfoundation.org/perl6/index.cgi?perl_6
diakopter sigh. wiki spam. 08:31
08:32 glow joined 08:34 masak joined
diakopter masak: could you clean the wiki spam? I don't have a login 08:38
(see the ir clog)
masak ok.
sorear hello masak 08:39
diakopter std: ....if{} 08:41
p6eval std 625303c: OUTPUT«ok 00:01 118m␤»
masak diakopter: I'm finding no references to wiki spam in the clog. 08:42
diakopter just before you joined
(just now) 08:43
irclog.perlgeek.de/perl6/2010-12-17#i_3098268
masak ah.
I see it now.
I'll see if I remember my pfwiki credentials. 08:44
08:45 arnsholt left, arnsholt joined 08:49 kensanata joined, starcoder joined
masak no, I don't seem to have a login either. 08:52
maybe I did at some point, but I doubt it.
rakudo.org is down. 08:58
masak emails alester
getting a Drupal "site off-line" message this time.
dalek ecza/cilbackend: bca0532 | sorear++ | lib/CLRBackend.cs:
Implement label/goto control flow
09:22
ecza/cilbackend: 7bbbe5b | sorear++ | lib/CLRBackend.cs:
Implement access to simple operators
09:27 uasi left 09:51 dakkar joined 09:54 ab5tract left 09:56 daxim joined 10:03 QinGW left 10:08 redicaps left
masak sorear: how's the rewrite going? 10:13
sorear well
right now if you xbuild /t:CLRBackend.exe && mono obj/CLRBackend.exe && mono obj/test.exe you will get the numbers 0-99 printed 10:14
masak :)
sorear the new backend can compile simple data manipulation and control flow
10:14 Enlik_ joined
sorear it can also parse the output from the compiler 10:14
these two components have yet to be wired together. 10:15
I need to improve the backend a bit first - it currently doesn't do exception handling, line number generation, or structured control flow 10:16
also I need to make the reconsitution of classes happen somewhere
10:27 jerome joined 10:29 tzhs joined 10:43 wamba joined 10:52 Jim112 joined
masak "reconstitution of classes"? is that when the user monkey types? 10:53
sorear no 10:54
like 6model, niecza has a compile time model of the class hierarchy
the backend has to flatten this model into ... something ... and arrange for it to be rebuilt into a runtime model 10:55
masak ah.
so "reconstitution" in the same sense as freeze-dried coffee.
sorear yes :)
10:56 Guest87704 left
masak I'm familiar with the issue. I want to solve it for Yapsi too. 10:56
sorear older nieczas (before the 'mm' branch merge) interpreted class Foo { ... } as INIT my Foo = ...
which doesn't have reconsistitution problems, but makes a lot of cool things impossible
masak *nod* 10:58
11:24 mj41 joined 11:35 satyavvd left 11:42 saaki joined 12:03 bluescreen joined, bluescreen is now known as Guest61737 12:08 agentzh left 12:23 Enlik_ left 12:33 Jim112 left 12:37 felliott left
takadonet morning all 12:53
masak o/ 12:54
13:04 tzhs left 13:14 fhelmberger joined 13:18 MayDaniel joined
tadzik can a Github pull request be merged from the interface? 13:19
13:20 wamba left
huf until very recently, i've read your nick as tzadik... and even now i have to remind myself that's not what it is ;) 13:20
masak tadzik: the web interface? thought that was the idea.
Tony Hoare about Algol 60: "Here is a language so far ahead of its time that it was not only an improvement on its predecessors but also on nearly all of its successors." 13:22
tadzik masak: have an idea how to do this? Clicking close doesn't ask me if I want to merge it
masak tadzik: help.github.com/pull-requests/
tadzik thanks masak 13:23
btw, I feel like writing a presentation that does it Right. It will consist of a pluggable parsers, generating some AST of the presentation from Pod/JSON/Whatever, and a number of backends generating xhtml/latex/whatever 13:26
so one consistent AST, and the number of implementations on both sides, a bit like with Pls, but more :)
13:28 daxim left, daxim joined
masak tadzik: familiar with Haskell's Pandoc? 13:28
tadzik: I plan to write something like that for Perl 6: one internal document model, several frontend parsers and backend emitters. 13:29
tadzik: thing is, I want to target Niecza rather than Rakudo, because I think the speed gains will be significant, at least in the short term. 13:30
dalek osystem: 291a59c | (Jason May)++ | projects.list:
add perl6-ioc to the list
masak I have no illusions about the bumpy road that choice will entail. it'll be just like being back with Rakudo in 2008 again. :)
tadzik masak: will take a look 13:32
well, that's for markups generally
masak plan to swap out the p5 markdown parser I'm using for my blog for a p6 markdown parser. 13:33
13:33 nymacro left 13:34 redicaps joined, MayDaniel left
mathw mmm Pandoc is pretty cool 13:35
well worth borrowing the idea :)
masak I also plan to get the appropriate kick from running Perl 6 code at more than a crawl :) 13:36
mathw :)
that might be nice 13:37
well
would be nice
definitely nice
masak feels he has a finite amount of right to be slightly mean after measuring and discovering that Rakudo is slower today than last year
13:38 felliott joined
masak s'pose I, the Perl 6 user, want to add a short-circuiting binary operator to my local slang. how do I do it? 13:40
takadonet masak: funny I find it faster now then it was before 13:41
I have startup times around .7 s 13:42
masak startup times might have gotten better. I was measuring generation of the index page in November.
13:44 rhr joined
takadonet it seems that rakudo star startup are slower but not the latest compiler release 13:46
masak are you saying that compiler releases are slower than their corresponding star distribution releases?
that sounds unlikely. 13:47
[Coke] masak - sounded like he said the opposite.
masak right -- sorry.
still sounds unlikely.
takadonet seems like it... 13:51
gil.di.uminho.pt/users/smash/rakudo-bench.html based on that. Looks like my startup time is almost twice as fast 13:52
[Coke] you can't compare your startup time with perl6 with anyone else's, I think.
not directly. 13:53
CPU, memory, other stuff running...
takadonet ya
but twice as fast...
[Coke] ... that's not how benchmarks work. ;)
takadonet i know :(
[Coke] YOU on your machine would have to do the comparison yourself.
takadonet ya
[Coke] the numbers on that URL are all relative to each other. 13:54
14:00 _kaare left 14:15 p6eval left, glow left 14:18 smash joined
smash hello everyone 14:18
takadonet smash: hey
14:19 jedai joined 14:22 felliott left 14:23 felliott joined 14:24 felliott left 14:25 MayDaniel joined 14:27 felliott joined 14:41 Axius joined
masak for whatever reason (maybe the Japanese Perl 6 Advent Calendar), many Japanese twitterers are giving Perl 6 a go right now. 14:45
flussence aagh, no wonder my xmms2 thing didn't work, it was missing an xmmsc_result_wait() call... 14:46
(it still doesn't work, but at least that's fixed now)
takadonet masak: nice to see
masak yes, it's quite noticeable.
both in number of tweets and number of new people tweeting. 14:47
frettled Cool. 14:48
14:49 soroush_ joined 14:50 p6eval joined, ChanServ sets mode: +v p6eval 14:51 uniejo joined 14:52 tzhs joined 14:57 _kaare joined
masak Ruby allows unless/else? huh. 37signals.com/svn/posts/2699-making...bys-unless 14:58
plobsing now all they need is unless/else unless/else 15:01
flussence unlelse { }
15:02 tzhs left
masak yuck :) 15:02
15:03 mj41 left 15:04 mj41_ joined, mj41_ is now known as mj41
frettled haha 15:05
masak: Perl 5 also allows unless/else
masak oh? 15:06
frettled perl -e 'unless (!defined $e) { print "foo\n" } else { print "bar\n" }' => bar
I've never felt comfortable with unless.
colomon I love unless. But won't miss unless/else 15:07
Trashlord I use unless on ocassion 15:08
not very often
masak I use unless when returning or die-ing.
Trashlord yeah, same thing for me
that's probably the only time I use it
masak people will probably vary a lot on when they'd use 'unless'. 15:09
frettled I think if ! is easier to read and understand. 15:10
Bonus: byte golfers win when using that. ;)
But I still use unless because it's kosher Perl. 15:11
colomon frettled: really? I think unless is usually a big win over if !.
frettled colomon: I think I've been using a syntax highlighting editor since around 1994, so, uhm, unless seems a bit useless to me. 15:13
But it's definitively in the spirit.
I never did get the hang of do … while or Duff's device.
colomon errr.... I've been using a syntax highlighting editor since the early 90s as well, and I don't see at all what that has to do with this issue? 15:14
flussence
.oO( whee, I've gone from Null PMC to illegal redeclaration to segfault in an hour. Progress! )
15:15
colomon Progress++ 15:16
masak flussence++ # sounds like the good kind of experimenting 15:17
I'm a big fan of 'if !' over 'unless' when using the block form. when using statement modifiers, I tend towards 'unless', at least if the condition is short and simple. 15:18
frettled colomon: Well, what's the case _for_ unless, then?
masak if the condition is *not* short and simple, I attempt to break it up or abstract it away :)
frettled masak: that's when I tend to use unless, too, if at all.
flussence it sounds slightly less weird when you read it out loud
masak return unless @array;
frettled flussence: if not weird, that is. ;)
masak reads very well.
frettled colomon: The way I see it, unless is syntactical sugar for if not. If not if not is understandable enough, it is either cognitive dissonance (hard to fix) or the visual clue about something being different. 15:19
colomon For sure "return unless @array" 15:20
15:20 uniejo left
frettled colomon: and that visual clue can come from syntax highlighting just as well, or perhaps better, unless, of course, you're on a monochrome display. 15:20
colomon and I'd argue that for complex conditions, unless is simply more elegant that if !( condition ) and more easily readable and doable than actually doing a boolean not on the condition by hand. 15:22
frettled Huh? I'd argue the exact opposite. 15:23
In complex conditions, the salad of logic quickly becomes confusing with unless.
The bonus of sticking to if, is that the logic _immediately_ recognizable to people familiar with other Algol descendant languages. 15:24
colomon I dunno, if using unless makes your logic harder to follow, then you're doing it wrong.
frettled Oh? 15:25
[particle] it can reduce the parens required for if ( not ( ... ) ) 15:26
frettled Some logical tests need to be complex. You can either do that by nested if/else statements, or you can use logical modifiers and operators.
if (!foo && (bar || gazonk))
I'm obviously «doing it wrong» according to colomon, but how is it easier to read with unless? 15:27
colomon frettled: the secret is you only use unless when it is easier to read that way.
that is exactly the use case for unless. 15:28
afk
15:31 sftp joined
masak Perl doesn't have many axes to grind. that's why it's easy to go overboard with some feature or syntax, because the language doesn't try to steer you in any particular direction. 15:33
Perl 6 tries to be a little more intolerant, but just a little. guess that's why Perl 6 doesn't have unless/else :)
std: unless 5 { ... } else { ... }
p6eval std 625303c: OUTPUT«===SORRY!===␤"unless" does not take "else" in Perl 6; please rewrite using "if" at /tmp/Frh53ez1pk line 1:␤------> unless 5 { ... } ⏏else { ... }␤Parse failed␤FAILED 00:01 119m␤»
15:35 uniejo joined
frettled Perhaps there should be a warning if you have too many logical modifiers and operators in your unless statements. ;) 15:38
masak frettled: every heard of INTERCAL's "PLEASE" policy? :) 15:39
15:39 timbunce joined 15:40 Psyche^ joined
flussence frettled: isn't that what perl-critic is for? 15:40
15:40 Psyche^ is now known as Patterner 15:42 shi joined, wtw left 15:49 kensanata left 15:52 Chillance joined
[Coke] mj41: typo in taptinder readme url, I think. 15:53
ww.
frettled masak: yes 15:56
flussence: I don't think we have perl6-critic
and I also don't think that we should need one ;)
uniejo std: say "True" unless ! True; # Perhaps give warning about double negation 15:57
p6eval std 625303c: OUTPUT«ok 00:01 119m␤»
frettled std: say "True" if ! ! True;
p6eval std 625303c: OUTPUT«ok 00:01 119m␤»
flussence std: say !!!!!!!!!!!!!!!!!!!!!1;
p6eval std 625303c: OUTPUT«===SORRY!===␤Ternary !! seems to be missing its ?? at /tmp/floQB9Z5Xt line 1:␤------> say !!!!!⏏!!!!!!!!!!!!!!!!1;␤Parse failed␤FAILED 00:01 120m␤»
flussence I didn't expect that to work :) 15:58
(why does it get to 5 before giving up?)
frettled std: say ! ! ! ! ! ! ! ! ! ! 1; 15:59
p6eval std 625303c: OUTPUT«ok 00:01 118m␤»
frettled rakudo: say ! ! ! ! ! ! ! ! ! ! 1;
p6eval rakudo a95c1d: OUTPUT«Bool::True␤»
frettled Okay, so I apparently had an even number of exclamation marks.
[particle] it gets to five probably because !! and !!! are valid lexer tokens 16:02
flussence oh, forgot about !!! 16:05
std: say !!! !!
p6eval std 625303c: OUTPUT«===SORRY!===␤Prefix requires an argument at /tmp/PXzdImLxnQ line 1 (EOF):␤------> say !!! !!⏏<EOL>␤Parse failed␤FAILED 00:01 119m␤»
flussence std: say !! !!!
p6eval std 625303c: OUTPUT«===SORRY!===␤Prefix requires an argument at /tmp/OQRzEFKW6Q line 1 (EOF):␤------> say !! !!!⏏<EOL>␤Parse failed␤FAILED 00:01 118m␤»
flussence std: say !! !!! !!
p6eval std 625303c: OUTPUT«===SORRY!===␤Prefix requires an argument at /tmp/wdpdjOpuHY line 1 (EOF):␤------> say !! !!! !!⏏<EOL>␤Parse failed␤FAILED 00:01 118m␤»
flussence std: say ! !!! !! 16:06
p6eval std 625303c: OUTPUT«===SORRY!===␤Prefix requires an argument at /tmp/2pZPJnYoJZ line 1 (EOF):␤------> say ! !!! !!⏏<EOL>␤Parse failed␤FAILED 00:01 118m␤»
uniejo Something for an optimizer to remove pairs of ! ! with ?
s/remove/replace/
flussence well, I'd say people just shouldn't write ! ! in the first place :)
16:07 risou joined
daxim RIGHT, THAT'S WHAT ‼ IS GOOD FOR 16:08
jasonmay moritz_: ha that explains why every repo showed up as having a readme in my testing :)
I figured it just ended up covering all the repos haha
and thanks for the access! 16:10
16:12 kjeldahl joined 16:13 felliott left 16:14 redicaps left 16:18 felliott joined, jaldhar left
frettled Oooh oooh - I know what ¡ can be used for, it can be used for postfix unless! 16:23
(completely counter-intuitive, but who cares)
16:24 Axius left, glow joined 16:25 daxim left 16:26 Guest61737 left
flussence I've noticed there's relatively little use of the actual not (¬) symbol, despite it being on the en-GB keyboard layout. 16:27
16:30 Guest61737 joined 16:36 Guest61737 left 16:39 uniejo left, [Coke] left, orafu left, molaf_ left 16:40 soroush_ left, saaki left, kjeldahl left, starcoder left, masak left, pothos left, glow left, Patterner left, p6eval left, Chillance left, felliott left, smash left, dju left, lue left, fhelmberger left, mkramer left, BinGOs left, krakan_ left, perigrin left, f00li5h left, nothingmuch left, snarkyboojum left, sftp left, lopaway left, Woody4286 left, rblackwe left, Grimnir_ left, gabiruh left, breinbaas left, nsh- left, jlaire left, dukeleto left, krunen_ left, risou left, _kaare left, jedai left, dakkar left, envi left, shachaf left, dual left, y3llow left, shi left, timbunce left, MayDaniel left, jerome left, jhuni left, dipthegeezer left, phenny left, nsh_ left, barika_ left, oha left, __sri left, DarthGandalf left, puddingpimp left, Alias_ left, PerlJam left, gfldex left, mj41 left, rhr left, arnsholt left, cotto_work left, Bucciarati left 16:42 glow joined, felliott joined, kjeldahl joined, risou joined, Chillance joined, shi joined, Patterner joined, uniejo joined, sftp joined, mj41 joined, _kaare joined, p6eval joined, soroush_ joined, MayDaniel joined, jedai joined, smash joined, rhr joined, fhelmberger joined, saaki joined, jerome joined, dakkar joined, starcoder joined, arnsholt joined, masak joined, [Coke] joined, envi joined, jhuni joined, shachaf joined, dju joined, orafu joined, Alias_ joined, PerlJam joined, molaf_ joined, mkramer joined, lue joined, lopaway joined, dipthegeezer joined, dual joined, y3llow joined, pothos joined, Woody4286 joined, phenny joined, nsh_ joined, Trashlord joined, szabgab joined, IRSeekBot joined, sjohnson joined, gibson.freenode.net sets mode: +v p6eval, mdxi joined, avuserow joined, cxreg joined, patch joined, eternaleye joined, meteorja1 joined, rbuels joined, c1sung joined, jrockway joined, jql joined, moritz_ joined, wolverian joined, Maddingue joined, TiMBuS joined, allbery_b joined, bartolin joined, JodaZ joined, pnu joined, mtve joined, frodwith joined, jasonmay joined, cls_bsd joined, hcchien joined, yahooooo joined, ruoso joined, PZt joined, jjore joined, broquaint joined, Sarten-X joined, scp1 joined, diakopter joined, chitragupt joined, pjcj joined, plobsing joined, flatwhatson joined, ingy joined, horror21 joined, ashleydev joined, charsbr_ joined, ponbiki joined, Tedd1 joined, takadonet joined, Raynes joined, nadim__ joined, hudnix joined, takesako joined, lestrrat joined, stepnem joined, drbean_ joined, rokoteko joined, shortcircuit joined, nperez joined, robinsmidsrod joined, frooh_ joined, mux joined, TimToady joined, HarryS joined, szbalint joined, PacoLinux joined, wooden joined, zostay joined, Grrrr joined, Helios joined, cosimo joined, Guest1723 joined, Kovensky joined, slavik1 joined, spinclad joined, zorgnax joined, Juerd joined, Lorn joined, elb0w joined, tylerni7 joined, cibs joined, sukria joined, dalek joined, pochi joined, knewt2 joined, renormalist joined, betterworld joined, zby_home_ joined, Jmax joined, florz joined, Util joined, hatseflats joined, pmichaud joined, tadzik joined, mtk joined, xinming joined, Khisanth joined, felipe joined, IllvilJa joined, kfo_ joined, Eevee joined, gibson.freenode.net sets mode: +v dalek, ascent_ joined, kcwu joined, lamstyle joined, ggoebel joined, thepler joined, cotto joined, [particle] joined, LoRe joined, buubot joined, literal joined, zb joined, sECuRE joined, Gothmog_ joined, araujo joined, yves joined, edenc joined, larsen joined, sbp joined, tomaw joined, toebu joined, tobij joined, sorear joined, simcop2387 joined, revdiablo joined, peters_mops joined, kthakore joined, estrabd joined, spacebat joined, jnthn joined, nrr joined, huf joined, _ilbot joined, Exodist joined, snarkyboojum joined, nothingmuch joined, f00li5h joined, perigrin joined, krakan_ joined, BinGOs joined, krunen_ joined, dukeleto joined, jlaire joined, nsh- joined, breinbaas joined, gabiruh joined, Grimnir_ joined, rblackwe joined, puddingpimp joined, DarthGandalf joined, __sri joined, oha joined, barika_ joined, gfldex joined, Bucciarati joined, cotto_work joined, kjeldahl left, kjeldahl joined 16:44 hercynium joined
masak rakudo: my @a = 1, 4; say "abc".substr(@a) 16:46
p6eval rakudo a95c1d: OUTPUT«c␤»
16:47 timbunce joined 16:48 kst joined
dalek href="https://modules.perl6.org:">modules.perl6.org: add5bef | (Jason May)++ | web/build-project-list.pl:
this always fails because slurp isn't exported
16:49
href="https://modules.perl6.org:">modules.perl6.org: 466bbd8 | (Jason May)++ | web/build-project-list.pl:
support for more readme files
href="https://modules.perl6.org:">modules.perl6.org: 98252bb | (Jason May)++ | web/build-project-list.pl:
a slice in scalar context doesn't work - grep instead
16:53 Guest61737 joined 16:55 [Coke] left, [Coke] joined, MayDaniel left 16:58 uniejo left 17:02 soroush joined
masak moritz_: ping 17:02
17:02 soroush_ left, kjeldahl left 17:06 justatheory joined, Trashlord left
masak ok, no moritz_. anyone else want to discuss an interesting S32 issue? 17:08
17:09 Trashlord joined
jnthn Which bit of S32? 17:09
:) 17:10
masak jnthn! \o/
jnthn Also - no more $dayjob until January. \o/ :)
colomon \o/
jnthn Not that I dislike it or anything. But I am *very* ready for a break. :)
masak ok, so here's the S32 thing. 17:11
above, I did this evaluation:
rakudo: my @a = 1, 4; say "abc".substr(@a)
p6eval rakudo a95c1d: OUTPUT«c␤»
jnthn Looks right. @a gets mumified. 17:12
masak apparently, a post by moritz_++ says that should be an error.
as reported by @VienosNotes: twitter.com/VienosNotes/status/15811653488607232
now, S32 says that the first param should be Int.
but I doubt that's actually correct.
in fact, pmichaud likes to point out that these things are often really 'as'-typed.
(and I agree)
17:13 wooden left
jnthn as Int is what I expect, yes. 17:13
jnthn agrees with pmichaud++ on those.
masak then it probably is correct as-is, and moritz_' post should be altered.
17:13 wooden joined
masak I think this might have produced an error once. 17:13
alpha: my @a = 1, 4; say "abc".substr(@a)
p6eval alpha : OUTPUT«c␤»
jnthn Yeah, "error" is too strong. 17:14
masak ...but apparently not on latest alpha :)
jnthn I wonder if moritz_++ really meant to say "this won't do what you want"
As in, it's a mistake.
TimToady "erroneous"
jnthn *nod*
masak everybody, please don't use "error" when meaning "not what you wanted" :)
especially not in the spec.
jnthn Aye, but...mistakes happen :)
masak :P
colomon To error is human. 17:15
jnthn
.oO( If I cook a beef badly, it'd be a misteak... )
TimToady err...
colomon / 17:16
drat, //
TimToady it's all a radical novelty, so we shouldn't expect anyone to get it right by the way they were thinking before... :) 17:17
17:19 MayDaniel joined
moritz_ oh hai 17:21
masak: pong
TimToady though I like mjd's formulation of that better...
masak moritz_: I timed out and asked #perl6, see above :P
moritz_ masak: hope you're refreshed now :-) 17:22
17:22 MayDaniel left
masak moritz_: :) 17:23
17:23 hercynium left, hercynium joined, hercynium left, hercynium joined 17:24 hercynium left 17:34 [Coke] left, [Coke] joined 17:45 hercynium joined
dalek href="https://modules.perl6.org:">modules.perl6.org: 7c30b7d | (Jason May)++ | web/build-project-list.pl:
link to appropriate README
17:46
17:50 dakkar left 17:52 Guest61737 left, cognominal joined 17:55 cdarroch joined, cdarroch left, cdarroch joined 17:58 glow left 18:15 envi left 18:18 ch3ck joined, zby_home_ left 18:19 smash left, soroush left 18:20 soroush joined
masak colomon: you're on for tomorrow's Advent post. what's the status on that? 18:23
also, would anyone like to volunteer for slot #19?
colomon umm... it's a bunch of ideas in my head?
I keep on think I scheduled myself for Sunday.
masak colomon: says "ABC modules" in the schedule :)
colomon I don't think it will be a problem to write, however. 18:24
masak both moritz_ and I have said we could step in as backup for slot #19, but it'd be nice not to have to.
colomon right, I'm settled on topic and everything, just need to find the actual words to describe it.
masak just a SMOW :)
colomon exactly 18:25
should be fun, I'm planning to use it as an example of the sort of practical thing you can do with grammars and actions. 18:31
masak nice. best of luck.
nom & 18:33
18:33 masak left 18:35 Tene joined, Tene left, Tene joined 18:41 lestrrat left 18:52 timbunce left 18:58 timbunce joined 19:00 lestrrat joined 19:03 awwaiid joined 19:21 timbunce left 19:24 molaf_ left 19:27 icwiener joined, timbunce joined 19:28 jedai left 19:29 soroush_ joined 19:30 soroush left 19:34 spq1 joined 19:41 timbunce left 19:47 timbunce joined
moritz_ .u vertical ellipsis 19:51
phenny U+22EE VERTICAL ELLIPSIS (⋮)
moritz_ .u horizontal ellipsis
19:51 lestrrat left
phenny U+2026 HORIZONTAL ELLIPSIS (…) 19:51
Tene .u ⋯ 19:54
phenny U+22EF MIDLINE HORIZONTAL ELLIPSIS (⋯)
19:59 dual left
sorear good * #perl6 20:05
moritz_ oh hai sorear
rakudo: say (1, 2) ~~ (1, 2, 0) 20:06
p6eval rakudo a95c1d: OUTPUT«Bool::False␤»
20:24 lestrrat joined 20:26 jferrero joined 20:39 risou left 20:43 felliott left, ambs joined 20:44 ambs left 20:51 felliott joined 20:52 zby_home joined 20:55 glow joined 21:09 zby_home left 21:16 felliott left
moritz_ wow, I just got a Null PMC access on startup (!), just by adding a new class to src/core/ 21:20
Tene moritz_: You added it to the wrong place. You should add that to src/segfault/; src/core/ is for classes that cause core dumps. 21:21
Wow, okay, that's great. I somehow replaced "null pmc access" with "segfault" by the time I started writing a response. 21:23
I should probably stay off of IRC today. :)
21:35 desertm4x joined 21:41 risou joined 21:48 mkramer left
desertm4x Wow, using Rakudo has become so much more rewarding since the last time I tried it! Great work and thanks a lot! This is great fun. =) 21:53
moritz_ glad to hear
desertm4x But now I have got a question regarding subsets... I tried writing a subset Geometrics::Point2D of a given class Geometrics::Point using the following line:
subset Geometrics::Point2D of Geometrics::Point where { .Dim() == 2 }; 21:54
This does not work for some reason, but if I name the subset Point2D (without the Geometrics:: prefix) everything works as expected.
moritz_ rakudo: class A::X { has $.b }; subset A::Y of A::X { where .b > 5 }; say (A::X.new(b => 6) ~~ A::Y) 21:55
p6eval rakudo a95c1d: OUTPUT«===SORRY!===␤Confused at line 22, near "subset A::"␤»
Tene rakudo: subset Foo::Bar of Int where { $_ %% 2 }; my Foo::Bar $i = 2; say $i;
moritz_ std: class A::X { has $.b }; subset A::Y of A::X { where .b > 5 }; say (A::X.new(b => 6) ~~ A::Y)
p6eval rakudo a95c1d: OUTPUT«Null PMC access in type()␤ in main program body at line 22:/tmp/f6YROD7Qqu␤»
std 625303c: OUTPUT«===SORRY!===␤Confused at /tmp/799wtou4Gd line 1:␤------> ass A::X { has $.b }; subset A::Y of A::⏏X { where .b > 5 }; say (A::X.new(b => 6␤ expecting indirect name␤Parse failed␤FAILED 00:01 121m␤»
moritz_ seems to be a bug :( 21:56
Tene desertm4x: This looks like a bug, you're right. Someone should probably open a ticket.
21:57 _kaare left
desertm4x Ah, okay. Thanks for the help. :) 21:57
22:03 MayDaniel joined
TiMBuS bit.ly/hq4v9B kinda cool 22:20
we hit peak book in 2003 22:21
22:24 MayDaniel left
tadzik good evening zebras! 22:25
colomon zebras? 22:26
tadzik oh, I just felt a need for a funny greeting 22:27
22:27 colbseton joined 22:30 shi left
tadzik how are things? 22:30
22:32 colbseton left
colomon My logs don't seem to burn very well. :( 22:36
jnthn ...I wondered why you were writing log files onto CDs for a moment there... 22:37
colomon new house has a fireplace. trying to have a fire for the first time ever here.
jnthn Yes, I worked out that it was that kind of log and that kind of burning after a moment. :) 22:39
A little worried that was my second thought, not my first one... :) 22:40
sorear hello jnthn 22:43
22:43 Tene left
jnthn o/ sorear 22:45
22:46 hercynium left 22:48 Tene joined, Tene left, Tene joined
flussence jnthn! mind if I bug you with some ideas for zavolaj? :) 22:52
jnthn flussence: Sure :) 22:54
flussence: I hope to get some tuits for that over the next couple of weeks. :)
flussence ok, so I'm using it for this thing here if you want a look: github.com/flussence/perl6-XMMS2 22:55
jnthn Being used makes me happy. 22:56
er, my modules being used.... :)
jnthn looks
flussence first thing I came up with is on this line in particular: github.com/flussence/perl6-XMMS2/b...on.pm6#L47
sorear jnthn: after flussence is done I'd like to bug you with some questions about NativeCall... 22:57
flussence basically, it'd be nice if !$obj.defined got turned into a null pointer automatically behind the scenes...
jnthn Ah, so if you pass in something undefined, it becomes a null?
flussence yep
jnthn *nod*
Makes sense for non-value types. 22:58
Probably not too hard too.
flussence the C code it's poking has a default value there if I give it a C NULL instead of a char*, which is what that's useful for
22:58 spq1 left
jnthn Yeah, I suspect there's various use cases. 22:59
I think you can hack it by doing a pir::null__P() today but a "real way" is far nicer.
flussence (also, I think it needs to have the same going the other way... my code's segfaulting from what looks like a null pointer dereference) 23:00
jnthn ah
OK.
Yeah, can look into those together.
flussence: Do you have a Zavolaj commit bit?
flussence nope
jnthn k 23:01
flussence (I had a look at the code to see if I could do some of this myself, but I don't really know where to start...)
jnthn flussence: Just gave you a commit bit. 23:02
flussence yay :D
jnthn flussence: Maybe you could create a TODO file and add these, so they don't get forgotten? :)
flussence gotcha.
jnthn Thanks.
I'm going to be doing $family-visit for next few days, but after that I'll be in one place, without any $dayjob until sometime in January. :) 23:03
So will hopefully get to it (and much other stuff) then :)
jnthn has missed doing Perl 6 bits for the last copule of weeks.
flussence the other, slightly crazy, idea I had was being able to subclass OpaquePointer so I could stick a DESTROY submethod and other stuff right on it instead of writing wrapper classes...
colomon perl 6 missed you, too.
23:04 desertm4x left
jnthn Well, Rakudo doesn't even implement DESTROY yet... 23:04
sorear jnthn: do you expect there will be a S32/NativeCall at some point?
jnthn sorear: Expect is a little strong, but I could see the point of one. 23:05
sorear: I'd rather it come from consensus based on working code rather than a top-down design.
sorear I am pondering NativeCall as a better way to bind stuff for niecza 23:06
jnthn sorear: I can see value in people being able to write calls to native code in a way that works over multiple implementations.
23:06 nymacro joined
jnthn sorear: Ah, you'd use it for doing calls to CLR code too? 23:06
sorear Maybe 23:07
jnthn (for example)
Hmm. I don't find the idea insane. :)
23:07 bluescreen joined
sorear In the absense of really good gradual typing, $clr-object.method() requires runtime reflection 23:07
23:07 bluescreen is now known as Guest31794
jnthn Yes. 23:08
sorear which is 1. slow 2. doesn't work on Harvard and wannabe Harvard systems 3. more fragile than early binding
jnthn Ideally some day we'll have the gradual typing/meta-model interaction to do that well, but yes, it's hard. 23:09
Anyway, I've absolutely no issues if you want to experiment with that area and propose how it fits in with a native call module. I see Zavolaj as a partial contribution to some S32 entry rather than the whole story. 23:11
There's still a bunch of stuff I want to do with it yet. :) 23:12
I'm not quite sure how it'd look. The "is native" trait is maybe a little bit of a lie. :)
.oO( is clr('System.Foo') )
sorear (to elaborate on #2: Mono's bytecode interpreter is bitrotten and useless, so it's completely at the mercy of the CPU and OS for dynamic code generation) 23:14
flussence is native('libname', :lang(*)) ? 23:15
sorear (according to #monodev, the iPhone kernel silently ignores any attempt to add PROT_EXEC to an existing memory region)
23:15 felliott joined
flussence
.oO( is foreign(:lang<c>, :name<libfoo>), maybe )
23:16
jnthn flussence: Need to be careful not to re-invent use Foo:lang<blah> :-)
sorear: Ouch.
sorear: (interpreter) CLR bytecode as far as I understood was explicitly designed to be efficient when jitted and not especially ideal for interpreting.
In the Microsoft view of the world, there's only x86. ;) 23:17
flussence well, for Windows. there's also WinPhone on ARM and the XBox on PPC :) 23:18
(do they still do windows for itanium?)
jnthn flussence: Aye, I wasn't being entirely serious. 23:19
flussence I know :)
jnthn flussence: Just that if your (at least initial) number of target platforms is small, maintaining a JIT ain't so bad. :) 23:20
23:28 risou left, sftp left 23:30 timbunce left 23:33 timbunce joined 23:38 sftp joined
dalek ecza/cilbackend: b3ebdbd | sorear++ | lib/CLRBackend.cs:
Implement "let"
23:41
ecza/cilbackend: c5f9e41 | sorear++ | lib/CLRBackend.cs:
Start connecting reader to codegen; add field generation
ecza/cilbackend: 0fe00fc | sorear++ | lib/CLRBackend.cs:
Refactor dump file reading
ecza/cilbackend: 2a12f4d | sorear++ | lib/CLRBackend.cs:
Refactor field generation
diakopter sorear++
karma sorear
!karma sorear
sigh
phenny: karma sorear
.karma sorear
sorear karma sorear? 23:44
karma sorear
buubot: karma sorear
buubot sorear: sorear has karma of 1428
flussence (good thing there's nobody called "karma" in here :) 23:47
just pushed that todo list btw 23:48