»ö« | 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 typenameFAILED 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 &Xcurrent 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 &Matchcurrent 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«10» | ||
jnthn | Aye. | 16:16 | |
TimToady | rakudo: say SAME ~~ Int | ||
p6eval | rakudo 1d4928: OUTPUT«Could not find non-existent sub SAMEin 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 Samein 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 Increasingin 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 Fixingin 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 1current 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 $!numeratorcurrent 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.18756.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 |