|
»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
|
00:14
sji left
|
|||
| sorear | phenny: tell jnthn Why do the type cache and method cache exist once per STable instead of per HOW? | 00:18 | |
| phenny | sorear: I'll pass that on when jnthn is around. | ||
|
00:27
molaf_ joined
00:29
molaf left
01:01
[Coke] left,
kaydsoft left
01:03
kaydsoft joined
01:07
Trashlord left
01:10
orafu left
01:12
ryan_ joined,
orafu joined
01:18
aindilis left,
aindilis joined
01:19
leprevost joined
01:22
envi joined
01:51
leprevost left
01:52
am0c joined
01:56
awwaiid left
01:57
awwaiid joined
02:03
noganex left
02:05
noganex joined
02:07
RichiH_FOSDEM is now known as RichiH
02:33
whiteknight left
02:50
stifynsemons left
02:59
stifynsemons joined
|
|||
| sorear | std: label: | 03:02 | |
| p6eval | std 625303c: OUTPUT«===SORRY!===Bogus statement at /tmp/N546RUr3V3 line 1 (EOF):------> label:⏏<EOL>Parse failedFAILED 00:01 118m» | ||
| sorear | LTA | ||
|
03:04
sftp left
03:34
envi left
03:40
satyavvd joined
|
|||
| diakopter | std: label: ; | 03:41 | |
| p6eval | std 625303c: OUTPUT«ok 00:01 117m» | ||
| diakopter | std: label: # | ||
| p6eval | std 625303c: OUTPUT«===SORRY!===Bogus statement at /tmp/RnfAf4lTJQ line 1 (EOF):------> label: #⏏<EOL>Parse failedFAILED 00:01 118m» | ||
|
04:02
satyavvd left
04:13
satyavvd joined
04:23
Su-Shee_ joined,
stifynsemons left
|
|||
| sorear | phenny: tell TimToady STD rejects A: ; { A: ; } Bug? | 04:24 | |
| phenny | sorear: I'll pass that on when TimToady is around. | ||
|
04:27
Su-Shee left
|
|||
| dalek | ecza: 8db375f | sorear++ | / (7 files): Implement label definitions |
04:31 | |
| ecza: 4331572 | sorear++ | src/niecza: Implement loop labelling |
|||
| ecza: a7c95bf | sorear++ | / (3 files): Implement lexotic control operators |
|||
| sorear | std: loopy; | 04:32 | |
| p6eval | std 625303c: OUTPUT«===SORRY!===Undeclared routine: 'loopy' used at line 1Check failedFAILED 00:01 117m» | ||
| sorear | niecza: loopy; | 04:33 | |
| p6eval | niecza v2-15-gf9417bc: OUTPUT«===SORRY!===Whitespace required after keyword at /tmp/GiomXa4mk0 line 1:------> loop⏏y;Parse failed» | ||
| dalek | ecza: 9eaf007 | sorear++ | / (2 files): Fix keyspace LTM weirdness |
04:43 | |
|
04:50
rhr left
04:58
rhr joined
04:59
stifynsemons joined
05:03
ryan_ left
05:23
drbean left
05:24
arlinius left
05:28
arlinius joined
05:29
satyavvd left
05:31
felliott left
05:32
satyavvd joined
05:33
felliott joined
05:34
felliott left
05:36
satyavvd left
|
|||
| sorear | niecza: にほんご: say "x"; goto にほんご; | 05:40 | |
| p6eval | niecza v2-19-g9eaf007: | ||
| ..OUTPUT«(timeout)xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxE2 | |||
| diakopter | kewl | ||
|
05:42
kaare_ joined
|
|||
| sorear | diakopter: I was hoping you'd notice. | 05:43 | |
| pugs: goto "A"; say "x"; A: ; | 05:44 | ||
| p6eval | pugs: OUTPUT«***  Unexpected ";" expecting Doc block, block declaration, declaration, construct or expression at /tmp/U809Ecb414 line 1, column 23» | ||
| sorear | pugs: goto "A"; say "x"; A: say "y"; | ||
| p6eval | pugs: OUTPUT«*** No such subroutine: "&goto" at /tmp/FJsWXHGEg9 line 1, column 1-9» | ||
| sorear | pugs: goto A; say "x"; A: say "y"; | ||
| p6eval | pugs: OUTPUT«*** No such subroutine: "&goto" at /tmp/LO6NB_M1uF line 1, column 1-7» | ||
|
05:44
sftp joined
|
|||
| diakopter | istr it didn't actually... | 05:45 | |
| sorear | How many Perl 6 subset implementions currently offer goto? | ||
| diakopter | :P | ||
| sorear | I know of at least two | 05:46 | |
| or labelled stuff in general | |||
| diakopter | niecza: while (hi: say(3); 1 ) { goto hi } | 05:47 | |
| p6eval | niecza v2-19-g9eaf007: | ||
| ..OUTPUT«(timeout)333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333xE2 | |||
| diakopter | niecza: while (hi: say(3); 0 ) { }; goto hi | 05:48 | |
| p6eval | niecza v2-19-g9eaf007: | ||
| ..OUTPUT«(timeout)333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333xE2 | |||
| diakopter has no idea whether that's correct | |||
| sorear | niecza: sub f1($f) { L: while True { $f(); say 1 }; }; sub f2() { L: while True { f1({ last L }); say 2 }; }; f2() | 05:49 | |
| p6eval | niecza v2-19-g9eaf007: ( no output ) | ||
| sorear | niecza: sub f1($f) { L: while True { $f(); say 1 }; }; sub f2() { L: while True { f1({ last "L" }); say 2 }; }; f2() | ||
| p6eval | niecza v2-19-g9eaf007: | ||
| ..OUTPUT«(timeout)222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222xE2 | |||
| sorear | notice the4 difference | ||
| diakopter | hum | ||
| sorear | I am not aware of any other implementaiton that offers lexotic control | 05:52 | |
| diakopter | impressive :) | 05:53 | |
|
05:54
[particle] joined
|
|||
| Tene | sorear: I had a patch to rakudo that mooooostly worked for next/last/redo on labels, but I abandoned it before I got it working well enough to commit. | 05:55 | |
|
05:57
justatheory left
|
|||
| Tene | goto is certainly feasible in rakudo as well, for many cases at least. I'm not really sure of how restricted Perl 6's goto is. | 05:58 | |
| perlcabal.org/syn/S04.html#The_goto_statement | |||
| It's not obvious how I would implement goto into an inner scope. | 05:59 | ||
| sorear | since labels require initialization, it's actually not possible to jump into inner scopes | 06:01 | |
|
06:01
drbean joined
|
|||
| sorear | although the spec could be clearer on this | 06:01 | |
| Tene | "As in Perl 5, it is possible to goto into a lexical scope, but only for lexical scopes that require no special initialization of parameters." | 06:02 | |
|
06:07
satyavvd joined
|
|||
| diakopter | TimToady (here) speculated at one time that forward-gotos are feasible | 06:07 | |
| but std doesn't seem to allow it | 06:08 | ||
| sorear | niecza: say 1; goto "A"; say 2; A: say 3 | ||
| p6eval | niecza v2-19-g9eaf007: OUTPUT«13» | ||
| diakopter | oh | ||
| niecza: say 1; my $a = "A"; goto $a; say 2; A: say 3 | 06:09 | ||
| p6eval | niecza v2-19-g9eaf007: OUTPUT«13» | ||
| diakopter | niecza: say 1; my $a = "Z"; goto $a; say 2; A: say 3 | ||
| p6eval | niecza v2-19-g9eaf007: OUTPUT«1Unhandled exception: Illegal control operator: goto(Z, dynamic) at /home/p6eval/niecza/lib/SAFE.setting line 397 (SAFE _lexotic @ 2) at /home/p6eval/niecza/lib/SAFE.setting line 402 (SAFE goto @ 2) at /tmp/2J7yDzWoSq line 1 (MAIN mainline @ 4) at | ||
| ../home/p6eval/niecza/lib/S… | |||
| diakopter | Illegal control operator :) | 06:13 | |
|
06:13
Mowah joined
06:14
kst left
|
|||
| sorear | diakopter: What about it? | 06:27 | |
| diakopter | nothing really | 06:39 | |
|
06:41
cjk101010 joined
06:45
srbio joined
06:46
srbio left,
Mowah left
|
|||
| dalek | rixel: b404c4e | diakopter++ | sprixel/ (5 files): a buncha crazy hacks to see about a new execution mode for p6eval |
06:51 | |
|
06:53
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
| dalek | rixel: 404c893 | diakopter++ | sprixel/Program.cs: ok |
06:56 | |
| rixel: 3dc0fc1 | diakopter++ | sprixel/sprixel.csproj: sigh2 |
06:58 | ||
| sorear -> sleep | 07:01 | ||
| dalek | rixel: 9c55e54 | diakopter++ | sprixel/Program.cs: sigh3 |
07:02 | |
|
07:12
wtw joined
|
|||
| dalek | d: 7503e20 | larry++ | STD.pm6: reduce label redeclaration to a warning |
07:19 | |
|
07:20
veeru joined
07:33
p6eval left,
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
| moritz_ | good mroning | 07:47 | |
| rakudo: $_ = "foo"; s[] = 'bar'; .say | 07:49 | ||
| p6eval | rakudo 989883: OUTPUT«Could not find sub &s in main program body at line 22:/tmp/b7_gMKxUFS» | 07:50 | |
| moritz_ | rakudo: $_ = "foo"; s[f] = 'bar'; .say | 07:51 | |
| p6eval | rakudo 989883: OUTPUT«baroo» | ||
| moritz_ | so it doesn't commit to the [ | ||
| TimToady | std: $_ = "foo"; s[] = 'bar'; .say | 07:54 | |
| phenny | TimToady: 04:24Z <sorear> tell TimToady STD rejects A: ; { A: ; } Bug? | ||
| p6eval | std 625303c: OUTPUT«===SORRY!===Null pattern not allowed at /tmp/zVvv5rwrey line 1:------> $_ = "foo"; s[⏏] = 'bar'; .sayParse failedFAILED 00:01 121m» | ||
| TimToady | std: $_ = "foo"; s[f] = 'bar'; .say | ||
| p6eval | std 625303c: OUTPUT«ok 00:01 123m» | ||
| TimToady | rakudo should not backtrack there | ||
|
08:10
Su-Shee_ is now known as Su-Shee
08:16
daxim joined
08:35
snearch joined
08:36
arlinius left
08:38
cosimo left
|
|||
| moritz_ submits rakudobug, justin case | 08:51 | ||
|
08:54
mayuresh joined
09:01
shi joined
09:09
mayuresh left
09:14
Mowah joined
09:18
am0c left
09:19
snearch left
09:21
wiseguyxp left
09:27
Mowah left
09:30
arlinius joined
09:45
jerome left
|
|||
| tadzik | Isn't that related to the bug that only the s/// form is allowed? | 09:52 | |
| moritz_ | not really | ||
|
09:52
dakkar joined
|
|||
| moritz_ | the real problem is that the check for null regexes are done at quote level, and not at regex parsing level | 09:53 | |
| so each callback into the regex parser needs to do the null pattern check separately | |||
| also note that s[nonnull] = "foo" works fine | 09:54 | ||
| tadzik | I see | 09:59 | |
|
09:59
domidumont joined
|
|||
| bacek | moritz_, aloha. | 09:59 | |
|
10:11
dip joined,
dip is now known as Guest78447
10:13
Guest78447 left,
charsbr__ joined
10:30
Trashlord joined
10:35
Mowah joined
|
|||
| moritz_ | std: native foo is repr("bar"); | 10:51 | |
| p6eval | std 625303c: OUTPUT«===SORRY!===Undeclared routines: 'foo' used at line 1 'is' used at line 1 'native' used at line 1 'repr' used at line 1Check failedFAILED 00:01 119m» | ||
| moritz_ | nqp has a package_declarator:sym<native> | 10:52 | |
|
10:53
IllvilJa left
10:56
literal left
10:57
literal joined
|
|||
| moritz_ | rakudo: say now.perl | 11:03 | |
| p6eval | rakudo 989883: OUTPUT«(DateTime.new(year => 1970).Instant + 1297076638.05348)» | ||
|
11:06
mayuresh joined
|
|||
| mayuresh | hello :) | 11:06 | |
| moritz_ | good day mayuresh | ||
| mayuresh | good day to you too moritz :) | 11:07 | |
| it feels good to be here | |||
|
11:09
Mowah left
11:10
wolverian left
|
|||
| moritz_ | it feels good to do Perl 6 programming :-) | 11:10 | |
| mayuresh | :) | ||
| any ideas when the concurrency model would get finalized? | 11:11 | ||
| moritz_ | when it's implemented by two different compilers, and seems to work out fine | 11:12 | |
| mayuresh | hmnnn | 11:15 | |
| moritz_ | in general, parts of the specs are only considered stable if there are working implementations and user space programs | 11:17 | |
| otherwise you can't know if it actually works, and works in a perlish way | |||
|
11:18
jaldhar left,
literal left,
jaldhar joined
11:19
literal joined
11:26
mayuresh left
11:29
coldhead left,
veeru left
11:31
literal left
11:34
literal joined
11:38
satyavvd left
|
|||
| bbkr | hi. if I use "perl6 -n -e 'some code here' file_name" under which variable current line is available within oneliner? | 11:40 | |
| tadzik | I don't think -n is implemented | 11:41 | |
| bbkr | oh | ||
|
11:42
literal left
11:44
literal joined
|
|||
| daxim | bbkr, github.com/masak/pun/ | 11:47 | |
| bbkr | daxim: awesome, that's what I was looking for. thanks! | 11:48 | |
|
11:49
stifynsemons left
11:55
tzhs joined
11:59
Trashlord left
12:05
tzhs left
12:09
IllvilJa joined
|
|||
| flussence | rakudogripe of the day: no destructors means every IO handle has to be closed manually | 12:10 | |
| OTOH, "given open($file) { .write($stuff); .close }" isn't much extra effort, so it's not that bad once you figure out why your files are 0 bytes :) | 12:16 | ||
| colomon | why that particular construct? | 12:29 | |
| flussence | I already had open().write(), that seems to be the shortest thing that works. | 12:30 | |
| colomon | ah. shouldn't you check .open for errors? :) | 12:34 | |
| moritz_ | you should open(:w), fwiw | ||
|
12:36
bluescreen joined
12:40
pmurias joined
|
|||
| flussence | moritz_: I did, guess I shouldn't be so lazy in paraphrasing... | 12:41 | |
|
12:42
Trashlord joined
|
|||
| flussence | if anyone's curious, this was a one-line hack to dump the input data from Text-Tabs-Wrap tests into separate files. I'm trying to separate the data from the code, because it's a maintenance nightmare the way it is now. | 12:44 | |
| colomon | flussence++ | 12:50 | |
| dalek | kudo: a376406 | moritz++ | src/glue/enum.pm: Add .invert method to enums. We need a better way to reuse the methods from EnumMap. |
12:51 | |
|
12:56
[Coke] joined
|
|||
| takadonet | ,prmomg a;; | 12:57 | |
| ... | |||
| morning all | 12:58 | ||
| colomon | \o | ||
| moritz_ | o/ | ||
| moritz_ tired | |||
| [Coke] | */ | 13:00 | |
|
13:03
tzhs joined
13:08
MayDaniel joined
|
|||
| colomon tired too. though at least this time it's mostly his own fault. overindulged last night during the big game... | 13:09 | ||
| moritz_ | the small one only woke me up twice this night, so in comparison not too bad :-) | 13:13 | |
| colomon | :) | 13:15 | |
|
13:16
PacoLinux joined
13:18
cognominal left
13:20
cognominal joined
13:23
cibs left
|
|||
| moritz_ | fwiw I sometimes get a failure in test 13 in t/spec/S02-builtin_data_types/instants-and-durations.t | 13:25 | |
| but only very rarely | |||
| somehow comparing .perl's seems wrong to me, but I'm not sure if that's the source of the trouble | 13:26 | ||
| rakudo: say now == now | |||
| p6eval | rakudo 989883: OUTPUT«Bool::False» | ||
| moritz_ | rakudo: given now { say $_ == $_ } | ||
| p6eval | rakudo 989883: OUTPUT«Bool::True» | ||
| moritz_ | rakudo: given now { say $_ eq $_ } | 13:27 | |
| p6eval | rakudo 989883: OUTPUT«Bool::True» | ||
| moritz_ | rakudo: say now eq now | ||
|
13:27
bluescreen left
|
|||
| p6eval | rakudo 989883: OUTPUT«Bool::False» | 13:27 | |
| colomon | why not just use == in the test? | 13:29 | |
| moritz_ | or just use is(), which does string comparison | ||
| colomon | I mean, if $t0 < $t1 is valid, then $t0 == $t1 should be too | ||
| moritz_ | rakudo: say now | 13:30 | |
| p6eval | rakudo 989883: OUTPUT«Instant:2011-02-07T13:30:06.214942Z» | ||
| moritz_ | both string and number should be fine | ||
| is() has the advantage of better diagnostics | |||
| dalek | ast: b3ef08d | moritz++ | S02-builtin_data_types/instants-and-durations.t: get rid of .perl for Instant comparison |
13:32 | |
|
13:36
kaare_ left
|
|||
| dalek | ecza: ae495d6 | pmurias++ | cl-backend/backend.lisp: methods |
13:36 | |
| ecza: 0c99b29 | pmurias++ | docs/nam.pod: [docs/nam.pod] fix the order of arguments in serialised signatures |
|||
| ecza: c12c681 | pmurias++ | cl-backend/backend.lisp: [cl-backend] handle arguments to subs |
|||
|
13:39
drbean left
13:42
MayDaniel left,
bluescreen joined
13:43
felliott joined
14:00
domidumont left
14:04
am0c joined,
kaare_ joined
14:08
stifynsemons joined
14:11
ivacklin joined
14:13
ivacklin is now known as wolverian
14:14
envi joined,
stifynsemons left
14:15
plobsing left
14:20
Mowah joined
14:22
mtk joined
14:25
bluescreen left
14:26
kjeldahlw joined
14:27
domidumont joined
|
|||
| dalek | ecza: 48b74aa | pmurias++ | simple-tests/ (9 files): [cl-backend] added simple tests for testing the cl-backend |
14:35 | |
|
14:40
plainhao joined,
stifynsemons joined
|
|||
| takadonet | flussence: how's your text-tab-wraps hacking going? | 14:40 | |
| flussence | it's starting to look readable :) | 14:41 | |
|
14:42
stifynsemons left
|
|||
| flussence | one thing I need to figure out is what the commented-out tests are *supposed* to do | 14:42 | |
| takadonet | which ones? | ||
| flussence | there's 4 files that fail with "bad plan", they're commented out completely at the moment | 14:44 | |
| takadonet | some still have not been changed since the initial port from the p5 version | 14:47 | |
|
14:55
shi left
15:03
tzhs left
15:05
masak joined
|
|||
| masak | hola, zebras. | 15:06 | |
| moritz_ | lolitsmasak! | ||
| masak is having a good day today :) | 15:10 | ||
| moritz_ is glad to hear that | |||
|
15:10
Sarten-X left
|
|||
| flussence | is there a way to construct a regex object from a string, javascript-style? | 15:12 | |
| pmurias | masak: what's so special about today? | 15:13 | |
| moritz_ | flussence: there is, but I have to look up which quoting constructs interpolates the way you want it... | 15:14 | |
| masak | pmurias: had an interview. they were like "yeah, we know who you are". :) I'm currently trying to re-shrink my head to its original size. | ||
| [Coke] | flussence: I would imagine eval works. | ||
| flussence | yeah, I was looking for anything nicer than eval :) | ||
| pmurias | masak: did you get the job? | ||
| arnsholt | masak: Cool! | ||
| masak | pmurias: don't know, but it felt promising. | 15:15 | |
| arnsholt | What kind of position did you interview for? | ||
|
15:15
justatheory joined
|
|||
| masak | arnsholt: [NDA] | 15:15 | |
| arnsholt | Oh right, one of those =) | ||
| moritz_ | flussence: my $regex = rx/<$string>/; | ||
| maybe we should have a Regex.compile($string) API too | 15:16 | ||
| masak | moritz_: if we do, we should go further and expose combining constructs like Alt and Conj. | 15:17 | |
| flussence | looks like it does what I want, thanks moritz_ | ||
|
15:17
Sarten-X joined
|
|||
| moritz_ | masak: in the long run there are also quasi quotes for generating objects that are only available via syntax | 15:18 | |
| [Coke] | masak: break a leg. | ||
|
15:19
v15170r joined
|
|||
| masak | thanks. | 15:19 | |
| moritz_: ooh, indeed. | 15:20 | ||
| would like to explore that area more. | |||
| bbkr | rakudo: CATCH { say 1 }; CATCH { say 2 }; die; # is this correct output? despite lack of warning on redeclaration... one may expect that it is natural for 2nd CATCH to owerwrite first one. | 15:21 | |
| p6eval | rakudo a37640: OUTPUT«1» | ||
|
15:21
hanekomu joined
|
|||
| bbkr | compare to P5ism: perl -e 'sub foo {print 1} ; sub foo { print 2}; foo()' - prints 2 | 15:21 | |
|
15:22
am0c left
|
|||
| masak | bbkr: what does S04 say about redeclared CATCH blocks? | 15:22 | |
|
15:22
stifynsemons joined
|
|||
| masak | bbkr: are they erroneous, or do they just warn? if the former, talking about desired behavior isn't very meaningful. | 15:23 | |
| sorear | good * #perl6 | ||
| masak | o/ sorear | 15:24 | |
| sorear | std: A: ; A: ; | ||
| p6eval | std 625303c: OUTPUT«===SORRY!===Illegal redeclaration of 'A' at /tmp/NPbqXKwJpG line 1:------> A: ; A: ⏏;Illegal redeclaration of symbol 'A' (see line 1) at /tmp/NPbqXKwJpG line 1:------> A: ; A: ⏏;Check failedFAILED 00:01 117m» | ||
| pmurias | sorear: hi | ||
|
15:25
v15170r left
15:26
mtk left
15:28
Sarten-X left
|
|||
| bbkr | masak: i've checked and S04 says nothing about redeclaration of CATCH. STD accepts such redeclaration as valid syntax. | 15:29 | |
| moritz_ | silently dropping one doesn't seem to be a very good idea | 15:30 | |
| I'd rather have it die() than not executing any code that looks like it would be executed | |||
| or execute both | 15:31 | ||
|
15:31
wamba joined
|
|||
| flussence | grr. open(:r) is returning Bufs for plain text and :enc<utf-8> doesn't work at all. | 15:32 | |
| masak | I think it should be a parsefail at compile time. | ||
| bbkr: no, I'm pretty sure S04 mentions it; I've submitted a ticket about it once. | |||
| moritz_ | flussence: then rakudo should be patched | 15:33 | |
| so long you might call .decode('UTF-8') on the bufs | |||
| bbkr | moritz_: indeed. considering the fact that you can define phaser wherever in the block: "{ die; CATCH {};}" or "{CATCH {}; die;}" it may be easy to redeclare by mistake in large blocks and never notice that :) | ||
| masak: on i'll recheck... | 15:34 | ||
| masak | bbkr: found this so far: | ||
| "A C<CATCH> block is just a trait of the closure containing it, and is automatically called at the appropriate moment." | |||
| flussence | I should probably update the rakudo on here - it's still on 2010.12-48-ga23255a | ||
| masak | that (kinda) means there can't be more than one. | ||
| bbkr: found it. S04:1371 | 15:35 | ||
|
15:35
kjeldahlw left
|
|||
| masak | bbkr: so, it's a parse-time error, Rakudo should die at comile time, and it's in RT. | 15:35 | |
| bbkr | masak: thanks | 15:37 | |
|
15:38
Sarten-X joined
15:39
alester joined
15:41
Chillance joined
|
|||
| sorear | masak: did you see what I did yesterday? :) | 15:41 | |
| masak | sorear: labels and gotos! \o/ | 15:42 | |
| sorear++ | |||
| sorear | also labelled last, etc. And s///. | ||
| masak | sorear: that's awesome. | ||
| tadzik | I'd rather have multiple CATCH working, getting executed after the error occuring, like try { die 1; CATCH { say 1 }; die 2; CATCH { say 2 }; } | ||
|
15:43
stkowski joined,
vmspb joined
15:45
orafu left
15:46
florz left,
fIorz joined,
orafu joined
15:48
wtw left
|
|||
| vmspb | hi | 15:49 | |
| masak | hi, vmspb | ||
| vmspb | rakudo: my $x=1; say ++ + $x | ||
| p6eval | rakudo a37640: OUTPUT«2» | ||
| vmspb | rakudo: my $x=1; say -- - $x | ||
| p6eval | rakudo a37640: OUTPUT«Cannot modify readonly value in '&infix:<=>' at line 1 in main program body at line 22:/tmp/Iiu6LZgySi» | ||
| vmspb | It corresponds to spec Perl6? | 15:50 | |
| masak | yes. | ||
| -$x is the readonly value. | |||
| +$x gives you $x since it already contains a number. | |||
|
15:50
wamba left
15:53
noganex left
15:55
noganex joined
|
|||
| pmurias | sorear: why does ehspan take labels? | 15:56 | |
| instead of it taking an op? | |||
| dalek | ecza: 522c862 | pmurias++ | / (5 files): [cl-backend] fake ehspan and span, fix methods and subs with no |
15:58 | |
| pmurias | sorear: i'll be hacking on the cl-backend much more regularly till the 11th as i've to hand in my lisp project till then | 15:59 | |
|
16:01
eternaleye left,
stifynsemons left
16:06
vmspb left
16:08
masonkramer joined
16:11
cjk101010 left
|
|||
| flussence facepalm | 16:13 | ||
| open() was working fine. The file itself contained Buf(...) | 16:14 | ||
| arnsholt | Insidious bug =D | ||
|
16:14
Patterner left
16:15
risou joined,
felliott left
16:16
kfo joined
16:17
Psyche^ joined,
Psyche^ is now known as Patterner
16:19
kfo_ left
|
|||
| moritz_ | wiki.mozilla.org/Firefox/Roadmap so, FF 7 to be shipped this year... | 16:23 | |
| I kinda think that means their major version numbers mean less | 16:24 | ||
| moritz_ is glad about rakudo's version numbers | |||
|
16:25
thepler joined,
alester left,
benabik_away is now known as benabik
|
|||
| dalek | ecza: 51300e9 | pmurias++ | / (3 files): [cl-backends] ignore any empty list which accidently gets into the xref |
16:27 | |
| flussence | 7? wtf, mozilla. | 16:28 | |
| masak | rakudo: /[]/; say 'alive' | 16:29 | |
| moritz_ | well, IE and Chrome have high version numbers | ||
| p6eval | rakudo a37640: OUTPUT«===SORRY!===Confused at line 22, near "/[]/; say "» | ||
| moritz_ | so firefox needs them tooo!!!! | ||
| std: /[]/ | |||
| masak | that's another null pattern. | ||
| p6eval | std 625303c: OUTPUT«===SORRY!===Null pattern not allowed at /tmp/bSw_mgH332 line 1:------> /[⏏]/ expecting regex atomParse failedFAILED 00:01 119m» | ||
| moritz_ | masak: right | ||
| masak | right. | ||
| std: /|&foo/ | 16:34 | ||
| p6eval | std 625303c: OUTPUT«===SORRY!===Null pattern not allowed at /tmp/pLEtJtIbDw line 1:------> /|⏏&foo/Parse failedFAILED 00:01 117m» | ||
| masak | rakudo: /|&foo/; say 'alive' | ||
| p6eval | rakudo a37640: OUTPUT«alive» | ||
| masak submits rakudobug | |||
| std: /&foo/ | 16:35 | ||
| p6eval | std 625303c: OUTPUT«ok 00:01 119m» | ||
| masak | std: /&|foo/ | ||
| p6eval | std 625303c: OUTPUT«===SORRY!===Null pattern not allowed at /tmp/ojXvjo5XwF line 1:------> /&⏏|foo/Parse failedFAILED 00:01 117m» | ||
| pmurias | \\]\ | 16:36 | |
| sorry | |||
| masak | ...a bit of random backwhacking... :) | ||
| sjohnson | hi dudes | 16:37 | |
| masak | sjohnson! \o/ | 16:38 | |
|
16:39
plobsing joined
|
|||
| sjohnson | hi masak, how's the perl 6 world treating you | 16:41 | |
| dalek | ecza: 980c94d | pmurias++ | / (2 files): [cl-backend] methods can take arguments |
16:44 | |
| masak | sjohnson: pretty well. and you? | ||
| sjohnson | not bad, though been kinda unaware of perl6 news as of late :( | 16:45 | |
| been focusing on learning C++ to code an app or two | |||
| still using p5 though quite often so it's not a total lack of perl in my life | |||
|
16:47
risou left
|
|||
| masak | :) | 16:49 | |
|
16:49
vmspb joined
|
|||
| masak | sjohnson: if you're looking for Perl 6 news, look in the direction of Niecza. | 16:49 | |
|
16:49
plobsing left
|
|||
| benabik | o/ | 16:50 | |
| masak | \o | ||
| pmurias | sorear: lib/JSYNC.cs is writen by you? | 16:52 | |
| sorear: git log shows it is | |||
|
16:58
plobsing joined
17:02
molaf_ left
|
|||
| pmurias | sorear: i found a problem | 17:02 | |
| sorear: lib/JSYNC.cs spits out Infinity which is not valid JSON and causes problems for the lisp parser | 17:03 | ||
|
17:04
rgrau joined
|
|||
| pmurias | perl6: say 1/0; | 17:05 | |
| p6eval | niecza v2-25-g51300e9: OUTPUT«Infinity» | ||
| ..rakudo a37640: OUTPUT«Inf» | |||
| ..pugs: OUTPUT«*** Illegal division by zero at /tmp/KBgCBueWaQ line 1, column 5-8» | |||
| pmurias | perl6: say 1/0.0; | ||
| p6eval | niecza v2-25-g51300e9: OUTPUT«===SORRY!===Action method dec_number not yet implemented at /tmp/NlU9HC1Pyi line 1:------> say 1/0.0⏏;Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/SAFE.setting line 377 (SAFE die @ 2) at | ||
| ../home/p6eval/niecza/src/STD… | |||
| ..pugs: OUTPUT«*** Illegal division by zero at /tmp/VQUx94M4oq line 1, column 5-10» | |||
| ..rakudo a37640: OUTPUT«Inf» | |||
| pmurias | is rakudo correct? | 17:06 | |
| masak | think so. | 17:07 | |
|
17:10
cibs joined,
hanekomu left
17:14
plobsing left,
hanekomu joined
17:15
risou joined
17:17
shi joined
|
|||
| jnthn | evening o/ | 17:18 | |
| phenny | jnthn: 00:18Z <sorear> tell jnthn Why do the type cache and method cache exist once per STable instead of per HOW? | ||
| jnthn | phenny: tell sorear we can't store it in the HOW as the point is that it's fast to access and we can't rely on the representation of a HOW to look a certain way, so we'd have no way to get at it other than a method call, which would defeat the object. :) Also, DRY...don't want every meta-object to have to declare storage/accessor for it. | 17:20 | |
| phenny | jnthn: I'll pass that on when sorear is around. | ||
| pmurias | masak: the spec would imply so | 17:24 | |
| will the spec be turned more precise? | |||
| in gernerall, not only in this case | 17:25 | ||
|
17:25
masonkramer left
|
|||
| masak | pmurias: in general, only if someone changes it to be more precise. :) | 17:25 | |
|
17:25
masonkramer joined
17:26
masonkramer left
17:32
mtk joined
|
|||
| vmspb | std: my $x=1; ++ $x ; say $x | 17:34 | |
| rakudo: my $x=1; ++ $x ; say $x | |||
| p6eval | std 625303c: OUTPUT«ok 00:01 121m» | ||
| rakudo a37640: OUTPUT«2» | |||
| vmspb | std: my $x=1; $x ++ ; say $x | ||
| rakudo: my $x=1; $x ++ ; say $x | |||
| p6eval | std 625303c: OUTPUT«===SORRY!===Postfix found where infix expected (omit whitespace?) at /tmp/8n2PUGWarV line 1:------> my $x=1; $x ⏏++ ; say $x expecting any of: bracketed infix infix infix or meta-infixParse failedFAILED 00:01 121m» | 17:35 | |
| rakudo a37640: OUTPUT«===SORRY!===Confused at line 22, near "$x ++ ; sa"» | |||
| TimToady | the whitespace rules are tighter on postfixes | ||
| to distinguish them from infixes | |||
| yes, it's an inconsistency :) | |||
|
17:36
hanekomu left
|
|||
| PerlJam | As long as it's not a foolish inconsistency, I don't think there's a problem :) | 17:36 | |
| pmurias | masak: making the spec more precise would also make it harder to read | 17:40 | |
| daxim | perl6: ((1,2,3,4,5) ¥ (5,6,7,8,9)).perl.say | ||
| pmurias | masak: as it would need to be a more formalised thing instead of pleasant prose | ||
| p6eval | rakudo a37640: OUTPUT«===SORRY!===Confused at line 22, near "((1,2,3,4,"» | ||
| ..pugs: OUTPUT«decodeUTF8': bad data: '\165'***  Unexpected "\165" expecting operator or ")" at /tmp/RsHdqTp6dk line 1, column 14» | |||
| ..niecza v2-26-g980c94d: OUTPUT«===SORRY!===Confused at /tmp/rI9sOZX3IQ line 1:------> ((1,2,3,4,5) ⏏¥ (5,6,7,8,9)).perl.sayParse failed» | |||
| TimToady | daxim: that's spelled Z now | ||
| you must be following an ancient text | 17:41 | ||
| daxim | just partying like it's 2005 | ||
|
17:43
pmurias left
|
|||
| PerlJam | daxim: running through pugs code? | 17:43 | |
| or ... code that was in the pugs repo | |||
| colomon | rakudo: ((1,2,3,4,5) Z (5,6,7,8,9)).perl.say | 17:48 | |
| p6eval | rakudo a37640: OUTPUT«(1, 5, 2, 6, 3, 7, 4, 8, 5, 9)» | ||
| TimToady wonders whether we should maybe allow constants with deferred initializations so that they can be referred to as constants before we know their value | |||
| PerlJam | lazy constants? | ||
|
17:49
daxim left
|
|||
| TimToady | then if labels are just funny constants, we can say 'constant A; goto A; A: stuff()' | 17:49 | |
|
17:49
wolfram__ joined
|
|||
| TimToady | or maybe 'name A;' just reserves a typename/constant/whatever name | 17:50 | |
| wolfram__ | How do I get the even (or odd) indexed elements of an array (or maybe unzip to @even and @odd)? | ||
| PerlJam | TimToady: the latter is exactly what I was about to suggest (though I was going to suggest "label A") | ||
| TimToady | well, we also have 0-ary thingies like rand and self that aren't constants | 17:51 | |
| would be nice to have a convenient way to declare them too without going all grammary | |||
| moritz_ | could we ues them to decl... right :-) | 17:52 | |
| TimToady | macro A {...} | ||
| except I think current spec defaults macros to listops | |||
| moritz_ | name my-rand; sub my-rand { rand ** 2 } | ||
| would parse my-rand as a term | |||
| TimToady | anyway, then we wouldn't force forward goto to be dynamic | 17:53 | |
|
17:53
cdarroch joined
|
|||
| PerlJam | IS there no value in the declaration(s) giving the intent to usage? "nullary foo", "label foo", etc. ? | 17:53 | |
|
17:53
cdarroch left,
cdarroch joined
|
|||
| TimToady | there's some value, but we want to avoid an explosion of keywords, I suppose | 17:53 | |
| PerlJam | or is the value of ambiquity higher than whater value we'd get from the other | 17:54 | |
| moritz_ | there is value in both generic and concrete declarations, IMHO | ||
| TimToady | as far as the parse is concerned, it just needs to know whether to look for arguments after the name in question | ||
| PerlJam | wait ... we could still use :dba on it, yes? | ||
| TimToady | types and constants are the same thing, to the parser | ||
| Su-Shee | good evening everyone. | 17:55 | |
| TimToady | sunshiney good mornin' to ya | ||
|
17:55
plobsing joined
|
|||
| Su-Shee | it was indeed. FINALLY ;) | 17:55 | |
| moritz_ | yeah. 10 hours ago it was | 17:56 | |
|
17:56
envi left
|
|||
| PerlJam | If we can annotate how we intend to use the symbols (something like "name Foo :dba<bar>"), then the one keyword is fine and we can still get nice messages when we screw up | 17:56 | |
| TimToady | what would you use the annotation for other than commentary? | 17:57 | |
| PerlJam | documentation | ||
| TimToady | well, it won't pass CHECK without giving it a real definition | ||
| PerlJam | I guess my brain is rebelling against the idea of labels, nullarys, and constants all occupying the same idea space | ||
| TimToady | they're all barenames to me | 17:58 | |
| Su-Shee | PerlJam: you don't need your brain anymore. you became very rich. (at least I dreamt about it. :) | 17:59 | |
| wolfram__ | (bad time for beginner questions or badly stated problem?) | ||
| TimToady | it's always a bad time :) | ||
| flussence | better ask now, in case it gets worse :) | 18:00 | |
|
18:00
MayDaniel joined
|
|||
| wolfram__ | see 10 minutes above | 18:00 | |
| flussence | for @a -> $a, $b { #ignore one or the other; } | 18:01 | |
| PerlJam | TimToady: perhaps that's it too ... I equate "bareword" with "evil" :) | ||
| benabik | rakudo: my @l = (1,2,3,4); my (@e, @o); for @l -> $o, $e { @o.push: $o; @e.push: $e }; @o.perl.say; @e.perl.say | 18:02 | |
| TimToady | as a subscript, @a[0,2,4...*] | ||
| p6eval | rakudo a37640: OUTPUT«[1, 3][2, 4]» | ||
|
18:02
kst joined
|
|||
| TimToady | except I don't think rakudo autotrims subscripts yet | 18:02 | |
| wolfram__ | flussence: I need the complete even/odd arrray to pass to another sub | ||
| benabik | It does explode on wrong number of args. | 18:03 | |
| TimToady | rakudo: my @a = 'a'...'z'; say @a[0,2,4...24] | ||
| p6eval | rakudo a37640: OUTPUT«acegikmoqsuwy» | ||
| TimToady | rakudo: my @a = 'a'...'z'; say @a[0,2,4...*] | ||
| p6eval | rakudo a37640: OUTPUT«(timeout)» | ||
| TimToady | rakudo: my @a = 'a'...'z'; say @a[0,2,4...*>=@a] | 18:04 | |
| p6eval | rakudo a37640: OUTPUT«acegikmoqsuwyAny()» | ||
| moritz_ | rakudo: my @l = 1..10; say @l[-> $limit {0, 2 ...^ * > $limit].perl | ||
| p6eval | rakudo a37640: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 22» | ||
| TimToady | rakudo: my @a = 'a'...'z'; say @a[0,2,4...^*>=@a] | ||
| p6eval | rakudo a37640: OUTPUT«acegikmoqsuwy» | ||
| moritz_ | rakudo: my @l = 1..10; say @l[-> $limit {0, 2 ...^ * > $limit}].perl | ||
| p6eval | rakudo a37640: OUTPUT«(1, 3, 5, 7, 9, Any)» | ||
| TimToady | there's a workaround | ||
| moritz_ | rakudo: my @l = 1..10; say @l[-> $limit {0, 2 ...^ * >= $limit}].perl | ||
| p6eval | rakudo a37640: OUTPUT«(1, 3, 5, 7, 9)» | ||
| moritz_ | rakudo: my @l = 1..10; say @l[-> $limit {1, 3 ...^ * >= $limit}].perl | ||
| p6eval | rakudo a37640: OUTPUT«(2, 4, 6, 8, 10)» | ||
|
18:04
icwiener joined
|
|||
| moritz_ | speaking of bad ideas... google doesn't seem to have picked up the rel="canonical" thing in the IR clogs | 18:05 | |
| flussence | :( | ||
| TimToady | but ...* is supposed to autotrim eventually | ||
| moritz_ | it has indexed the day after the change as /today | ||
| TimToady | and /today still doesn't redirect to the current day | ||
| wolfram__ | Ok, I several things to try. One more before I head off to FFT: How do I cat (append) two arrays? | 18:06 | |
| TimToady | so every time I refresh I have to also visit previous day explicitly | ||
| moritz_ | TimToady: so far no user wanted that feature, except for the effect it would have on search engines | ||
| wolfram__ | (wonders if it will be SFT in Rakudo) | ||
| TimToady me as carping about it then :) | |||
| moritz_ | wolfram__: @a, @b | ||
| wolfram__: of @a.push: @b if you want to mutate @a | 18:07 | ||
| wolfram__ | Oh, that's easy. Thanks | ||
| moritz_ | rakudo: my @a = <foo bar>; my @b = 1, 2; .say for @a, @b | ||
| p6eval | rakudo a37640: OUTPUT«foobar12» | ||
| PerlJam | wolfram__: shuffling cards? | 18:08 | |
| wolfram__ | PerlJam: Translating FFT algo from p5 PDL (not the built-in) | 18:09 | |
| PerlJam | oh, you did mention that a minute ago | ||
|
18:10
dakkar left
|
|||
| wolfram__ | Little stress-test for complex numbers... | 18:10 | |
|
18:12
Helios left
|
|||
| wolfram__ | moritz_: Of course it's just as simple as in p5. Was a little confused because I need a ->glue in PDL | 18:12 | |
|
18:14
Helios joined
|
|||
| tadzik | seen mberends | 18:17 | |
| aloha | mberends was last seen in #perl6 3 days 20 hours ago joining the channel. | ||
| TimToady | wolfram__: if you're a PDLer then we'll appreciate any feedback on the design in S09, since it's mostly unimplemented yet | ||
| moritz_ | tadzik: fwiw mberends is on vacation, I don't know how much internet he has :-9 | ||
| tadzik | ah, I see | 18:19 | |
| wolfram__ | TimToady: Circular dependency -- I was hoping for a blog post or something explaining what was meant to become of the PDL things in S09 for a long time ;-) | 18:20 | |
| TimToady | heh | 18:21 | |
| well, I guess that's a kind of feedback... | |||
|
18:22
risou left
|
|||
| moritz_ | hm. Just pushed a patch for the redirect thing, but it's kinda not redirecting :( | 18:22 | |
| wolfram__ | If I had compact storage and effeicient calculations on huge sets of data with all the p6 operators on lists available I would be happy! | 18:23 | |
| moritz_ | wolfram__: we're working on it :-) | ||
| TimToady | looks like we'll be getting native types pretty soon now | 18:24 | |
| wolfram__ | moritz_: I know. (also the compact storage part?) | ||
| moritz_ | wolfram__: yes. | ||
|
18:25
spq left,
impious joined,
impious left
|
|||
| wolfram__ | I'm reading logs here so I'll know when it happens. Looking forward to it! | 18:25 | |
|
18:25
spq joined
|
|||
| moritz_ | wolfram__: it's more in the order of weeks or months, so following the release announcements will suffice :-) | 18:25 | |
|
18:26
shortcircuit left,
shortcircuit joined
|
|||
| wolfram__ | moritz_: I know. I'm patient. | 18:26 | |
| TimToady is looking forward to the time when someone implements hyperoperators in the GPU | 18:27 | ||
| pmichaud | good afternoon, #perl6 | 18:28 | |
| moritz_ | \o | ||
|
18:30
MayDaniel left
|
|||
| TimToady | pmichaud: o/ do you remember why we made /(x)?/ return a list? thinking of making it Nil or the item, since we now distinguish Nil from (), and an item can behave as a list at need | 18:33 | |
| pmichaud | (X)? returns a list comes from the days before Nil | ||
| TimToady | and then it would be consistent with $obj.?foo | ||
|
18:33
cafesofie left
|
|||
| TimToady | which is Nil or the return value | 18:33 | |
| pmichaud | indeed, before we had any real idea what Nil was, or even that it existed | ||
| originally /(x)?/ was to return the matched object or nothing; for consistency with the other quantifiers we made it always return a list (more) | 18:34 | ||
| TimToady | .* returns () by new spec | ||
|
18:34
cafesofie joined
|
|||
| pmichaud | last year, you started to change /(x)?/ to return Nil instead of a list and I carped because I had finally gotten everyone switched over to accepting a list instead of nothing :-) | 18:35 | |
| i.e., the back-and-forth changes wasn't going well | |||
| that said | |||
| I totally agree that making it match .?meth makes perfect sense | 18:36 | ||
| and /(x)?/ returning an empty array was always ending up being a faq | |||
| TimToady | and removes the need for a slew of .[0] | ||
| pmichaud | exactly | ||
| so, almost a year later, I'm okay with switching it back | |||
| now is a good time, too, since we're about to do another nqp implementation | |||
| TimToady | just thought I'd ask :) | 18:37 | |
| colomon | \o/ | ||
| TimToady | since I know you were involved before | ||
| okay, I'll respec it | |||
| pmichaud | it will undoubtedly involve heartache for our users again, but I vote we get it right now rather than live with the tabs-in-makefiles for the rest of our careers | ||
| TimToady | but, we already have eleven users!!! | 18:38 | |
| pmichaud | so, /(x)?/ will return a match object if matched, and Nil if not matched? | ||
| TimToady | I think that's the case now | ||
| pmichaud | you mean in the spec, or in the implementation? | ||
| TimToady | sorry, in the new spec | ||
| pmichaud | okay | 18:39 | |
| just verifying the intended semantic | |||
| TimToady | has to be a Match if there are submatches, in any case | ||
| pmichaud | well, it could've still ended up as a list of one match .... but we don't want that :-) | ||
| TimToady | that's precisely what we're trying to change | 18:40 | |
| pmichaud | I know it's -way- early to be planning this for most folks, but anyone (1) planning to attend yapc::eu in riga and (2) know when we'll have hacking sessions there? | ||
| I'm thinking of attending yapc::eu | |||
| TimToady | 1 but not 2 | ||
| pmichaud | I'm guessing I may do the 1 day before and 1 day after conference plan again | ||
| i.e., arrive on 13 Aug, depart on 19 Aug | 18:41 | ||
| TimToady | we'll probably find a day or two to sightsee either before or after | ||
| pmichaud | (leaving the 14th and 18th for hacking around the conference) | ||
| TimToady | would be nice to know in advance when the hacking is | ||
| pmichaud | 1 day before and after worked well in Pisa, I think. | 18:42 | |
|
18:43
zby_home joined
|
|||
| pmichaud | bbi15 # errand | 18:44 | |
|
18:46
wolfram__ left
|
|||
| dalek | ecs: a6bb001 | larry++ | S05-regex.pod: /(x)?/ again defined as item capture, not list |
19:02 | |
|
19:04
fhelmberger left,
pyrimidine joined
19:09
pako_ joined
|
|||
| pmichaud | so, with abc ~~ / (x)? . / we would end up that $0 is Nil | 19:10 | |
| er, 'abc' | |||
| TimToady | yes | ||
| pmichaud | and with 'abc' ~~ / (x)? d | . / we would end up that $0 is Mu | 19:11 | |
| (i.e., no .[0] entry at all) | |||
| TimToady | aren't .[] entries shared across | though? | ||
| pmichaud | ummmmm | ||
| (thinking) | 19:12 | ||
| okay, || then? | |||
| TimToady | there too, I think | ||
| pmichaud | I'm not sure about 'shared' | 19:13 | |
| interesting might be | |||
| 'abc' ~~ / (x)? d | (.) / | |||
| or | |||
| TimToady | shared name | ||
| pmichaud | 'abc' ~~ / (x)? d | (.)? / | ||
| I'm thinking first one always has to be a list (same name across multiple alternatives) | |||
| oh, maybe not | 19:14 | ||
| I might be too doped up on cold medicine to make any sense of it now :) | |||
| but if we had | 19:15 | ||
| 'abc' ~~ / <alpha>? d | . / | |||
| what would we expect in $<alpha> ? | |||
| Currently nqp doesn't set any value for $<alpha> there | |||
| TimToady | that would also change to Nil or the character, methinks | 19:16 | |
| pmichaud | well, it won't be a character, because that alternation doesn't match | ||
| so, any capture in a regex always gets an entry, even if it's on a non-matching branch? | |||
| TimToady | so at the top level | 19:17 | |
| s/so // | |||
| pmichaud | is that true for non-quantified forms as well? | ||
| TimToady | I probably need to take a pass on S05 and look at all the examples | ||
| pmichaud | 'abc' ~~ / <alpha> || <digit> || <punct> / | ||
| $<digit> gets set to Nil? | |||
| that seems.... weird | |||
| I'd expect $/{'digit'}.exists to be false in that case | 19:18 | ||
| TimToady | well, effectively, you'll get Nil on a non-existent lookup anyway, but .exists would give a different answer | ||
|
19:18
_buno_ joined
|
|||
| pmichaud | non-existent lookups tend to return Mu, not Nil | 19:18 | |
| we could say that for Match objects all non-existent lookups return Nil | |||
| TimToady | I think they should return Nil | ||
| Mu is not the absense of a value | |||
| pmichaud | if I have my $a; should $a be pre-set to Nil? | 19:19 | |
| rakudo: my $a; say $a.WHAT; | |||
| p6eval | rakudo a37640: OUTPUT«Any()» | ||
| pmichaud | yeah, that makes sense there | ||
| my $a; say $a]0].WHAT; | 19:20 | ||
| rakudo: my $a; say $a]0].WHAT; | |||
| p6eval | rakudo a37640: OUTPUT«===SORRY!===Confused at line 22, near "]0].WHAT;"» | ||
| pmichaud | rakudo: my $a; say $ap0].WHAT; | ||
| arggggh | |||
| p6eval | rakudo a37640: OUTPUT«===SORRY!===Confused at line 22, near "].WHAT;"» | ||
| pmichaud | rakudo: my $a; say $a[0].WHAT; | ||
| p6eval | rakudo a37640: OUTPUT«Any()» | ||
| diakopter | oooo 11 users is about 1 user per year | ||
| pmichaud | I think things get weird if we turn that into Nil | ||
| TimToady | poking a Nil into a variable tends to produce a different undef | ||
| pmichaud | especially for autoviv | ||
| TimToady | so $0 needs to be classified somehow as not-a-variable to keep its Nil | 19:21 | |
|
19:21
_buno_ left
|
|||
| TimToady | a list is not a list of variables | 19:21 | |
| but of values, so I guess we're kinda okay if we think it's really a list, and not an Array | |||
| pmichaud | but $0 is really $/[0] | ||
| and I've been presuming that one can assigning into $/[0] and the like | |||
| *assign | 19:22 | ||
| I'm fine if that's not the case | |||
| TimToady | but $/[] is potentially a lazy list even | ||
|
19:22
plobsing left
|
|||
| pmichaud | sure, but so is @a :-P | 19:22 | |
| I don't see a difference there. | |||
| TimToady | @a has a lazy list | ||
| with which it reifies | 19:23 | ||
| I guess you can always bind Nil into a slot | |||
| pmichaud | so, @($/) is truly a List and not an Array, in the sense that one cannot assign to individual elements? | ||
| TimToady | seems to naturally want readonly semantics once the match is done | 19:24 | |
| pmichaud | okay | ||
| TimToady | the matcher can cheat however it wants, of course | ||
| since it's a funny kind of constructor | |||
| pmichaud | so, $/{'nosuchkey'} defaults to Nil | 19:25 | |
| ? | |||
| TimToady | I think so | ||
| pmichaud | so then my question becomes | ||
| 'abc' ~~ / <digit> || <alpha> /; say $/<digit>.exists; # or whatever the current exists syntax is | 19:26 | ||
| TimToady | digit is not an array or hash | 19:27 | |
| has no .exists method | |||
| pmichaud | okay | ||
| TimToady | has a .defined method | ||
| pmichaud | ummm | ||
| %($/).exists('digit') | |||
| TimToady | well, maybe the digit rule has submatches though | ||
| pmichaud | I'm asking "do we make entries in the hash for captures that aren't on the matching subrule path?" | ||
| *matching alternation | 19:28 | ||
|
19:29
plobsing joined
|
|||
| TimToady | STD tends to pre-create listy captures as a flag that they have push semantics | 19:29 | |
| pmichaud | nqp maintains a list as well, but doesn't do it in the match object | ||
| and, of course, neither of those are listy captures :-) | |||
| TimToady | might different implementations prefer .exists to work differently for efficiency? | 19:30 | |
| we could possible leave it officially undefined | |||
| *ly | |||
| pmichaud | possibly, but I'm more interested in end-user questions about it | ||
|
19:30
wolfram_ joined
|
|||
| pmichaud | I expect end-users will want to use $/.exists('digit') or something similar to determine which branch was taken | 19:31 | |
| TimToady | my inclination is to say the key exists if the lexical scope defined it, whether or not it was bound | ||
| pmichaud | and that's true for both itemy and listy captures? | 19:32 | |
| TimToady | I don't think .exists is suitable for branch detection | ||
| wolfram_ | What do I say instead of exp<< @b (which is "Unsupported use of << to do left shift" ) to get a list where all items in @b go through exp($_) ? | 19:33 | |
| pmichaud | wolfram_: .exp for @b | ||
| or | |||
| exp($_) for @b | |||
| wolfram_ | Ok, thanks | 19:34 | |
| pmichaud | if .exp exists (I think it does), then @b.>>exp might work | ||
| rakudo: my @b = 3,4,5; say @b.>>exp; | |||
| p6eval | rakudo a37640: OUTPUT«===SORRY!===Confused at line 22, near "say @b.>>e"» | ||
| TimToady | S05:3813 discusses subpattern renumbering over | and || | ||
| pmichaud | rakudo: my @b = 3,4,5; say @b.»exp; | ||
| p6eval | rakudo a37640: OUTPUT«===SORRY!===Confused at line 22, near "say @b.\x{bb}ex"» | ||
| pmichaud | rakudo: my @b = 3,4,5; say @b».exp; | ||
| p6eval | rakudo a37640: OUTPUT«20.085536923187754.5981500331442148.413159102577» | ||
| pmichaud | there, that's it | ||
| wolfram_ | Great! | 19:35 | |
| pmichaud | basically, invoke .exp on every element of @b | ||
| can also do | |||
| rakudo: my @b = 3,4,5; sub foo($_) { exp($_); }; say @b>>.&foo | 19:36 | ||
| p6eval | rakudo a37640: OUTPUT«20.085536923187754.5981500331442148.413159102577» | ||
| pmichaud | in case you need to invoke a function that isn't a method | ||
| TimToady | S05:3183 rather | ||
|
19:36
pako_ left
|
|||
| pmichaud | TimToady: yes, I'm not confused by subpattern renumbering (I don't think I am :-) | 19:37 | |
| I'm just clarifying when entries get created in @() and %() | |||
| I can see applications wanting to use %().keys or something like that.... probably relates to .caps also | |||
| TimToady | I think the names should be relatively static for optimization purposes, and the user should be relying on .defined | 19:39 | |
|
19:39
Vlavv` left
|
|||
| TimToady | we don't add 'my' variables when they're assigned... | 19:39 | |
| pmichaud | okay | ||
| wfm | |||
| TimToady | this seems the natural province of definedness | 19:40 | |
| pmichaud | I can follow that logic | ||
| TimToady | so a given matcher could actually store its matches in preknown attribute slots, for instance | ||
| pmichaud | right | 19:41 | |
| TimToady | which, if .[] indexed internally could be more efficient than assuming a hash impl | ||
| pmichaud | I like thinking of them like lexical variables, in that sense | ||
| makes a lot of sense | |||
| TimToady | it feels righter to me | ||
| course sometimes my feelings betray us all :) | 19:42 | ||
| diakopter | especially for ... sister..... | 19:43 | |
| pmichaud | we all loved the SB passat commercial last night (darth vader) | ||
| dalek | ecs: 248778e | larry++ | S05-regex.pod: only list-quantifiers force list capture |
||
| pmichaud | it was doubly humorous here because I drive a passat, and we keep comparing our 9-year old to Anakin Skywalker :) | 19:44 | |
| TimToady | yes, that commercial was darling; though I have more in common with the old folks these days... | ||
| so I liked the Eco commercial :) | 19:45 | ||
| also the best of the Dorito commercials, which came in flavors bad, ugly, and good :) | 19:46 | ||
| pmichaud | I must've missed the eco commercial (youtube to the rescue) | ||
| www.youtube.com/watch?v=R55e-uHQna0 # passat commercial, for those who missed it | |||
| TimToady | the Detroit commercial was really bizarre | 19:48 | |
| pmichaud | yeah, I wasn't sure where that was going at first :) | 19:49 | |
| TimToady | most of the car commercials were pretty bizarre | ||
| though I liked the one where the car kept getting restolen | |||
| don't remember the brand though | |||
| so a failed commercial, in that sense | 19:50 | ||
|
19:50
Limbic_Region joined
|
|||
| pmichaud | hyundai, I think | 19:50 | |
| TimToady | shower & | 19:52 | |
|
19:52
Vlavv` joined
|
|||
| pmichaud | lunch & | 19:53 | |
|
19:56
kjeldahl joined
20:04
MayDaniel joined
20:22
dorlamm joined
|
|||
| diakopter | implement, or implement not. there is no use. | 20:26 | |
| tadzik | :D | 20:27 | |
|
20:29
benabik is now known as benabik_away
20:51
plobsing left
20:56
dorlamm left
21:02
plobsing joined
21:07
pmurias joined
21:13
zby_home left
|
|||
| pmurias | sorear: ping | 21:15 | |
|
21:19
snearch joined
|
|||
| pmichaud | 20:26 <diakopter> implement, or implement not. there is no use. | 21:21 | |
| Rakudo has already implemented 'or', 'not', 'is', 'no', and 'use'. The only one we're missing is 'there'. | |||
| There's just no "there" there. | 21:22 | ||
| jnthn | lol :) | ||
| tadzik | std: sub implement {}; sub there {}; implement or implement not; there is no use; | 21:23 | |
| p6eval | std 625303c: OUTPUT«===SORRY!===Prefix requires an argument at /tmp/ZFcI1ZctO5 line 1:------> sub there {}; implement or implement not⏏; there is no use;Parse failedFAILED 00:01 119m» | ||
| tadzik | std: sub implement {}; sub there {}; implement or not implement; there is no use; | ||
| p6eval | std 625303c: OUTPUT«===SORRY!===Undeclared routines: 'is' used at line 1 'no' used at line 1 'or' used at line 1 'use' used at line 1Check failedFAILED 00:01 119m» | ||
|
21:23
Sarten-X left
|
|||
| flussence | std: no U !!! | 21:24 | |
| p6eval | std 625303c: OUTPUT«ok 00:01 118m» | ||
| tadzik | 0_0 | ||
| pmichaud | rakudo: 0_0 | 21:25 | |
| p6eval | rakudo a37640: ( no output ) | ||
| pmichaud | rakudo: say 0_0 | ||
| p6eval | rakudo a37640: OUTPUT«0» | ||
| pmichaud | afk | 21:28 | |
|
21:31
Sarten-X joined
21:32
snearch left
|
|||
| [Coke] | moritz_++ #clogging | 21:34 | |
|
21:34
ryan__ joined
21:35
nadim_ left,
nadim_ joined
|
|||
| colomon | I didn't know we have cloggers around here... | 21:35 | |
| [Coke] | std: e; pi; no u !!! | 21:37 | |
| p6eval | std 625303c: OUTPUT«ok 00:01 118m» | ||
| PerlJam | infrared clogging even | 21:39 | |
|
21:42
noganex_ joined
|
|||
| dalek | ecza: 1829f46 | pmurias++ | cl-backend/backend.lisp: [cl-backend] implement if and remove logging |
21:45 | |
|
21:45
plobsing left
21:46
noganex left,
plobsing joined
|
|||
| wolfram_ | Just in case someone wants to look at my attempt to FFT in perl6: nopaste.info/54335e83b5.html | 21:49 | |
| Most strange to me is that it hangs for a sequence of 0..31 or 0..63 but works for @seq = 0..15 | 21:50 | ||
| Bed now. Bye. | |||
|
21:50
wolfram_ left
|
|||
| colomon | drat. wish he hadn't just dropped that and left. | 21:51 | |
| PerlJam | me too | ||
| (but for probably different reasons :) | 21:52 | ||
| colomon | oh? | ||
|
21:52
silug joined
|
|||
| PerlJam | I was just going to comment on his initialization of @twid | 21:53 | |
| colomon | something like pointing out it could just be 0, $twd ... (@odd-1)*$twd ? | ||
| or (^@odd).map(* * $twd)>>.exp ? | 21:55 | ||
| PerlJam | I assume he wrote it that way for "documentation" purposes, but he could have also factored $twid out completely so as to keep things DRYer | ||
| I think this is the first time I've seen so much use of the ASCII guillemets too :) | 21:56 | ||
| colomon | PerlJam: you've missed some of my "classic" code, then. :) | 21:57 | |
| PerlJam | (Texas guillemets?) | ||
| colomon: Must have | |||
|
21:58
coldhead joined
21:59
ashleydev left
|
|||
| TimToady | what a stupid nopaste website that wastes half of my screen | 22:02 | |
| colomon | It does give the appearance of hanging with 0..31 | 22:07 | |
|
22:11
ashleydev joined
|
|||
| PerlJam | I just tried it with the latest parrot+rakudo and it took about 8 seconds for 0..31 | 22:13 | |
| colomon | really? it just sits there on my MBP | ||
| hmmm... | |||
| PerlJam | 0..63 worked fine too | 22:14 | |
| colomon hmmms the hmmm of someone logging into a more powerful machine... | |||
|
22:16
benabik joined
|
|||
| PerlJam | oh, I lied. | 22:19 | |
| apparently I was running my modified version rather than the original | 22:20 | ||
| (change the init of @twid and it works fine :) | |||
| colomon | really? | 22:22 | |
| of! | |||
| oh!, I mean. | |||
| duh. | |||
| PerlJam++ | |||
| so basically he just got very very lucky that 0..15 worked | 22:23 | ||
| I can confirm that with that fixed, 0..31 works... and ^64. | 22:25 | ||
| ah, well, at least I got a fresh build on my Linux box out of the deal. | |||
|
22:26
Chillance left,
benabik left
22:32
spq left
|
|||
| PerlJam | Hrm. | 22:38 | |
| If you modify the initialization of @twid to any of the ones we mentioned earlier, it seems the complex arithmetic doesn't work out right. | 22:39 | ||
| colomon | really? | ||
| colomon admits he didn't check the result. | |||
| PerlJam | But I think I know how to make his work right | 22:41 | |
| masak | pmurias: I'm not opposed to the spec becoming a lot stricter, but I also doubt it'll happen. | ||
| perhaps s/stricter/more formal/ | |||
|
22:43
kaare_ left
|
|||
| colomon | PerlJam: what did you use for generating @twid? | 22:44 | |
| PerlJam | Which time ? :) | ||
|
22:44
lolo_91 joined
|
|||
| PerlJam | Anyway I think I know what the problem is. In the complex arithmetic, we get floating point real and imaginary components and ... is checking those for equality. | 22:45 | |
| masak | lolo_91: greetings. any relations to Layla_91? | ||
| :) | |||
| lolo_91 | masak: mmm make a guess :P =) | ||
| masak | well, you have the same last two digits... :P | ||
| colomon | PerlJam: that's what causes the infinite loop, sure, but it's also causing the complex numbers to be messed up? | ||
| masak | and the underscore. | ||
| PerlJam | colomon: dunno about that one yet. | 22:46 | |
| ofir | masak, you sound like a perl(/regex/) guru, what the hell does (?=pattern) means ? (positive lookahead), I couldn't figure it out | ||
| masak | ofir: I don't know about guru, but I know that 'perldoc perlre' explains it fairly well. | ||
|
22:46
Mowah left
|
|||
| PerlJam | ofir: You might get more help with a perl 5 regex on #perl or #perlhelp or something | 22:47 | |
| masak | ofir: if you're still curious about what 'positive lookahead' is after that, Wikipedia might help. or #perlhelp on irc.perl.org | ||
| ofir | PerlJam, it is a perl 5 regex only ? perl 6 no longer supports this syntax ? | ||
| lolo_91 | masak: yes it is me I am unable to fall asleep so decided to pass by =) | ||
| masak | ofir: generally, it's a good idea to disguise Perl 5 questions in Perl 6 syntax in here. this is #perl6, after all :) | 22:48 | |
| PerlJam | ofir: nope, Perl 6 has different regex syntax for this feature (and others) | ||
| masak | lolo_91: by "yes it is me", I suppose you want to claim that you are indeed Layla_91. :) | ||
|
22:48
sji joined
22:49
shi left
|
|||
| ofir | masak, disguise is my middle name ;] | 22:49 | |
|
22:49
benabik joined
|
|||
| sbp | ofir: lookaheads in perl6 are <?before pattern> | 22:49 | |
| tadzik | lolo_91: insomniac high five! o/ | ||
| sbp | ofir: see perlcabal.org/syn/S05.html | 22:50 | |
| lolo_91 | tadzik: heeey! :D | ||
| ofir | sbp, thanks a lot | ||
| masak | ofir: thus (just so you know till next time), you should have asked "what the hell does <?before pattern> mean? (positive lookahead) I couldn't figure it out" :) | ||
| sbp | yw | ||
| PerlJam | heh | ||
| Tene | ofir: (?=...) is well-documented in 'man perlre' | ||
| sbp | well, he couldn't if he didn't know what it is in perl6 | ||
| I'd have disguised it as "what is (?=...) in perl6?" | |||
| masak | :) | 22:51 | |
| that'd work too. | |||
|
22:51
benabik left
|
|||
| jnthn | pmichaud: about? | 22:51 | |
| masak | but then you'd have to wait a day to ask what it mean in Perl 6 :P | ||
| sbp | ofir: and it means, does this pattern come next? if so, then we can continue; but we don't consume what the pattern has matched | ||
| lolo_91 | jnthn: Ping! =) | ||
| sbp | so it's a kind of peek forwards without consumption | ||
| jnthn | lolo_91: Pong! ;) | ||
| sbp | ofir: oh, also there's special syntax for doing peeking | 22:52 | |
| just once at the beginning and end. but don't worry about that because the <?before pattern> thing always works | 22:53 | ||
| jnthn | lolo_91: If the wind keeps making this much noise here I might not do so much sleep tonight either... :) | ||
| lolo_91 | jnthn: Oh god it is same here! I feel the house is falling apart! :D | ||
| jnthn | If it's this bad here, I can only imagine what it's like on the coast...I'm a bit inland and it's normally gentler here. :) | 22:55 | |
|
22:55
plobsing left
|
|||
| masak | pmichaud: I'm planning to attend YAPC::EU in Riga. \o/ | 22:55 | |
| jnthn | pmichaud: what masak sed :) | 22:56 | |
| Mmm...Riga. :) | |||
| tadzik is coming too | |||
| masak | \o/ | ||
| jnthn | \o/ | ||
| lolo_91 | jnthn, masak, tadzik.. lucky people! :''( | 22:57 | |
| jnthn | lolo_91: *hug* | ||
| tadzik | I mean, damn, there is a free t-shirt! :) | ||
| jnthn | lolo_91: Well, there's YAPC::Russia. :) | ||
| Tene | maybe I'll finally attend a yapc in 2011 | ||
| tadzik | lolo_91: so why won't you come? | ||
| Tene | I'd really like to. | 22:58 | |
| in 2010, I was moving to a new state and starting a new job right during yapc | |||
| jnthn | Meh, excuses. I went to a conference half way through moving country. :P | ||
| Tene | in 2009, I had no money | ||
| lolo_91 | tadzik: I can not travel a lot.. I have job now and not much cash.. but will attend YAPC::Russia. ^_^ | 22:59 | |
| jnthn | lolo_91: How's the new dev job going? :) | 23:00 | |
|
23:01
cosimo joined,
risou joined,
plainhao left
23:02
whiteknight joined
|
|||
| lolo_91 | jnthn: oh I hate being a newbie :( I keep getting errors in every line of code :S I study all the time.. but I wish my job was c and not obj c :S | 23:02 | |
| jnthn: The syntax is crazy | |||
| Tene | Mmm... C. | ||
| jnthn | lolo_91: The method call syntax is...interesting. | 23:03 | |
| arnsholt | I keep meaning to learn Objective C | ||
| jnthn | lolo_91: You'll get used to it with time, I'm sure. | ||
| lolo_91 | jnthn: I will also try to study perl6 in parallel.. maybe someday I will find a job that needs a "perl6 programmer" :) | 23:04 | |
| PerlJam | rakudo: my @a = 0..5; say ^@a.map(* * 3); | 23:05 | |
| p6eval | rakudo a37640: OUTPUT«012345» | ||
| PerlJam | rakudo: my @a = 0..5; say (^@a).map(* * 3); | ||
| p6eval | rakudo a37640: OUTPUT«03691215» | ||
| masak | Objective C, the C with Objectional syntax. | ||
| PerlJam | that first one is a surprise (at least to me) | ||
| jnthn | lolo_91: Hopefully! :-) | ||
| PerlJam | I don't know if there's a way to diddle the precedences so that it comes out right, but it would be nice | 23:06 | |
| anyway .. /me has to go pick up kids | |||
| lolo_91 | masak: Did you work with obj c too? | 23:07 | |
|
23:07
fod joined
|
|||
| jnthn | PerlJam: It's a general issue with prefix operators and method calls, I think. +@a.log # or some such | 23:07 | |
| Well, that one is no-op I guess. :) | |||
| arnsholt | masak: At least it's not Objectivist C =) | ||
| masak | arnsholt: :D | ||
| jnthn | :) | 23:08 | |
|
23:08
mtk left
|
|||
| masak | lolo_91: no, but I probably will. $boss wants to cast me as an iPhone developer eventually. | 23:08 | |
| jnthn | $boos or @boss? :) | ||
| tadzik | $!boss :) | ||
| masak | a private boss? :) | 23:09 | |
| tadzik | I mean, there is no accessor :) | ||
| jonnie | I saw Gabor Szabo's perl 6 talk at fosdem.. was a nice introduction to rakudo.. thanks.. if he's around :) | ||
| jnthn | $*boss # whose my boss depends on context ;) | ||
| tadzik | no public accessor | ||
| jonnie: you're probably looking for szabgab++ | |||
| lolo_91 | masak: I got my mac for it too.. I love them.. and miss my old fedora and ubuntu :(... | ||
| jonnie | ah, cheers tadzik | 23:10 | |
| szabgab, thanks for the talk :) | |||
| lolo_91 | time to sleeeeeep! bye all! =) | ||
| masak | jonnie: welcome to #perl6! we're a motley crew, and sometimes we're even serious for more than two minutes! | ||
| lolo_91: 'night | |||
| jonnie | haha | 23:11 | |
| sbp | <!serious> | ||
| jnthn | lolo_91: dobru noc | ||
| lolo_91: er, erm, the Russian version of that one :) | |||
| Tene | jnthn: is nqp-nom far enough along that I could try implementing cardinal's object model on its objects yet? | ||
| jnthn | Tene: Almost. I didn't do the primitive for mix-in support yet. | ||
| Tene | jnthn: can I subclass Class? | 23:12 | |
| jnthn | Tene: Er? | ||
| There is no Class. | |||
| :) | |||
| Tene | so what's the type of a class object? | ||
| Please free to tell me to go read the source. :) | |||
| jnthn | There's not by default a class object. Instead one would write a meta-object that provides class-y semantics. | ||
|
23:13
lolo_91 left
|
|||
| jnthn | For example, github.com/perl6/nqp-rx/blob/nom/s...lassHOW.pm | 23:13 | |
| Is the one that implements Perl 6-y class semantics. | |||
| Tene | Ahh, 'k. | ||
| jnthn | 6model's core doesn't assume one definition of class. In fact, it doesn't even provide one. :) | ||
| masak | Tene: if you meant 'type object', it's the same type as its instance objects. :) Dog, for example, is of type Dog. | 23:14 | |
| jnthn | Aye, though I suspect type objects don't make sense for Ruby so much. | ||
| IIUC meta-classes are things that you instantiate to get classes, or something along those lines. | |||
| masak | sounds familiar. | ||
| jnthn | Which you can likely arrange. | 23:15 | |
| pmurias | masak: re spec being more formal, i think a lot of the lack of formality is the result of things not being figured out fully | ||
|
23:15
stkowski left
|
|||
| jnthn | Tene: Anyway, I'd recommend working out the semantics you need and writing the meta-objects that implement them rather than trying to base it off one that does the Perl 6-y semantics. | 23:15 | |
| pmurias | masak: that is the spec discriping how things work on the "user" level not on the deep level | 23:16 | |
| jnthn | Tene: The NQP set of meta-objects are in no way "privileged". | ||
| pmurias | masak: getting smart links working again would make the spec more precise | ||
|
23:16
fod left,
mtk joined
|
|||
| pmurias | hmm, smart links work | 23:17 | |
| masak | thus, the spec is more precise! QED. | 23:18 | |
| Tene | jnthn: so I'd likely want to start with a RubyClassHOW.pm approximately? | 23:19 | |
| pmurias | masak: the work badly atm, linking to the sluggish github | ||
| masak | :/ | ||
| pmurias | instead of having the test inline | 23:20 | |
|
23:21
pmurias left
|
|||
| jnthn | Tene: Yes | 23:24 | |
| Tene: How does Ruby store attributes, ooc? | 23:25 | ||
|
23:26
icwiener left
|
|||
| Tene | jnthn: 1) I don't really know ruby | 23:27 | |
| 2) there are instance attributes and class attributes, and those are different | |||
| jnthn | OK :) | ||
|
23:27
drbean joined
|
|||
| Tene | there are also instance methods and class methods, which are different | 23:27 | |
| which was difficult to do with p6object | |||
| the big difficulty with parrot objects was that the 'new' opcode only worked on instances of parrot's Class pmc | 23:28 | ||
| not on instances of subclasses of Class. | |||
| jnthn: so, what did you mean by "how does it store attributes"? | 23:30 | ||
| jnthn | Tene: As in, are they just stored in a dictionary of names, do you need to add new ones, what happens if you have one in the superclass with the same name as one in a subclass, etc. | 23:31 | |
|
23:32
nadim_ left
|
|||
| jnthn | Tene: 6model supports custom representations. If none of the ones I've already done are optimal for Ruby's attribute storage needs, we can make a repr that is better suited for it. | 23:32 | |
| And it'll fit into the model just fine. | |||
|
23:34
nadim_ joined
|
|||
| jnthn | Tene: But you may mind that the P6opaque one is good enough. | 23:35 | |
|
23:41
sji left
|
|||
| Tene | I'll see what I find out. It seems like an accessible way to get started with 6model | 23:44 | |
| jnthn | Tene: Let me know how it works out. | ||
|
23:46
risou_ joined
23:47
risou_ left
|
|||
| LoRe | did you know that "6" is pronounced like "sex" in german? it looks like sex model :) | 23:47 | |
| jnthn | LoRe: Same in Swedish. | ||
| LoRe: I didn't realize for...months...after I picked the name though. :/ | 23:48 | ||
| masak | Swedes think about 6 all the time. | ||
| jnthn | For your own sanity, don't make the same observation about my blog name :P | ||
| masak | jnthn: ah-HA! | 23:49 | |
| ;) | |||
| sorear | good * #perl6 | ||
| phenny | sorear: 17:20Z <jnthn> tell sorear we can't store it in the HOW as the point is that it's fast to access and we can't rely on the representation of a HOW to look a certain way, so we'd have no way to get at it other than a method call, which would defeat the object. :) Also, DRY...don't want every meta-object to have to declare storage/accessor for it. | ||
| jnthn | masak: :P | ||
|
23:49
risou left
|
|||
| jnthn | In Holland they tried to get me to give a talk called "Hardcore Perl Six" once. :) | 23:49 | |
|
23:50
MayDaniel left
|
|||
| jnthn | s/Six/6/ | 23:50 | |
| Took me a while to cotton on why... :) | |||
| colomon | :) | ||
|
23:54
jevin left
|
|||
| sorear | jnthn: I guess you weren't here when someone was trying to name using perl 6 thejoyof6.pdf | 23:58 | |
| jnthn | sorear: :D | 23:59 | |
| sorear | jnthn: I'm thinking of adding an extra layer between STable and HOW that is repr-independant and contains the fiddly meta-metamodel logic like the caches. Name suggestions? | ||