»ö« 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
|