»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:00 jerbraun is now known as jtbraun
dalek ecza: 8840f61 | sorear++ | / (7 files):
Eliminate the lexical/let punning horror
00:07
00:08 V15170R joined, jtbraun left, sftp left 00:09 sftp joined 00:11 jtbraun joined 00:13 jtbraun left 00:14 jtbraun joined, x19290 joined 00:19 x19290 left
V15170R hi... a question: what do you use for testing perl6 modules? 00:20
masak Test.pm
it comes with Rakudo.
masak is using it right now
00:21 risou joined 00:22 x19290 joined 00:23 perimosocordiae joined
masak I tell you, Z=> and X=> are indeed very useful. 00:23
00:24 stifynsemons left
masak rakudo: sub foo(:$bar) { say $bar }; my @bar = 1, 2, 3; my %bar = baz => "OH HAI"; foo(:@bar, :%bar) 00:25
p6eval rakudo 6f9116: OUTPUT«duplicate named argument in call␤ in main program body at line 22:/tmp/F05mEZMh3E␤»
masak \o/
which means it's not a good idea to have two attributes differing only in sigil, because then I can't pass both to a .new method. 00:26
jnthn wonders if that is warning-worthy. 00:27
If you make them both with an accessor, it's probably error-worthy. 00:28
00:29 V15170R left
sorear Even if you don't ... 00:31
phenny sorear: 18 Feb 22:18Z <moritz_> tell sorear please see branch p6_spectests on moritz/niecza -- t/run-spectests.pl should work as soon as you implement run() (tested with s/run/say/)
sorear I'm fairly sure @!foo means @(self!foo) up to optimization 00:32
it makes no sense to have @!foo and $!foo; they'd necessarily alias
moritz_: um. I'm amazed that works 00:33
jnthn I'm fairly sure it doesn't mean that.
sorear niecza wasn't designed to be reentrant D:
jnthn @!foo is the name the attribute is stored under 00:34
@!foo and $!foo live in separate slots.
00:36 risou left 00:37 takadonet left 00:43 x19290 left 00:49 s1n left 00:52 takadonet joined 00:58 jtbraun left 01:01 Rotwang joined 01:03 s1n joined 01:04 JodaZ left 01:05 lamstyle left 01:09 jtbraun joined 01:10 risou joined 01:12 lamstyle joined
jnthn sleep & 01:15
masak wow, I'm staying up later than jnthn for once :P
01:17 redicaps joined 01:21 jaldhar joined 01:32 coldhead joined 01:42 risou left, vmspb left
masak 'night, #perl6 01:53
dalek ast: 86cf1d1 | sorear++ | S04-statements/repeat.t:
Fudge S04/repeat.t for Niecza
01:53 masak left
dalek ecza: ac5d754 | sorear++ | / (3 files):
Initial implementations of unless and loop
01:54
ecza: 7b248ac | sorear++ | / (2 files):
Finish implementation of "loop"
ecza: 2426a6c | sorear++ | / (2 files):
Implement 'repeat'
01:54 hudnix left, hudnix joined 01:57 nymacro joined 02:04 noganex left, risou joined 02:06 noganex joined
dalek ecza: a54d5d2 | sorear++ | src/niecza:
Support parsing 1.5e2 syntax
02:07
02:11 whiteknight left 02:18 Rotwang left
dalek ecza: 39ac6c4 | diakopter++ | README.pod:
update on-windows runtime/build rqmts
02:29
ecza: 0c9ee16 | diakopter++ | src/niecza:
Merge branch 'master' of github.com:sorear/niecza
02:36 redicaps left
diakopter niecza: say 332.52.WHAT 02:39
p6eval niecza v2-86-ga54d5d2: OUTPUT«Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type.␤ at Niecza.CtxStrNativeNum2Str.Get (Niecza.Variable obj) [0x00000] in <filename unknown>:0 ␤ at SAFE.C262_List_2Ejoin (Niecza.Frame ) [0x00000] in <filename unknown>:0
..␤ at Niecza…
02:41 woosley joined 02:48 jdhore left, jdhore joined 02:57 karupanerura joined 03:04 stifynsemons joined
dalek rixel: f5ae65d | diakopter++ | sprixel/src/ (2 files):
fix eval to match new EvalString sig
03:12
ecza: 4de9ec8 | sorear++ | src/ (4 files):
Mergeback
03:16
ecza: 7caeccd | sorear++ | TODO:
Remove decimal literals from TODO
03:20 stifynsemons left 03:26 cls_bsd left 03:31 cls_bsd joined 03:33 jaldhar left, jaldhar joined 03:35 stifynsemons joined
dalek rixel: 76e661d | diakopter++ | sprixel/ (5 files):
fixup the grammar a bit for class attributes
03:43
03:54 nsh_ joined 03:58 [sbp] joined 04:00 sbp left, nsh left, phenny left, phenny joined 04:07 kfo_ joined 04:11 kfo left 04:19 woosley left 04:20 karupanerura left 04:21 perimosocordiae left 04:23 Su-Shee_ joined 04:26 Su-Shee left 04:34 phenny left, plobsing left 04:38 stifynsemons left 04:39 phenny joined
dalek rixel: 2670f5d | diakopter++ | / (4 files):
cleanup FrameGen.create wrt subName and constructor mode.. preparing for constructors
04:39
04:45 woosley joined 04:46 phenny left, kfo_ left 04:47 phenny joined, kfo joined 04:51 cdarroch left
dalek rixel: e743d50 | diakopter++ | sprixel/src/compiler/EmitterPass.cs:
fix to evaluate all expression statements
04:56
05:00 benabik left 05:05 envi joined 05:16 HarryS left 05:41 woosley1 joined 05:44 woosley left
dalek ecza: 4333201 | sorear++ | / (2 files):
Implement m// and rx//
05:48
06:04 nymacro left 06:09 benabik joined 06:10 nymacro joined 06:17 woosley1 left 06:40 bacek left 06:49 justatheory left 06:50 justatheory joined 06:53 bacek joined 06:54 justatheory left
dalek ecza: 407c528 | sorear++ | / (2 files):
Implement <&foo> call syntax
06:56
07:08 telegraphs joined
dalek ast: e109c74 | sorear++ | S0 (2 files):
Remove plans from S03/reduce and S04/for

These test files are too complicated for fudge to properly count the tests, so the plans become wrong if fudging is done.
07:10
ecza: 4ef84b6 | sorear++ | t/ (2 files):
Switch to data-driven spectest driver (moritz)
07:14 telegraphs left
sorear out 07:19
07:22 kaare_ joined
dalek rixel: 9460638 | diakopter++ | sprixel/src/ (3 files):
finish Map & Capture, and realize that I already did constructors & class inheritance, but forgot about it.....!
07:49
08:05 risou_ joined
moritz_ good morning 08:07
08:09 risou left 08:10 redicaps joined 08:13 redicaps left
tadzik good morning 08:13
08:14 woosley joined
jdhore 'mornin 08:22
tadzik o/ 08:34
moritz_ niecza: say ?'0' 09:09
p6eval niecza v2-93-g4ef84b6: OUTPUT«Bool::True␤»
moritz_ submits nieczabug 09:10
niecza: say ?0
p6eval niecza v2-93-g4ef84b6: OUTPUT«Bool::False␤»
09:10 mtk left
moritz_ niecza: say 'ab-c'.split(/<.ws>/).perl 09:15
p6eval niecza v2-93-g4ef84b6: OUTPUT«(timeout)»
moritz_ niecza: say 'ab-c'.split(/<.ws>/).perl
dalek ast: 70fb660 | moritz++ | S32-str/bool.t:
[S32] fudge str/bool.t for niecza (issue 38)
09:16
p6eval niecza v2-93-g4ef84b6: OUTPUT«(timeout)»
moritz_ rakudo: say 'abc'.split(/^/).perl 09:17
p6eval rakudo 6f9116: OUTPUT«("", "abc")␤»
09:19 mtk joined 09:21 Axius joined 09:25 neroxx joined 09:26 HarryS joined
dalek ast: 91a8a1c | moritz++ | S03-metaops/not.t:
fudge S03-metaops/not.t for niecza
09:26
09:44 Su-Shee_ is now known as Su-Shee 09:56 araujo left 09:58 kst left 09:59 kst joined 10:01 envi left 10:14 neroxx left, neroxx joined 10:28 neroxx left 10:36 zenog joined 10:41 Axius left 10:53 kjeldahl_ joined 10:54 rob_ joined 10:55 coldhead left 11:01 neroxx joined 11:05 neroxx left
moritz_ rakudo: say 3.4 div 3.1 11:09
p6eval rakudo 6f9116: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'. Available candidates are:␤:(Int $a, Int $b)␤␤ in main program body at line 22:/tmp/7HHJORFZIv␤»
moritz_ should that coerce both arguments to Int first?
11:09 rob_ left
moritz_ from stackoverflow.com/questions/5050210...47#5050447 11:11
11:18 neroxx joined 11:27 neroxx left
moritz_ rakudo: sub foo() { my @b = () }; foo( my @x = 1, 2 ) 11:33
p6eval rakudo 6f9116: OUTPUT«===SORRY!===␤Redeclaration of symbol @x at line 22, near " = 1, 2 )"␤»
moritz_ that's one of the weirdest rakudobugs I've seen in ages
11:35 fhelmberger joined
dalek ast: 632ffb7 | moritz++ | S0 (3 files):
get rid of some unused (and partially wrong) lexicals; fudge for-scope.t for rakudo
11:36
ast: 7b46bb8 | moritz++ | S02-builtin_data_types/autovivification.t:
[autovivification.t] get rid of unused variable warning; rakudo unfudges
11:39
11:44 masak joined
masak ahojte, zebras. 11:44
dalek ast: 4fb546e | moritz++ | S02-builtin_data_types/autovivification.t:
use more previously unused variables
moritz_ \o masak
rakudo: '10' div 5
dalek kudo: 2fc617f | moritz++ | t/spectest.data:
run two more test files
p6eval rakudo 6f9116: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'. Available candidates are:␤:(Int $a, Int $b)␤␤ in main program body at line 22:/tmp/XtptbFV71w␤»
11:45 whiteknight joined
moritz_ masak: would you think that should run (and coerce to int first)? 11:45
masak moritz_: difficult one. div is sensitive to the actual types of the operands.
moritz_ masak: is it?
masak yes, that's the point of it, IIRC. 11:46
moritz_ I thought it just operated on integers
masak no, it used to do that.
moritz_ rakudo: say 5 div 2
p6eval rakudo 6f9116: OUTPUT«2␤»
masak then it got generalized to type-specific division.
IIRC.
moritz_ C<< infix:<div> >>, integer division
$numerator div $denominator
Dispatches to the C<< infix:<div> >> multi most appropriate to the
operand types, returning a value of the same type.
Not coercive, so fails on differing types.
you're right 11:47
masak I think your #84438 might be another manifestation of my #77710.
moritz_ indeed, looks quite similar
I'll merge 11:48
I thought we mostly left such weird bugs behind us 11:49
masak moritz_++ 11:50
yes, it's one of the strange holdouts.
bet it'll be a blast to debug, as well :)
moritz_ niecza is fun right now
masak oh?
moritz_ I found about 30 test files that it passed right out of the box 11:51
and two or three that needed only minor fudging
and two nieczabugs in the course
masak wow!
moritz_++
moritz_ all by running an adapted rakudo test mangling/running tools
masak \o/ 11:52
moritz_ so in summary, it seems that niecza is in LHF mode 11:54
rakudo: say ?'00'
p6eval rakudo 6f9116: OUTPUT«Bool::True␤»
moritz_ rakudo: say ?'0'
p6eval rakudo 6f9116: OUTPUT«Bool::False␤»
masak I wouldn't mind both being False. 11:56
moritz_ neither
11:57 araujo joined
masak for example, say, by first numifying the string and then boolifying it. 11:57
conceptually.
moritz_ ?"foo"
masak ah, no :0
:)
moritz_ only if it parses as a string 11:58
but that would be much more expensive than the current thing
jnthn afternoon o/
moritz_ \o
11:59 hudnix left 12:00 hudnix joined
masak o/ 12:01
jnthn Sunny day \o/ 12:02
12:03 araujo left 12:07 araujo joined
masak I had a wonderful hacking session last night. hoping to pick up where I left off today. :) 12:14
I'm exploring Druid algorithms. writing a Dijkstras algorithm that uses two metrics alongside each other. 12:15
all in Perl 6, of course. 12:16
jnthn I had a wonderful sleeping session last night. Had a dream about Icelandic hot springs.
I seem to have woken up with a bit of a cold though. :/ 12:17
12:17 Mowah joined
masak well, you need to be careful when getting out of those hot springs... 12:18
12:22 Rotwang joined
flussence rakudo: my @actions = Mu, &note, &say, &return, &warn, &die; my $http-code = 404; @actions[$http-code div 100].name; 12:32
p6eval rakudo 6f9116: ( no output )
flussence (oh duh, forgot .say again)
rakudo: (Mu, &note, &say, &return, &warn, &die)[404 div 100].name.say 12:33
p6eval rakudo 6f9116: OUTPUT«&warn␤»
12:33 takadonet left
flussence (hmm, I think sep.t and sep2.t may be identical...) 12:38
masak there's nothing to separate them? :P 12:39
flussence if I'm reading this right, the only difference is one sets $Text::wrap::separator and one doesn't...
no, that can't be right 12:40
wrap.t doesn't set the separator
12:42 masak` joined 12:44 V15170R joined 12:46 masak left, masak` is now known as masak 12:47 maja left, maja joined
flussence oh, the second one sets $Text::Wrap::separator2. That's a horrible variable name. 12:47
masak variables from that naming scheme usually are :) 12:49
a telltale sign is if there's no corresponding variable ending in '1'... 12:50
'x1, y1, x2, y2' is ok, but 'left, top, right, bottom' is usually better. :) 12:51
flussence my understanding is that setting $separator makes it remove the input's newlines, while $separator2 leaves them there 12:52
I think it'd be much better with an $input-delimiter and $output-delimiter instead.
masak +1
13:00 kjeldahl left 13:04 V15170R left 13:08 Tene_ joined, Tene_ left, Tene_ joined, wolv joined, awwaiid_ joined, risou joined 13:09 jnthn_ joined, __rnddim__ joined, xinming_ joined, gfldex_ joined 13:10 solarion_ joined 13:11 larsen_ joined 13:13 benabik left, risou_ left, xinming left, wolverian left, awwaiid left, solarion left, Tene left, lue left, gfldex left, arthur-_ left, jnthn left, flatwhatson left, larsen left, arthur-_ joined 13:14 flatwhatson joined
masak it's stormy on IRC today. 13:16
13:17 jaldhar left, jaldhar joined 13:19 jnthn_ is now known as jnthn, plobsing joined
moritz_ rakudo: subset A of Int { }; say A; say A.perl 13:19
p6eval rakudo 6f9116: OUTPUT«===SORRY!===␤Confused at line 22, near "subset A o"␤»
moritz_ rakudo: subset A of Int where *; say A; say A.perl 13:20
p6eval rakudo 6f9116: OUTPUT«Int()␤Int␤»
colomon rakudo: subset A of Int where * > 10; say A; say A.perl
p6eval rakudo 6f9116: OUTPUT«Int()␤Int␤»
jnthn Those probably want to say A() and A 13:21
That'll be an easy fix in the nom branch, but it's hard to do now.
colomon I was just justifying to myself why they should say Int. :) 13:22
nom++ 13:23
moritz_ I'm trying to include actual and constraint types in the "Type check failed for assignment" error message 13:27
that will be confusing for subsets for now
13:27 wolv is now known as wolverian
moritz_ $ ./perl6 -e 'my Str $x = 34' 13:32
Type check failed for assignment Container type: Str got: Int
13:33 [sbp] is now known as sbp
masak jnthn++ nom++ 13:33
subtypes will have their own metaclasses, right?
moritz_ sounds right
masak what about enums?
jnthn yeah, though I prefer the term "meta-object", since talking about something that's not a class having a metaclass feels odd ;) 13:34
masak oops, indeed.
meta-thingies.
13:34 gfldex_ is now known as gfldex
jnthn enums - didn't think too hard about them yet, but would make sense for them to 13:34
How low-level they are is...kinda interesting to think about. 13:35
I mean, if Bool is an enum...it needs to be declared pretty early on.
moritz_ we could even say that Int is an infinite enum :-)
jnthn Well, seen that way it's as if enums are just a kind of instantiable subset types or something. 13:37
moritz_ jnthn: should &infix:<=> have a 'invizble_frame' annotation? 13:38
masak I suspect 'infinite enum' is near to an oxymoron. 13:39
and in contrast to Bool, the values of Int are literals, not identifiers.
moritz_ the error message already says "in assignment", so I don't see much value in having it appear in the stack traces
jnthn masak: You can enumerate an infinite set, it just takes a while. :)
moritz_: If you feel we get a win on the error messages by doing so, feel free. That's the only reason it exists. 13:40
masak right, but the Perl 6 concept of 'enum' doesn't just mean 'enumerable'.
jnthn masak: I know, I know. :)
masak: Note that literals can sometimes sit in type slots, though.
multi fact(0) { 1 }
masak yeah, that's my fault :P
jnthn Just blame ML. :P 13:41
masak is happy that change went through
jnthn too
masak everyone else seems happy about it as well.
jnthn I writed cute examples of multi-dispatch thanks to it :)
moritz_ jnthn: does 0 actually sit in the type slot, or is it sugar for Int $ where 0 ? 13:42
jnthn moritz_: Sugar. 13:43
moritz_: We infer the type of the constant.
13:43 jdhore left
moritz_ right, we just call .WHAT at compile time 13:43
jnthn Pretty much.
masak jnthn: what type would you infer from Inf? :P
moritz_ rakudo: say Inf.WHAT
p6eval rakudo 6f9116: OUTPUT«Num()␤»
moritz_ maybe it should cheat and say Real instead :-) 13:44
masak rakudo: say 5 ~~ 3..Inf
p6eval rakudo 6f9116: OUTPUT«Bool::True␤»
masak moritz_: I think it should.
jnthn moritz_: Not sure, apparently Inf is menat to go in Int slots too
masak moritz_: but it's worse than that. Inf needs to be an Int and a Num.
jnthn moritz_: Though that feels...magical... :/
masak that's the "problem" with Inf.
it's two types at once.
jnthn So I'll mostly hope somebody else figures out how that really works. 13:45
masak three, if you count Str.
moritz_ just like <1 2>
masak oh wait, maybe we use * for Str.
moritz_ which is also Int and Str
jnthn Well, what bothers me is how it interacts with assignment.
And if we end up with a check every assignment or something
masak why does that bother you? 13:46
jnthn Performance?
masak well, testing for two types seems it'd only be twice as slow as testing for one type. 13:47
and there are probably ways to make it hurt less.
jnthn Perhaps.
I just get nervous when stuff wants to play fast and loose with the type system.
plobsing why is something being two types at once problematic? isn't that what multiple inheritance is for? 13:57
jnthn
.oO( You have a problem. You solve it with multiple inheritance. Now you have two problems. )
13:59
plobsing: It may actually work though. :) 14:00
14:00 woosley left
jnthn We end up with a type that has an int slot and a num slot...hm. :) 14:00
plobsing Now you have N problems. FTFY
14:03 woosley joined, woosley left 14:05 risou_ joined 14:09 kfo left, risou left
masak I'm not really married to any specific solution with Inf. 14:16
I'm hoping it won't come to IntInf and NumInf :)
jnthn I'd have a fling with the multiple inheritance solution, but I'd certainly not marry it.
No, IntInf and NumInf are...ugly. 14:17
masak yeah.
maybe Inf desugars to different things depending on context? that'd be one way to avoid MI.
it'd be a different ugliness, though.
jnthn Yeah
masak the trick is to push at the humps until the waterbed looks smooth :P 14:18
14:18 arthur-_ left 14:24 plobsing left 14:30 plobsing joined 14:34 plobsing left 14:55 Axius joined, plobsing joined 14:56 Chillance joined 14:57 zby_home joined 15:00 plobsing left 15:06 Axius left
masak rakudo: my @a = 4 ?? 1, 2, 3 !! 7, 8, 9; say ~@a 15:13
p6eval rakudo 6f9116: OUTPUT«===SORRY!===␤Confused at line 22, near "my @a = 4 "␤»
masak std: my @a = 4 ?? 1, 2, 3 !! 7, 8, 9; say ~@a 15:14
p6eval std 625303c: OUTPUT«===SORRY!===␤Precedence of , is too loose to use between ?? and !!; please use parens around inner expression at /tmp/mMU9JrquHO line 1:␤------> my @a = 4 ?? 1,⏏ 2, 3 !! 7, 8, 9; say ~@a␤Parse failed␤FAILED 00:01 121m␤»
masak rakudo: my @a = 4 ?? (1, 2, 3) !! 7, 8, 9; say ~@a
p6eval rakudo 6f9116: OUTPUT«1 2 3 8 9␤»
masak rakudo: my @a = 4 ?? (1, 2, 3) !! (7, 8, 9); say ~@a
p6eval rakudo 6f9116: OUTPUT«1 2 3␤»
masak "on the other hand, if you're doing fancy stuff with lists, maybe it's time to migrate from ?? !! to something more structured? like, an if statement?" :) 15:16
15:35 neroxx joined 15:37 HarryS left 15:45 kjeldahl joined
dalek kudo: 14319fc | moritz++ | / (2 files):
make assignment type check errors more informative
15:49
masak \o/
colomon moritz_++ 15:53
flussence is that what I think it is? :D
moritz_ flussence: depends on what you think of 15:54
somehow rebuilding is borked on p6eval server 15:55
rakudo: say 1
p6eval rakudo 6f9116: OUTPUT«1␤»
moritz_ this is like... so old 15:56
flussence Feb 14th?! 15:57
moritz_ valentine's day
flussence oh, that reminded me, I'm going to try and get try.rakudo on something up to date.
moritz_ \o/
std: 1 15:58
p6eval std 625303c: OUTPUT«ok 00:01 117m␤»
moritz_ that is... ancient 15:59
Date: Thu Dec 16 08:36:53 2010 -0800
colomon woah 16:00
colomon was not impressed with valentine's day as "so old", but December 16th is definitely ancient. 16:01
moritz_ turns out we don't have a rebuild script for std 16:02
flussence I think this beats them by a long shot: 16:03
→ say $*PERL␤name rakudo␤version 2010.09-3-ga820a44
dalek albot: d055ab5 | moritz++ | build-scripts/rebuild-std.sh:
build script for STD
16:04
16:05 zenog left 16:06 zenog joined
tadzik o/ 16:09
16:13 zenog left, zenog joined
moritz_ rakudo: my Int $x = "foo"; 16:15
p6eval rakudo : OUTPUT«Type check failed for assignment␤ Container type: Int␤ Got: Str␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/g2udax_ZWT␤»
16:15 jdhore joined 16:16 Patterner left
moritz_ std: 1 16:16
p6eval std 4608239: OUTPUT«ok 00:01 118m␤»
16:18 stifynsemons joined, Psyche^ joined, Psyche^ is now known as Patterner 16:19 cognominal left, cognominal joined
moritz_ rakudo: my $x = 3; say <<$x>> 16:21
p6eval rakudo : OUTPUT«$x␤»
flussence rakudo: say $*PERL
p6eval rakudo : OUTPUT«name rakudo␤version 2011.02-4-g14319fc␤␤»
16:25 zenog left 16:26 zenog joined 16:30 orafu left, zenog left 16:39 ggoebel left 16:40 ggoebel joined 16:52 ggoebel left 16:58 mtk left 16:59 eternaleye left, eternaleye joined 17:02 ymasory joined 17:07 mtk joined
flussence → say $*PERL␤name rakudo␤version 2011.02-4-g14319fc␤ 17:09
\o/
tadzik (: 17:10
17:12 s1n left
masak rakudo: say $*PERL.WHAT 17:14
p6eval rakudo : OUTPUT«Hash()␤»
masak S28 has this as Application. 17:15
should be LHF for anyone wanting to fix.
also, the entry for $?PERL says 'Which Perl am I compiled for?' 17:16
I would have expected 'compiled *by*' there, but I'm not 100% sure that 'compiled for' is wrong, either.
17:17 HarryS joined
masak I think S28:97 is a fossil: $?GRAMMAR 17:18
isn't that handled by slangs nowadays?
also, what's the difference between $*EXECUTABLE_NAME and $*PROGRAM_NAME ? 17:19
ah, %?LANG seems to be what replaces $?GRAMMAR nowadays. 17:20
17:22 kjeldahl left
masak $?SCOPE, for keeping track of the current lexical scope, has a comment '(XXX unnecessary?)'. that, in my opinion, is the wrong way to add features. :) I motion for immediate removal. 17:24
s/motion/move/
lastly, $?XVM, "which virtual machine am I cross-compiling for", seems to me completely over the top. 17:25
17:28 s1n joined
masak hm, or maybe not... :) 17:31
17:33 s1n left 17:37 justatheory joined, justatheory left 17:40 literal left 17:42 literal joined, MayDaniel joined
allbery_b but $?TARGET or similar? 17:59
18:13 Kovensky left 18:16 Kovensky joined
masak the name is fine, I was just wondering whether something like that'd ever find a use. 18:18
I guess in a world with several stable VMs for Perl 6, it might well.
tadzik hugme: hug me 18:20
hugme hugs tadzik
tadzik hugme: thanks
18:26 s1n joined 18:27 justatheory joined 18:28 justatheory left, justatheory joined
sorear good * #perl6 18:40
moritz_ good morning sorear
sorear moritz_: right now every niecza process assumes exclusive access to obj/MAIN.exe; I am very nervous of solutions that involve multiple concurrent such processes 18:42
even if Mono handles the case of obj/MAIN.exe being overwritten while it is being run fine, other CLRs might now 18:43
not
18:43 jferrero joined
sorear (this will be fixed after the v3 release; I have a new backend interface that doesn't rely quite so much on files, but it needs to wait for a bootstrap cycle) 18:44
moritz_ sorear: the last two or three pull requests should only invoke one Niecza instance at a time 18:45
sorear jnthn: Hi! I'd like to talk about subsets. 18:46
18:47 perimosocordiae joined
tadzik niecza: my $a; $a += 5; say $a 18:48
p6eval niecza v2-93-g4ef84b6: OUTPUT«Unhandled exception: Unable to resolve method Numeric in class Any␤ at line 0 (ExitRunloop @ 0)␤ at /tmp/t4L7nNbBE8 line 1 (MAIN mainline @ 1)␤ at /home/p6eval/niecza/lib/SAFE.setting line 1189 (SAFE C492_ANON @ 2)␤ at /home/p6eval/niecza/lib/SAFE.setting line
..1190 (SAFE modul…
tadzik bug or not?
sorear it's a bug 18:49
I don't have a good general answer for how identities should work though
moritz_ rakudo: my $a; $a *= 5; say $a
p6eval rakudo : OUTPUT«5␤»
moritz_ sorear: multi infix:<*>() { 1 } provides the default if the LHS is not .defined 18:50
18:50 s1n left
moritz_ niecza: say [+]() 18:51
p6eval niecza v2-93-g4ef84b6: OUTPUT«0␤»
moritz_ niecza: say [*]()
p6eval niecza v2-93-g4ef84b6: OUTPUT«0␤»
moritz_ should be 1
rakudo: say [*]()
p6eval rakudo : OUTPUT«1␤»
moritz_ sorear: do you want a bug report for that one?
sorear no 18:53
it's not an isolated bug
it's part of the "MMD" todo item
moritz_ is MMD mostly NYI? 18:54
sorear yes
masak good *, sorear. 18:55
moritz_: is there a rakudobug filed for [*]() ? 18:56
18:57 s1n joined
moritz_ masak: what's wrong about it? 18:58
sorear jnthn: What makes class { } tractable while BEGIN { } is not? 18:59
dalek ecza: c7b8bcf | moritz++ | lib/Kernel.cs:
fix issue 38, boolification of Str
19:15
ecza: f565da2 | sorear++ | t/spectest.data:
Tiny whitespace fix
ecza: 079b5d7 | sorear++ | lib/SAFE.setting:
Remove methods from SAFE.setting that conflict with Kernel
19:18 bacek left 19:23 TiMBuS left, TiMBuS joined
masak moritz_: oh! nothing. my brain saw 'rakudo:' where it really said 'niecza:' 19:24
dalek ecza: acab388 | moritz++ | t/update_passing_test_data.pl:
script for finding passing spectest files

Imported and adapted from Rakudo.
19:25
ecza: 1e36fcc | sorear++ | t/spectest.data:
Merge remote branch 'moritz/more-spectests'
sorear has been playing games with git-rebase and git-cherry-pick
19:32 kjeldahl joined, bacek joined
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet 19:32
19:49 justatheory left 19:52 ymasory_ joined 19:59 dju_ joined 20:03 dju left 20:08 risou_ left 20:10 risou joined 20:38 plobsing joined
donri_ "unlike Perl 5 you always get a copy of the right side data assigned to the left" isn't that expensive? 20:51
moritz_ context? 20:52
donri_ assignment with = 20:53
20:54 fhelmberger left
moritz_ copy != deep copy 20:55
20:55 neroxx left
moritz_ often only a reference is copied 20:55
donri_ www.perlfoundation.org/perl6/index....et#binding 20:56
"no matter how nested the data structure was (lists of lists eg)"
"You never get in Perl 6 a reference with =."
moritz_ donri_: don't believe eevrything that lichtkind writes :/ 20:57
donri_ I don't know who that is 20:58
moritz_ the author of the perl 6 tablets
20:58 bemjb left
donri_ Are those bad then? 20:58
moritz_ I haven't reviewed them yet; but the statement that = does a deep clone is simply wrong. 21:00
21:03 gdey joined
flussence "eval $struct.perl" on the other hand, usually will 21:04
(even if it is slow)
masak "You never get in Perl 6 a reference with =." -- the level of English in that short snippet begs for editing. 21:05
moritz_ that's another problem with lichtkind
masak yes.
moritz_ but I often don't understand his German either :/ 21:06
[Coke] feedback to lichtkind on those tablets is appreciated.
masak what he lacks in language and insight into Perl 6 he makes up, one hopes, in enthusiasm. 21:07
and others can provide the language and insight.
'enthusiasm' meaning 'time', 'tuits', 'energy' and so on.
21:08 shlomo_z joined 21:14 kaare_ left 21:22 icwiener joined 21:23 justatheory joined, whiteknight left 21:27 coldhead joined 21:30 shlomo_z left 21:33 cogno joined 21:35 jmmills_ left 21:38 hudnix left 21:47 risou left 21:51 cogno left
masak rakudo: say "2-b4" - 1 22:23
p6eval rakudo : OUTPUT«1␤»
22:24 zby_home left
sorear niecza: say "2-b4" - 1 # broken? 22:26
p6eval niecza v2-99-g1e36fcc: OUTPUT«Unhandled exception: System.FormatException: Unknown char: -␤ at System.Double.Parse (System.String s, NumberStyles style, IFormatProvider provider) [0x00000] in <filename unknown>:0 ␤ at System.Double.Parse (System.String s) [0x00000] in <filename unknown>:0 ␤ at
..SAFE.C92_Str_2…
diakopter perlesque: say(Double.Parse('2-b4')) 22:29
p6eval perlesque: OUTPUT«␤Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.FormatException: Unknown char: -␤ at System.Double.Parse (System.String s, NumberStyles style, IFormatProvider provider) [0x00000] in <filename
..…
22:29 masonkramer joined
sorear reflection, diakopter? 22:31
diakopter I guess that's the System.Activator Run wrapper 22:32
I could have it catch exceptions there and throw the inner one
(unwrap it one level) 22:33
22:40 kjeldahl_ left
dalek rixel: d7c5167 | diakopter++ | sprixel/src/ (3 files):
unwrap exceptions one level sorear++
22:43
22:46 rdesfo joined 22:48 gdey left 22:49 hudnix joined
dalek rixel: fd633c2 | diakopter++ | sprixel/src/perlesque/setting/Cursor.pl6:
actually add setting/Cursor.pl6
22:49
diakopter there we go: 22:50
perlesque: Double.Parse('2-b4')
p6eval perlesque: OUTPUT«␤Unhandled Exception: System.FormatException: Unknown char: -␤ at System.Double.Parse (System.String s, NumberStyles style, IFormatProvider provider) [0x00000] in <filename unknown>:0 ␤ at System.Double.Parse (System.String s) [0x00000] in <filename unknown>:0 ␤ at
..top_level_fra…
diakopter moritz_: what do you think about stderr output being in a different color :) 22:51
22:51 masak left
diakopter that sent masak running... ;) 22:51
22:53 masak joined
moritz_ diakopter: what kind of color codes would you use? IRC colors? 22:53
and how would that interact with STD's ANSI color codes? 22:54
22:55 fhelmberger joined, fhelmberger left
diakopter moritz_: I don't know; what would you suggest if someone were imagining such color distinction 22:55
22:56 fhelmberger joined
moritz_ diakopter: I don't really know enough about IRC colors 22:56
diakopter: usually I find them annoying
diakopter ansi colors then? folks don't seem to mind them in std 22:57
perhaps since non-errors are by far the exception, respones that did not have any output on stderr could get a colored marker prefixed.. (such as maybe the OUTPUT marker could be green?) 22:59
23:00 masak left 23:01 masak joined
diakopter evalbot control restart 23:04
23:04 p6eval left, p6eval joined, ChanServ sets mode: +v p6eval
masak rakudo: say ("15" - 1).WHAT 23:04
p6eval rakudo : OUTPUT«Num()␤»
masak expected Int
dalek albot: 5548f2a | (Perl 6 Evalbot)++ | evalbot.pl:
make p6eval perlesque use --gc=sgen with mono 2.8.2
albot: 3b08081 | (Perl 6 Evalbot)++ | build-scripts/rebuild-std.sh:
Merge branch 'master' of github.com:perl6/evalbot
masak but I guess this is another manifestation of prefix:<=> not being specific enough. 23:05
diakopter sigh; my fault (merge branch master)
masak s'ok. we all accidentally merge sometimes ;)
moritz_ diakopter: did anybody have a problem wrt not being able to distinguish STD{OUT,ERR}? If not, it's probably overengineering 23:06
diakopter no; ok :) 23:08
masak I have a bug inside a large-ish class whose only explanation seems to be lexpad corruption. :/ 23:11
not sure where to even start minimizing this one. 23:12
the signature binding fails inside a map block. the variable $row fails to bind -- an Int is expected, but a Node is found in $row instead. (Node is a class defined in the script) 23:13
now, $row is simply the loop variable of the map block, and the map block loops over ^$size, which is an Int.
so, in short, this shouldn't happen.
23:14 amkrankruleuen left 23:15 amkrankruleuen joined
moritz_ 00:12 < masak> not sure where to even start minimizing this one. 23:16
delete as much code as you can while keeping the code running
masak :)
moritz_ and after each deletion, test again
standard procedure :-)
diakopter evalbot control restart 23:17
23:17 p6eval left, p6eval joined
masak yes, that's not the part I'm unsure about... 23:17
23:17 ChanServ sets mode: +v p6eval
masak starts by trying to run the failing test in isolation 23:17
yes, it does. oh joy. we're in business. 23:19
23:22 starcoder left 23:24 starcoder joined
dalek rixel: eab4005 | diakopter++ | sprixel/ (2 files):
tweaks for p6eval & mono
23:32
masak ok, bug found. it was in me, not in Rakudo. rakudo++ masak-- 23:33
dalek rixel: c63c345 | diakopter++ | sprixel/Program.cs:
remove debug code; sigh
cognominal masak++ autoflagelation--
masak also, moritz_ for encouraging the minimization. 23:34
cognominal autoflagellation--
masak moritz_++
actually, publicly dissecting bugs tends to lower one's tendency to cry wolf like this :) 23:35
dalek rixel: c9d6038 | diakopter++ | sprixel/src/compiler/PerlesqueEval.cs:
another tweak
diakopter sorry for the dalek noise :(
jdhore parrot++, they merged GenGC :D 23:36
masak \o/
parrot++
bacek++
diakopter waits for a build, rakudo make test 23:37
(not me, I mean)
jdhore Didn't someone "relevant" say that GenGC made Rakudo 20-30% faster? 23:38
diakopter relevant how? 23:41
jdhore Someone who wasn't trolling/trying to be stupid. 23:42
(I can't remember who i heard that from so I don't know...) 23:43
diakopter (if you thought I was trolling/trying to be stupid, I wasn't.. fyi) :)
colomon Is there already a Rakudo branch with the changes needed to support GenGC? 23:49
masak no, but I've been successfully building Rakudo with a certain commit.
hold on.
76cd24a 23:50
colomon That's a Parrot commit?
masak no, a Rakudo commit.
since it hasn't been reverted, my guess is that Rakudo runs fine with the merged GenGC in Parrot.
the only reason I couldn't build with newer Rakudos was that they required newer Parrots. 23:51
colomon So in theory, all we need to do is bump PARROT_REVISION and we're good to go?!! 23:52
masak at a guess, yes. 23:53
the write barriers have already been added in.
colomon moritz_, are you thinking what I'm thinking? ;)
masak unless moritz_ is sleeping... 23:54
colomon (probably not, because what I'm thinking is "How the heck do you bump PARROT_REVISION now?"
)
masak :P
colomon afk # need to rearrange toddler room instead of applying amazing patch to Rakudo. :( 23:55
masak 'night, #perl6
colomon o\
23:56 masak left