|
»ö« 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:09
risou left
00:14
sftp left,
Ali_h_ joined,
ali_h left,
Ali_h_ is now known as ali_h
00:28
mtk left
00:34
benabik joined
00:36
mtk joined
00:41
mtk left
00:50
PhatEddy left
01:02
miso2217 left
01:07
cdarroch left
01:16
woosley joined
01:30
drbean joined
01:35
drbean left
01:43
whiteknight left
01:47
miso2217 joined
02:01
noganex left
02:03
leprevost joined
02:05
noganex joined
02:24
am0c joined
02:25
colomon joined
02:28
ymasory left,
ymasory joined
02:29
nymacro joined
02:32
leprevost left
|
|||
| cognominal | jnthn++ | 02:37 | |
| colomon | jnthn++ | 02:42 | |
| colomon figures that's safe enough, even if he's not sure why yet. ;) | 02:43 | ||
|
02:51
REPLeffect left
|
|||
| colomon tries to build nom | 03:04 | ||
|
03:10
justatheory left,
justatheory joined
|
|||
| colomon | make: *** No rule to make target `/Users/colomon/tools/nom/rakudo/parrot_install/bin/nqp' | 03:13 | |
|
03:14
justatheory left
03:23
Su-Shee_ joined
03:27
Su-Shee left,
alester_ joined
03:29
hudnix left
03:32
kaare_ joined
03:39
am0c left
|
|||
| TimToady | kfa | 03:46 | |
| sorear | ? | 03:48 | |
| TimToady | afk ** -1 | ||
| afk⁻¹ even | 03:50 | ||
| arcafk | |||
|
03:53
jaldhar left
03:54
am0c joined,
jaldhar joined
04:35
ymasory left
04:46
alester_ left
05:04
y3llow_ joined
05:05
baest_ joined
05:06
dju__ joined,
y3llow left,
y3llow_ is now known as y3llow
05:07
baest left
05:10
dju_ left
05:24
birdwindupbird joined
|
|||
| moritz | colomon: you need perl Configure.pl --gen-nqp | 05:29 | |
|
05:39
jaldhar left,
jaldhar joined
05:47
colomon left
05:50
wtw joined
|
|||
| dalek | osystem: 43ecb15 | tadzik++ | / (2 files): uri has been adopted |
05:56 | |
|
06:04
colomon joined
06:17
SHODAN joined
06:23
Su-Shee_ is now known as Su-Shee
|
|||
| dalek | ast: ef5b438 | pmichaud++ | S03-operators/relational.t: Add relational op tests for NaN. |
06:26 | |
| pmichaud | lolicommitted | ||
| dalek | kudo: c929021 | pmichaud++ | src/core/Num.pm: Fix relational operator tests to work properly with NaN values. |
06:27 | |
| kudo: 7e81699 | pmichaud++ | src/core/ (2 files): Optimize Numeric.ACCEPTS and Real.ACCEPTS to use ??!! instead of if/else |
|||
| kudo: e930364 | pmichaud++ | Test.pm: [Test.pm]: Avoid (now-redundant) test for NaN in is_approx, comparison of NaN always returns false. |
|||
| moritz | pmichaud++ | 06:30 | |
| pmichaud | I'm about to bump PARROT_REVISION and then will benchmark rakudo-master against others | ||
| it's so nice to be able to run rakudo spectests in under 5 mins :-) | 06:31 | ||
| also, I'm *really* glad we didn't make a star release for 2011.02. That was fortunate. | 06:32 | ||
|
06:41
mj41 joined
06:44
colomon left
|
|||
| dalek | kudo: 065788e | pmichaud++ | build/PARROT_REVISION: Bump PARROT_REVISION to get latest Parrot gc and related changes. |
06:48 | |
|
07:01
colomon joined,
baest_ is now known as baest
07:04
wamba joined
07:05
am0c left
07:09
kaare_ left
07:12
fhelmberger joined,
drbean joined
07:16
agentzh joined,
drbean left
07:18
am0c joined
|
|||
| jnthn | pmichaud++ \o/ | 07:27 | |
| commits! | |||
| colomon, moritz: Improvements to "oh no, no nqp" failure mode welcome. :) | 07:29 | ||
|
07:30
jaldhar left
07:31
jaldhar joined
07:32
kaare_ joined
07:33
awoodland joined
07:45
Sefnajjer joined
|
|||
| Sefnajjer | hello Gentlemen | 07:46 | |
|
07:47
Sefnajjer left
|
|||
| mathw | jnthn++ 6model Rakudo! | 07:50 | |
| Very exciting blog post | |||
| moritz | indeed, jnthn++ | ||
| tadzik | spectest under 5 minutes? Oh wow | 07:51 | |
| how long was it for you before, pmichaud? | |||
| pmichaud | around 30. | ||
| jnthn | Whoa. | ||
| pmichaud: GC threshold changes + the numerics patch above? | |||
| tadzik | ...whoa! | ||
| pmichaud | no, the spectest time improvements are strictly because I got a new machine on friday :-) | 07:52 | |
| to replace my outdated desktop from 2005 | |||
| jnthn | oh! | ||
| That's cheating. :P | |||
| tadzik | I'm planning to give a talk on Warsaw.pm in about July, something like "Rakudo Star, year ago and now" | ||
| pmichaud | 6 core 3.2GHz amd phenom processor | ||
| mathw drools, just a little | |||
| jnthn | Hell yeah | ||
| jnthn wants one too :) | 07:53 | ||
| mathw | honestly my dual-core laptop and my quad-core desktop are just fine... just fine... | ||
| pmichaud | and, no, it's not cheating if it saves me 25+ minutes per spectest run :-) | ||
| jnthn | mathw: Heh, that's exactly the setup I have. :) | ||
| mathw | I really don't mind at all that I can't run City of Heroes with maxed-out graphics settings anymore (they upgraded the engine since I could do that) | ||
| And I've never sat there saying 'I wish you would compile more quickly' | |||
| pmichaud | but it's really nice to see things like core.pm compiling in 65 seconds instead of 240+ | ||
| mathw | :D | 07:54 | |
| I bet | |||
| that is a really significant speedup | |||
| moritz is surprised that single processors still get so much faster | |||
| mathw | if only it was through some awesomely clever patch to parrot or rakudo | ||
| hey here's an idea, we could ship rakudo with a database of all possible programmes, ready compiled, so it can just look them up in a hash table, super-fast! | |||
| storage is cheap, right? | 07:55 | ||
| tadzik | is (self.isNaN ?? $other.isNaN !! $other == self) really faster than if/else? | ||
| jnthn | Yes | ||
| moritz | tadzik: fewer scopes | ||
| jnthn | No block | ||
| tadzik | oh, I see | ||
| moritz | tadzik: each block is compiled to a separate parrot-level sub | ||
| tadzik | so that could be optimized one day, but now it's not?> | 07:56 | |
| jnthn | In NQP we can flatten blocks out and do. In Rakudo, I'm not sure we can. | ||
| moritz | so you get rid of an invocation and a return | ||
| maybe with sufficient static analysis | |||
| we should spec that intermediate blocks are optional in stack traces | |||
| jnthn | Contextuals would seem to prevent scope flattening. In Perl 6 every block has some. | 07:57 | |
| moritz | or maybe they shouldn't show up at all | ||
| jnthn: if you can prove that they are not used somehow... | |||
| jnthn | moritz: But it's a contextual, so short of full program analysis or something that seems...hard. | ||
| Maybe in some cases we can. | |||
| mathw | oh fun | 07:58 | |
| moritz | jnthn: would be a huge win if we analyzed the setting for use of contextuals | ||
| jnthn | moritz: True. | 07:59 | |
| moritz: But even then it only helps for sub calls | |||
| moritz: Since a method call could be overridden at any point. | |||
| But perhaps still worth it :) | |||
| In fact, I guess it means all operators win. | 08:00 | ||
| moritz | unless they do things like $a.Num + $b.Num | 08:01 | |
| mathw | As long as you don't tell too many people, so they won't start writing sub-only code 'because it's faster' | ||
| jnthn | moritz: Right | ||
| Though if people are really after speed they'd presumably have added type annotations so the compiler can find and inline infix:<+>(Num,Num) | 08:02 | ||
|
08:11
jedai_ left
08:13
jedai joined
|
|||
| tadzik | 48.9% of modules now have Panda badges :) | 08:15 | |
| moritz | are any of mine among the missing? | 08:17 | |
| mathw | What's a Panda badge? | 08:20 | |
| cosimo | tadzik: would be useful if clicking on the panda I could know what that means :) | ||
| and hello, #perl6 | |||
| jnthn | mathw: It means your module is unbearably good. | 08:22 | |
| moritz | hello cosimo | ||
| it means a META.info location is known for that module | |||
| tadzik | nope | 08:26 | |
| it means it conforms to the latest specs.pod | |||
| moritz | oh | ||
| tadzik | which currently means "it has a source-url field" | ||
| moritz | you see, even I get it wrong :-) | 08:27 | |
| tadzik | it means "good maintainer, takes care of what happens in the ecosystem" | ||
| cosimo | damn, now I need to fix my other perl6 modules ;) | ||
| tadzik | please do! :) | 08:28 | |
| mathw | Something I've definitely not been doing lately | ||
| tadzik | one could maintain an autoupdater/notifier for META.infos and achive ultimate glory | ||
| cosimo | now that the socket stuff is stable, I really need to finish Cache::Memcached | ||
| moritz | you mean, after we completely broke and then rewrote it? :-) | 08:31 | |
| www.perlmonks.org/?node_id=903800 nice challenge | |||
| can anybody think of a clever Perl 6 solution? | |||
| dalek | kudo/nom: 924ea54 | moritz++ | / (3 files): detect missing nqp executable at Configure.pl time |
08:32 | |
| moritz | niezca: say 'abc' ~~ /<*abcd>/ | ||
| niecza: say 'abc' ~~ /<*abcd>/ | 08:33 | ||
| p6eval | niecza v5: OUTPUT«===SORRY!===Action method assertion:sym<*> not yet implemented at /tmp/AyDRZnznUi line 1:------> say 'abc' ~~ /<*abcd⏏>/Unhandled exception: Unable to resolve method oplift in class Str at /home/p6eval/niecza/src/RxOp.pm6 line 9 (RxOp | ||
| ..C8_… | |||
| jnthn | rakudo: say '1443123456983' ~~ / :my $last; [(\d) <?{ ($last + 1) % 10 == $0 ?? ($last = $0; 1) !! 0 }>]+ / | 08:36 | |
| p6eval | rakudo 065788: OUTPUT«Use of uninitialized value in numeric context in <anon> at line 22:/tmp/VUupEPKjPB144312345» | ||
| jnthn | dang | 08:37 | |
| :) | |||
| moritz | rakudo: say '1443123456983' ~~ / :my $last; (\d) { $last = +$0 } [(\d) <?{ ($last + 1) % 10 == $1 ?? ($last = $0; 1) !! 0 }>]+ / | 08:38 | |
| p6eval | rakudo 065788: OUTPUT«» | ||
|
08:39
colomon left
08:41
colomon joined
|
|||
| moritz | www.perlmonks.org/?node_id=903927 just a weird idea | 08:41 | |
|
08:44
[particle]1 joined,
[particle] left
08:47
lue left,
lue joined
08:48
colomon left
08:55
dakkar joined,
colomon joined
09:00
pnu left
09:02
pnu joined
09:08
colomon left
09:14
donri joined
09:15
colomon joined
09:16
tzhs joined
09:21
awoodland left
09:29
icwiener joined
09:34
colomon left
09:43
colomon joined
09:49
kaare_ left
09:53
pnu left
09:58
icwiener_ joined
10:00
pnu joined,
icwiener left
10:04
am0c left
10:06
Su-Shee_ joined
10:09
Su-Shee left
10:12
ggoebel joined
10:17
ggoebel left
10:22
ggoebel joined,
woosley left
10:24
kaare_ joined
10:36
Su-Shee_ is now known as Su-Shee
10:41
icwiener_ left,
cosimo_ joined
10:45
wamba left
|
|||
| tadzik | remember when I said Rakudo is fast enough when I can run ForestFire.pl smoothly? Ladies and Gentleman, Rakudo is Fast Enough :) | 10:52 | |
| oh, my bad, it isn't :) | 10:53 | ||
| I was using a small board | |||
|
11:02
Psyche^ joined
11:05
Patterner left,
Psyche^ is now known as Patterner
11:07
mux_ is now known as mux
11:08
icwiener joined
11:19
satyavvd joined
11:25
cosimo_ left
11:27
dakkar left,
woosley joined
11:28
woosley left,
dakkar joined
11:50
woosley joined
11:54
agentzh left
|
|||
| takadonet | morning all | 12:07 | |
| tadzik: url for ForestFire.pl ? | |||
|
12:12
f00li5h left
12:14
mtk joined
12:17
satyavvd left
12:28
sftp joined
12:31
pernatiy left
12:33
[particle]1 is now known as [particle]
|
|||
| jnthn | afternoon o/ | 12:44 | |
|
12:45
leprevost joined
12:46
Vlavv_ left
|
|||
| takadonet | jnthn: yo | 12:48 | |
| jnthn | o/ takadonet | ||
| takadonet | jnthn: how are you doing? | 12:49 | |
|
12:49
drbean joined
12:50
bluescreen10 joined
12:51
leprevost left,
leprevost joined,
Holy_Cow joined
12:52
Holy_Cow left
|
|||
| jnthn | takadonet: Pretty well, thanks. :-) Mostly done with $dayjob for the next week and a half. :) | 13:01 | |
| takadonet | jnthn: nice so more Rakudo hacking | 13:02 | |
|
13:02
woosley left
|
|||
| jnthn | takadonet: Yes, and a bit of vacation too :) | 13:03 | |
|
13:05
woosley joined
13:10
pernatiy joined
|
|||
| takadonet | newest rakudo build took off 10 seconds off my script runtime! | 13:16 | |
| jnthn | yay :) | 13:17 | |
| takadonet | still a thousands time slower then p5 version :( | ||
| p6 version: 2 min 42 seconds p5 version: 0.1 seconds | |||
| jnthn | :( | ||
|
13:20
satyavvd joined
13:36
woosley left
13:38
Sefnajjer joined
|
|||
| Sefnajjer | Hello Gentlemen | 13:39 | |
| moritz | Sefnajjer: hello | ||
|
13:39
Sefnajjer is now known as Moukeddar
|
|||
| Moukeddar | How are you doing moritz ? | 13:40 | |
| phenny | Moukeddar: 08 May 17:20Z <sorear> tell Moukeddar mail.pm.org/pipermail/chicago-talk/...04726.html | ||
| moritz | same as usual | 13:41 | |
| Moukeddar | oh yeah , the naming thing , how nice of you to clarify that ;) | ||
| Camel Art , Tasty | 13:42 | ||
|
13:45
ab5tract joined
|
|||
| Moukeddar | blog.amt.in/video-perl-programming-...es-linuxco | 13:47 | |
| dalek | kudo/nom: c929021 | pmichaud++ | src/core/Num.pm: Fix relational operator tests to work properly with NaN values. |
13:51 | |
| kudo/nom: 7e81699 | pmichaud++ | src/core/ (2 files): Optimize Numeric.ACCEPTS and Real.ACCEPTS to use ??!! instead of if/else |
|||
| kudo/nom: e930364 | pmichaud++ | Test.pm: [Test.pm]: Avoid (now-redundant) test for NaN in is_approx, comparison of NaN always returns false. |
|||
| kudo/nom: 065788e | pmichaud++ | build/PARROT_REVISION: Bump PARROT_REVISION to get latest Parrot gc and related changes. |
|||
| kudo/nom: 7ff55d7 | jnthn++ | / (7 files): Merge branch 'master' into nom |
|||
|
13:52
[Coke] left
13:53
Jdoneright joined,
Moukeddar_ joined,
Moukeddar_ left
|
|||
| Jdoneright | So, who else researches J language beside me? | 13:54 | |
| moritz | Jdoneright: maybe try asking in a J-related IRC channel? | 13:55 | |
| Jdoneright | But I love Perl! | ||
| moritz | that's nice, but still your chances are higher in a J-related channel | 13:56 | |
| Su-Shee | .oO(what are J languages?) |
||
| Jdoneright | Ahh, I get you. Its not some J advice I seek | ||
| J is more humane version of APL | 13:57 | ||
| vectorized programming language | |||
| moritz | Su-Shee: Java, Javascript, ... *SCNR* | ||
| Jdoneright | no-no-no | ||
| Su-Shee | moritz: well that's what I first thought actually... | ||
| colomon | moritz++, jnthn++, pmichaud++ | 13:58 | |
| Jdoneright | q=. 2 3 5 7 9 define q | ||
| +/ q sum q | 13:59 | ||
| */\ q partial products of q | |||
| moritz | rakudo: my @q = 2, 3, 5, 7, 9; say [+] @q; say join ', ', [\*] @q | 14:00 | |
| p6eval | rakudo 065788: OUTPUT«262, 6, 30, 210, 1890» | ||
| colomon | jnthn: ld: can't open output file for writing: perl6, errno=21 | 14:02 | |
| jnthn | colomon: huh? | 14:04 | |
| moritz | colomon: check if your disc is full? | 14:05 | |
|
14:05
Tedd1 left
|
|||
| jnthn | colomon: Compiling...what exactly? | 14:05 | |
| colomon | jnthn: that's my latest problem building r-nom | ||
| jnthn | Oh. | ||
| moritz | colomon: try: perl -wE '$! = 21; say $!' | ||
| jnthn | That's...really odd given it's just the same old pbc_to_exe that we've used for a long time. | ||
| colomon | moritz: I've got 200 gigs free | ||
| moritz | colomon: what does it say on your platform? | ||
| should be enough, even if it's close :-) | |||
| colomon | Is a directory | 14:06 | |
| jnthn | wtf, the directory should be called Perl6, not perl6. | ||
| moritz | case independent file systems | ||
| jnthn | And on Windows it ain't an issue 'cus it's perl6.exe. | ||
| grr | |||
| dalek | kudo/nom: 0c08f4b | jnthn++ | NOMMAP.markdown: Update plan. |
||
| jnthn | OK, I dunno what to do about that. | ||
| moritz | but macos has case insensitive file systems *and* no .exe extensions | 14:07 | |
| jnthn | ew. | ||
| colomon | actually, OS X has case sensitive file systems but tries to pretend it doesn't, I believe. | ||
|
14:07
bluescreen10 left
|
|||
| moritz | colomon: it has some, but it doesn't enable it by default | 14:07 | |
| it's just case preserving, not case sensitive | 14:08 | ||
| how about not writing to ./Perl6, but to src/gen/Perl6 or gen/Perl6 or so? | |||
| jnthn | moritz: It's the PBСs that go in there | 14:09 | |
| And they're located by normal use statement. | |||
| moritz | jnthn: so, generated files | ||
| jnthn | moritz: Well, if that's your measure, then we put perl6 executable in src/gen too. | ||
| moritz | so we need to twiddle with INC or whatever the equivalent is, right | ||
| jnthn | Note that only perl6.pbc gets bundled into the executable. | 14:10 | |
| Everything else is just a PBC file loaded at runtime. | |||
| moritz | so maybe a runtime/ dir? | 14:11 | |
| jnthn | We could try and mess around with some load prefix or something. | ||
| moritz | or blib or so | ||
| jnthn | Maybe, but it needs to work after install too. | ||
| So long as we install with a blib prefix I guess it's OK. | 14:12 | ||
| hmm, but then we need to work out how to get it to load from there... | |||
| moritz | I'd like to hear pmichaud's opinion on the whole thing befor we do anything about it | 14:13 | |
| jnthn | Sure | ||
| I'm happy for somebody else to solve this. | |||
| At the moment it's not even worth building anyway. :) | |||
| moritz | jnthn: is it the nqp use statement that does its loading? | ||
| jnthn | moritz: Yes. | ||
| moritz | s/its/the/ | ||
|
14:14
icwiener left
|
|||
| moritz | jnthn: does it go solely by module name? or does it also look into the file, and verify that it found the package it was supposed to load? | 14:14 | |
| jnthn | The name just locates the file. | ||
| moritz | if the former, a use blib::Perl6::Actions might work, even if it's ugly | ||
| jnthn | Yes, it would :) | 14:15 | |
| The only thing it cares about once it's loaded the file is GLOBALish and EXPORT. | |||
| Which are both in UNIT | |||
| And thus locatable without worrying over filename. | |||
| Talking of export...that's what I need to do next...or a first cut, anyway ;) | 14:16 | ||
|
14:18
Tedd1 joined,
wtw left
14:23
Jdoneright left
14:24
drbean left,
bluescreen10 joined
14:27
Tedd1 left
|
|||
| pmichaud | good morning, #perl6 | 14:28 | |
| PerlJam | good morning Pm | ||
| moritz | good am, pm | 14:30 | |
| jnthn | morning, pmichaud | 14:32 | |
|
14:32
PhatEddy joined
|
|||
| colomon | pmichaud! \o/ | 14:32 | |
| PhatEddy | Hi - I'm trying to build the latest rakudo on Win Vista and hitting intermittent (but frequent) Error -1073741819 from nqp when building parrot. | 14:33 | |
| Any suggestions ? | |||
| jnthn | Hmm...isn't that equivalent to segfault? | 14:35 | |
| :/ | |||
| PhatEddy: What toolchain are you using? | 14:36 | ||
| moritz | googling for "Error 1073741819" throws up lots of results that suggest a virus or worm might be the issue | ||
| jnthn | rakudo: say 1073741819.base(16) | ||
| p6eval | rakudo 065788: OUTPUT«3FFFFFFB» | 14:37 | |
| jnthn | rakudo: say -1073741819.base(16) | ||
| p6eval | rakudo 065788: OUTPUT«-3» | ||
| jnthn | meh | ||
| pmichaud | masakbug! | ||
| moritz | precedence! | ||
|
14:37
spq joined
|
|||
| PhatEddy | I can't rule out a virus! I was infected last week and had to clean up ... | 14:37 | |
| jnthn | pmichaud: Is that actually wrong, btw? | ||
| pmichaud | jnthn: no, moritz++ has it right | ||
| moritz | rakudo: say (-1073741819).base(16) | ||
| p6eval | rakudo 065788: OUTPUT«-3FFFFFFB» | ||
| jnthn | pmichaud: Thought so. | ||
| moritz | :-) | 14:38 | |
| pmichaud | it's a precedence issue :) | ||
| too early here -- haven't had a dr pepper yet | |||
| jnthn | Well, yes, but is it a Rakudo bug of just Perl 6 spec'ing it that way :) | ||
| dalek | kudo/nom: 7cd9d0c | jnthn++ | src/Perl6/ (2 files): First cut of import. Seems to do the right kinda thing. |
||
| jnthn | lol i can write import in very few lines now! | ||
| pmichaud | I'm currently looking over the last set of benchmark results | ||
|
14:39
ggoebel left
14:41
hercynium joined
14:43
Moukeddar left
14:44
ggoebel joined
14:45
Tedd1 joined
14:46
spq left
|
|||
| pmichaud | github.com/pmichaud/rakbench/blob/...100844.txt # rakbench on 2GB kiwi | 14:47 | |
| summary: gms wins core.pm and rx tests, ms2 (both 2011.01 and patched 2011.04) wins all others | |||
| moritz | that's surprising | ||
| jnthn | Odd. | 14:48 | |
| pmichaud | oh, 2011.01 (ms2) didn't win pickwords.p6. but patched 2011.04 (ms2) did. | 14:49 | |
| same for atan2 | |||
|
14:53
bluescreen10 left
14:58
simcop2387 left
14:59
simcop2387 joined
15:00
mj41 left
15:07
ab5tract left
15:08
bluescreen10 joined
15:12
satyavvd left
15:22
risou joined
15:25
Su-Shee left,
tzhs left
15:26
Su-Shee joined,
noganex left
15:29
noganex joined,
nymacro left
15:33
Shozan joined
15:37
MayDaniel joined
15:40
Shozan left
15:41
justatheory joined
15:44
risou_ joined
15:46
risou left
15:51
domidumont left
15:52
MayDaniel left
15:56
edenc left
|
|||
| moritz | pmichaud: have you backlogged, regarding locations of generated setting .pbc files in nom? | 16:06 | |
| jnthn | Note, it's not just setting, but meta-objects and other compiler bits | ||
| Suggest reading my blog post yesterday for background also. | |||
| moritz should finish that, yes | 16:07 | ||
| TimToady | I'm getting really tired of seeing (and I suspect people are tired of typing) things like: say ~( LIST ) | ||
| we need a "so" equivalent for stringifying | |||
| pmichaud | [~] LIST # :-) | ||
| TimToady | um, no | 16:08 | |
| moritz | that joins without whitespace | ||
|
16:08
Mowah joined
|
|||
| moritz | TimToady: I thought the same today | 16:08 | |
| pmichaud | ah, with the whitespace | ||
| TimToady | cat fails too | ||
| pmichaud | maybe an abbrev for "join" | 16:09 | |
| "jo" | |||
| "jn" | |||
| maybe just "sp" | |||
| TimToady | unfortunately we can't use "str" | ||
| pmichaud | say sp List | ||
| TimToady | that's not too bad | ||
| pmichaud | *LIST | ||
| jnthn | sp? | 16:10 | |
| TimToady | then we could have "spay" for short | ||
| pmichaud | joins LIST with spaces | ||
| jnthn | oh! | ||
| TimToady | what .Str does | ||
| tadzik | takadonet: I believe it's on RosettaCode | ||
| jnthn | say Str( LIST ); :) | ||
| tadzik | Great! I'm not looking, and jnthn implements import! Unfair! | ||
|
16:10
hudnix joined
|
|||
| TimToady | and then we could have .sp as alias for .Str | 16:10 | |
| jnthn | tadzik: It's not complete. :) | ||
| PerlJam | I'm not too tired of ~(LIST) yet (fwiw :-) | 16:11 | |
| jnthn | tadzik: But it does look in lexical IMPORT :) | ||
| pmichaud | moritz: I did see the dicussion on the .pbc's yes | ||
| jnthn | tadzik: And does make the imported symbols available to the compiler. :) | ||
| pmichaud | I'm not likely to have tuits to throw at it today... perhaps tomorrow | ||
| moritz | pmichaud: any opinions? | ||
| TimToady | PerlJam: it really wants a listop so you don't have to find/remember the trailing ) | ||
| moritz | ok | ||
| jnthn | And does install them in the static lexpad... :) | ||
| That's already 3 things we didn't do before. ;) | |||
| pmichaud | I should be able to review it Thursday if I don't get to it before then | 16:12 | |
| PerlJam | TimToady: aye, but perhaps it's one those things that "feels familiar" for me that I don't have that problem. | ||
|
16:12
cdarroch joined,
cdarroch left,
cdarroch joined
|
|||
| PerlJam | TimToady: you could always confuse people by making a ~( op that doesn't need the ) ;-) | 16:12 | |
| pmichaud | say &prefix:<~>(LIST) # works also :-P | ||
| might need an extra set of parens | 16:13 | ||
| PerlJam | does prefix:<~~> mean anything yet? | ||
| moritz | rakudo: say prefix:<~> <a b c> | ||
| p6eval | rakudo 065788: OUTPUT«a b c» | ||
| moritz | PerlJam: don't even think of it | ||
| PerlJam | moritz: too late! :) | ||
| pmichaud | PerlJam: it means you got your smartmatch in the wrong position, usually :) | ||
| moritz | PerlJam: when you define a prefix:<~~>, you can't detect accidental usage of some_sub ~~ condition anymore | ||
| pmichaud | std: say ~~ 3 | 16:14 | |
| p6eval | std 9f27365: OUTPUT«===SORRY!===Expecting a term, but found either infix ~~ or redundant prefix ~ (to suppress this message, please use space between ~ ~) at /tmp/QdHD1Ju7zU line 1:------> say ~~⏏ 3Parse failedFAILED 00:01 114m» | ||
| tadzik | jnthn++ # import | ||
| PerlJam | aye. that one can't work for a variety of reasons. But sometimes you've got to mentino the bad ideas for contrast | ||
|
16:14
ggoebel left,
KyleHa joined
|
|||
| pmichaud | maybe &prefix:<⏏> :-P | 16:15 | |
| say ⏏ LIST | |||
| tadzik | that looks like a jmp instruction in Mario programming language | ||
| PerlJam | I don't even know how to type that character .... so ~(LIST) continues to work fine for me :) | 16:16 | |
| moritz | now I want a metaop that lowers the precdence of an operator | ||
| say L~ 1, 2, 3 | |||
| then we can abandon 'and' for L&& | |||
| or becomes L|| | |||
| PerlJam | moritz: a generalized precedence twiddler does seem to be useful (where you can raise or lower precedence as needed) | ||
| pmichaud | traditionally, the generalized precedence twiddler has been () :-P | 16:17 | |
| PerlJam | a more infix one | ||
| or prefix | |||
| pmichaud | I don't suppose (~) works | ||
| say (~) LIST | |||
| moritz | but () stands for tight precedence | 16:18 | |
| jnthn | say )~( LIST | ||
| moritz | having it *loosen* the precedence of another op feels wrong | ||
| jnthn: :-) | |||
| pmichaud | then )~.... what jnthn said | ||
| jnthn | OH NO if two people thunk it it must be right! | 16:19 | |
| ;) | |||
|
16:19
ggoebel joined
|
|||
| pmichaud | note about RT #89972 (.roll isn't random enough) | 16:22 | |
| That looks like a recent bug. It worked fine in 2011.01 | |||
| gist.github.com/964805 | |||
| so it should be low-hanging fruit | |||
| oh, it works fine in 2011.04, too | |||
| so it's broken sometime between 2011.04 and current master | 16:23 | ||
| jnthn | pmichaud: Yeah, deliberate Parrot chance, it seems. | ||
| *change | |||
| pmichaud: The discussion that followed was basically a be-useful-to-HLLs FAIL. | |||
| </trolling> | 16:24 | ||
|
16:24
miso2217_ left
|
|||
| jnthn | pmichaud: Long story short, easiest way is for us to call srand ourselves at startup, or some such. | 16:24 | |
|
16:24
KyleHa left,
ggoebel left
16:28
justatheory left
16:29
ggoebel joined
|
|||
| pmichaud | where's the discussion, ooc? | 16:30 | |
| jnthn | pmichaud: Was on #parrot | 16:31 | |
| benabik | pmichaud: Starts at irclog.perlgeek.de/parrot/2011-05-05#i_3678681 | 16:32 | |
| jnthn | pmichaud: irclog.perlgeek.de/parrot/2011-05-05#i_3678709 | ||
| oh... :) | |||
| benabik | jnthn: Jinx? | ||
| pmichaud | so, is this another "we're making a change outside of the deprecation policy" sort of thing? | 16:33 | |
| jnthn | Seems so. | ||
|
16:33
am0c joined
|
|||
| jnthn | As well as making a change that I can't see being a benefit to ANY HLL. | 16:34 | |
| benabik | It looks like srand was being initialized as part of the hashing code. | ||
|
16:39
Tedd1^ joined
16:40
Tedd1 left
16:46
risou joined,
risou_ left
16:54
birdwindupbird left
16:56
dakkar left,
risou left
16:57
Vlavv_ joined
17:03
risou joined
17:05
risou left,
risou joined,
risou left
17:10
risou_awy joined,
icwiener joined
17:13
risou_awy is now known as risou
|
|||
| tadzik | how much time 'til #phasers? | 17:15 | |
| jnthn | 1 hour 45 mins, iirc. | 17:16 | |
| oh, or is it just 45 mins | |||
| no, I was right first time :) | |||
| tadzik | goodie. Thanks | 17:17 | |
| spam on the RT | 17:21 | ||
| we can close 2 tickets! \o/ :) | |||
| dalek | kudo/nom: a80a744 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm: Flesh out bootstrap types a little more. |
17:26 | |
| kudo/nom: 9fd9be6 | jnthn++ | src/Perl6/Compiler/ (2 files): Toss old compile-time representations of parameter and signature - we can now just instantiate the real parameter and signature objects and use them in the compiler, then (if we're running right away) the same ones at runtime. |
|||
| kudo/nom: 457c06a | jnthn++ | src/Perl6/SymbolTable.pm: Compile-time symbol location and is_type. |
|||
| kudo/nom: f08cd62 | jnthn++ | src/Perl6/Metamodel/AttributeContainer.pm: Fix attribute introspection. |
|||
| kudo/nom: adf72d8 | jnthn++ | src/Perl6/ (2 files): Start to refactor grammar and actions for compile time Signature/Parameter creation. |
|||
|
17:26
Mowah left
|
|||
| jnthn | nom & | 17:28 | |
|
17:30
pernatiy left
17:38
masak joined
|
|||
| masak | evening, zebras. | 17:38 | |
| jnthn | evenin', masak | ||
| pmichaud | I should probably write up reports for #parrotsketch and #phasers | 17:39 | |
| masak | ooh, #phasers. | ||
|
17:42
risou is now known as risou_awy,
risou_awy is now known as risou
17:44
Chillance joined
17:48
orafu left
17:51
ab5tract joined
17:53
benabik left
|
|||
| tadzik | oh, masak :) | 17:57 | |
| dalek | kudo: 72cbadc | pmichaud++ | build/PARROT_REVISION: Bump PARROT_REVISION to get random number seeding from Parrot. Fixes #89972. |
||
| pmichaud | now that #89972 is fixed, is there a good way we can test it? | ||
| tadzik | a test running a .pl file? | ||
| I thought about it too | |||
| pmichaud | more directly: should I close the ticket, or leave it with "we need a test"? | 17:59 | |
| I'm going to leave it open. | 18:01 | ||
| colomon | pmichaud++ | 18:02 | |
| tadzik | tickets++ | ||
|
18:02
miso2217 left,
wamba joined
|
|||
| pmichaud | it's been so long since I did a report at #phasers that I have to remember what one looks like :) | 18:03 | |
| jnthn | pmichaud: The current standard is to write it all in uppercase, with maximum line length 30 chars. | 18:04 | |
| diakopter | lol. | 18:05 | |
|
18:06
tomaw left
|
|||
| tadzik | did you mean: LOL! | 18:06 | |
| PerlJam | heh | ||
| though, this isn't #phaser :) | |||
| er , #phaseres | 18:07 | ||
| crap | |||
| I would try again, but it's likely to come out as #phrases or something | |||
|
18:08
tomaw_ joined
|
|||
| diakopter | or #sharpes | 18:08 | |
|
18:11
icwiener left
|
|||
| colomon | bother. new version of gcd in setting appears to break Math::BigInt. :( | 18:12 | |
| well, Math::BigInt's gcd, anyway | 18:14 | ||
|
18:15
tomaw_ is now known as tomaw
|
|||
| colomon | rakudo: multi sub gcd(Rat $a, Rat $b) { say "Rats!" }; gcd(10.0, 15.0) | 18:15 | |
| p6eval | rakudo 065788: OUTPUT«Rats!» | ||
| masak | colomon: oh! sorry about that. :/ | 18:20 | |
| colomon | masak: I'm sure it's not really your fault. Some stupid glitch in Rakudo's dispatch. | 18:21 | |
|
18:21
rgrau joined
|
|||
| colomon | and probably not worth fixing because it's all about to change anyway. | 18:22 | |
| masak | probably worth bugreporting, though. | ||
| jnthn | oh surprise, masak++ wants to report a bug ;P | 18:23 | |
| jnthn is all for it - more for nom to close ;) | |||
|
18:23
pernatiy joined
|
|||
| jnthn | pre#phasers stroll & | 18:23 | |
| colomon | masak: the trouble is going to be golfing it | 18:25 | |
| masak | oh? | ||
| colomon | rakudo: class A { our multi sub gcd(Rat $a, Rat $b) is export { say "Rats"; }; }; gcd(10.0, 15.0) | 18:26 | |
| p6eval | rakudo 065788: OUTPUT«Method 'gcd' not found for invocant of class 'Rat' in <anon> at line 3920:CORE.setting in 'gcd' at line 1 in main program body at line 22:/tmp/3pr_oCfqxu» | ||
| colomon | huh | ||
| rakudo: say gcd(10.0, 15.0) | |||
| p6eval | rakudo 065788: OUTPUT«Method 'gcd' not found for invocant of class 'Rat' in <anon> at line 3920:CORE.setting in 'gcd' at line 1 in main program body at line 22:/tmp/oozOPuKyYp» | ||
| colomon | ah, okay. | ||
| well, probably can be golfed down to a simple module, anyway | 18:27 | ||
| masak | aye. | ||
|
18:29
miso2217 joined
18:31
hercynium left
|
|||
| colomon | gist.github.com/965082 -- masak, think you can improve on that golfing? | 18:31 | |
|
18:34
justatheory joined,
justatheory left
18:35
justatheory joined
18:36
jaldhar left
|
|||
| masak looks | 18:37 | ||
| rakudo: class Gcd does Real { our multi sub gcd(Gcd $a, Gcd $b) is export(:DEFAULT) { say "Gcd!" }; gcd Gcd.new, Gcd.new | 18:40 | ||
| p6eval | rakudo 72cbad: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 22» | ||
| masak | rakudo: class Gcd does Real { our multi sub gcd(Gcd $a, Gcd $b) is export(:DEFAULT) { say "Gcd!" } }; gcd Gcd.new, Gcd.new | 18:41 | |
| p6eval | rakudo 72cbad: OUTPUT«Method 'gcd' not found for invocant of class 'Gcd' in <anon> at line 3920:CORE.setting in 'gcd' at line 1 in main program body at line 22:/tmp/H0Chu2jTX1» | ||
| masak | rakudo: class Gcd { our multi sub gcd(Gcd $a, Gcd $b) is export(:DEFAULT) { say "Gcd!" } }; gcd Gcd.new, Gcd.new | ||
| p6eval | rakudo 72cbad: OUTPUT«Method 'gcd' not found for invocant of class 'Gcd' in <anon> at line 3920:CORE.setting in 'gcd' at line 1 in main program body at line 22:/tmp/huJEujRGx2» | ||
| masak | rakudo: class Gcd { our sub gcd(Gcd $a, Gcd $b) is export(:DEFAULT) { say "Gcd!" } }; gcd Gcd.new, Gcd.new | ||
| p6eval | rakudo 72cbad: OUTPUT«Method 'gcd' not found for invocant of class 'Gcd' in <anon> at line 3920:CORE.setting in 'gcd' at line 1 in main program body at line 22:/tmp/GyIWhsGP89» | ||
| masak | hm, of course it's not visible. | 18:42 | |
| I'm not importing it... :) | |||
| colomon | right. | 18:43 | |
| masak runs the files instead | |||
| colomon | "does Real" is unnecessary, that's a miniature golf. | 18:44 | |
| so is "(:DEFAULT)" | |||
|
18:46
[particle] left
18:51
ab5tract left
18:54
[particle] joined
18:58
mtk left
|
|||
| masak | #phasers in 1? | 18:59 | |
| jnthn | yes, back justin time | 19:00 | |
|
19:07
mtk joined
|
|||
| masak | today's mini-challenge. (this one is for hard-core people.) | 19:11 | |
|
19:11
fhelmberger left
19:12
newbee joined
|
|||
| masak | on the integers modulo $P, make an algorithm that quickly finds the inverse of $n. | 19:13 | |
| (that is, a number $m such that $n * $m == 1 (mod $P)) | |||
|
19:14
p6eval left
19:15
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
| newbee | rakudo: class Calendar { has Str $.file is rw; method BUILD { say "Opening $.file"; } }; my $cal = Calendar.new(file=>'somefile.txt'); | 19:16 | |
| p6eval | rakudo 72cbad: OUTPUT«Opening Any()» | ||
| masak | newbee: you should probably make BUILD a submethod. | 19:17 | |
| newbee | "sub" instead of "method"? | ||
| masak | no, 'submethod' instead of 'method'. | ||
| jnthn | newbee: One day a sub met a method and they made a submethod | 19:18 | |
| newbee | mmm and why the difference? | ||
| masak | newbee: submethods don't partake in inheritance. | ||
| TimToady | submethods can't accidentally be called on the wrong part of the object's infrastructure | 19:19 | |
| says the domain expert :) | |||
| masak | :P | ||
| newbee | rakudo: class Calendar { has Str $.file is rw; submethod BUILD { say "Opening $.file"; } }; my $cal = Calendar.new(file=>'somefile.txt'); | ||
| p6eval | rakudo 72cbad: OUTPUT«Opening Any()» | ||
| masak | TimToady: see? people expect BUILD not to override attribute initialization... | 19:20 | |
| that's, like, the seventh people who have expected that in just three years. | |||
| TimToady | rakudo: class Calendar { has Str $.file is rw; submethod BUILD ($.file) { say "Opening $.file"; } }; my $cal = Calendar.new(file=>'somefile.txt'); | ||
| p6eval | rakudo 72cbad: OUTPUT«Opening somefile.txt» | ||
| masak | s/people/person/ | 19:21 | |
| hm. | |||
|
19:21
justatheory left,
justatheory joined
|
|||
| masak | I stand corrected. | 19:21 | |
| newbee | so, giving parameters to BUILD is used to specify "required" attributes... | ||
| masak | yes. | 19:22 | |
| of course, you could have several multi BUILD submethods. | |||
| newbee | nice :) | ||
| then i should declare them as "submethod multi BUILD" | |||
| TimToady | flip those | ||
| masak | 'multi submethod'. | ||
| jnthn | Is declaring a multi method and a multi submethod "illegal"? | 19:23 | |
| What type of method should a generated proto be? | 19:24 | ||
| TimToady would not be surprised if that were the case | |||
| jnthn will happily make it the case, otherwise things will be Greatly Insane. | |||
| Well, may be. :) | |||
| TimToady | we want to have the GI tractable | ||
| jnthn | It's a conservative thing to do anyway :) | ||
| masak | yes. | 19:25 | |
|
19:25
risou is now known as risou_awy
|
|||
| jnthn | I know masak filed at least one RT relating to mutlis and submethods. | 19:25 | |
| masak cackles involuntarily | |||
| it's OK, just implement new features; I'll be nice. I promise. | 19:26 | ||
| jnthn | yeah yeah worreva :P | ||
|
19:26
justatheory left
19:28
molaf__ left
|
|||
| tadzik | the nice trick for required attributes is "$.foo = die "foo is required" | 19:28 | |
| masak | thunks++ | 19:29 | |
| TimToady | yes, but that requires the current post-BUILD check semantics, not the preset-then-call BUILD semantics | ||
| so you can't have it both ways... | 19:30 | ||
| tadzik | (for some definition of nice, I must say I'd prefer "is required" of some sort | ||
|
19:31
leprevost left
|
|||
| TimToady | declarative is often preferable to procedural | 19:32 | |
| I suppose we could preset the attributes with "futures" that de-lazify on first FETCH, and are easily overridden by BUILD, but that wouldn't help for native attrs | 19:35 | ||
|
19:37
birdwindupbird joined
19:39
dju_ joined
|
|||
| PhatEddy | Either jnthn or moritz (or anyone) around for my vista problem? I strongly suspect it is NOT a virus. On two of my vista systems I can build a rakudo git revision from three days ago but not the one from this morning. | 19:41 | |
|
19:43
dju__ left
|
|||
| masak | doesn't sound like a virus. | 19:45 | |
| rakudo: given "82665409266027476709324472" { my $diff = join "", map { ($^b - $^a) % 10 }, (.comb Z .comb.rotate); my $longest = $diff.comb(/9+ | 1+/, :match).max({.to - .from}); say .substr($longest.from, $longest.to - $longest.from) } # my www.perlmonks.org/?node_id=903800 entry | 19:46 | ||
| p6eval | rakudo 72cbad: OUTPUT«65» | ||
| colomon | errr... that's not the correct answer, is it? | 19:48 | |
| masak | it isn't? | 19:51 | |
| oh! "654"! :/ | |||
| back to the drawing board. :) | |||
|
19:54
benabik joined
|
|||
| masak | I think that's just an off-by-one error. | 19:55 | |
| rakudo: given "82665409266027476709324472" { my $diff = join "", map { ($^b - $^a) % 10 }, (.comb Z .comb.rotate); my $longest = $diff.comb(/9+ | 1+/, :match).max({.to - .from}); say .substr($longest.from, $longest.to - $longest.from + 1) } | |||
| p6eval | rakudo 72cbad: OUTPUT«654» | ||
| masak | rakudo: given "82665409266027476709324472" -> $seq { my $diff = join "", map { ($^b - $^a) % 10 }, ($seq.comb Z $seq.comb.rotate); my $longest = $diff.comb(/9+ | 1+/, :match).max({.to - .from}); say $seq.substr($longest.from, $longest.to - $longest.from + 1) } | 19:56 | |
| p6eval | rakudo 72cbad: OUTPUT«654» | ||
|
19:56
justatheory joined
|
|||
| newbee | rakudo: class Calendar { has Str $.file is rw; submethod BUILD($.file) { say $.file }; }; my $cal = Calendar.new(file=>'somefile.txt'); $cal.perl.say; | 19:58 | |
| p6eval | rakudo 72cbad: OUTPUT«somefile.txtCalendar.new(file => "somefile.txt")» | ||
| newbee | rakudo: class Calendar { has Str $.file is ro; submethod BUILD($.file) { say $.file }; }; my $cal = Calendar.new(file=>'somefile.txt'); $cal.perl.say; | ||
| p6eval | rakudo 72cbad: OUTPUT«Cannot modify readonly value in '&infix:<=>' at line 1 in 'Calendar::BUILD' at line 7643:CORE.setting in 'Calendar::BUILD' at line 22:/tmp/7eKADe1BUO in main program body at line 22:/tmp/7eKADe1BUO» | ||
| newbee | rakudo: class Calendar { has Str $.file is ro; }; my $cal = Calendar.new(file=>'somefile.txt'); $cal.perl.say; | ||
| p6eval | rakudo 72cbad: OUTPUT«Calendar.new(file => "somefile.txt")» | ||
| newbee | i don't quite get this behavoir.... when i declare a constructor, i can no longer write to an ro attribute with the function "new" | 19:59 | |
|
20:00
ymasory joined
|
|||
| newbee | the idea is to write it once at construction time. | 20:00 | |
| masak | newbee: I agree that's a slightly unfair behaviour. | 20:01 | |
| the internals get to assign to the 'ro' attribute, but user-provided BUILD methods don't. | |||
| TimToady | I'm not aware of any 'ro' trait in Perl 6... | 20:02 | |
| masak | on the other hand, BUILD is just a normal submethod, which happens to assign to $.file; not necessarily at object creation time. | ||
| no, it's just that traits are not checked. | |||
| TimToady: Moose has 'ro'. maybe it's time for Perl 6 to follow suit? | 20:03 | ||
| diakopter | (but isn't that the default?) | 20:04 | |
| TimToady | rakudo: class Calendar { has Str $.file is ro; submethod BUILD($!file) { say $!file }; }; my $cal = Calendar.new(file=>'somefile.txt'); $cal.perl.say; | ||
| p6eval | rakudo 72cbad: OUTPUT«somefile.txtCalendar.new(file => "somefile.txt")» | ||
| masak | rakudo: given "82665409266027476709324472" -> $seq { my $diff = ($seq.comb Z $seq.comb.rotate).map({ ($^b - $^a) % 10 }).join; my $longest = $diff.comb(/9+ | 1+/, :match).max({.to - .from}); say $seq.substr($longest.from, $longest.to - $longest.from + 1) } | ||
| TimToady | use $! instead of $. in a submethod | 20:05 | |
| newbee | rakudo: class Calendar { has Str $!file is ro; submethod BUILD($!file) { say $!file }; }; my $cal = Calendar.new(file=>'somefile.txt'); $cal.perl.say; | ||
| p6eval | rakudo 72cbad: OUTPUT«654» | ||
| rakudo 72cbad: OUTPUT«somefile.txtCalendar.new(file => "somefile.txt")» | |||
| TimToady | otherwise you're trying to set $.file via a readonly virtual method | ||
| masak | newbee: and note that it's not readonly because of 'ro', but by default. | 20:06 | |
| newbee: the trait for readonliness is 'readonly'. | |||
| newbee | mmm ok, i'll work with 'rw' only... | 20:09 | |
| masak | technically, that's all you need. | 20:10 | |
| TimToady | in fact, it should not let you use the $.file form in a submethod, according to S12:680 | ||
| within a BUILD the object is not completely constructed, and virtual methods are likely to call a subclass whose BUILD hasn't been run yet | 20:11 | ||
| masak .oO( "the policeman's BUILD is half-constructed" ) | 20:13 | ||
|
20:13
LoRe left
|
|||
| masak | TimToady: is it fair to say that submethods work at the bang-twigil layer whereas proper methods work at the dot-twigil layer? | 20:14 | |
| TimToady | I would say that proper methods work at either level | 20:15 | |
| depending on whether they want to talk to the abstract interface or the concrete interface of the object | |||
| proper methods have one hand inside the black box and one hand outside | 20:16 | ||
| masak | oh, right. it's a limitation in Rakudo that objects can't change each others' private attrs... | ||
| TimToady | well, we assume that a class trusts itself, but we do require private calls to a different object to go through the $obj!method interface | 20:17 | |
| masak | ...but if there's no !method, it defaults to the attr, no? | 20:18 | |
| jnthn | Private attrs don't imply a method | ||
| masak | I know that. | 20:19 | |
|
20:19
LoRe joined
|
|||
| masak | but there could be one, I guess. | 20:19 | |
| TimToady | presumably something underneath can figger out what the user wants | ||
| masak | even if there's an attribute with that name. | ||
| rakudo: class A { has $!x; method !x { say "OH HAI" }; method foo { self!x } }; A.new.foo | |||
| p6eval | rakudo 72cbad: OUTPUT«OH HAI» | ||
| jnthn | TimToady: IIUC though, $obj!foo is not really allowed, it should be qualified? | ||
| TimToady | well, unless it makes sense to default to the current class | 20:20 | |
| jnthn | Is it fair to say that privates are never virtual, though? | 20:21 | |
| TimToady | yes | ||
|
20:22
jevin left
|
|||
| TimToady | these are all, at worst, function calls | 20:22 | |
| jnthn | *nod* | ||
| OK | |||
| TimToady: It's not until now that I've really ahd the infrastructure to contemplate really implementing stuff like "trusts" and to be able to do privates properly. | |||
| masak | pugs: class A {}; class B { trusts A }; say "alive" | 20:23 | |
| p6eval | pugs: OUTPUT«alive» | ||
| masak | man, pugs is fast. | ||
| jnthn | Haskell's got faster faster than Parrot's got faster, evidently. | 20:24 | |
| TimToady | yes, it had already optimized away the class declarations before you even typed them. :) | ||
| masak | of course Haskell is fast. no side effects, no processor heating. :P | ||
|
20:25
LoRe left
20:26
[Coke] joined
20:29
LoRe joined
|
|||
| slavik | so is pugs very active now? | 20:30 | |
| tadzik | (: | ||
| for some definition of active... | |||
| slavik | how active is it compared to rakudo? :P | ||
| PerlJam | slavik: it's approximately dead compared to rakudo | 20:31 | |
| slavik | :( | ||
| maybe I should learn haskel | |||
| i mean, I wanted to, but wanted to tie perl6 into it | |||
| TimToady | learning Haskell is easy, I've done it five or six times now... | ||
| slavik | D: | ||
| masak | slavik: when you find out how Haskell works, please let us know. :) | ||
| slavik | speaking of which, what is your opinion on it? | 20:32 | |
| TimToady | monads are too hard to lift | ||
| PerlJam | haskell is a great language. | ||
| masak | it's an eye-opener, for sure. | ||
| I think the difficulty of monads is over-hyped. | |||
| moritz | it requires a major brain rewiring | ||
| TimToady | any individual monad is fine | ||
| slavik | aren't monads simply "do x, then y"constructs? | ||
| PerlJam | the whole immutability thing takes a little while to get used to. | ||
| jnthn | .oO( It'd take me a whole månad to learn them! ) |
20:33 | |
| masak | TimToady: oh, you're talking about monad transformers. (hence, the "lift", I see...) | ||
| TimToady | yes, it's sort of a pun | ||
| masak | TimToady: haven't tried those much, I admit. | ||
| PerlJam | masak: he's always punning don't you know | ||
| TimToady | but I mean it seriously too | ||
| masak | yeah. I know because we've had this exact conversation once before :P | ||
| slavik | TimToady: so, when are you going to write STAR? | ||
| TimToady | I thought I'd just write RATS and then play it backwards | 20:34 | |
| slavik | hmm | ||
| diakopter | what's STAR | ||
| slavik | but how will * look backwards? | ||
| moritz | like this: * | ||
| masak | !revetahw | ||
| rakudo: say "*".flip | |||
| p6eval | rakudo 72cbad: OUTPUT«*» | 20:35 | |
| PerlJam | masak++ | ||
| slavik | "My favorite language is call STAR. It's extremely concise. It has exactly one verb '*', which does exactly what I want at the moment." | ||
| a quote in my signature on ubunty forums :) | |||
| masak | slavik: either I'm missing something, or you have very low requirements. :P | ||
| slavik | ? | ||
| masak | oh, nevermind. I'm just being deliberately obtuse. | 20:36 | |
| slavik | I am fairly active in the programming talk forum ;) | ||
|
20:36
imamelia joined
|
|||
| TimToady | well, the point is that the * language is heavily context dependent, so I can't tell you how much effort will go into setting up the context in any particular case | 20:36 | |
| diakopter | * * * * * * | 20:37 | |
| slavik | TimToady: do you remember what that was in response to? I can no longer find where it is. | ||
| TimToady | the * in the STAR language just means "doit", but you have to tell it what "it" is via environment variables :) | ||
| slavik | D: | ||
| masak | I've been reading Perl 6 RFCs of late. it's interesting to see how the Perl 6 dream is coming true, but not at all with the syntax proposed in the RFCs. (thankfully!) | ||
| TimToady | I don't remember when I mentioned STAR first; the idea actually comes out of GEB, if I recall | 20:38 | |
| PerlJam | Mu | ||
| masak | there was some criticism that the "Implementation" sections almost never contained anything useful. I think knowing what we know today, that's easier to excuse. :) | ||
| PerlJam | The trancendental cow goes "mu" | 20:39 | |
| TimToady | one could spend years blogging about the relationships of the RFCs to Perl 6 | ||
| masak | "Implementation: well, first we'll need a type system with a meta-object protocol..." | ||
| TimToady: yes, I'm tempted :) | |||
| PerlJam | masak: you could use it as the basis for a PhD! ;) | 20:40 | |
| TimToady | and then you could lecture to nearly-empty classrooms about it for the rest of your life | 20:41 | |
| PerlJam | Just like higher math | ||
| masak | you make it sound so tempting. | 20:42 | |
| TimToady | frankly, we like your bugs | ||
| masak | awww <3 | ||
| sbp | hehe | ||
|
20:43
rgrau left
|
|||
| masak | oh wait, this is the Unicode channel. | 20:43 | |
| sbp | .u heart | ||
| phenny | U+2766 FLORAL HEART (❦) | ||
| masak | awww ♥ | ||
| sbp | .u white heart | ||
| phenny | U+2661 WHITE HEART SUIT (♡) | ||
| TimToady | otoh we could use someone to dredge through the RFCs and see if we've overlooked anything | ||
| masak | yeah. | ||
| I wouldn't mind doing it, and blogging. in practice, I've already started. | |||
| see strangelyconsistent.org/blog/speaki...-in-perl-6 | 20:45 | ||
| TimToady | and any sidebars on how Perl 5 solved it differently (and why they *had* to solve it differently) would also be of great interest | ||
| masak | aye. | ||
| TimToady | some problems may be solved *only* by invoking Second System effects | 20:46 | |
| otherwise your legacy ties you down forever; cf chromatic | 20:47 | ||
| 's latest blog | |||
| diakopter | oh, doh, thought you were punning | ||
| masak | yeah, don't ruin it for us here! :P | ||
| masak goes back to visualizing chromatic with rope | 20:48 | ||
| TimToady | as I was reading the blog, I kept thinking "new wine in old wineskins" | ||
| masak | TimToady: what, you've also been rolling your eyes over old Perl versions? | ||
| diakopter | .u black heart | 20:50 | |
| phenny | U+2665 BLACK HEART SUIT (♥) | ||
| diakopter | depending on your terminal... | ||
| masak | anyone know a university that would give me a PhD salary in exchange for reading RFCs and running Perl 6 code all day? | ||
| (not really serious, I like my current vocation) | 20:53 | ||
|
20:53
birdwindupbird left
|
|||
| jnthn breathes a sigh of relief :) | 20:55 | ||
|
20:57
saaki joined
|
|||
| masak | "welcome, masak, to our compa... hey! come back!" | 20:59 | |
| jnthn | :P | 21:00 | |
| we, er, didn't book any train tickets :) | |||
|
21:01
mj41 joined
|
|||
| jnthn | er, wrong window | 21:02 | |
| TimToady | I thought it was cute that J's "op/\" also gets a picture of a triangle in there like [\op] does | 21:07 | |
|
21:09
newbee left
21:11
dju__ joined
21:15
dju_ left
21:26
PhatEddy left
21:30
[1]imamelia joined,
imamelia left,
[1]imamelia is now known as imamelia
21:37
cognominal left
21:40
kaare_ left
21:44
imamelia left
|
|||
| dalek | kudo: 85f0df2 | pmichaud++ | Configure.pl: Have Configure.pl automatically create a "config.status" file on output |
21:47 | |
|
21:48
wamba left
|
|||
| masak | '♞, #perl6. | 21:49 | |
|
21:49
masak left
21:52
imamelia joined
21:59
bluescreen10 left
22:06
Su-Shee_ joined
22:09
Su-Shee left
|
|||
| dalek | kudo: e801644 | pmichaud++ | Configure.pl: Fixes to --makefile-timing flag: i.e., "@time perl ..." and not "time @perl ..." - Don't time "echo" commands in the makefile recipes |
22:13 | |
|
22:25
benabik left
22:37
mj41 left
|
|||
| dalek | kudo: 08e717b | pmichaud++ | Configure.pl: \1 better written as $1 at Configure.pl line 181. |
22:39 | |
|
22:41
donri left
22:46
cdarroch left
22:47
slavik left,
dorlamm joined
22:55
dju__ is now known as dju
22:57
mtk left
22:58
mtk joined,
slavik joined
23:04
dorlamm left
23:06
awoodland joined
23:11
whiteknight joined
23:14
rgrau joined
23:19
tty234 left,
tty234 joined
23:25
awoodland left
|
|||
| dalek | d: 11bafbe | larry++ | STD.pm6: catch miscontextualized attrs, has/method decls |
23:42 | |
| jnthn | - rule method_def () { | 23:43 | |
| + rule method_def ($d) { | |||
| hey, nice :) | |||
| TimToady: I'll have the various other worries, but I won't implement them like that. | 23:44 | ||
| TimToady: It's fine for STD, but I have a LOT more detailed information to hand. Like, the actual meta-object to ask what it can do. :) | |||
| + given $*SCOPE { | 23:45 | ||
| Did you mean given $*IN_DECL? | |||
| method ain't a $*SCOPE... | 23:46 | ||
| Unless I'm missing some other change. | |||
| $*IN_DECL feels a tad risky though. | 23:47 | ||
| method foo() { return sub { $!x } } | |||
|
23:55
Chillance left
23:57
dawud joined
|
|||