»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by diakopter on 25 January 2010.
00:08 fridim_ joined 00:17 mikehh joined 00:22 arthur-_ left 00:25 bluescreen left 00:28 payload joined 00:35 kensanata left 00:36 go|dfish left 00:38 go|dfish joined 00:40 astrojp joined 00:42 kerni joined 00:47 clintongormley left 00:52 mssm left 00:53 Limbic_Region left 01:01 kerni left 01:09 drbean joined 01:22 mikehh left, wanradt joined 01:26 pmurias left, cognominal left 01:31 mikehh joined 01:37 k23z__ left 01:38 astrojp left 01:57 ispeak_ joined 02:05 ispeak_ left 02:14 fridim_ left 02:22 old_gray_bear joined 02:41 lest_away is now known as lestrrat 02:45 meppl left 02:59 ShaneC left 03:15 eternaleye joined, hercynium left 03:35 colomon left 03:49 bjwbell joined, bjwbell left 03:57 colomon joined 04:21 stephenlb left 05:03 justatheory left 05:04 Chillance left 05:18 REPLeffect left 05:29 cognominal joined
pugs_svn r29646 | lwall++ | [STD,et al.] add explicit copyright notices at suggestion of diakopter++ 05:41
06:05 dduncan joined 06:08 cognominal left 06:27 __rnddim__ left 07:01 dduncan left 07:06 kaare joined, kaare is now known as Guest97786 07:14 drbean left 07:20 eternaleye_ joined 07:21 eternaleye left 07:33 patspam left
pugs_svn r29647 | lwall++ | [gimme5] oops, need to parse the copyright comment with correctliness 08:18
08:30 riffraff joined
f00li5h[HireMe] meow? 08:37
08:40 iblechbot joined 08:49 Su-Shee joined
Su-Shee good morning 08:50
sjn hello 08:55
Anyone here know where to find a high-res version of the Rakudo logo? 08:56
08:57 synth left 09:00 clausi joined 09:05 clausi left 09:06 patspam joined 09:11 mberends joined 09:24 synth joined
mberends hello sjn, pugs/misc/camelia.svg can be rasterized to any desired resolution. You may need to use inkscape to manipulate her, because Gimp and F-Spot seem to treat her as a 1px x 1px dot. Firefox also renders the svg format fine. 09:29
oh wait, Rakudo logo... that will be another search... 09:30
09:31 old_gray_bear left 09:46 patspam left 09:50 riffraff left 10:08 cls_bsd left 10:47 eternaleye_ left
jnthn oh hai 11:13
mmm...sleep was good. :-)
mberends jnthn: especially when you write better code as a result :) 11:14
jnthn mberends: Here's hoping! :-) 11:17
sjn o/ 11:18
09:56 < sjn> Anyone here know where to find a high-res version of the Rakudo logo? 11:19
11:20 meppl joined
jnthn hi sjn 11:21
Off hand, no, 'fraid not...I'm sure I've gone looking before, but can't remember finding anything all that large.
sjn: Pm would know, but he's away for the weekend. 11:22
11:25 payload left
sjn p^Hah weloh well 11:28
11:40 Bzek joined 12:02 uniejo joined 12:09 fridim_ joined
colomon o/ 12:10
jnthn o/
szbalint fosdem says hello :) 12:11
colomon hello fosdem!
jnthn oh hai fosdem! :-)
jnthn never made it to that conference.
colomon jnthn: so, any fresh idea how to get around the Regex::Match.Bool issue? 12:14
jnthn colomon: ooh, I'd actually forgot about it. Sorry. 12:15
colomon no worries, I forgot to look further into the Range test failures with .Bool, either. :) 12:17
12:17 drbean joined
jnthn colomon: Remind me where we got to...was it this... 12:17
ng: augment Regex::Match { }
p6eval ng 322d1c: OUTPUT«sh: ./perl6: No such file or directory␤»
jnthn ...
ng: augment Regex::Match { } 12:18
p6eval ng 322d1c: OUTPUT«sh: ./perl6: No such file or directory␤»
jnthn aww
colomon I never tried doing that in the REPL. but doing it in the source completely broke ng
jnthn ng: augment Regex::Match { } 12:19
p6eval ng 322d1c: OUTPUT«sh: ./perl6: No such file or directory␤»
jnthn hm...slow build or broked build.
12:20 meppel joined
colomon have you pulled in the last 20 hours? maybe my last patch broke something? 12:20
afk for a minute, diaper change 12:21
jnthn colomon: no, will pull now
got something to push anyway
colomon: that augment works in the repl. Hm
12:23 meppl left
jnthn colomon: yes, I'm up to date. 12:23
dalek kudo/ng: 0cc0f71 | jonathan++ | (2 files):
Add back Associative role.
12:26
pugs_svn r29648 | jnthn++ | [t/spec] Un-todo a test that ng passes (that master never did...woo). 12:28
colomon Associative, \o/ 12:33
jnthn colomon: A small step towards having hash. 12:35
colomon A giant leap towards the Perl-nature. :) 12:36
12:40 meppel left 12:41 meppl joined
jnthn colomon: In the spectest results do you also have: 12:41
t\spec\S32-str\split-simple2.rakudo (Wstat: 0 Tests: 41
Failed: 0) TODO passed: 39
colomon: I've been seeing it for a while, just wanted to check it's not only me that's seeing it before I remove the TODO 12:42
ng: sub foo(::T = Mu) { say T }; foo() 12:45
p6eval ng 322d1c: OUTPUT«Mu()␤»
12:46 Bzek left 12:47 cls_bsd joined
colomon jnthn: the reason that's TODO'd (I think) is that fudge-skip is somewhat broken in ng. :) 12:49
jnthn oh.
colomon If I'm thinking of the right place, there are three tests in a block, and I think I had to todo the entire block rather than just the two tests that didn't work 12:51
12:51 mssm joined 12:54 orafu left, orafu joined 12:58 mssm left, mssm joined 13:02 salzh joined
colomon jnthn: even in the REPL, if I say augment class Regex::Match { multi Bool () { say "hello"; } }; 13:03
I still get Method 'Bool' not found for invocant of class 'Regex;Match'
I'm wondering if the fastest solution would just be to patch Regex::Match wherever it is in Parrot... 13:04
jnthn colomon: OK, gimme a moment more working on a bit of this Hash thingy and then I'll take a look.
colomon sure. 13:05
oh, I think the Range tests are failing because I broke nok somehow 13:12
13:14 payload joined 13:15 ruoso joined
colomon oh, this is great! 13:17
Apparently switching prefix:<?> to do .Bool breaks the !? combination. 13:19
Like prefix:<!> doesn't work on a Bool, maybe? 13:20
13:20 payload1 joined
jnthn Oh! 13:20
colomon that's not exactly it...
oh, I see. 13:21
Actually, it's prefix:<?> that's broken, in the most ludicrous way possible.
> say ?True
13:21 payload left
colomon 1 13:21
> say ?False
1
Sure, there is no Bool.Bool method, so when you call it, it defaults to Mu.Bool, and both True and False are .defined. 13:23
sigh.
but hopefully dead easy to fix
jnthn d'oh! 13:24
13:27 payload1 left
colomon I'm a little disturbed it to the range tests to tell me that... 13:27
jnthn Yeah...are we running any Bool tests? 13:28
13:29 jackyf joined
colomon bother. I successfully patched Bool.Bool, but all the nok tests still fail. 13:40
13:44 cognominal joined
jnthn colomon: I'm having plenty of un-fun with hash too. :-/ 13:45
colomon just that kind of morning, I guess. 13:46
looks beautiful here, anyway, the sun is out.
I'm thinking I'm going to pause and try to figure out basic Bool.Bool tests before I plunge further into the madness. 13:48
jnthn That may be wise. 13:49
colomon we're actually running bool.t, it never tests Bool.Bool or prefix:<?>. :) 13:50
13:50 TiMBuS left
cognominal ho, jnthn is swedish now :) 13:51
jnthn cognominal: Not until March! :-P 13:54
cognominal good luck moving there :) 13:56
jnthn Thanks :-) 13:59
14:03 s1n left 14:07 ruoso left 14:09 Su-Shee left 14:13 Su-Shee joined
colomon so, if I say ok !(0 ~~ 1..5) it passes, but if I say nok 0 ~~ 1..5 it fails. :\ 14:13
14:18 iblechbot left 14:25 payload joined 14:37 barney joined, ruoso joined 14:38 barney left, drbean left
diakopter ng: augment Regex::Match { } 14:40
p6eval ng 0cc0f7: OUTPUT«In "augment" declaration, typename Regex::Match must be predeclared (or marked as declarative with :: prefix) at line 1, near " { }"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤»
jnthn std: augment Regex::Match { } 14:41
p6eval std 29648: OUTPUT«===SORRY!===␤Multiple prefix constraints not yet supported at /tmp/ljXE9XrCGR line 1:␤------> augment Regex::Match ⏏{ }␤ expecting any of:␤ multi_declarator␤ typename␤FAILED 00:01 107m␤»
jnthn hmm, progress 14:46
perl6 -e "say EnumMap.new(x => 1, y => 2)<y>" # 2
mberends nice :) 14:47
mberends pines today for open() in ng
colomon mberends: seems like that might be pretty easy to add if you were feeling adventurous.... 14:48
mberends orly? 14:49
jnthn Probably needn't be that different from master.
IO probably needs to change though.
colomon I've never looked at that code, but... what jnthn said.
mberends sure, why not ;)
colomon sure, .lines needs to become lazy... 14:50
mberends a non lazy .get would be nice anyhow as a start 14:52
jnthn aye 14:53
colomon: I'm pushing my early EnumMap and Hash bits.
colomon: Not really functional, but it doesn't cause test fails. 14:54
colomon: I've got them as roles, they can become parametric for typed hashes later on.
colomon I wish I could sort out this prefix:<?> stuff, I've got a bunch of changes but a bunch of test fails, too. 14:55
jnthn Aww.
colomon: What's failing and, if you know, why?
colomon: I don't mind helping...will be a little break from the hash. :-)
dalek kudo/ng: efd82ce | jonathan++ | src/Perl6/Grammar.pm:
Fix for role Foo[::T] does Bar[T] { ... }.
kudo/ng: 61f444a | jonathan++ | (8 files):
Stub in a very minimal EnumMap and Hash in the core setting. Fix up slurpy hash creation. Get { } and < > postcircumfixes actually calling the appropriate methods. Nothing especially useful yet, but no newly broken tests either.
colomon nok in my Range tests is the obvious thing.
jnthn colomon: How much fails?
colomon quoting myself: "so, if I say ok !(0 ~~ 1..5) it passes, but if I say nok 0 ~~ 1..5 it fails."
I've got 39 failing tests in range-basic.t, and then there's the Regex::Match stuff. 14:56
jnthn hmm
multi sub nok(Mu $cond, $desc) is export { proclaim(!$cond, $desc);
}
Looks simple enough. :-/
colomon But the failures are so weird in range-basic.t that I'm worried it's a sign of more fundamental issues.
jnthn Yeah
colomon > use Test; 14:57
> ok !(0 ~~ 1..5)
ok 1 -
> nok 0 ~~ 1..5
not ok 2 -
jnthn ng: say (!(0 ~~ 1..5)).WHAT 14:58
colomon but nok seems to work for simple tests.
p6eval ng 0cc0f7: OUTPUT«Int()␤»
colomon locally that's the same, but (0 ~~ 1..5).WHAT is a Bool. 14:59
jnthn Odd
colomon but then
> nok False
ok 4 -
> nok True
not ok 5 -
jnthn Hm
15:00 athaba joined
colomon jnthn: not odd, actually prefix:<!> is essentially implemented the same way prefix:<?> was before I fixed the latter. 15:00
so it's returning 0 / 1 rather than False / True
jnthn colomon: Is prefix:<!> fixed yet?
Ah.
colomon but returning 0 / 1 was fine for nok before.
jnthn colomon: Maybe you can push and I'll have a dig here? If we can't fix it soonish, we can always revert. 15:01
colomon and !True and !False give the logically correct answers.
okay, that would be great.
I warn you, it makes spectest very noisy with todo passes (as well as the failures).
(building your changes first) 15:02
15:02 masak joined
jnthn lolitsmasak 15:02
masak \o/
mberends \o/
masak jnthn++ # nice post yesterday 15:03
mberends: oh hai!
mberends thanks for moving proto forward
jnthn Hmm well
> my $x = Hash.new; $x<a> = 42; say $x<a>;
42
Not a bad start.
masak mberends: I didn't do much, actually. :)
jnthn: what about non-string keys? :) 15:04
jnthn masak: Give a guy a piece of string and he asks for a space elevator. :-P
masak well, yeah!
jnthn masak: Need to work out if Parrot can handle it yet or not. 15:05
masak nodnod
jnthn masak: I have got Hash as a role now though.
Though not quite parametric yet.
masak is glad he didn't get a flat "no" :)
mberends masak: I was wondering about object-as-key, would that imply the object's address or its value?
jnthn mberends: I'm guessing it goes on ===
masak mberends: address, I think. what jnthn++ said.
jnthn Which in turn goes on .WHICH
Which means it's really up to the thingy in question. 15:06
masak mberends: because otherwise, you can't sensibly store mutable objects.
mberends no, === should mean value, but it's *hard* to do
jnthn mberends: === can mean value. It depends on the type.
mberends === should mean same type and same contents
but not same address 15:07
dalek kudo/ng: 71b6ab9 | (Solomon Foster)++ | src/ (2 files):
Switch prefix:<?> to just call .Bool.
kudo/ng: ecb6e5b | (Solomon Foster)++ | (2 files):
Merge branch 'ng' of [email@hidden.address] into ng
kudo/ng: 4efce8e | (Solomon Foster)++ | (2 files):
Add Bool.pm and implement Bool.Bool.
kudo/ng: a02ed62 | (Solomon Foster)++ | (9 files):
Merge branch 'ng' of [email@hidden.address] into ng
jnthn colomon: building 15:08
masak mberends: oh, so two distinct Sets with the same members will hash the same?
mberends yes
masak mberends: that's kinda neat. but yes, that's also hard. :)
colomon++ # commits
jnthn mberends: As far as I understand, it's up to the type.
mberends objects can also encapsulate other objects, making it a recursive task
masak colomon: if you want to avoid many merge commits, you can try 'git pull --rebase origin ng' 15:09
mberends: indeed. with circular structures as an 'interesting' special case.
mberends masak: also two Temporals, for example 15:10
masak nod.
guess Temporal should override its WHICH, then.
jnthn colomon: Ouch. 15:11
colomon: Locally:
> sub foo($x) { say $x; if !$x { say 42 } }; foo 0 ~~ 1..5
1
> sub foo($x) { say $x; if !$x { say 42 } }; foo 1 ~~ 1..5
1
> sub foo($x) { say $x; if !$x { say 42 } }; foo -1 ~~ 1..5
1
> say 0 ~~ 1..5; say 1 ~~ 1..5; 15:12
1
colomon: Looks like Range.ACCEPTS may be doing the wrong thing. 15:13
colomon: Hm
our Bool multi method ACCEPTS(Range $topic) {
That one won't match since we're comparing a value
class Range is Iterable {
So we call Iterable's ACCEPTS 15:14
Which I'm not sure what does. :-)
ng: Iterable.ACCEPTS(0) 15:15
mberends masak: for an application defined class, I think you'd make a hash key by hashing a the address of the protoobject (if it's still called that) concatenated with a binary serialization of the object data
p6eval ng 0cc0f7: ( no output )
jnthn ng: say Iterable.ACCEPTS(0)
p6eval ng 0cc0f7: OUTPUT«0␤»
jnthn colomon: oh sorry
I was wrong
There's another multi variant
our Bool multi method ACCEPTS($topic) {
?(self!min_test($topic) && self.max_test($topic))
}
masak mberends: not sure I get it. why both the address and the object data? using either one I'd understand, but not a concatenation of both. 15:16
jnthn colomon: min_test and max_test then do numeric comparisions.
erm
colomon: I meant string comp
colomon: Probably thus why the dodgy results.
mberends masak: the protoobject address serves as a unique identifier of the type 15:17
colomon jnthn: that's a known bug (to me anyway), but those tests all passed before the prefix:<?> shift... 15:18
masak mberends: oh! of the protoobject. yeah, now I'm with ya.
jnthn colomon: hm
masak (also known as 'type object' nowadays, by the way :)
colomon because
ng: 3 lt 4 15:19
p6eval ng 0cc0f7: OUTPUT«sh: ./perl6: No such file or directory␤»
jnthn colomon: Also changed it to numeric comp doesn't help
So yeah, there's something else here.
colomon I've been meaning to add more tests that actually break when you use the wrong comp, but I haven't gotten around to it yet. Keep on getting distracted by other things. :)
jnthn :-)
15:20 s1n joined
jnthn colomon: It does look to me like Range.ACCEPTS is somehow returning bad results though. 15:20
colomon bad how?
jnthn Well, simply because:
> say 0 ~~ 1..5; say 1 ~~ 1..5; 15:21
1
colomon woah.
15:21 pmurias joined
colomon you're quite right. 15:21
jnthn I don't have an answer for why though.
colomon but you've bumped me into looking in the right spot, I hope. 15:22
masak makes bad continuation jokes over at #haskell 15:23
colomon makes min_test "public" so he can test it from the REPL... 15:25
pmurias what's min_test? 15:27
colomon Range.min_test
jnthn pmurias: Just a helper method in the Range implementaiton.
15:27 Psyche^ joined
pmurias doubts it should be exposed to the user 15:28
colomon tests if the value passed to it is above the minimum of the Range.
but it should definitely be exposed to the tester at this moment in time.
> say (1..5).min_test(0) && (1..5).max_test(0)
0
> say ?((1..5).min_test(0) && (1..5).max_test(0))
1
> say ?0 15:29
1
> say ?1
1
well, that's easy enough to fix...
jnthn oh! 15:30
colomon and something else that should be tested somewhere, of course...
15:31 Patterner left, Psyche^ is now known as Patterner
jnthn > my %h; %h<a> = 42; say %h<a>; 15:31
42
Another baby step. :-)
pmurias colomon: please don't test for min_test in the offical Perl 6 test suit
jnthn pmurias: I think colomon was referring to ?0 and ?1 15:32
colomon indeed
stupid, fundamental tests that never-the-less can fail, and in very ugly ways. 15:33
15:37 am0c left
dalek kudo/ng: 48c9903 | (Solomon Foster)++ | src/core/Int.pm:
Add Int.Bool.
15:41
colomon heh, I wondered about that. A lot of the todo passes disappear with that patch. :( 15:42
well, we're getting there... 15:43
jnthn colomon: Does it fix most of the fails?
colomon it fixes all those range fails.
jnthn Great.
So "just" the regex one now? 15:44
colomon still fails S05-metasyntax/changed.t and S12-class/instantiate.t, which are Regex::Math.
*Match
jnthn righty
colomon S03-operators/boolean-bitwise.t is failing two tests, I didn't notice those before.
that's definitely my bailiwick. :)
jnthn colomon: I just pushed a small patch that gets my %h putting a properly init'd Hash in %h. :-) 15:45
colomon oh, turns out this is a good stress test for prefix:<?>. :)
\o/
ng: say ''.Bool 15:46
p6eval ng a02ed6: OUTPUT«1␤»
colomon rakudo: say ''.Bool
p6eval rakudo 1d4928: OUTPUT«Method 'Bool' not found for invocant of class 'Str'␤in Main (file src/gen_setting.pm, line 324)␤»
colomon rakudo: say ?('')
p6eval rakudo 1d4928: OUTPUT«0␤»
jnthn I like it when we get it more right in ng than in master. :-)
colomon wait, is ''.Bool supposed to be Tree?
*True?
dalek kudo/ng: 861695b | jonathan++ | src/ (4 files):
Get my %h declarations init'ing a Hash correctly.
15:47
jnthn No
Str.Bool is probably missing!
d'oh
:-)
I was happy that we *had* a Bool.
colomon Ah, okay. :)
jnthn rakudo: my %h = x => 1, y => 2; for %h { .WHAT.say } 15:48
p6eval rakudo 1d4928: ( no output )
jnthn rakudo: my %h = x => 1, y => 2; for %h { .WHAT.say }
colomon I need to get moving with the rest of my life at the moment, if someone hasn't coded Str.Bool by the time I'm back I'll take a stab at it. :)
p6eval rakudo 1d4928: ( no output )
jnthn colomon: OK, cool. :-) 15:49
TimToady ng: say Bool ~~ Int 15:50
p6eval ng 861695: OUTPUT«0␤»
TimToady that should be 1, since Bool is an enum 15:51
jnthn TimToady: Heh. Apart from we didn't implement enums yet. :-) 15:52
TimToady ng: enum X <A B C>; say A ~~ Int
p6eval ng 861695: OUTPUT«Could not find non-existent sub &X␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
TimToady ah :)
still, seems to me that Bool.Bool were missing, and properly a subset of Int, then it would have defaulted to Int.Bool rather than Mu.Bool
and Int.Bool would consider 1 to be true 15:53
and 0 false
jnthn Oh, cunning. :-) 15:54
TimToady but maybe that would break the circularity saw on booleans
jnthn Yeah, that is a tricky issue.
sjohnson in p6, will 1 .. 5 and 1..5 behave differently? 15:57
TimToady no
masak S06 explains that if one does 'is tighter' twice based on the same precedence level, one ends up on the same precedence level. I know why this is, since I know how it works internally, with the strings representing the precedence level. what I'm curious about is why it's spec'd to work that way, rather than two 'is tighter' based on the same precedence level creating two distinct precedence levels, the second one slightly tighter than
the first?
sjohnson my vim syntax highlighting shows it differently.. i suppose i'll have to take it up with whoever wrote that 15:58
TimToady vim syntax highlighting is cheating all over the place
masak sjohnson: the vim syntax highlighting can never be perfect as long as it doesn't implement an STD-like Perl 6 parser. :)
uniejo ng: say ?0.0, ?0i 16:00
p6eval ng 861695: OUTPUT«11␤»
sjohnson i wonder if people were burnt at the stake for color syntax highlighting back in the DOS days
jnthn More missing .Bool
TimToady masak: that would take a registry of all existing precedence levels to detect collisions, including any imported ones. 16:01
masak granted.
TimToady and I'm not sure it woudl DW most people M.
masak I'm thinking whether the current model might trip people up too.
TimToady well, we could always add 'is tighterer' if it becomes and issue 16:02
masak :)
TimToady but most people are simply going to alias to an existing level
masak nod. 16:03
TimToady so they can tell themselves "This is just like addition"
masak maybe there should be a slight social stigma on using 'is tighter' where 'is equiv' would work.
TimToady slight social stigmas a Perl culture speciality 16:04
masak yeah. I can see how people from S&M languages may freak out if the miss the part about slight social stigmas. :) 16:05
TimToady TMTOWTDIWrong 16:06
jnthn ng: Regex::Match.HOW 16:09
p6eval ng 861695: ( no output )
jnthn ng: say Regex::Match.HOW
p6eval ng 861695: ( no output )
jnthn ng: say Regex::Match.HOW.name
p6eval ng 861695: OUTPUT«Method 'name' not found for invocant of class 'P6metaclass'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
TimToady ng: say Match.WHAT.perl 16:10
p6eval ng 861695: OUTPUT«Could not find non-existent sub &Match␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
jnthn ng: say Regex::Match.WHAT.perl 16:11
p6eval ng 861695: OUTPUT«Regex::Match␤»
TimToady so to make diakopter's implicit question explicit, why is there a Regex:: on the front?
jnthn TimToady: Dunno.
TimToady: I'm guessing there shouldn't be? 16:12
TimToady well, it's specced as just Match, and I'm wondering what the reasoning is. we'll have to ask pm when he comes back
jnthn TimToady: Yeah. May just be oversight.
TimToady: I'd rather ask Pm before trying to change it. :-) 16:13
TimToady me2
rakudo: enum X <a b c>; say a ~~ Int; say True ~~ Int # buglet 16:15
p6eval rakudo 1d4928: OUTPUT«1␤0␤»
jnthn Aye. 16:16
TimToady rakudo: say SAME ~~ Int
p6eval rakudo 1d4928: OUTPUT«Could not find non-existent sub SAME␤in Main (file src/gen_setting.pm, line 324)␤»
jnthn Quick! Masak!
:-)
TimToady rakudo: say Same ~~ Int
masak what? what? :)
p6eval rakudo 1d4928: OUTPUT«Could not find non-existent sub Same␤in Main (file src/gen_setting.pm, line 324)␤»
TimToady rakudo: say Increasing ~~ Int 16:17
p6eval rakudo 1d4928: OUTPUT«Could not find non-existent sub Increasing␤in Main (file src/gen_setting.pm, line 324)␤»
jnthn rakudo: say Order::Increasing ~~ Int
p6eval rakudo 1d4928: OUTPUT«invoke() not implemented in class 'Undef'␤in Main (file <unknown>, line <unknown>)␤»
jnthn ...
masak submits TimToady++'s rakudobuglet
jnthn thought rakudo master knew about Order
rakudo: say Order::Increase ~~ Int
p6eval rakudo 1d4928: OUTPUT«1␤»
jnthn oh.
TimToady: Should it be Increasing or Increase? 16:18
TimToady Increase is fine
I just couldn't remember the spec :)
jnthn Just found it. :-)
Yes, it's spec (S03) as Order::Increase 16:19
masak TimToady: should a ~~ Int be 0 or 1 in your example?
TimToady enums are integers, generally
masak guesses 1
right.
TimToady so it's a bit like asking Int ~~ Int
depending on how real you think the subtype is 16:20
masak oh, I see now! True is (supposed to be) an enum too.
an enum value.
TimToady yeah
colomon TimToady: Int.Bool wouldn't have helped with Bool.Bool even if ng had Bool ~~ Int -- Int.Bool wasn't implemented either.
TimToady well in any case, that was depending on a low level self == 0 test that can decode any integer including a boolean, which is unlikely (hence the circularity saw business) 16:22
somehow conditionals have to break the Bool.Bool returns a Bool problem 16:23
16:24 justatheory joined
colomon I'm not sure I see the problem? 16:24
TimToady one way would be to return an int rather than an Int, maybe, assuming that conditionals can test a native int without calling .Bool 16:26
jnthn colomon: Argh, I think I've found The Problem. :-/
colomon: With Regex::Match 16:27
colomon: And...argh.
colomon: Basically, we import the namespace from a library
colomon: Which is fine, apart from...it goes and scribbles over the namespace that's set up by writing an augment class Regex::Match { }
And so we lose the code to do that, and then we explode. 16:28
...that took some finding. :-/ 16:29
TimToady rakudo: say Finding ~~ Fixing 16:30
p6eval rakudo 1d4928: OUTPUT«Could not find non-existent sub Fixing␤in Main (file src/gen_setting.pm, line 324)␤»
TimToady hmm 16:32
rakudo: say 2.Bool
p6eval rakudo 1d4928: OUTPUT«Method 'Bool' not found for invocant of class 'Int'␤in Main (file src/gen_setting.pm, line 324)␤»
jnthn colomon: well, there's a workaround... ;-)
INIT {
Regex::Match.^add_method('Bool', method () {
self.to >= self.from
});
}
TimToady rakudo: say Bool(2)
p6eval rakudo 1d4928: OUTPUT«invoke() not implemented in class 'Boolean'␤in Main (file <unknown>, line <unknown>)␤»
TimToady rakudo: say Order(1) 16:33
p6eval rakudo 1d4928: OUTPUT«invoke() not implemented in class 'Integer'␤in Main (file <unknown>, line <unknown>)␤»
jnthn TimToady: In the spec Foo($x) where Foo is a typename is equivalent to $x.Foo
TimToady: Is that a static transformation?
TimToady was just thinking Order() is potentially the same as sign()
jnthn: yes, one of the reasons we want to know all typenames in advance 16:34
jnthn TimToady: OK, that makes it easier to implement then :-)
TimToady indeed :)
TimToady bows and bonks oversized head on floor
16:35 am0c joined
jnthn colomon: I'm putting in what I pasted above as a cheat. 16:35
colomon: Need to check what Pm's intentions are for Match and its relation to Regex::Match, or if they're the same, or whatever. :-) 16:36
TimToady is self.to -1 on a non-match?
jnthn TimToady: iirc, it's gonna be less than .form 16:37
masak jnthn: that ^add_method method... wow! <3
jnthn May be -1 though.
masak: I met a model and loved her too.
TimToady rakudo: 'a' ~~ /b/; say $/.to
p6eval rakudo 1d4928: OUTPUT«-2␤»
TimToady no, it's not -1 :)
rakudo: 'a' ~~ /b/; say $/.from
masak jnthn: thought she was an oil queen.
p6eval rakudo 1d4928: OUTPUT«1␤»
jnthn masak: sshhhh...no campaigning the day before the election! 16:38
masak zips it
jnthn masak: She's a gas queen anyway. :-P
masak oh, gas.
jnthn masak: Actually, a gas princess. :-P
Cute, huh.
:-)
TimToady wishes more guys could keep it zipped in the presence of rich models
masak yeah. important distincion. queen would have sucked in a way.
s/c/ct/ 16:39
TimToady not gonna touch that one...
jnthn I was thinking just the same!
masak pervs. :P
jnthn colomon: Hm
colomon: OK, seems we fail less now. 16:40
16:40 k23z__ joined
masak
.oO( you err and err and err but less and less and less... )
16:40
www.poemhunter.com/poem/the-road-to-wisdom/ 16:41
TimToady the meter limps
masak I quoted it wrong.
jnthn colomon: Oh noes, I think I broke slurpy hashes somehow. Though I'm sure it passed when I comitted. :-/ 16:43
dalek kudo/ng: 253ce4b | jonathan++ | (2 files):
Cheat for Match.Bool.
16:44
jnthn oh, I know what I did
duh
TimToady there is a distinct lack of grammatical parallelism between Increase and Same though 16:45
jnthn Yeah 16:47
TimToady though as I recall, we picked Increase because it couldn't be read the other way: a is bigger than b
a mumble b --> Increase is obviously b > a 16:48
Downward,Same,Upward maybe
masak More,Same,Less :) 16:49
TimToady can be misready as a 'is more than' b
masak right.
TimToady misread, even
dalek kudo/ng: e2c5052 | jonathan++ | src/core/ (2 files):
Rip out an accidentally committed fail.
masak Trumps,Ties,Folds 16:50
TimToady Trend::Upward
if 2 values can make a trend...
but the graphical slope is a good way to disambiguate the metaphor, anyway 16:51
jnthn TimToady: Hmm. Question.
TimToady: In hash.t we have:
isa_ok(%hash1, Hash);
16:51 iblechbot joined
jnthn TimToady: Thing is, Hash is now a role (so we can make it parametric). 16:52
TimToady: Is this test wrong, or should .isa me smart enough to pun a role?
*be
And ask if the object is an instance of the punned class?
TimToady I doubt .isa should be in the business of anything other than introspection
jnthn Or should the test just do %hash1 ~~ Hash
TimToady .does really 16:53
since .does is supposed to encompass .is
jnthn OK, will change. thanks. 16:54
TimToady at least I think it's still specced that way
it's a more specific test than ~~, so perhaps faster
pugs_svn r29649 | jnthn++ | [t/spec] Check .does rather than using isa_ok for Hash test. 16:55
jnthn oh, gah, there's more instances. 16:56
TimToady and ~~ has to dispatch to ACCEPTS(Any:U:) before it can decide to do .does
though again, we know that types are types at compile time
so it could be optimized away
16:58 colomon left
pugs_svn r29650 | jnthn++ | [t/spec] More s/isa/does/ in hash.t. 16:59
17:05 dalek left 17:06 dalek joined, payload left 17:08 jackyf left 17:11 dalek left
masak news.perlfoundation.org/2010/02/201...ncing.html 17:11
17:11 dalek joined
masak that grant proposal piques my interest, though I don't feel knowledgeable enough to judge whether it'd benefit Perl 6. 17:12
mberends It would be interesting to see what diakopter++ thinks of the alternative proposal, since he has a very good understanding of pattern languages and regex engines. Bottom line: would it make the ultimate Christmas earlier or later? 17:24
masak I don't see how it'd make it come earlier. :) 17:26
but it might make it more interesting or something.
mberends From a grant perspective, it does not feel right to make an award retroactively for past and incomplete work.
masak I agree we should hear what diakopter says.
17:26 colomon joined
masak and other type-fu people. 17:26
mberends: oh, is it for past and incomplete work? I didn't read it that carefully. 17:27
mberends imho a grant should be for a finite but complete deliverable, including implementation. 17:29
colomon TimToady: you mentioned something the other day about ?$a returning something that does Boolean rather than just a Bool? 17:30
masak mberends: aye. I agree.
mberends: maybe write something to that effect in the comments section of that post? 17:31
17:31 araujo left
mberends oki 17:31
TimToady colomon: just pointing out that + and ~ are casts to roles, and maybe ? is similar
except there aren't a lot of Bool types 17:32
colomon TimToady: ah, so that's something that would make sense but is not spec'd at all yet, then?
I was just pondering if I should make my spectests more encompassing...
masak time to go home and do laundry/cleaning/baking :) & 17:33
17:33 masak left
dalek kudo/ng: 2d5c300 | jonathan++ | src/core/Hash.pm:
Start to fill our Hash!STORE. Gets us a bit further into hash.t.
17:33
colomon wonders why the Wendy's parking lot is so crowded at the moment. 17:34
\o/ # came up with a Str.bool which makes spectest pass. 17:42
17:45 justatheory left
jnthn \o/ # now up to test 12 in hash.t 17:45
TimToady: What would you expect (%hash5{"one", "three"}).WHAT to be? 17:47
TimToady: That is, what should a slice from a Hash give back?
17:47 uniejo left
colomon jnthn: should I expect t/spec/S02-whitespace_and_comments/minimal-whitespace.t to fail for the moment? 17:48
jnthn colomon: oh, yes, sorry.
colomon: Meant to mention that.
colomon "Odd number of elements found where hash expected" us the error.
okay.
jnthn It was a bit bogus that we passed it before anyway :-)
colomon oooo, racing patches here. ;) 17:49
jnthn :-D 17:50
dalek kudo/ng: 0a9c12d | jonathan++ | (3 files):
Split up Enum (immutable) and Pair (mutable).
17:51
kudo/ng: 815a825 | jonathan++ | src/core/Hash.pm:
Teach Hash's STORE about Enum (and thus Pair).
kudo/ng: 73f7929 | jonathan++ | src/ (2 files):
Implement infix => operator for pair construction.
colomon good thing we don't have hour-long spectests at the moment...
colomon ay ay ay!
jnthn colomon: I've hit the point of realizing pairs need some attention before I go much further with hashes. :-)
colomon oh, okay, that's all the stuff I just pulled a second ago.
:)
17:52 uniejo joined
TimToady jnthn: I would expect it to return a Parcel, like pretty much anything else that can return a list 17:53
colomon kind of hopes to shock pmichaud with how much progress has been made by the time he gets back. :)
jnthn colomon: :-) 17:54
colomon: wfm
TimToady: OK, thanks.
17:56 colomon left 17:57 __rnddim__ joined
dalek kudo/ng: c0ae54d | (Solomon Foster)++ | (2 files):
Add Str.pm and implement Str.Bool.
18:02
kudo/ng: 654b789 | (Solomon Foster)++ | src/core/Hash.pm:
Merge branch 'ng' of [email@hidden.address] into ng
kudo/ng: 2000083 | (Solomon Foster)++ | (6 files):
Merge branch 'ng' of [email@hidden.address] into ng
18:02 colomon joined
pugs_svn r29651 | colomon++ | [t/spec] Add tests for Bool.Bool and ?Bool. 18:02
colomon oh, connected long enough to get back on here.
Wendy's wi-fi is proving spotty today (from their parking lot) 18:03
18:03 jackyf joined 18:04 mssm left, mssm joined
pugs_svn r29652 | colomon++ | [t/spec] Tests to verify that ?|, ?&, and ?^ return Bool. 18:04
colomon ng: say 5.Str 18:07
p6eval ng 73f792: OUTPUT«5␤»
colomon ng: say "5".Int
p6eval ng 73f792: OUTPUT«Method 'Int' not found for invocant of class 'Perl6Str'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
18:09 lichtkind joined
pugs_svn r29653 | colomon++ | [t/spec] Tests for Int.Bool and ?Int. 18:11
colomon rakudo: say ?'0' 18:14
p6eval rakudo 1d4928: OUTPUT«0␤»
colomon rakudo: say ?'1'
p6eval rakudo 1d4928: OUTPUT«1␤»
jnthn \o/ 18:15
colomon \o/ ? 18:16
pugs_svn r29654 | colomon++ | [t/spec] Tests for Str.Bool and ?Str. More tests would probably be useful.
jnthn colomon: Getting colonpair back in properly and almost got it working. 18:17
colomon \o/ indeed
!
rakudo: say ?(0.Num) 18:23
p6eval rakudo 1d4928: OUTPUT«0␤»
colomon That's some blazing speed there, p6eval! (or is it just a bad connection on my end?) 18:24
18:25 ash_ joined
dalek kudo/ng: f2368bc | (Solomon Foster)++ | t/spectest.data:
Add new S32-str/bool.t to spectest.
18:25
jnthn should remember to stop hacking and eat at some point :-)
ash_ food is good 18:26
i rather enjoy eating food
colomon same here. :)
__rnddim__ what is this "food"? Where I come from, we eat noms.
colomon where I come from, we nom food. 18:27
__rnddim__ I've heard of people who nom noms! (they're weird...) :)
ash_ my dog nom's noms and noms most things that aren't edible 18:28
like the power cable to my laptop... 18:29
__rnddim__ want noms to nom now.
jnthn ng: my $foo = :x(42); say $foo.WHAT 18:31
p6eval ng 200008: OUTPUT«No applicable candidates found to dispatch to for '&infix:<=>'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
jnthn That one works now :-)
ash_ thats a pair right? 18:32
jnthn aye
ng up to this point has only really cared for pairs in argument lists though
Rather than thinking of them as pair objects that in argument lists become named parameters.
(We do the transform at compile time, so we emit a call with named args, mind.) 18:33
OK, let's see if this thing spectests now I did those bunch of changes...
colomon "ng 200008" -- some software is on version 2010 by now, but Perl 6 is literally 100,000 years ahead of them... 18:35
jnthn yay, tests are no worse.
colomon \o/
18:36 ash_ left 18:37 payload joined 18:39 ash_ joined
colomon ng: say "5" + "4" 18:41
p6eval ng 200008: OUTPUT«9␤»
jnthn Though sadly auto-pairs failed.
Trying to fix.
colomon ng: say "5".Num
p6eval ng 200008: OUTPUT«Method 'Num' not found for invocant of class 'Perl6Str'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
colomon ng: say +"5"
p6eval ng 200008: OUTPUT«5␤»
ash_ is 200008 the git hash for the current commit? 18:42
jnthn ash_: Yeah! 18:43
ash_ sweet
jnthn grrr...tsssk...why do I have to wash up before I cook dinner. :-/ 18:44
colomon ash_: it's actually not the current commit, but p6eval hasn't yet caught up. enjoy it while it lasts. :) 18:45
ash_ alrighty, will do 18:46
how does it auto update? is it on a cronjob to git pull? or does it have a github commit hook that tells the server to re-compile? (i assume not if its not completely up to date) 18:47
18:47 colomon left
jnthn ash_: cronjob I think 18:48
18:49 colomon joined, takadonet1 joined
takadonet1 hey everyone 18:50
jnthn hi takadonet1
colomon o/
takadonet1 I normally don't login into #perl6 on the weekend but I just checked the commits for the ng branch and WOW! Good job jnthn and colomon! 18:51
colomon blushes 18:52
and jnthn++ for the key insight into understanding where I was going wrong...
18:54 Chillance joined
ash_ i wonder if you'd ever be able to do all of perl 6 in nqp-rx or if you'd need something else... that would be cool cause if you could implement nqp-rx in anything then you could also run perl 6 18:55
colomon My boy is stirring in the backseat and my MBP battery is running low, probably won't be on here for too much longer this afternoon, as I plan on trying to take him to the open contradance band jam once we get home. 18:56
jnthn Cool :-)
colomon++ # nice commits today! 18:57
colomon: Just landed another couple. :-)
takadonet1 cya everyone Monday morning 18:58
colomon He loves traditional-ish music and if things go really well I might even get to play a little. (Not that I know much contra music, but I think they borrow from Irish dance music a good bit, and that I know.)
\o/ on more commits!
18:58 takadonet1 left
pmurias ash_: running the Perl 6 *compiler* on anything would give us much 18:58
dalek kudo/ng: 267a6ea | jonathan++ | t/spectest.data:
We now pass S12-construction/autopairs.t again.
18:59
kudo/ng: 68f1289 | jonathan++ | src/Perl6/ (2 files):
Get our pair handling more in line with how it should be. We also handle more cases of colonpair, and more correctly to boot, and our parsing of them looks like STD. A little refactor so we can trivially get auto-pairs like :$!x and :$.x right too (in theory, untested).
jnthn ash_: I've been thinking along those lines too, fwiw. :-) 19:00
colomon I think it would be very hard to do, say, the numeric bits in nqp-rx at the moment.
ash_ ng: <(*+*)*(*+* +*/*) **** ** * * *+*+*/* **** ** * * *+*-*/* **** ** * * *+* ****-* **** ** * * *-(*-*/ *) ** (*+*/*) **** ** * * *-* **** ** * * *-*+*/* **** ** * * *+* **** ** * * *-* * * ***((* - */*) ** * * *-*/*) * * **** ** * * *+*/* ****-* ***(*-* /*)**(*+*/*) * * ***((*-*/*)** * * *-*/*) * * **** ** * * *+*/* **** ** * * *+*+*/*-* * *>.split(<***>).map: {eval("(* ** *+*+*-*/*+$_)(<* * *>)").chr\.print} # :-( moritz obfu doesn't wor 19:01
p6eval ng f2368b: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (src/stage0/Regex-s0.pir:907)␤»
colomon being able to call down to Parrot for them is a huge help.
ash_ i know a suggest from coke in #parrot was to give nqp some way of overiding vtables from within nqp, so you don't have to drop down to pir, not sure if that would help rakudo much though, just kinda thinking 19:03
the dependency chain of things is kinda interesting, rakudo needs nqp-rx needs nqp needs pge needs imcc 19:05
jnthn nqp-rx doesn't need nqp and pge now - it's bootstrapped. :-) 19:06
ash_ ah, i didn't know that, i thought it needed nqp still 19:07
19:07 colomon left, payload left
ash_ stage 0 just uses pir then? 19:08
jnthn Yeah 19:09
ash_ how did pmichaud write stage 0? there are some very seemingly random bits in it, were they made with something else? 19:13
jnthn ash_: stage0 is just the saved, generated output
19:13 cognominal left
ash_ oh, i see a build/gen_bootstrap.pl 19:14
19:14 cognominal joined
ash_ hmm 19:15
that doesn't do much
i am just a bit baffled how all of that works
jnthn I'm not completely sure in details; you'd have to ask Pm. :-)
dinner break :-) 19:16
19:21 cognominal left, cognominal joined 19:28 colomon joined 19:37 eternaleye joined 19:39 cognominal left 19:40 cognominal joined 19:45 araujo joined
jnthn ng: sub foo($a, $b) { $a.WHAT ~ $b.WHAT }; say foo(1,2) 19:53
p6eval ng 267a6e: OUTPUT«0Int()␤»
jnthn wtf.
ng: sub foo($a, $b) { ~$a.WHAT ~ ~$b.WHAT }; say foo(1,2)
p6eval ng 267a6e: OUTPUT«Int()Int()␤»
19:54 dalek left 19:55 dalek joined
dalek kudo/ng: 7ff29e3 | jonathan++ | t/spectest.data:
Another test that we can pass now.
19:57
ash_ did ~ not stringify both sides? 19:59
in your above foo
jnthn ash_: Not quite sure what's going on. 20:00
ah 20:01
ng: say 1.WHAT ~ 2.WHAT
p6eval ng 267a6e: OUTPUT«0Int()␤»
ash_ ng: say 1.5.WHAT ~ 2.WHAT 20:03
p6eval ng 267a6e: OUTPUT«Multiple Dispatch: No suitable candidate found for 'concatenate_str', with signature 'PSP->P'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
__rnddim__ that's weird. It says Int()Int() in my local copy of rakudo.
rakudo: say 1.WHAT ~ 2.WHAT
p6eval rakudo 1d4928: OUTPUT«Int()Int()␤»
jnthn oh, it was just using the pir op directly :-/
__rnddim__: This is from the ng branch rather than Rakudo. 20:04
erm
rather than master I meant.
__rnddim__ ah. Ok.
ash_ ng is a kinda fork of rakudo to rework its innards 20:05
jnthn: does that msg help any? when i did 1.5.WHAT 20:07
weird... 20:08
jnthn ash_: I think I've got it fixed.
ash_ look at this:
jnthn Commit coming.
ash_ ng: say (1.5.WHAT).Str
p6eval ng 267a6e: OUTPUT«Type objects do not have state, but you tried to access attribute $!numerator␤current instr.: 'perl6;Rat;Num' pc 271815 (src/gen/core.pir:27275)␤»
ash_ ng: say 1.WHAT.Str
p6eval ng 267a6e: OUTPUT«Int()␤»
jnthn ash_: Hmm...weird-ish. 20:10
dalek kudo/ng: 273ce82 | jonathan++ | src/ (3 files):
Move infix:<~> to the core setting; also remove the :pirop mention from the grammar (we never actually used the PIR version of the op).
20:15
ash_ i guess the 1.5.WHAT.Str has something to do with rat's
not the ~
jnthn ash_: I think so, yes. 20:17
pugs_svn r29655 | jnthn++ | [t/spec] Some corrections, along with a little re-fudging of S02-literals/pairs.t. 20:18
dalek kudo/ng: 3c1bb0a | jonathan++ | src/core/operators.pm:
Add WHAT(...) - wants to be a macro in the future, when we support them.
20:26
kudo/ng: bcd6689 | jonathan++ | t/spectest.data:
Two more tests that we can pass again.
20:34 justatheory joined 20:35 payload joined
dalek kudo/ng: 951c71c | jonathan++ | (3 files):
Move most of the things in Pair to Enum, which Pair inherits from. Bring in various things from master, including ACCEPTS, which has been corrected to meet the latest spec.
20:43
kudo/ng: 9b6f83b | jonathan++ | t/spectest.data:
We now pass S03-smartmatch/any-pair.t.
20:51 _Jedai_ joined
dalek kudo/ng: 2849ae6 | jonathan++ | src/builtins/Mu.pir:
s/Iterator/iterator/.
20:55
jnthn colomon: I've added back a few basic IO bits - the iterationy things need a good fixing/cleanup though before it's really usable. Figure you know that stuff better than I, so feel free to hack on it if you like. I'm done for today. :-) 21:12
mberends: I think you asked for open (or slurp) this morning...you can haz it now. :-)
dalek kudo/ng: 137e8f8 | jonathan++ | src/core/IO.pm:
Implement basic open support in the core setting.
kudo/ng: 6a82784 | jonathan++ | src/core/IO.pm:
Add back close and slurp functions, re-written into Perl 6.
uniejo Now ng fails on me: make: *** No rule to make target `src/core/Enum.pm', needed by `src/gen/core.pm'. Stop. 21:13
jnthn ah, hrovno 21:14
mberends jnthn: wow! I waz lookin at howto put back open, an U haz dun it :-)
21:15 nwc10 joined
nwc10 jnthn: so this is what happens when you have a good rest? github.com/rakudo/rakudo/commits/ng/ :-) 21:15
jnthn nwc10: This is what happens *after* I have a good rest. :-) 21:16
(good rest)++ 21:17
Wow...I did *that* many commits?!
uniejo: Erm. I'm kinda confused...git seems to think that file exists and is under version control. 21:18
nwc10 well, the computer says that you did :-)
will ng merge back to master soon?
jnthn OH NO
nwc10 OH NO?
jnthn Git has it as enum.pm
nwc10 ah. two conversations. 21:19
jnthn When it should be Enum.pm
nwc10: I think the plan is to do so next week.
nwc10 ah right.
good luck with that. well, I hope you don't need luck. but if you do, ... 21:20
jnthn :-)
21:21 nwc10 left
jnthn uniejo: I'm not quite sure what I've done. I am quite sure it only affects you folks on pesky operating systems with csae-sensitive file systems. :-) 21:21
uniejo: Try now. :_) 21:23
*:-)
dalek kudo/ng: e0970e3 | jonathan++ | src/core/enum.pm:
Try to fix Enum.pm issue (part 1).
21:24
kudo/ng: aa0a084 | jonathan++ | src/core/Enum.pm:
Try to fix Enum.pm issue (part 2).
huf i'm going to make an fs that confuses random characters on every remount, to point out the insanity of case-insensitive fs-es ;)
uniejo is still looking for command to ucall /vmlinuz ;-)
jnthn huf: You make insanity out all bad. :-) 21:25
uniejo is now compiling (on slow netbook) 21:28
jnthn: Looks good. Thanks. 21:30
jnthn \o/ Thanks, uniejo++ 21:32
mberends: If you want to do other bits on IO, you could always put back the sockets. :-) 21:33
21:36 tlb joined
__rnddim__ how does one convert decimal numbers to hex in perl? 21:38
lichtkind jnthn: cheers, why uses NQP := instead of = ? 21:40
21:42 muujtabaalboori joined 21:43 muujtabaalboori left 21:44 hello joined
sjohnson __rnddim__: do you know what they are in Perl 5? 21:44
21:44 hello is now known as Guest62734
sjohnson i had trouble finding the Perl 6 equivs, but they are probably around 21:44
21:45 muujtabaalboori joined
__rnddim__ Tried 33.hex, 33.Hex, hex(33), and so on. 0x33 works, but I need the other way round. 21:45
I suppose if I knew p5 I would have a better idea :)
21:46 Guest62734 left
__rnddim__ \me thinks of how he skipped learning perl 5 because perl 6 looks better. 21:46
__rnddim__ thinks of how he skipped learning perl 5 because perl 6 looks better.
__rnddim__ apologizes for the wrong slash (stupid LaTeX)
21:47 muujtabaalboori left
mberends jnthn: I just verified that .eof and .get also work :-) I'll try to puzzle sockets out (but don't know how well that will go) 21:47
jnthn __rnddim__: I don't remember how to do that off the top of my head, sorry. 21:50
lichtkind: NQP does not support assignment, only binding.
lichtkind: Only providing binding keeps the implementation simpler and makes the code a bit easier to analyse and reason about. 21:51
lichtkind jnthn: ah thatswhy thanks and why ? restriction on purpose?
ah
21:51 Guest97786 left
__rnddim__ ah well, its not important now. 21:51
jnthn Yes, intentional.
mberends: Cool! I think iteration doesn't quite work though.
mberends: But I'm behind on catching up with the new API.
Shouldn't be too hard to get it back in shape, anyway. 21:53
mberends just added a long comment to news.perlfoundation.org/2010/02/201...ncing.html
21:53 k23z__ left
jnthn Taking the PIR versions of chdir/unlink/rmdir and re-working those into the setting is also a relatively straightforwardish task. 21:53
(find the PIR versions in src/old/builtins/io.pir, but we should really put these back in Perl 6 with pir::op style things as needed). 21:54
mberends yes it's in the same area, probably a good learning exercise to have a crack at it :) 21:55
jnthn <pointing with big finger> Your ng needs you! 21:56
21:59 hercynium joined
mberends has no idea what jnthn means ;) 22:00
jnthn mberends++ # good comments 22:01
22:03 cognominal left, kensanata joined 22:19 snearch_ joined 22:22 cognominal joined 22:26 Helios left 22:29 uniejo left 22:30 payload left
__rnddim__ I would love, for once, to see a programming language that can handle hex fractions, such as A.3 or 6.2A. 22:30
22:30 Helios joined
__rnddim__ Just for fun, of course :) 22:30
22:32 Helios left 22:33 snearch_ left
__rnddim__ checks his hexclock. It says the time is 9_BA (roughly in the PST area) 22:36
22:37 Helios joined 22:38 iblechbot left
mberends pugs: say :16<a.a> 22:41
p6eval pugs: OUTPUT«10.625␤»
mberends pugs: say :16<A.3>; say :16<6.2A>; 22:42
p6eval pugs: OUTPUT«10.1875␤6.1640625␤»
jnthn rakudo: say :16<a.a>
p6eval rakudo 1d4928: OUTPUT«10␤»
jnthn :-/ 22:43
mberends pugs++
jnthn Indeed.
of course...
ng: say :16<a.a>
p6eval ng aa0a08: OUTPUT«Confused at line 1, near "say :16<a."␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤»
jnthn :-)
Todo!
mberends ponders unlink 22:44
22:44 snearch_ joined 22:45 snearch_ left
__rnddim__ ng: say :16<16D.4> 22:45
p6eval ng aa0a08: OUTPUT«Confused at line 1, near "say :16<16"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤»
22:45 EXAAB3AV joined
__rnddim__ pugs: say :16<16D.4> 22:46
p6eval pugs: OUTPUT«365.25␤»
__rnddim__ conclusion: must get pugs!
22:48 ascent_ left, ascent_ joined
__rnddim__ ng: say :16<DEAD> 22:53
p6eval ng aa0a08: OUTPUT«Confused at line 1, near "say :16<DE"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤»
__rnddim__ rakudo: say :16<DEAD> 22:54
p6eval rakudo 1d4928: OUTPUT«57005␤»
__rnddim__ one ought to fix that in ng (maybe me, if I feel like learning another language) 22:55
jnthn __rnddim__: Feel free to have a crack at it. :-) 22:56
__rnddim__ all right... First off, do I use the Googel or the Yayhoo! operating system? :) 22:57
22:57 ash_ left
jnthn :-) 22:58
Rakudo will build on any of Windows/Linux/OSX...
__rnddim__ I know, I have it from the Fedora repositories (probably doesn't use ng though) 22:59
23:00 payload joined
__rnddim__ I'll take a crack at it later. I've been sitting in front of the computer since 9:30 (about) and now it's 15:00. 23:01
jnthn Ah, certainly time for a break. :-)
__rnddim__ I'm only quitting because I can't see through all the blood in my eyes :)
23:01 k23z__ joined
lichtkind wow the parrot guys are really busy 23:03
23:06 IllvilJa left 23:07 payload left 23:08 payload joined 23:09 colomon left
mberends hmm. The unlink() in master slurped a list of string file names. S32 calls it Path.remove(). Spectests do unlink($filename). I'll go with spectests FTW 23:12
jnthn Sounds like a step towards consistency. :-) 23:14
mberends deleting multiple files in one call is overkill, and what would the status be if you deleted some and not others? 23:15
jnthn I guess if you really want that there's unlink(all(@files)) :-) 23:18
23:19 athaba left
jnthn Anyway, wfm. 23:19
mberends :-)
23:27 Su-Shee left, patspam joined 23:45 drbean joined 23:49 pmurias left
lichtkind mberends++ 23:51
23:51 colomon joined
lichtkind thanks and good night :) 23:51
mberends good night lichtkind :)
lichtkind mberends: if you want to make more on the wiki we talk tomorrow :) 23:52
23:52 lichtkind left
mberends good idea 23:52
colomon ; 23:59