»ö« 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:04
skids joined
00:08
adu joined
|
|||
adu | .u 1 | 00:11 | |
phenny | U+0031 DIGIT ONE (1) | ||
00:14
tyatpi left
|
|||
adu | what does // mean? | 00:17 | |
diakopter | defined-or | 00:20 | |
use the first if it's defined | |||
00:28
replore joined
00:44
Guest54920 left
00:46
fgomez left
00:55
fgomez joined,
telex left
00:59
wolfman2000 joined
01:00
telex joined
01:01
wolfman2000 left
01:09
scott_ joined,
scott_ is now known as Guest14369
01:10
tyatpi joined
01:11
Khisanth left
01:24
Khisanth joined
|
|||
[Coke] | .u fdd0 | 01:48 | |
phenny | U+FDD0 (No name found) | ||
02:11
tokuhiro_ joined
02:12
spaceships joined
02:23
spaceships left,
fgomez left
|
|||
adu | how do you convert a string into a 'List' of characters? | 02:30 | |
sorear | .comb | ||
with no arguments | |||
adu | nr: say "dlrow olleh".comb.reverse.join | 02:31 | |
p6eval | rakudo 684fd2, niecza v18-7-ga660099: OUTPUT«hello world» | ||
02:31
fgomez joined
|
|||
adu | that's good | 02:31 | |
sorear | nr: say "dlrow olleh".flip # fwiwi | ||
adu | that's fun :) | ||
p6eval | rakudo 684fd2, niecza v18-7-ga660099: OUTPUT«hello world» | ||
sorear | fwiw | ||
adu | oh I missed that | 02:32 | |
I've been neglecting learning the rest of this lang | 02:33 | ||
focusing too much of regexes | |||
sorear | this lang is huge. | ||
adu | but smaller than C++ | 02:34 | |
I like that | |||
sorear | there's a great deal that's left unsaid in the specs; I speculated once that after it was rewritten in language laywerese it would come out bigger than C++ | ||
adu | hmm, are you saying perl6 is ambiguous? | 02:35 | |
[Coke] | anything not specified is like perl5 | 02:36 | |
adu | I was thinking of parsing $/.prematch.flip forwards rather than parsing $/.prematch backwards, is that possible? | 02:37 | |
sorear | possible, sure | 02:38 | |
02:41
replore left
|
|||
colomon | sorear: I'm really regretting upgrading mono on my Mac, it seems to have forgotten everything it knows. | 02:54 | |
sorear: the good news is, my TuneReminder GTK script is running fine for me on Windows. | 02:55 | ||
afk # bedtime | 02:56 | ||
03:04
adu left
03:05
vlixes left
03:07
tokuhiro_ left
03:13
Chillance left
03:25
xinming left
03:26
mattp_ left
03:27
pochi left
03:28
sorear left,
pochi joined,
pyrimidine left,
Exodist joined
03:29
infosophy joined,
mattp_ joined,
sorear joined,
pyrimidine joined,
infosophy is now known as Guest81317
03:31
xinming joined
03:33
mattp_ left
|
|||
dalek | ecza/non-bootstrap: 4166e85 | sorear++ | lib/ (7 files): Actions pt 3 |
03:34 | |
03:34
mattp_ joined
|
|||
diakopter | sorear: that's a big diff :) | 03:36 | |
sorear | Ugly, too. | 03:38 | |
03:39
araujo left
03:42
sudokode is now known as ____5UD0K0D3____
03:44
____5UD0K0D3____ is now known as sudokode
03:45
quietfanatic joined,
adu joined
03:46
xinming left,
aloha left
03:47
aloha joined
03:48
xinming joined
03:49
mattp_ left
03:50
mattp_ joined
03:53
Telgsta left
|
|||
quietfanatic | I can never remember what flattens by default and what doesn't. Does (<a b>, <c d>) flatten? | 04:00 | |
okay looks like it dies | 04:01 | ||
*does | |||
haha | |||
04:02
Telgalizer joined
|
|||
sorear | generally speaking, while list producers can set a 'flatten' hint on substructures, all actual flattening is deferred to the list consumer | 04:03 | |
r: say (<a b>, <c d>).perl | |||
p6eval | rakudo 684fd2: OUTPUT«(("a", "b"), ("c", "d"))» | ||
sorear | r: .perl.say for (<a b>, <c d>) # add a list consumer | ||
p6eval | rakudo 684fd2: OUTPUT«"a""b""c""d"» | ||
sorear | r: .perl.say for (<a b>, <c d>).lol # add a special consumer that ignores the hints and never flattens | 04:04 | |
p6eval | rakudo 684fd2: OUTPUT«$("a", "b")$("c", "d")» | ||
quietfanatic | huh | 04:08 | |
quite contextual. | |||
04:14
Caldrin left
04:15
Caldrin joined
04:20
adu left
04:37
kaleem joined
04:43
crab2313 joined
04:44
fgomez left,
fgomez joined,
fgomez left
04:45
fgomez joined
04:49
fgomez left
04:52
fgomez joined
04:55
geekosaur left,
geekosaur joined
04:58
fgomez left
05:01
fgomez joined
05:07
birdwindupbird joined
05:11
fgomez left
05:13
fgomez joined,
kaleem left
05:14
fgomez left,
fgomez joined
05:19
kurahaupo left
|
|||
masak | morning, meatbrains. | 05:30 | |
quietfanatic! \o/ | |||
sorear | o/ masak | ||
moritz | \o | 05:31 | |
masak breaks the night's fast | |||
05:48
kaleem joined
05:50
Khisanth left
05:52
araujo joined
06:04
Khisanth joined
|
|||
moritz fastens the breaks | 06:16 | ||
masak | ...sounds like a mixed metaphor. | 06:18 | |
before you know it, you'll be hitting the seatbelts, too. :P | |||
moritz | I need some outlet for my agressions after all. Why not seatbelts? :-) | 06:20 | |
masak | heh :) | 06:21 | |
06:25
xinming left
06:26
xinming joined
|
|||
diakopter | 'night # | 06:27 | |
06:27
wtw joined
|
|||
moritz | good night diakopter | 06:28 | |
masak | bom dia, kopter. | ||
06:39
fhelmberger joined
|
|||
dalek | ecza/non-bootstrap: 2fbcce5 | sorear++ | lib/ (7 files): Actions pt 4 |
06:46 | |
masak | TimToady: every time you leak details about your radical lookup program, I get an irresistible urge to get my hands on it. have you considered making it public someday? | 06:55 | |
ynot | perl6: my $foo = 2.718281828459045235360287471352662497757247093699959574966967627724; say $foo | ||
p6eval | niecza v18-7-ga660099: OUTPUT«2.7182818284590455» | ||
..pugs: OUTPUT«2.7182818284590452353602874713526624977572» | |||
..rakudo 684fd2: OUTPUT«2.718281828459046067791859968565404415130615234375» | |||
06:56
kresike joined
|
|||
kresike | hello all you happy perl6 people | 06:56 | |
masak | kresike! \o/ | ||
kresike | masak, o/ | ||
masak | TimToady: if you aren't considering that, I will likely end up building something like that myself. | 06:57 | |
TimToady: oh, how kanji-as-opposed-to-hanzi is your db? | |||
TimToady: also, have you classified en.wikipedia.org/wiki/Biang ? :P | |||
ynot | Hm. rakudo prints this Rat with 50 places, 34 of which are crap. | 06:59 | |
sorear | I see only radicals I know there, and that's saying something. :) | ||
ynot: that's not a Rat | 07:00 | ||
if the denominator would be more than 2**63, it becomes a Num instead | |||
masak | ynot: new here? if so, welcome. | ||
ynot | perl6: my $foo = 2.718281828459045235360287471352662497757247093699959574966967627724; say $foo.WHAT | ||
p6eval | niecza v18-7-ga660099: OUTPUT«Num()» | ||
..pugs: OUTPUT«Rat» | |||
..rakudo 684fd2: OUTPUT«Rat()» | |||
sorear | hurh | ||
masak | perl6: $_ = "XXXX"; if s/YYY/ZZZ/ { say "Naughty" } else { say "Nice" } | 07:01 | |
p6eval | rakudo 684fd2, pugs: OUTPUT«Naughty» | ||
..niecza v18-7-ga660099: OUTPUT«Nice» | |||
masak is with Niecza here | |||
sorear | did someone change the spec out from under me? | ||
masak | sorear: could you be more specific? | ||
:P | |||
sorear | masak: 1.long......WHAT | ||
masak | Rat() | ||
or a subclass of it, I guess. | 07:02 | ||
like FatRat() | |||
ynot | Hello everybody. I am Martin from ulm.pm :-) | 07:03 | |
sorear | Welcome to Martin from ulm.pm | ||
I have not been to Ulm | |||
masak | ynot++ # welcome! | 07:04 | |
sorear | moritz might have | ||
masak | ah, .de | ||
sorear | are you at yapc? | ||
07:04
brrt joined
|
|||
ynot | Yes, though my talk has not been confirmed yet. | 07:05 | |
sorear | Doesn't it start, like, tomorrow? | ||
masak | "Ulm" sounds like the name a city would get if someone was asked to name it, made a hesitating sound, and the hesitation was interpreted as an answer. | ||
ynot | Ah , misunderstanding; I mean yapc::eu. | 07:06 | |
masak is not sure he has submitted talks to YAPC::EU o.O | |||
looking into that now. | |||
ynot++ # indirectly reminding me | |||
sorear | ynot: ... | ||
ynot: I MEANT yapc::eu, but mentally confused which one was going on currently | 07:07 | ||
masak | that's why we shouldn't refer to individual YAPCs as "YAPC". duh! :) | 07:08 | |
ynot | yapce::eu starts Aug 20 | ||
sorear totally intends to visit at least one yapc in the next 12 mos | 07:09 | ||
masak | YAPC::EU 2012 will be teh awesome. | ||
sorear | I will not be there | ||
masak | :/ | 07:11 | |
sorear: I have a feeling someday we'll meet in Cartesian space. | |||
sorear: when do you finish your studies? I'll set an alarm and recruit you. if $company (against all odds) doesn't want to hire you, I'll just form a startup and hire you myself. | 07:13 | ||
sorear | masak: after way too much waffling and making of pro/con lists, I've semi-decided to drop out; I've already secured a gig with someone from sandiego.pm | 07:14 | |
a lot of what's on my mind now is taking control of as much of my life as I can | 07:15 | ||
this includes applying for a passport | |||
it'll be a miracle if that clears in two months | |||
brrt | you don't have a passport? :-o | 07:17 | |
ynot | perl6: my $foo = 2.718281828459045235360287471352662497757247093699959574966967627724; say $foo.perl | ||
p6eval | rakudo 684fd2: OUTPUT«679570457114761308840071867838165624439311773424989893741741906931/250000000000000000000000000000000000000000000000000000000000000000» | ||
..pugs: OUTPUT«\679570457114761308840071867838165624439311773424989893741741906931/250000000000000000000000000000000000000000000000000000000000000000» | |||
..niecza v18-7-ga660099: OUTPUT«2.7182818284590455e0» | |||
masak | sorear: oh! dropping out. I don't imagine you'll be making such a decision lightly, no. | 07:18 | |
sorear: congrats on the gig. hope it's a good one :) | |||
sorear | brrt: I've been asking for one for years. I'm tired of doing things on other people's schedules. | ||
ynot | amazing. rakudo stores all those digits. It must be stringification that inserts the crap digits. | 07:19 | |
brrt | ..... | ||
bonsaikitten | sorear: I find that concept quite amazing. I can't remember not having a passport ... although I've had some fun with bureaucrats :) | ||
masak | sorear: why would it take two months to get a passport? | ||
brrt | i'm legally obliged to have a passport :-o | ||
i find it hard to imagine you couldn't get one | 07:20 | ||
sorear | bonsaikitten: are you 21? | ||
shachaf has three passports! | |||
bonsaikitten | sorear: a tiny bit older, but as I've never lived in the country that prints my passport my perspective is skewed | ||
shachaf | sorear: (Hi!) | ||
masak | my passport will expire next year. I imagine I will get a new one quickly. living without one would be worse than postponing getting a fresh one. | ||
there's a nice mood here this morning. good going. | 07:21 | ||
sorear | masak: I've heard that it usually takes quite a few weeks. US border enforcement is made of ridiculous. | ||
shachaf: Hi! | 07:22 | ||
shachaf | I know someone who got a US passport within a week, though he had to work at it. | ||
masak | sorear: I've heard the "made of ridiculous" part. but a few weeks sounds more reasonable than months. | 07:23 | |
I once got a Russian visa in record time. I had to work at it too. | 07:24 | ||
it involved using a courier service to ship my passport between cities the afternoon before the flight. | 07:25 | ||
(and that was the easy part) | |||
shachaf | sorear: Where are you passporting to once you get a passport? | 07:26 | |
ynot | masak: and you made it to the flight? whow | ||
sorear | shachaf: seems to be Frankfurt this year. | 07:27 | |
shachaf | YAPC? | 07:28 | |
sorear | yes. | ||
sorear wonders how much German ey can learn in 9 weeks | |||
bonsaikitten | sorear: if you stay in the tourist zones you can get along with english | 07:29 | |
masak | ynot: yes. it was a nice trip, too. well worth it. | ||
brrt | germans speak english well enough in general | ||
shachaf | brrt: Going to a country where the main language is non-English would seem like an *opportunity* to learn another language. | 07:30 | |
masak | indeed. | ||
unless that country is Sweden. | |||
brrt | why is sweden exempt? | ||
masak | because if people notice you're a foreigner here, they'll switch to English out of respect. | ||
and people's spoken English is generally good enough that it's energetically unfavorable to keep speaking Swedish. | 07:31 | ||
shachaf | That's why you should go to Finland instead. :-) | ||
brrt | oh, but they'll do that in the netherlands as well, except if you look either polish or like a muslim | ||
in which case unfortunately the respect has left my country :-( | |||
masak | I wonder if Swedish will darwiniate itself away in the long run. | ||
brrt | what is the long run? | 07:32 | |
how long is that, i mean? :-) | |||
masak | I don't know. a century? | ||
three? | |||
brrt | hmm, thats fair | 07:33 | |
sorear | masak: I cracked a joke once that in 150 more years, Japanese will be SOV English with a syllabary instead of an alphabet | ||
masak | there's an association here called "The Swedish Language Defense", most of whose opinions I don't share. but it's interesting to see them work. | ||
brrt | i suspect a lot of smaller languages have all but disapeared in 300 years | ||
masak | sorear: sounds much like how I percieve Yiddish. | ||
perceive* | 07:34 | ||
bonsaikitten | all just german dialects | ||
shachaf | Yiddish is hilarious. | ||
(So is Dutch.) | |||
bonsaikitten | so they'll end up as part of New German ;) | ||
brrt | whats so hilarious about dutch, i'm curious | ||
:-) | |||
shachaf | It reads like someone who's really bad at English trying desperately to speak it. | ||
bonsaikitten | brrt: words like "te huur" | 07:35 | |
07:35
LoRe joined
|
|||
sorear | dutch: the one language I can read and understand despite never having studied | 07:35 | |
ynot | but they would teach Swedish to somebody not speaging English, would they not? | ||
bonsaikitten | well, that's only funny for germans | ||
brrt | yes, why is it funny | ||
ynot | what does it mean? | 07:36 | |
bonsaikitten | Hure = hooker/prostitute ... if a house is "te huur" (for rent) the germans parse it as "house prostituting itself" | ||
brrt | ah, i see | ||
bonsaikitten is half belgian | 07:37 | ||
helps to know the languages ... | |||
brrt | anyway, for your german entertainment: www.youtube.com/watch?v=aJiLZpDfevI | ||
as well as for your dutch: www.youtube.com/watch?v=5i0duYakqLY | |||
bonsaikitten: which half, and which half not? | 07:38 | ||
bonsaikitten | brrt: the other halves are luxemburgian and austrian | ||
I'm a first-gen european | |||
brrt | very much with such genetics | 07:39 | |
sorear: the first video is said to be good for the understanding of german pronunciation | |||
bonsaikitten | if there's ever a european passport available I'll take it | 07:40 | |
brrt | also, wallon or flemish? | 07:43 | |
masak | bonsaikitten: oh, I had never considered the etymological proximity between "to whore" and "to hire" before. interesting. | ||
ynot | talking about programming languages, does anybody know another language besides perl6 embedding limited precision rationals in a general numeric type? | 07:44 | |
bonsaikitten | brrt: if I have to choose flemish, but I could point at the german minority in the east ;) | ||
brrt | ah, i see, so neither :-) | 07:45 | |
2 towns or so | |||
bonsaikitten | well, I've just lived in belgium (near bruxelles) for a long time | 07:47 | |
07:51
c1sung joined
|
|||
masak just submitted a "Macros in Rakudo" talk to YAPC::EU | 08:00 | ||
brrt | where is YAPC::EU? | 08:01 | |
sorear | Frankfurt, Germany | ||
brrt | ah, obviously | ||
:-) | |||
sorear | act.yapc.eu/ye2012/ | ||
moritz | they still haven't accepted (or rejected) my talk :/ | 08:03 | |
bonsaikitten | hmm, I might just be near Frankfurt at that date | ||
masak | there should be a simple verb meaning "accept or reject". | 08:06 | |
"processed" I guess works. | |||
brrt | hmm, its an embarrasing question, but what does it cost? | 08:07 | |
i have seen plenty of 'fun conferences' of which ticket prices where > 300 euro | |||
moritz | much less usually | 08:09 | |
regular price: 110 EUR | |||
reduce price (early bird) 80 EUR | |||
shachaf | Oh, YAPC::NA is going on at this very moment. | ||
moritz | full-time students: 50 EUR | ||
corprate tariff: 450 EUR | 08:10 | ||
brrt | ah, i see, thats reasonable | ||
08:13
ggoebel left,
sergot joined
|
|||
sergot | hi o/ o/ | 08:14 | |
sorear | o/ sergot | ||
tadzik | hellio | ||
masak | sergocie! \o/ | 08:15 | |
tadziku! \o/ | |||
brrt | o/ sergot | ||
tadzik | \o/ | 08:16 | |
today is the last day of ultimate madness | |||
moritz | finals? | 08:17 | |
tadzik | those will be the sane days | ||
masak | cramming before finals? | ||
tadzik | it's the-two-weeks-before-finals which are completely insane | ||
moritz | project deadlines? | ||
masak | deadlines in general? | ||
procrastinating? | |||
ynot | I just tried to build niecza on an Ubuntu machine from git. Had to patch Serialize.cs to make it compile. | 08:18 | |
08:18
BaggioKwok joined,
sergot left
|
|||
sorear | ynot: what version of mono? what was the patch? | 08:19 | |
ynot | Mono JIT compiler version 2.4.4 (Debian 2.4.4~svn151842-1ubuntu4) | ||
sorear | I'm impressed | 08:20 | |
I have never tested Niecza on anything older than 2.6.7 | |||
and the last few releases have all been tested on 2.10.x | |||
I'm amazed it works as far back as 2.4.4 | |||
please share the patch :) | |||
ynot | The patch was about a single method prototype to avoid a default value: | 08:21 | |
index 42b7639..06770f5 100644 | |||
--- a/lib/Serialize.cs | |||
+++ b/lib/Serialize.cs | |||
@@ -127,10 +127,14 @@ namespace Niecza.Serialization { | |||
byref[items[or.id]] = or; | |||
} | |||
+ public SerUnit LoadUnit(string name) { | |||
+ return LoadUnit(name, false); | |||
+ } | |||
+ | |||
// Loads a single unit from the compiled-data directory. | |||
// Will throw a ThawException if a stale reference is encountered | |||
// or other data format error. | |||
08:21
BaggioKwok left
|
|||
masak | thank you. please use a pastebin next time ;) | 08:22 | |
ynot | oh, I am getting throttled. one moment. please | ||
I am not used to IRC any more... :-) | |||
sorear | ynot: I've added dozens of default values for v19. sorry. | ||
ynot | No problem. A mono update might be due anyway. | 08:25 | |
Here is the complete patch if you didn't guess the last 5 lines: pastebin.com/HBks2a0g | 08:29 | ||
tadzik | moritz, masak: multiple projects and exams in a single day, few days in a row | 08:33 | |
08:33
sergot joined
|
|||
masak | sounds insane indeed. | 08:39 | |
best of luck. | |||
08:39
dakkar joined
|
|||
moritz | tadzik.success++ | 08:44 | |
tadzik | thanks :) | 08:45 | |
masak | our as-yet unsolidified threading/events/parallelism champion might want to watch vimeo.com/42957952 | 08:47 | |
sorear | n: / <::($_)> / | ||
p6eval | niecza v18-7-ga660099: ( no output ) | ||
sorear | n: / <Moo::($_)> / | 08:48 | |
p6eval | niecza v18-7-ga660099: ( no output ) | ||
dalek | ecza/non-bootstrap: 3b78bd8 | sorear++ | lib/ (5 files): Actions pt 5 |
08:50 | |
09:13
skids left
|
|||
moritz | github.com/moritz/perlgeek.de/blob...elease.txt # draft blog post | 09:13 | |
to be published around the rakudo 2012.06 release | |||
09:19
kaleem left
|
|||
sorear | sleep& | 09:19 | |
09:19
kaleem joined
|
|||
masak | moritz++ # github.com/moritz/perlgeek.de/blob...elease.txt | 09:22 | |
moritz hopes that his blog's protection against dates in the future has not bitrotten :-) | 09:34 | ||
brrt | good post, moritz++ | 09:36 | |
09:45
cognominal joined,
cognominal_ left
09:46
alvis` joined
09:48
alvis left
09:50
cognominal_ joined
|
|||
sergot | moritz++ | 09:51 | |
09:53
cognominal left
09:56
cognominal___ joined
09:59
cognominal_ left
10:01
PacoAir joined
10:09
Guest14369 left
|
|||
moritz | r: sub f() { }; say &f.^methods | 10:10 | |
p6eval | rakudo 684fd2: OUTPUT«No such method 'gist' for invocant of type 'Sub' in method gist at src/gen/CORE.setting:4598 in sub say at src/gen/CORE.setting:6972 in block <anon> at /tmp/mx6CJRfkX5:1» | ||
moritz | r: sub f() { }; say &f.^methods>>.name | 10:11 | |
p6eval | rakudo 684fd2: OUTPUT«(signal SEGV)» | ||
moritz | meh. | ||
r: sub f() { }; say &f.namespace | |||
p6eval | rakudo 684fd2: OUTPUT«No such method 'namespace' for invocant of type 'Sub' in block <anon> at /tmp/aE6IaYfo0T:1» | ||
moritz | r: sub f() { }; say &f.package | ||
p6eval | rakudo 684fd2: OUTPUT«GLOBAL()» | ||
masak | what's the term for a subset that's not necessarily a proper subset? | 10:13 | |
moritz | subset | ||
masak | what if you want to explicitly disambiguate? | 10:14 | |
moritz | then you use 'subset' vs. 'proper subset' | ||
masak | what if simple usage isn't disambiguation enough? | ||
I'd like to put a word in parentheses before "subset". | |||
moritz | then you clarify the terms to the user before using it | 10:15 | |
masak | so far I have "(non-strict)" | ||
moritz | or you can say (subset) type | ||
masak | maybe I should write "(no necessarily proper)" instead. | ||
not* | |||
moritz | that certainly works, though it's a bit bulky | 10:16 | |
.u subset | |||
phenny | U+2282 SUBSET OF (⊂) | ||
moritz | .u proper subset | ||
phenny | moritz: Sorry, no results for 'proper subset'. | ||
masak | I killed my darling and went parenthesesless. | ||
moritz | .u 2286 | 10:17 | |
phenny | U+2286 SUBSET OF OR EQUAL TO (⊆) | ||
jnthn | improper subset :P | ||
moritz | .u ⫘ | ||
phenny | U+2AD8 SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET (⫘) | ||
moritz | impoverisched subset | ||
s/c// | 10:18 | ||
masak .oO( intoxicated subset ) | 10:21 | ||
masak .oO( "nah, he's just German" ) | |||
moritz | :-) | ||
10:29
snearch joined
10:31
quietfanatic left
|
|||
brrt | moritz: what is 'troy' in german? | 10:35 | |
nothing, according to google translate anyway | 10:36 | ||
10:46
skids joined
10:48
JimmyZ joined
10:52
Chillance joined
10:58
pmurias joined
11:04
skids left
|
|||
felher | moritz++ , jnthn++ #blog posts :) | 11:08 | |
11:09
skids joined
11:14
kaleem left
11:15
crab2313 left
11:17
kaleem joined
|
|||
moritz | brrt: Troja, if you're talking about the city :-) | 11:31 | |
brrt | no, i'm not :-), i'm talking about the fanta4 song 'troy', which i cannot parse | 11:32 | |
ynot | can you give some context? troy as in troy weight? | 11:33 | |
moritz | brrt: ah, it's phonetically similar to "treu" | 11:34 | |
brrt | ah, i see | ||
moritz | which means faithful, devoted, loaly, true | ||
brrt | oh, thats obvious | ||
it sounds like 'trouw' which is the same thing in duthc | |||
thanks | |||
would have never guessed it | |||
moritz | well, it's nearly impossible to understand "smart" stuff in foreign languages (unless you know them very well) | 11:37 | |
masak | '"smart" stuff'? | ||
moritz | intentially mis-spelling words, substituting words with a totally unrelated meaning but similar phonetics etc. | 11:38 | |
masak | oh, I love those things. | 11:39 | |
moritz | but very hard for a foreign speaker | ||
brrt | yes, clearly | 11:40 | |
cognominal___ | r: say '' ~~ / $d /; | 11:45 | |
p6eval | rakudo 684fd2: OUTPUT«=␀␀␀=␀␀␀=␀␀␀S␀␀␀O␀␀␀R␀␀␀R␀␀␀Y␀␀␀!␀␀␀=␀␀␀=␀␀␀=␀␀␀␀␀␀V␀␀␀a␀␀␀r␀␀␀i␀␀␀a␀␀␀b␀␀␀l␀␀␀e␀␀␀ ␀␀␀$␀␀␀d␀␀␀ ␀␀␀i␀␀␀s␀␀␀ ␀␀␀n␀␀␀o␀␀␀t␀␀␀ ␀␀␀d␀␀␀e␀␀␀c␀␀␀l␀␀␀a␀␀␀r␀␀␀e␀␀␀d␀␀␀ | ||
moritz | eeks | 11:46 | |
cognominal___ | weird. It happened to me when I type $d instead $<d> in a regex. | ||
at least, here it says sorry :) | |||
moritz | well, here it adds lots of null bytes between the characters of the 'SORRY' | 11:47 | |
.u ␀ | 11:48 | ||
phenny | U+2400 SYMBOL FOR NULL (␀) | ||
ynot | what is the perl6 equivalent of perl5: binmode STDOUT, ':utf8'; ? | ||
moritz | ynot: ; | ||
ynot: that's the default, you don't need to do anything to get it | |||
cognominal___ | oh it does so as well in my computer, the null were more conspcuous so I did not notice the error message. | 11:49 | |
moritz submits rakudobug | |||
ynot | moritz: good point, thanks. | 11:51 | |
masak | wtf | 11:52 | |
moritz | ynot: I guess at some point we want to allow smething like $*OUT.encoding = 'Latin-1' | ||
masak | cognominal++ moritz++ | ||
11:52
crab2313 joined
|
|||
moritz | currently if you want binary IO, you use $*OUT.write($some-Buf-here) | 11:52 | |
oh, I think I even know what's going on | 11:53 | ||
some encoding f*ckup from UCS-4 strings | |||
ynot | I think I can live with either binary or utf8 without a plethora of other encodings. | ||
moritz | ynot: me too, which is why I haven't done anything about it yet :-) | 11:54 | |
pmurias | sorear: you're comming to YAPC::EU? | ||
masak | didn't seem like that in the backlog. irclog.perlgeek.de/perl6/2012-06-13#i_5719859 | 12:01 | |
ynot | another question is how one should deal with encoded text on the command line or in %ENV. I wonder whether this should be locale-dependent or not. | 12:04 | |
moritz | currently it's all UTF-8, afaict | ||
fwiw so far nobody complained about that, but people did complain when it didn't work when the locales were broken or not set | |||
if you find a case where it's not UTF-8, please submit a bug report | 12:05 | ||
12:10
JimmyZ left
12:11
mtk joined,
JimmyZ joined
|
|||
pmurias | sorear: you are attending YAPC::EU? | 12:12 | |
masak | <masak> didn't seem like that in the backlog. irclog.perlgeek.de/perl6/2012-06-13#i_571985 | 12:13 | |
pmurias: ^ | |||
brrt | makefile is being weird | 12:18 | |
12:18
jaldhar left
|
|||
brrt | ehm, wrong channel | 12:19 | |
masak | Makefile being weird. news at 11 :) | ||
moritz | makefiles ar weird in this channel too :-) | ||
ynot | long live Stuart Feldman | 12:23 | |
moritz | well, we don't have much better alternatives, have we? | 12:25 | |
ynot | moritz: what is a perl program supposed to see in @*ARGS if the calling process has put some non-utf8 text in argv? | 12:27 | |
masak | hm! | 12:28 | |
moritz | ynot: that's a good questioni | ||
masak | a very good one. | ||
arguments come in as strings, right? | 12:29 | ||
which means that they have already been decoded. | |||
moritz | maybe a Failure.new(payload => X::Buf::Decode.new(orig => $some_buf)) | ||
masak | I think I'd expect to get a decoding error. | ||
moritz | and if that decoding error is smart enough, you even get access to the buffer it failed to decode | ||
ynot | on startup or on ARGS access? | ||
moritz | ynot: on ARGS access | 12:30 | |
ynot: that's a good use case for unthrown exceptions | |||
ie you check for them, and if you have one you can access its properties, but if you treat it like a normal value it goes BOOM (with the original error message) | |||
r: my $failure = +'1.foo'; say 'alive' | 12:31 | ||
p6eval | rakudo 684fd2: OUTPUT«alive» | ||
moritz | r: my $failure = +'1.foo'; say $failure | ||
p6eval | rakudo 684fd2: OUTPUT«Cannot convert string to number: radix point must be followed by one or more valid digits in '1.⏏foo' (indicated by ⏏) in method gist at src/gen/CORE.setting:9441 in sub say at src/gen/CORE.setting:6972 in block <anon> at /tmp/6VrVC3Y_nc:1» | ||
moritz | r: my $failure = +'1.foo'; say $failure.perl | ||
p6eval | rakudo 684fd2: OUTPUT«Failure.new(exception => X::Str::Numeric.new(source => "1.foo", pos => 2, reason => "radix point must be followed by one or more valid digits"))» | ||
ynot | neat :-) | ||
moritz | r: my $failure = +'1.foo'; say $failure.exception.source | 12:32 | |
p6eval | rakudo 684fd2: OUTPUT«1.foo» | ||
moritz | that's our way to not drop information eary | ||
*early | |||
masak | moritz++ | 12:34 | |
moritz | I'm somewhat sceptical about wide use of unthrown exceptions, but this is actually a good use case | ||
12:35
brrt left
|
|||
masak | aye. same. | 12:35 | |
the video I posted earlier mentioned parallel operations and something called ExceptionAggregate. | 12:36 | ||
ynot | I'll have to think about it; it sounds useful but your first example (the string to number conversion) did not strike me as essential. | 12:40 | |
pmichaud | good morning, #perl6 | 12:41 | |
ynot | good afternoon, pmichaud :-) | 12:42 | |
moritz | good am, pm | ||
12:42
colomon left
12:44
ynot left
12:51
kaleem left,
mhasch joined
|
|||
mhasch is back, has been ynot just before | 12:52 | ||
strange how NickServ insisted my nick was taken yesterday and now let me register it. | 12:53 | ||
pmichaud | wb, mhasch/ynot | 12:54 | |
moritz | ETOOMANYNICKS | ||
pmichaud | r: my $failure = +'1.foo'; $failure.defined || say $failure # just curious | 12:55 | |
p6eval | rakudo 684fd2: OUTPUT«Failure.new(exception => X::Str::Numeric.new(source => "1.foo", pos => 2, reason => "radix point must be followed by one or more valid digits"))» | ||
pmichaud | hmmmmm. | ||
okay, I can live with that. | 12:56 | ||
moritz | it allows you to write | 12:57 | |
pmichaud | r: my $failure = +'1.foo'; $failure.defined || say $failure + 3 | ||
p6eval | rakudo 684fd2: OUTPUT«3» | ||
pmichaud | wfm | ||
moritz | r: say +'1.foo' // 3 | ||
p6eval | rakudo 684fd2: OUTPUT«3» | ||
pmichaud | sure, I was just checking that after testing for definedness the exception didn't get thrown on subsequent uses | ||
I guess I should start heading to the yapc::na venue | 12:58 | ||
moritz | r: say (my $ex = +'1.foo') // 3; say $ex | ||
p6eval | rakudo 684fd2: OUTPUT«3Failure.new(exception => X::Str::Numeric.new(source => "1.foo", pos => 2, reason => "radix point must be followed by one or more valid digits"))» | ||
moritz | I still don't know if that's actually a good idea | 12:59 | |
but I can certainly live with it | |||
13:02
Facefox left
|
|||
pmichaud looks at RT #113614 (nulls / ucs4 error message) and ..... o_O | 13:03 | ||
that's just... bizarre. | |||
oh! I bet I know what's happening | 13:04 | ||
13:04
Facefox joined,
Facefox left
|
|||
moritz | pmichaud: did you mean "\0\0\0o\0\0\0_\0\0\0O"? :-) | 13:04 | |
mhasch | I'd prefer if the exception was just thrown right away in the case of conversion errors. | ||
13:04
Facefox joined,
Facefox left
|
|||
pmichaud | I think I meant "o\0\0\0_\0\0\0O\0\0\0" then. | 13:05 | |
13:05
DarthGandalf is now known as Some-body,
Some-body is now known as DarthGandalf
|
|||
moritz | oh right :-) | 13:05 | |
13:05
Facefox joined,
Facefox left
13:06
Facefox joined,
Facefox left
|
|||
pmichaud | mhasch: I think the exception is thrown immediately if "use fatal" is in effect. | 13:06 | |
r: say +"1.foo"; 1 | |||
p6eval | rakudo 684fd2: OUTPUT«Cannot convert string to number: radix point must be followed by one or more valid digits in '1.⏏foo' (indicated by ⏏) in method gist at src/gen/CORE.setting:9441 in sub say at src/gen/CORE.setting:6972 in block <anon> at /tmp/Yz1MH9GVRC:1» | ||
pmichaud | oops | ||
r: my $x = +"1.foo"; say 'alive'; | |||
p6eval | rakudo 684fd2: OUTPUT«alive» | ||
moritz | r: use fatal; my $ex = +'1.f00' | ||
p6eval | rakudo 684fd2: OUTPUT«Cannot convert string to number: radix point must be followed by one or more valid digits in '1.⏏f00' (indicated by ⏏) in block <anon> at src/gen/CORE.setting:9454 in method Numeric at src/gen/CORE.setting:3629 in sub prefix:<+> at src/gen/CORE.setting:2285 … | ||
pmichaud | r: use fatal; my $x = +"1.foo"; say 'alive'; | ||
p6eval | rakudo 684fd2: OUTPUT«Cannot convert string to number: radix point must be followed by one or more valid digits in '1.⏏foo' (indicated by ⏏) in block <anon> at src/gen/CORE.setting:9454 in method Numeric at src/gen/CORE.setting:3629 in sub prefix:<+> at src/gen/CORE.setting:2285 … | ||
13:07
Facefox joined,
Facefox left
|
|||
moritz not happy with the backtrace | 13:07 | ||
13:07
Facefox joined
|
|||
moritz | actually it's not that bad | 13:08 | |
one thing I'd really like is to mark the mainline in some unambiguous way | 13:09 | ||
so that the backtrace can say 'in mainline' with confidence | 13:10 | ||
pmichaud | or, alternatively, maybe double-indent the core.setting locations | 13:11 | |
13:11
spaceships joined
|
|||
pmichaud | to help the mainline stand out | 13:11 | |
or, I wonder if there would be a way for us to tag that <anon> block | |||
moritz | that's what I mean with 'mark' | 13:12 | |
I think | |||
13:12
spaceships left,
Patterner left,
spaceships joined
13:14
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
pmichaud | maybe the code that handles {YOU_ARE_HERE} can do something more clever. | 13:15 | |
like, encapsulate in a named sub and invoke it. | |||
src/Perl6/Actions.pm:3511 ish | |||
moritz | r: say {YOU_ARE_HERE} | 13:16 | |
p6eval | rakudo 684fd2: OUTPUT«» | ||
moritz | r: say {YOU_ARE_HERE}, 1, 2, 3 | ||
p6eval | rakudo 684fd2: OUTPUT«123» | ||
mhasch | forgive my ignorance, but what is {YOU_ARE_HERE} supposed to do? | 13:18 | |
pmichaud | it marks the point in a setting where the user's mainline code is to be run | 13:19 | |
moritz | ie nothing you ever need as a user :-) | 13:20 | |
pmichaud | well, unless you're a user writing a new setting :) | ||
moritz | but if you do, {YOU_ARE_HERE} doesn't seem to work either :/ | ||
pmichaud | oh, I suspect Rakudo's support for custom settings is still weak, yes. | 13:21 | |
moritz | note that you can have custom settings which appear between the built-in one and the user code | 13:22 | |
pmichaud | okay, I definitely need to head to the venue. bbl | 13:23 | |
moritz | have fun! | ||
13:23
leprevost joined
13:38
spaceships left
13:44
cognominal_ joined
13:47
majrmovies joined,
cognominal___ left
13:48
thou joined
|
|||
[Coke] yawns. | 13:50 | ||
13:51
stol_ joined
13:59
majrmovies left
|
|||
pmichaud | made it to the venue :) | 14:02 | |
14:02
leprevost left
|
|||
kresike | bye all | 14:09 | |
14:09
kresike left
14:11
tokuhiro_ joined,
brrt joined
14:18
daxim joined
14:19
crab2313 left
14:21
majrmovies joined
14:24
majrmovies left
|
|||
[Coke] | pmichaud: is there hacking time post-conf? | 14:24 | |
PerlJam | lightning ads? | 14:28 | |
moritz | eiro, cognominal_ is there a Strasbourg.pm? If not, who organizes fpw2012? | 14:29 | |
14:30
cognominal___ joined
14:31
cognominal_ left
|
|||
eiro | moritz, i'm Strasbourg.pm. fpw2012 is organized by mongueurs.net/, www-aius.u-strasbg.fr/, strasbourg.linuxfr.org/ | 14:32 | |
moritz | eiro: ok. Then we'll use Strasbourg as the next release name for rakudo :-) | 14:34 | |
eiro | \o/ thanks | ||
14:39
wtw left
|
|||
dalek | kudo/nom: 70fd758 | moritz++ | docs/announce/2012.06: [release] rename 2012.06 to Strasbourg in accord with PerlJam++, our release manager. We will use Frankfurt as a release name closer to YAPC::EU 2012 (August 2012) |
14:39 | |
kudo/nom: 1e47735 | moritz++ | docs/announce/2012.06: [announce] start to collect features for the release announcement |
|||
14:45
spaceships joined
14:46
spaceships left,
tokuhiro_ left,
tokuhiro_ joined
14:49
bluescreen10 joined
14:51
tokuhiro_ left
|
|||
[Coke] | nr: my ($a,$b,$c) = " 24:32:23.123" ~~ /(\d\d) ':' (\d\d) ':' (\d\d\.\d+)/ ; say ($a,$b,$c) | 15:08 | |
p6eval | niecza v18-7-ga660099: OUTPUT«#<match from(2) to(4) text(24) pos([].list) named({}.hash)> #<match from(5) to(7) text(32) pos([].list) named({}.hash)> #<match from(8) to(14) text(23.123) pos([].list) named({}.hash)>» | ||
..rakudo 684fd2: OUTPUT«q[24:32:23.123] 0 => q[24] 1 => q[32] 2 => q[23.123] Nil Nil» | |||
[Coke] | nr: my ($a,$b,$c) = " 24:32:23.123" ~~ /(\d\d) ':' (\d\d) ':' (\d\d\.\d+)/ ; say (~$a,~$b,~$c) | 15:09 | |
p6eval | niecza v18-7-ga660099: OUTPUT«24 32 23.123» | ||
..rakudo 684fd2: OUTPUT«24:32:23.123 » | |||
15:10
JimmyZ left
|
|||
[Coke] | nr: my ($a,$b,$c) = (" 24:32:23.123" ~~ /(\d\d) ':' (\d\d) ':' (\d\d\.\d+)/) ; say (~$a,~$b,~$c) | 15:10 | |
p6eval | niecza v18-7-ga660099: OUTPUT«24 32 23.123» | ||
..rakudo 684fd2: OUTPUT«24:32:23.123 » | |||
[Coke] | nr: my ($a,$b,$c) = (" 24:32:23.123" ~~ /(\d\d) ':' (\d\d) ':' (\d\d\.\d+)/) ; say (~$a,~$b,~$c) | 15:14 | |
p6eval | niecza v18-7-ga660099: OUTPUT«24 32 23.123» | ||
..rakudo 1e4773: OUTPUT«24:32:23.123 » | |||
[Coke] | whoops on that last one. | ||
15:14
birdwindupbird left
|
|||
moritz | rakudo doesn't flatten out match objects | 15:15 | |
hence everything is in $a | |||
masak | who's right? | ||
moritz | yes :-) | ||
masak | (dang) :) | ||
I like flattening, because it feels like Perl 5. | 15:16 | ||
but it feels like a tiger trap somehow. | |||
moritz doesn't like flattening, because it causes so much confusion | |||
15:17
pmurias left
15:19
majrmovies joined
15:20
ggoebel joined
|
|||
masak | troo. | 15:22 | |
[Coke] | When used as an array, a Match object pretends to be an array of all its positional captures. Hence | ||
(S05) | |||
so, how can I use the result of that ~~ as an array? | 15:23 | ||
masak | was just about to ask that. | ||
moritz | you [0] index into it | ||
[Coke] | in the meantime, I'm left with: gist.github.com/2924735 | ||
moritz | or call .list | ||
masak | "when used as an array" sounds a little like wantarray think to me. | ||
moritz | masak: not at all | ||
masak | or what moritz said. | ||
moritz | masak: it merely means that the Match object provides much of the API that Array does | 15:24 | |
masak | oh, indeed. | ||
yes. I take back the thing about liking flattening. | |||
$/, and the thing coming out of infix:<~~>, should probably act like scalars until asked not to. | 15:25 | ||
[Coke] | (call .list) - gist.github.com/2924735 is better, thanks. | ||
masak | that said, it'd be nice if something like `my ($a, $b, $c) = list "foo" ~~ /.../` worked. | ||
moritz | r: say [+] ('01:02:89.1234' ~~ /(\d\d) ':' (\d\d) ':' (\d\d\.\d+)/).list X* 3600, 60, 1 | ||
p6eval | rakudo 1e4773: OUTPUT«337263.7674» | ||
PerlJam | [Coke]: since you're already using parens, you could have said @(...) instead of (...).list | 15:26 | |
masak | fsvo 'list' | ||
PerlJam | (I think) | ||
masak | aye. | ||
maybe we need a @: listop ;) | |||
rn: say [+] @('01:02:89.1234' ~~ /(\d\d) ':' (\d\d) ':' (\d\d\.\d+)/) X* 3600, 60, 1 | 15:28 | ||
p6eval | rakudo 1e4773, niecza v18-7-ga660099: OUTPUT«337263.7674» | ||
masak | \o/ | ||
I think I can live with @(), though. | |||
[Coke] | r: say 1*3600 + 2*60 + 89.1234 | 15:29 | |
p6eval | rakudo 1e4773: OUTPUT«3809.1234» | ||
[Coke] | I think your math is off. | ||
say 1, 2, 89.1234 X* 3600, 60, 1 | 15:30 | ||
r:say 1, 2, 89.1234 X* 3600, 60, 1 | |||
r: say 1, 2, 89.1234 X* 3600, 60, 1 | |||
p6eval | rakudo 1e4773: OUTPUT«3600 60 1 7200 120 2 320844.24 5347.404 89.1234» | ||
[Coke] | r: say 1, 2, 89.1234 Z* 3600, 60, 1 | 15:31 | |
p6eval | rakudo 1e4773: OUTPUT«3600 120 89.1234» | ||
PerlJam | well, the math is fine ... it's just the wrong op | ||
[Coke] | that's better. | ||
moritz | erm, yes | 15:32 | |
masak .oO( I didn't order from the Cartesian product menu! ) | |||
[Coke] | masak++ moritz++ PerlJam++ : gist.github.com/2924735 | 15:33 | |
of course, I spent way too much time on this script, but I am using it for work related perf testing. | |||
moritz | r: say ([\*] 60 xx *)[^10] | ||
p6eval | rakudo 1e4773: OUTPUT«60 3600 216000 12960000 777600000 46656000000 2799360000000 167961600000000 10077696000000000 604661760000000000» | ||
15:33
fragrant joined
|
|||
PerlJam | [Coke]: That just means you'll spend less time on the next one :) | 15:33 | |
fragrant | Anyone there? | ||
masak | fragrant: nope :) | ||
PerlJam | fragrant: I'm here, not there | 15:34 | |
[Coke] | I'm way over here, sorry. | ||
masak | what's the failure mode of get_time? I'd do the match on a separate line and 'or die' it. | ||
I'm not even over here. | |||
fragrant | I didn't like the perl way of passing parameter for a function | ||
masak | sorry to hear that. | ||
[Coke] | fragrant: 5 or 6? | ||
fragrant | I like the C way , void fun(int a, int b) { .. } | ||
I don't know about perl6 function parameter | |||
masak | you mean the declaring of parameters? | ||
fragrant | The C way is good | 15:35 | |
[Coke] | fragrant: this channel is about perl 6. if you don't like perl 5, you might like six. | ||
masak | r: sub foo($a, $b, $c) { say "$a $b $c" }; foo "oh", "hai", "world!" | ||
p6eval | rakudo 1e4773: OUTPUT«oh hai world!» | ||
[Coke] | fragrant: you are, of course, welcome to continue using C. | ||
masak | fragrant: does that answer your question? | ||
PerlJam isn't sure fragrant even has a question | |||
masak | <fragrant> I don't know about perl6 function parameter | ||
moritz | r: sub j($sep, *@values) { say @values.join($sep) }; j ' ', 'oh', 'hai', 'world!'; | 15:36 | |
p6eval | rakudo 1e4773: OUTPUT«oh hai world!» | ||
masak | I read "I don't know about" as "how about" | ||
[Coke] | masak: there is no failure mode at the moment. given this is a one off, not concerned. | ||
masak | fairynough. | ||
PerlJam | [Coke]: you know what they say about one-offs ... (after they've been used in production for a few years ;) | ||
fragrant | Is this the syntax for perl 6? sub somefunction($a, $b, :$c, :$d, *@e) { | 15:37 | |
must the parameter be there? | |||
TimToady | you can do it the Perl 5 way if you prefer | ||
PerlJam | fragrant: you can specify optionality or give a default value | ||
TimToady | there are also about 3 other ways to declare parameters to a closure | ||
fragrant | perl 5 doesn't have parameter in that way, perl 5 has this, sub somefunction { .... } | ||
masak | fragrant: Perl 6 too. | 15:38 | |
PerlJam | fragrant: to be fair, Perl 5 has several modules on CPAN that allow you to declare your parameters just like you can in Perl 6 | ||
masak | r: sub foo { say @_.fmt }; foo "oh", "hai", "world!" | ||
p6eval | rakudo 1e4773: OUTPUT«oh hai world!» | ||
PerlJam | (well, as close as Perl 5 can get to Perl 6) | ||
TimToady | but Perl 6 generalizes @_ into any set of self-declaring parameters | ||
fragrant | I don't like this way, sub somefunction { .... } , this must be in this C way, sub somefunction() { .... } , at least | ||
TimToady | that is the normal way in Perl 6 now, so be happy | ||
masak | fragrant: sub somefunction() means no parameters in Perl 6. | ||
fragrant | is sub somefunction { .. } also supported in perl 6? | 15:39 | |
moritz | as well as does sub somefunction { ... } which doesn't mention @_, %_ or any of the $^foo or $:foo variables | ||
PerlJam | fragrant: yes | ||
fragrant | That's bad. | ||
PerlJam | fragrant: no it's not | ||
fragrant | Remove that functionality | ||
moritz | r: sub f { }; say f.count | ||
p6eval | rakudo 1e4773: OUTPUT«No such method 'count' for invocant of type 'Nil' in block <anon> at /tmp/CwownkR5NB:1» | ||
moritz | r: sub f { }; say &f.count | ||
p6eval | rakudo 1e4773: OUTPUT«0» | ||
fragrant | That's ambiguous | ||
moritz | r: sub f { }; say &f.arity | ||
p6eval | rakudo 1e4773: OUTPUT«0» | ||
moritz | fragrant: no, it's well-defined | ||
fragrant | Then you have to get the parameter value from @_ , that's not a good way | 15:40 | |
moritz | fragrant: see perlcabal.org/syn/S06.html for the full details | ||
TimToady | then don't do it that way | ||
PerlJam | fragrant: it's and *option* | ||
moritz | fragrant: nobody force you to do that if you don't want it | ||
PerlJam | fragrant: you don't *have* to do it that way. | ||
fragrant | passing parameter explicity in this way sub somefunction(a,b,c) { .. } is good | ||
masak | ah, the eternal struggle between the liberal and the straightjackets :) | ||
TimToady | that's the normal way in Perl 6 | ||
moritz | fragrant: don't confuse passing arguments and declaring parameters | ||
fragrant | or this, sub somefunction() { .. } for no parameters | ||
[Coke] | fragrant: I get the feeling you're not really listening to what we're telling you. | 15:41 | |
PerlJam suddenly gets a sense of deja vu | |||
15:41
kaare_ joined
|
|||
fragrant | moritz: What's the difference? | 15:41 | |
masak | fragrant: passing params happens at call time. | ||
[Coke] | fragrant: why don't you go read the spec at perlcabal.org/syn/S06.html and then come back and complain once you've done that. | ||
masak | fragrant: declaring params happens when you write the sub. | ||
PerlJam | [Coke]: no, no! no complaints ;) | ||
moritz | fragrant: declaring parameters is a way to describe what the subroutine wants | ||
fragrant: passing arguments is what happens when you call that routine | |||
[Coke] | complaints... backed up with a nice argument about why. ;) | ||
TimToady | moritz: to be fair, computing culture doesn't always make the argument/parameter distinction that we do | 15:42 | |
that's kind of a Perl 6 thing | |||
masak | no wai! | ||
moritz | TimToady: that's why I explained instead of just pointing to S06 | ||
masak | a subroutine has its parameters declared once. it then gets called 0, 1, or many times. each time there is "parameter passing", that is arguments from the caller bound to formal parameters in the callee. | 15:43 | |
fragrant | Is this for perl 5 ? perlcabal.org/syn/S06.html | ||
moritz | fragrant: no, that's for Perl 6 | ||
masak | Perl 6 is the one with the spec. | ||
Perl 5 only has perl :) | |||
moritz | masak: that's not quite fair | 15:44 | |
masak | oh? | ||
moritz | masak: in many places the p5 docs are more precise than the perl 6 specs | ||
[Coke] | if you'd like to complain about perl 5, this is the wrong channel. | ||
fragrant | moritz: Where is the perl 6 function/sub docs/definition there? perlcabal.org/syn/S06.html | ||
masak | moritz: I wasn't implying it's not. but the docs are not spec. | ||
moritz | fragrant: the part that most interests you is probably perlcabal.org/syn/S06.html#Paramete..._arguments | 15:45 | |
mhasch | perl5 might be able to approximate the syntax but not the compile-time checks, I reckon. | 15:47 | |
fragrant | moritz: What's the difference between argument and parameters? | ||
Can anyone post the link to check the difference/change from perl 5 to perl6? | |||
PerlJam | mhasch: Perl 5 can do compile time checks too | 15:48 | |
masak | fragrant: there are quite a few differences. some small, some large. | ||
fragrant: some syntactical, some semantic, some pragmatic. | |||
fragrant | Ok, look at this code, www.programmersheaven.com/mb/perl/8...-function/ | 15:49 | |
PerlJam | fragrant: yow that's old. | ||
masak | fragrant: looking at it. | ||
fragrant | Why don't they define or make the sub in this way? sub my_subroutine($x,$y) { $a=$x; $b=$y; } | ||
masak | r: sub my_subroutine { say join " ", @_ }; say "oh", "hai", "world!" | 15:50 | |
p6eval | rakudo 1e4773: OUTPUT«ohhaiworld!» | ||
fragrant | My question is does perl 6 do the same way? | ||
masak | hm. | ||
r: sub my_subroutine { say join " ", |@_ }; say "oh", "hai", "world!" | |||
p6eval | rakudo 1e4773: OUTPUT«ohhaiworld!» | ||
PerlJam | fragrant: because that's the "default" way to do it in Perl 5. | ||
fragrant | My question is does perl 6 do the same way? | ||
PerlJam | fragrant: Perl 6 *can* do it very similarly to Perl 5, but it can also do it as you desire. | ||
TimToady | fragrant: we've answered that question 42 times already | ||
masak | fragrant: you can do it the same way as in Perl 5. but the default is to do it the way you prefer. | 15:51 | |
fragrant | Just remove the old feature of perl 5 | ||
TimToady | no | ||
we are not Python | |||
fragrant | Why not? | ||
masak suspects we're talking through some kind of language barrier | |||
TimToady | There's More Than One Way To Do It | ||
PerlJam | masak: culture barrier too probably | ||
fragrant | TimToady: That's not Python way, that' C/Java/C# way to define function/sub | ||
masak | fragrant: the language does not adapt to individual people with sticks up their bums. | ||
fragrant | Make it only one way, remove the older other way/option | 15:52 | |
TimToady | no, then it wouldn't be Perl | ||
masak | fragrant: no :) | ||
15:52
majrmovies left
|
|||
PerlJam | fragrant: why? | 15:52 | |
fragrant | Please follow the C way, | ||
TimToady | no | ||
PerlJam | fragrant: why? | ||
(I've got 3 more whys!) | |||
fragrant | Perl is writen in C | ||
masak | haha :) | ||
TimToady | you *may* do it the C way, but you are not required to | ||
fragrant | C's way is standard and good | ||
mhasch | ymmv | 15:53 | |
PerlJam | fragrant: Perl is not C | ||
TimToady starts to think fragrant is merely a troll | |||
masak thinks not | |||
fragrant | And remove multiple way, that makes it confusing/ambiguous | ||
TimToady | hugme: hug fragrant | ||
hugme hugs fragrant | |||
PerlJam | TimToady: maybe. But I still have some charity to give | ||
fragrant: Perl is all about providing options, not taking them away. | |||
TimToady | commuting to a new conference room & | ||
fragrant | That's why i joined here to propose this suggestion so that perl can be a good language | 15:54 | |
masak | fragrant: if you want to write Perl 6 in the C way, that's fine. no-one is stopping you. | ||
moritz | fragrant: perlgeek.de/en/article/5-to-6#post_04 | ||
PerlJam | fragrant: but Perl is already a good language. | ||
moritz | fragrant: thing is, you didn't even know how stuff was like, and proposed a change within 5 minutes | ||
fragrant | I'm suggesting to make it better | ||
masak | fragrant: you don't create a good language by removing all the options except one. | ||
fragrant: yes. | |||
fragrant: but you're wrong. | |||
and we're telling you. | |||
and you're not listening. | |||
moritz | fragrant: don't you think you should *first* learn how it is, and *then* try to improve it? | ||
PerlJam | fragrant: you are free to fork one of the Perl 6 implementations and hack on it until it is "good" :-) | 15:55 | |
masak | fragrant: actually, this is quite interesting. you've managed to trigger this channel's immunoresponse, a rare feat. | ||
PerlJam | fragrant: We like Perl 6 the way it is (at least in this respect :) | ||
moritz | well, we are open to suggestions for improvements | 15:56 | |
from people who know something about the language, or about other languages that we can steal from | |||
and from people who listen to our feedback too | |||
masak | the open/closed principle for postmodern language communities. :) open for suggestions, closed for demands. :) | ||
moritz | and listening to suggestions isn't always the same as acting upon it | ||
masak: I like that one. Is that a quote from somewhere? | 15:57 | ||
fragrant | Then who can change features? As i'm not good to understand huge source code, that's why i'm not contributing or spending my time in contributing | ||
masak | moritz: me, just now. | ||
15:57
majrmovies joined
|
|||
masak | fragrant: anyone can change features. | 15:57 | |
fragrant | That's why i'm proposing instead of doing direct contribution in code | ||
masak | fragrant: but this one ain't changing. | ||
[Coke] | fragrant: to be fair, you weren't proposing, you were demanding. | 15:58 | |
masak | fragrant: I suggest you do things in a different order if you really are interested in contributing to Perl 6. | ||
PerlJam | fragrant: a more interesting question would be why you think this change actually improves the language. Perl culture and philosophy has a certain way of thinking and looking at the world, but your change would run counter to that philosophy. That can't be a good thing. that can't "improve the langauge" | ||
masak | fragrant: you may have good intentions, but so far they haven't translated to anything that we can positively act upon. | 15:59 | |
moritz | fragrant: would you care to comment on irclog.perlgeek.de/perl6/2012-06-13#i_5721300 irclog.perlgeek.de/perl6/2012-06-13#i_572130 ? | ||
sorry | |||
I meant irclog.perlgeek.de/perl6/2012-06-13#i_5721300 | |||
PerlJam | fragrant: also keep in mind that many people have been thinking about the design of this language for a long time. How much thought have you put into the rammifications of the change you propose? | 16:00 | |
masak | changes, even little ones, are tangled up in other language features. we keep learning this. | ||
16:01
brrt left
16:02
fragrant left
|
|||
daxim | www.programmersheaven.com/mb/Perl6 # :S | 16:03 | |
masak | ah, nostalgia. | 16:04 | |
jnthn is amazed that site is still alive | |||
masak | the web. it's like an elephant's graveyard of communities sometimes. | ||
jnthn | Yeah. | ||
That place used to be a pretty good community. | 16:05 | ||
masak | now it's just bones. | ||
sic transit gloria mundi. | 16:06 | ||
pmichaud | my wireless keeps dropping out :-/ | 16:08 | |
14:24 <[Coke]> pmichaud: is there hacking time post-conf? | 16:09 | ||
[Coke]: I'm not aware of any post-conference hacking. For me, I'm leaving Saturday morning. | |||
TimToady | masak: biáng would be classified as Xwalk.o roof.it eight.ibt Heart.ibb moon.ibml knife.ibmr 2tiny.ibmtC words.ibmtc 2Long.ibmbC horse.ibmbc | 16:16 | |
or some such | |||
but I don't have it in my database yet, since it's not representable in Unicode | 16:17 | ||
(yet) | |||
sorear | good * #perl6 | 16:18 | |
masak | TimToady: :D | ||
sorear! \o/ | |||
TimToady: I find your classification interesting and I want to subscribe to your newsletter. | |||
TimToady | I suppose I could add it as another synthetic character, though most of those can be represented as part of some other char | 16:21 | |
16:22
majrmovies left
|
|||
daxim | what's that ibt ibmbC stuff? | 16:22 | |
masak guesses placements | 16:23 | ||
16:23
crab2313 joined
|
|||
masak | crab2313! \o/ | 16:23 | |
daxim | how does it work? | ||
crab2313 | masak: \o/ | ||
pmichaud | afk, commuting to new room | 16:24 | |
16:27
majrmovies joined
16:31
mikemol joined
|
|||
mhasch | are there plans to introduce arbitrary precision rationals into the standard library? Since there are already big integers, I think it could be done. | 16:34 | |
masak | already in there. | ||
grep spec for FatRat | |||
mhasch | whow, I'll do that presently. | 16:35 | |
masak | the only thing we have to be careful with there is that people who actually didn't care about arbitrary precision don't end up with programs that slow down the longer they run because their numerators/denominators race towards the heavens without them knowing it. | 16:36 | |
Guido reported on that problem in some Python history blog post. | 16:37 | ||
I remember mentioning it to TimToady, and some small spec change resulting. | |||
so yeah, we're not Python, but we're still prepared to learn from the lessons learned in Python ;) | 16:38 | ||
(and its ancestors -- ABC in this case, I believe) | |||
jnthn | Yeah, there should be one true way to do everything in Perl 6! | ||
TimToady | masak: the rad database started out kanjified, but I've been moving in the hanzi direction for some time now | 16:39 | |
jnthn | (yes, yes, I just finished backlogging... :)) | ||
TimToady is still backlogging while listening out of one ear | |||
masak | the Chinese. they always take over. | ||
daxim | what database is that? | 16:40 | |
TimToady | well, not entirely, in this case; if there's anyway to pun both the Japanese and Chinese meanings, I'll do it, or I'll take an ancient meaning that relates to both in preference to a modern Chinese or Japanese-only meaning | ||
*any way | 16:41 | ||
daxim: my radical database | |||
TimToady should be done classifying all Unicode CJK chars (including extensions) within a month or two or three | 16:42 | ||
all the plane 0 chars are already classified | |||
masak .oO( it's right next to his conservative database ) | |||
16:43
fglock joined
|
|||
daxim | do you classify manually? and what do you do with the db? | 16:43 | |
16:44
geekosaur is now known as eviltwin_b,
eviltwin_b is now known as allbery_b,
allbery_b is now known as geekosaur
|
|||
TimToady | I classify manually in order to learn it; considered automating that, but decided that wouldn't make me as happy | 16:44 | |
particularly since I'm always adjusting the names of my radicaloids | |||
mhasch | perl6: my $foo = +"51610959626630564395418271773697752132736915770371/18986610985766723481463367409286454253253111186111"; say $foo.WHAT | 16:45 | |
p6eval | niecza v18-7-ga660099: OUTPUT«Num()» | ||
..pugs: OUTPUT«Num» | |||
..rakudo 1e4773: OUTPUT«Rat()» | |||
TimToady | you have to work harder to get a FatRat, since they can be antisocial | 16:46 | |
masak | what I said above. | 16:47 | |
[Coke] | why "Fat" | 16:48 | |
16:48
zby_home joined
|
|||
mhasch | What a fitting name, then... | 16:48 | |
16:50
majrmovies left
|
|||
mhasch | I think i got it: | 16:50 | |
perl6: my $foo=FatRat.new(51610959626630564395418271773697752132736915770371, 18986610985766723481463367409286454253253111186111); say $foo.WHAT | |||
p6eval | rakudo 1e4773, niecza v18-7-ga660099: OUTPUT«FatRat()» | ||
..pugs: OUTPUT«*** No such subroutine: "&FatRat" at /tmp/7t3DICSv6i line 1, column 5-123» | |||
masak | mhasch: Pugs is a few years behind on some things. you might want to use 'nr:' for Niecza/Rakudo evals. | 16:52 | |
mhasch | does that mean Pugs is going to catch up, or is it just here for historic reference? | 16:54 | |
harmil | Almost certainly historic reference | ||
but I never place bets on people's fondness for obsolete tech ;) | |||
masak | there has been talk about a revival. | 16:55 | |
harmil | see! ;) | ||
mhasch | I kind of liked it, actually, though I remember the bootstrap close to a nightmare on my ancient freebsd box. | ||
16:55
GlitchMr joined
|
|||
geekosaur | every so often I think about it, then the meds kick in | 16:56 | |
16:59
dakkar left
|
|||
[Coke] | hey, pugs runs spectests every day. | 17:02 | |
17:02
AndreasX joined
|
|||
[Coke] | "Impl", "pass","fail","todo","skip","plan","spec" | 17:03 | |
# 06/12/2012 - rakudo++ (22448); niecza (91.19%); pugs (34.51%) | |||
"niecza", 20471, 3, 735, 1453, 22662, 24161 | |||
"pugs" , 7749, 1983, 2978, 1296, 14006, 24022 | |||
"rakudo", 22448, 30, 647, 1877, 25002, 24161 | |||
pugs still has a lot of core stuff working. Someone with a bit of haskell experience could probably get that up to 50% in a week. | |||
17:05
AndreasX left
|
|||
diakopter agrees with moritz on flattening | 17:06 | ||
masak too | 17:07 | ||
sorear | Where did moritz speak on flattening? | 17:08 | |
masak | irclog.perlgeek.de/perl6/2012-06-13#i_5721021 | ||
diakopter | [causes so much confusion *to me*] | 17:10 | |
who knows about others. | |||
mhasch found FatRat in the specs but not FatFloat. Where is the catch? | 17:24 | ||
17:25
stol_ left
17:26
bonsaikitten is now known as AmazingPudding,
AmazingPudding is now known as bonsaikitten
|
|||
mhasch | nr: say pi; say pi.FatRat | 17:29 | |
p6eval | niecza v18-7-ga660099: OUTPUT«3.14159265358979313.1415926535897931» | ||
..rakudo 1e4773: OUTPUT«3.141592653942483.141593» | |||
17:30
geekosaur left
|
|||
mhasch | nr: say pi.FatRat.nude | 17:30 | |
p6eval | niecza v18-7-ga660099: OUTPUT«884279719003555 281474976710656» | ||
..rakudo 1e4773: OUTPUT«355 113» | |||
masak | huh. | 17:31 | |
mhasch | pi == 355/113, that is bold. | ||
benabik | FatFloat? I don't know if arbitrary floating point semantics make sense. | ||
*arbitrary precision | |||
mhasch | they do make a lot of sense if you need something like Real with more than builtin precision | 17:32 | |
17:33
skids left
|
|||
benabik | Something like FatRat? | 17:34 | |
17:34
geekosaur joined
|
|||
benabik | Floats exist because it's relatively simple to implement in hardware... And the loss of precision means that there's no simple overflow techniques like with integers. | 17:36 | |
sorear | floats existed long before FPUs | ||
I doubt anyone was thinking "can we build a FPU for this" when floats were first invented | 17:37 | ||
17:39
brrt joined
|
|||
mhasch | Well, FatRat is there. What I am missing is a numeric type with high precision (not necessarily unlimited precision) | 17:39 | |
17:39
crab2313 left
|
|||
masak | mhasch: implement one! | 17:39 | |
the language is extensible. | |||
benabik | Rat is also a role. You can limit it's precision. :-) | 17:40 | |
17:41
crab2313 joined
|
|||
mhasch | We would have to carefully think about how to embed objects with a notion of their precision into the general picture of numeric values. | 17:46 | |
[Coke] | mhasch: there's no guarantee the backend of a FatFloat is going to be efficient, no? (why not just use FatRat there?) | ||
mhasch | [coke]: for one thing, FatRat lacks many functions Num has, like sqrt or non-integer powers. | 17:49 | |
17:51
not_gerd joined
|
|||
[Coke] | ok. | 17:52 | |
17:52
majrmovies joined
|
|||
not_gerd | Parrot already auto-detects GMP, which comes with arbitrary precision floats ( gmplib.org/manual/Floating_002dpoin...-Functions ) | 17:54 | |
masak | r: my $x = FatRat.new; say $x | ||
p6eval | rakudo 1e4773: OUTPUT«0» | ||
masak | r: my $x = FatRat.new; say $x.sqrt | 17:55 | |
p6eval | rakudo 1e4773: OUTPUT«0» | ||
masak | mhasch: what makes you say FatRat "lacks sqrt"? | ||
r: my $x = FatRat.new(4, 1); say $x.sqrt | |||
p6eval | rakudo 1e4773: OUTPUT«2» | ||
mhasch | r: my $x=FatRat.new(2,1); say $x.sqrt | 17:56 | |
p6eval | rakudo 1e4773: OUTPUT«1.4142135623731» | ||
not_gerd | hmm.. the floating point support of GMP seems to be lacking | ||
masak | I think you're confusing "lacks" with "it's not closed under" | 17:57 | |
not_gerd | MPFR would be a better choice | ||
mhasch | r: mu $x=FatRat(2,1);say $x.sqrt.WHAT | 17:58 | |
p6eval | rakudo 1e4773: OUTPUT«===SORRY!===Variable $x is not declaredat /tmp/UIOLtzY0Pw:1» | ||
mhasch | typo | ||
r: my $x=FatRat(2,1);say $x.sqrt.WHAT | |||
p6eval | rakudo 1e4773: OUTPUT«No such method 'FatRat' for invocant of type 'Parcel' in <anon> at src/gen/BOOTSTRAP.pm:804 in <anon> at src/gen/BOOTSTRAP.pm:801 in any <anon> at src/gen/BOOTSTRAP.pm:796 in block <anon> at /tmp/JmbW8gRGo7:1» | ||
masak | FatRat.new | ||
mhasch | r: my $x=FatRat.new(2,1); say $x.sqrt.WHAT | 17:59 | |
p6eval | rakudo 1e4773: OUTPUT«Num()» | ||
18:00
MayDaniel joined
18:01
fhelmberger left
18:05
stol_ joined
18:07
carlin_ left
|
|||
mhasch | nr: my $x = FatRat.new(175568277047523,124145519261542); my $y = FatRat.new(2,1); my $z = $y.sqrt; say $x*$x - $y + 0e0; say $z*$z - $y | 18:08 | |
p6eval | niecza v18-7-ga660099: OUTPUT«6.488404268253043E-294.4408920985006262E-16» | ||
..rakudo 1e4773: OUTPUT«6.48840426826895e-294.44089209850063e-16» | |||
18:08
colomon joined
18:10
daxim left,
MayDaniel left
18:11
carlin joined
|
|||
mhasch | is this summary correct: functions like sqrt and cos are implemented on FatRat through a role that looks at the arguments only as plain num values? | 18:15 | |
pmichaud woudl at least add "currently" to "implemented". | |||
masak .oO( I have a Bridge type to sell you ) | |||
18:16
brrt left
18:17
brrt joined
|
|||
mhasch | I think this would put limited-precision FatFloats in a position socially favourable to FatRat; FatRat is meant to be precise at all costs, while limited-precision can approximate. | 18:23 | |
18:26
kurahaupo joined
|
|||
pmichaud | if you all get a chance to watch schwern's keynote address, I highly recommend doing so. I think it may be very relevant to things we should be building now in Rakudo and Perl 6. | 18:29 | |
18:29
kaleem joined,
kaleem left
|
|||
PerlJam | pmichaud: More Picard? | 18:33 | |
diakopter | pmichaud: I see the video of what occurred after the keynote in the main hall, but not the keynote | 18:35 | |
pmichaud | more along the lines of (a) I've already decided we need to grow our contributor pool; so (b) perhaps we can target some diversity at the same time | ||
diakopter: I haven't found a link for the keynote video yet | |||
colomon | site is complaining because I don't have a recent enough Silverlight.... :( | 18:36 | |
18:36
fglock left,
spider-mario joined,
mikemol left
|
|||
jnthn | pmichaud: What kinda diversity, ooc? | 18:36 | |
pmichaud | more to the point, I think that we in Perl 6 can likely blaze the trail for the type of world schwern is envisioning. | ||
[Coke] | colomon: URL? | 18:37 | |
pmichaud | jnthn: schwere highlighted gender diversity, but was also clear to point out that we also need a wider diversity of skills, experiences, etc. | ||
*schwern | |||
colomon | [Coke]: I'm on the current talk rather than the keynote | ||
and apparently it just won't work with Chrome (on my Windows machine) | |||
working fine in IE | |||
PerlJam | I saw it with moonlight on linux (chrome) It worked okay. | 18:38 | |
pmichaud | I've already been thinking (and having discussions with others) that we need new blood to help us build documentation, guides, tutorials, support, etc. | ||
masak | developers, developers, developers. | 18:40 | |
we need more mindshare so we can build more mindshare. | |||
pmichaud | well, yes, but maybe also marketers, community organizers, .... | ||
[Coke] | did schwern have any ideas on how to actually /get/ new members? | ||
jnthn | So...I need to dance like Steve Balmer at the next YAPC::EU? :) | ||
pmichaud: I agree with the goals...I'm especially keen to know how you get there. :) | 18:41 | ||
pmichaud | indeed, one of schwern's memorable lines is that too much of "Perl community" focuses on "library developers". | ||
PerlJam | ... people to teach Perl 6 to kids | ||
;) | |||
colomon | [Coke]: yeah, I'm seeing a Lowell Wednesday AM, Part 2, but not Part 1, which should be the keynote. :( | 18:42 | |
pmichaud | jnthn: how to get there -- well, the main thing is to not build an environment that discourages things. This is where Perl 6 has an advantage, I think. | ||
[Coke] | colomon: ah, the streams really are just streams, neh? hopefully there will be an archive, also. | 18:43 | |
[Coke] rants again how his work screwed up his chances to go to yapc this year. | |||
colomon | [Coke]: no, there's an archive, that's where the AM Part 2 is. | ||
there's just no AM Part 1 in the archive | 18:44 | ||
PerlJam | (YAPC video)++ | ||
colomon | I don't know how long it will last, mind you. | ||
colomon joins [Coke] in a similar rant | |||
pmichaud | I spoke to schwern and to also Noirin Plunkett afterwards about some of this, and a big thing Noirin said was "weed out the jerks from your community". To some extent, #perl6 and the Perl 6 community already does that. | ||
masak | there are fewer jerks so far because we're a smaller community. | 18:45 | |
pmichaud | yes, but we also actively work to not let them dominate | ||
masak | the jerks will come when people are employed and their putting food on their family depends on Perl 6. | 18:46 | |
but yes, we can seed in directions we like. | |||
pmichaud | masak: I don't think that's inevitable. Or, more the point, the jerks may exist but they aren't the leaders or the drivers of the underlying culture. | ||
18:47
sergot left
|
|||
masak | I dunno. some brilliant/skilled/useful people are jerks. | 18:48 | |
in some cases, they end up having core roles. | |||
it hasn't happened here -- is that structural, or incidental? hard to say. | |||
pmichaud | I think it's somewhat structural. I don't think it's truly incidental. | 18:49 | |
PerlJam | The perl 6 community hasn't been tested against such things yet | ||
pmichaud | I suspect much of it goes back to initial seeds that audreyt and Pugs planted | ||
masak | au++ | ||
18:50
brrt left
|
|||
moritz | au++ indeed | 18:52 | |
18:52
stol_ left,
stol__ joined
|
|||
PerlJam | one of the things that stuck with me from Schwern's talk was about how CPAN is an aristocracy. | 18:52 | |
moritz | erm, what? | 18:53 | |
it looks like a mixture of anarchy and meritocracy to me | |||
or does he talk about the [email@hidden.address] mailing list? | |||
masak | meritocracy is probably a better description than aristocracy. | ||
but every system that large will be self-sustaining and self-defending in some way. | 18:54 | ||
pmichaud | masak: schwern's point was explicitly that it's *not* a meritocracy, even though people think it is :) | ||
masak | I'm listening. | ||
pmichaud | he gave the example of Test::More, which schwern "owns" simply because he homesteaded it first. As a result, he's really a benevolent dictator. (more) | 18:55 | |
and when he passes it along to someone else, it will likely be to someone that he feels will carry it forward in the direction he things it ought to go. That's "inheritance" | |||
"dictator + inheritance" --> "aristocracy" | |||
*thinks | 18:56 | ||
masak | hmm. | ||
18:56
stol__ left
|
|||
mhasch | Hm, he might own @those_modules, but that's not owning CPAN. | 18:56 | |
masak | right. | ||
pmichaud | CPAN is a collection of aristocracies, then? | 18:57 | |
masak | since this argument applies to every single module on CPAN, it feels quite a bit weaker. | ||
mhasch | of course he could screw up CPAN badly if he got something wrong in a popular module. | ||
masak | the modules are all part in some Darwinian race for mindshare, at least those that share a conceptual niche. | ||
PerlJam | masak: I don't think it's weaker. The "aristocratic" nature of CPAN discourages contribution in certain areas because someone "owns" those ideaspaces. | 18:58 | |
18:58
crab2313 left
|
|||
masak | sure. it's not github. | 18:58 | |
but it's still vastly better than closed source. | 18:59 | ||
PerlJam | better in a sharing sense, but that's about it. | ||
anyway, Perl 6 is headed in a better direction :) | 19:00 | ||
masak | I've sent CPAN module patches and got no response at all. | ||
but sometimes I've sent patches and got a positive response. it varies. | |||
pmichaud | yeah, patch -> no response doesn't seem to align well with "meritocracy" | 19:01 | |
19:01
simcop2387 left
|
|||
mhasch | masak: and sometimes you send a patch and end up inheriting the module. | 19:01 | |
19:01
simcop2387 joined
|
|||
pmichaud | other than in a larger sense where the patch submitter ends up moving efforts to another area instead | 19:01 | |
masak | it'll be interesting to see when and how we end up docking with and/or reinventing CPAN. | 19:02 | |
PerlJam | Perl6's idea of multiple authorities allows for a real meritocracy I think | 19:03 | |
(github already does this effectively) | |||
pmichaud | anyway, I'm wanting to recruit more people to Perl 6 building; and part of that is going to be finding ways where we (perhaps unknowingly) discourage them | 19:04 | |
harmil | pmichaud: what do you mean by "building"? | 19:05 | |
just getting, building and using it, or helping to "build" the language? | 19:06 | ||
pmichaud | harmil: I mean building things beyond the language. tutorials, documentation, roadmaps, onramps, guides, mentoring. the community more than the technical stuff. | ||
19:07
ggoebel left
|
|||
masak | we're mostly "done" designing the language, actually. | 19:07 | |
pmichaud | I feel like the recent advances made to Rakudo have really brought it to a better place, technically | ||
masak | the vast majority of spec changes are minor course corrections. | ||
pmichaud | where in previous years we would have to say "use rakudo, but ...." now we're in a place where we can say "use rakudo" | ||
19:08
zby_home left,
raiph joined
|
|||
harmil | spec editing and building seem to me to be orthoganal | 19:08 | |
PerlJam | Maybe some "meta-guides" would be useful. Paths into the community and participation. Reasons why people should participate. Et cetera | ||
harmil | I was really asking if you were looking to attract more coders on the core or more community-builders | ||
pmichaud | PerlJam: to some extent, my current thesis is that our current set of contributors haven't yet demonstrated that they have the drive to build those | ||
perhaps they do... but our track record isn't all that good there. | 19:09 | ||
and, rather than split the group we have among more tasks, it's time to nurture growth of the group | |||
PerlJam | I've got some small drive to do some of it, but I can't seem to muster it to a point that something happens except at the odd moment. | ||
pmichaud | PerlJam: yes, I've often been in the same boat. | ||
harmil: "core coders" or "community builders". Well, we of course want both. But I think we have a shortage of the latter at the moment. | 19:10 | ||
harmil | I can tell you that, as someone who has tried to do some advocacy for Perl 6 over the course of the past decade, the most discouraging thing is when I can't figure out what the state of the world is, and people seem to react to my initial questions as if I should have S0(2..40) indexed in my brain before asking whether I should be using ".." or "…" in a for loop. | 19:11 | |
PerlJam | in any case, the more people *using* perl 6, the better for community growth. Work out how to get more users and the rest will start to happen. | ||
pmichaud | PerlJam: I'm not entirely sure that's true. | 19:12 | |
19:12
simcop2387 left
|
|||
pmichaud | I think it's a chicken/egg. That's certainly what I'm hearing from people involved in training and the like. | 19:12 | |
harmil | I don't know if the solution is better Ms for our RTFMs or fewer RTFMs | ||
PerlJam | harmil: RTFM is an anti-pattern here :) | ||
masak | pmichaud: documentation writers, besides being good at English, have to be quite familiar with the inner workings of Perl 6. most of those people already have things on their plate. | 19:13 | |
moritz++ is making good efforts, though. and trying to enlist me. | |||
not_gerd | pmichaud: I consider rakudo still in the "use it, but.." phase | 19:14 | |
19:14
simcop2387 joined
|
|||
not_gerd | parsing speed is an issue for small scripts | 19:14 | |
PerlJam | harmil: having synopsis-on-the-brain is just a reaction to not having clear end-user documention yet (IMHO). | ||
not_gerd | (Rakudo parsing the script itself, that is) | ||
PerlJam | not_gerd: oddly, I don't mind the slow parsing, but I do mind the slow execution for what should be simple tasks | ||
harmil | It's true, I've never been told to "RTFM" … what I've been told is, "why are you doing x? It's right there on line 2048 of S05 that that's obsolete." … that usually happens about 2 days before I take another 6 months off of trying to hack together something that uses Perl 6 as a first step to advocacy. | ||
pmichaud | not_gerd: we'll definitely have people/applications that fall into the "use rakudo, but..." phase -- it's a sliding scale. | 19:15 | |
hopefully we can get rid of things like "but it's likely to break in a future revision" sort of stuff | |||
harmil | (note: this could sound like whining on my part… just to be clear, I'm trying to give helpful input on the the question of attracting new people, not complaining for my own sake) | ||
diakopter | I agree the S0n:nnn references should not be given to newbies. | ||
unless they've already demonstrated they love to scour technical specs | 19:16 | ||
masak | but we have nothing better right now. | ||
diakopter | it's just the size is daunting | 19:17 | |
if it were better indexed and split up in much smaller sections, or a hierarchy, like a book, it would be far easier to find/reference things. | |||
and not so off-putting | 19:18 | ||
pmichaud | diakopter: so we need some editors and authors that know how to do that. :-) | ||
and that have tuits to do it and that like doing it. :) | |||
diakopter | I wish I had any/all of those traits | ||
pmichaud | diakopter: so do I. But I don't, so I want to see if we can attract/groom/recruit/grow some people that do. | 19:19 | |
masak .oO( grow in vats ) | |||
pmichaud | masak: I'm up for that if we can make it work without too many evil side effects. :-) | ||
btw, I think the group picture from the oslo hackathon made it into schwern's talk :) | 19:20 | ||
PerlJam | pmichaud: btw, if merlyn lets you on FLOSS weekly, you can use it to help with recruitment :-) | ||
harmil | Well, keep in mind that I've been involved with the specs from day one. I'm very intimately familiar with them. When someone says, "you should have known x" and I don't, I see that as a fundamental failure to advertise major changes. | ||
And perhaps that's the key: we need better ways to communicate, not just what has changed, but the level of importance of what has changed. | 19:21 | ||
pmichaud | harmil: for folks who are around, yes; I don't want to necessarily just attract our already-skewed community, though. :) | 19:22 | |
harmil | Hmmm… I'm not sure that having good communications vectors out of the design and development process will only attrract that sort | ||
pmichaud | describing what has changed in Perl 6 this past year isn't likely to attract a python developer, is what I'm kind of thinking of. | 19:23 | |
I'm not saying communicating changes is unimportant. | 19:24 | ||
[Coke] | harmil: (specs since day 1) I'm sorry, who are you again? | 19:25 | |
(speaking of advertising! ;) | |||
harmil | pmichaud: I think what attracts developers is a sense of forward motion coupled with a tool that can scratch their itch | ||
Oh, sorry IRC wouldn't let me keep "ajs" — I"m Aaron Sherman | |||
masak | oh! | 19:26 | |
not_gerd | bye, #perl6 | ||
19:26
not_gerd left
|
|||
masak | not_gerd: bye! o/ | 19:26 | |
harmil | I wanted to say "bye not" but that sounded like a boolean.... | ||
19:27
mucker joined
|
|||
harmil | Pardon me, I've been reading the SQL BNF a bit too much of late. | 19:27 | |
[Coke] | harmil: ~~ | ||
pmichaud | harmil: I don't disagree with you. I'm not sure that "attract developers" is the only goal we want to be focusing on. | 19:29 | |
or, put another way, a focus on 'attract developers' might end up being "attract people that are already a lot like us" | |||
19:30
cognominal___ left
|
|||
pmichaud | no, I don't have a clear plan. | 19:30 | |
sorear | isn't that a good thing? | ||
PerlJam | "Plans are of little importance, but planning is essential" | 19:31 | |
sorear | do we WANT to attract mlehmann? | ||
+s | |||
PerlJam | sorear: My thoughts exactly when we were talking about jerks earlier. | ||
masak | I'm not sure I'm able to address that question if we're talking about specific people. | 19:32 | |
huf | my my, he's well loved by his people :) | ||
PerlJam | masak: it's not the people that we want to discourage, just the behavior. | ||
masak | well, in this case, I've met the guy. | 19:33 | |
I have nothing bad to say about him. he's clearly talented and knowledgeable. he's on the spectrum somewhere. | |||
I knew this before I knew his name. | |||
sorear | masak: I like concreteness but the question is much more general | 19:34 | |
masak | right. | ||
19:35
mucker left
|
|||
[Coke] | masak: when you say "the spectrum" that means, to me, specifically the autistic spectrum. | 19:35 | |
masak | yes. | 19:36 | |
[Coke] | Hokay. | ||
huf | we're *all* somewhere on that spectrum | ||
19:36
mucker joined
|
|||
masak | well, the vast majority of us. | 19:36 | |
[Coke] has the fewest cross cultural mixups in this channel. | |||
PerlJam | NO huf, YOU'RE WRONG! | ||
;) | |||
huf | :) | ||
masak | has mlehmann written useful, important modules? yes, I imagine he has. do some people use them even though they think he's a jerk? yes, they do. do some people boycott them because they think he's a jerk? yes, I know some do. has the Perl 5 "culture" allowed him to behave the way he does -- or would he have chosen other ways to behave if prompted clearly enough? that's the big question. | 19:37 | |
raiph | As a sometime marketer, I think Perl 6 has a marketing problem | ||
masak | well, clearly enough early enough, perhaps. by the right kind of core people. "we don't do it that way here." | ||
PerlJam | raiph: yes, we know. | ||
masak: as long as we don't accidentally develop a disctintion between well-liked-jerks and not-well-liked-jerks. I think Perl 5 has tended to do that to a certain extent. | 19:38 | ||
raiph | PerlJam: what I mean is that you don't really have any other problems | ||
masak | PerlJam: that does seem to be a dangerous distinction. but I'd be surprised if it were that black/white even in the p5 community. | 19:39 | |
raiph: we have a marketing problem. which essentially means we only manage to reach open-minded people. | 19:40 | ||
raiph | s/you/we/ | ||
PerlJam | raiph: I don't know ... where are you drawing the line below which certain problems aren't that big of a deal? | ||
19:40
dukeleto joined
19:41
mucker left
19:42
mucker joined
|
|||
raiph | PerlJam: let me answer your q with a different q. can you name a big problem? just one for now. | 19:43 | |
[Coke] | lack of a ``production'' release. | ||
(which is driven by a whole host of much smaller problems. todos?) | 19:44 | ||
19:44
birdwindupbird joined
|
|||
raiph | ok. plz stop with that one for a moment. | 19:44 | |
s/stop with/pause on/ | |||
geekosaur | .oO { do I parse that in English or Spanish? } | 19:45 | |
PerlJam | raiph: lack of clear documentation for newbies. | ||
19:45
fgomez left
19:46
tokuhiro_ joined
|
|||
masak | lack of a clear stability policy. | 19:46 | |
PerlJam | raiph: lack of CPAN | 19:47 | |
(modules.perl6.org and ufo/panda aren't close enough) | |||
raiph: low bus/truck number on all of the Perl 6 implementations. | |||
19:48
quietfanatic joined,
fgomez joined
|
|||
harmil | As we know, from previous, successful language-level efforts (Perl comes to mind), everything else is negotiable if you have a working project that scratches a large enough audience's niche, because they'll be forced to expose themselves to the language, and thus become part of the community around it. | 19:48 | |
19:48
alvis` left
19:49
ggoebel joined
|
|||
harmil | Perl does not, yet, have its first real-world project that people want to use. | 19:49 | |
[Coke] adds "fund perl 6/parrot" to his "if I hit the lottery" virtual plans. | |||
PerlJam | raiph: sorry, I didn't follow instructions and only give on problem :) | ||
raiph | i'm with harmil. i think several of the problems listed aren't worth worrying about. | ||
[Coke] | define "worry" | 19:50 | |
PerlJam | [Coke]: that's been on mine since forever. (though, since I don't play the lottery except perhaps once in a blue moon ...) | ||
raiph | like harmil, i've been closely following and pondering Perl 6 since 2000 | ||
[Coke] | to my way of thinking, these are TODOs, not necessarily problems. | ||
harmil | Just as an example, the low bus number: a successful project using Perl 6 would fix that rapidly. | ||
PerlJam | harmil: um ... that's a big leap of faith. | ||
[Coke] | I'm not sure that logically follows, harmil, no. | ||
raiph | worry --> big problem worthy of deliberate group focus | 19:51 | |
[Coke] | there's a world of difference between a user of a project and a developer. | ||
s/developer/contributor/ | |||
masak | I think we're pretty much ready for a killer app. but there's no easy recipe to developing one. best venue I see is just developing lots of apps. | ||
harmil | [Coke]: I think there are enough real-world examples that a succesful project attracts some fraction of users who will migrate to the core. | ||
PerlJam | masak: Darwinism to the rescue! (we hope) | 19:52 | |
harmil | Now, not putting giant road-blocks in their way of migrating from user to core developer is key to that, certainly, but you don't have to set out to solve the problem of coredevs.elems | ||
The problem is that that rate of migration is tiny, so you have to have a project (or suite of them) that scratches a really big itch. | 19:53 | ||
masak: I'd agree | 19:54 | ||
PerlJam afk & | |||
harmil | Trying to brainstorm the perfect killer app project is much slower than doing 10 little things and figuring out which of them seem to be interesting enough to foster and grow. | 19:55 | |
masak | right. | 19:56 | |
that reminds me of something but I don't know what. | |||
[Coke] wonders if larry's radical app is written in six. | |||
masak | at least some part was. | ||
or maybe there was just a planned migration. | 19:57 | ||
[Coke] | I was thinking of what we could use it for here, and it'd basically have to solve as many problems as j2ee and be as supported. Don't think it's going to happen for anything big. | ||
20:01
spaceships joined,
am0c joined
20:05
mucker left
|
|||
moritz sees he missed some interesting discussions | 20:12 | ||
harmil | We decided you're now called "miles" | ||
sorear | km 4ever | ||
masak | still doesn't solve the m<tab> problem. | ||
eiro | ls | 20:13 | |
oops | |||
hello all | |||
sorear | hello none. | ||
masak | eiro: Display all 2367 possibilities? (y or n) | ||
harmil | yes!!! | ||
sorear continues to want to parse eiro as 英- ... | 20:14 | ||
harmil | "yes!!!" ~~ (y or n) # hmm.... | ||
masak | hm, it was an `ls`, not a double-Tab... :) | ||
eiro | masak, i wasn't in my warez dir but yes | 20:15 | |
haha | |||
20:15
sergot joined
|
|||
masak | ;) | 20:15 | |
sergocie! \o/ | 20:16 | ||
pmichaud | argggggh, wireless here is aggravating | 20:17 | |
moritz | spec question | ||
shouldn't a => 1 create an Enum instead of a Pair? | |||
masak | are they in a subclass/superclass relation? | ||
moritz | yes, Pair is Enum | 20:18 | |
pmichaud catches up on backscroll | |||
masak | rn: say Enum ~~ Pair; say Pair ~~ Enum | ||
moritz | and Pair just adds mutability | ||
p6eval | rakudo 1e4773, niecza v18-7-ga660099: OUTPUT«FalseTrue» | ||
masak | moritz: then I agree that it probably should. | ||
pmichaud | I mentioned last summer that I thought Pair/Enum Hash/EnumMap needed something along the lines of the List/Array duality :-) | 20:19 | |
20:19
majrmovies left
|
|||
moritz | pmichaud: speaking of the List/Array duality... why does List have splice, pop, push, shift, unshift, when it's otherwise the immutable one? | 20:19 | |
pmichaud | List isn't immutable | ||
we pop/push from lists all the time | 20:20 | ||
moritz | internally? | ||
pmichaud | externally | ||
moritz | example? | ||
pmichaud | r: my $a = (1,2,3).list; say $a.WHAT; say $a.perl; $a.pop; say $a.perl | 20:21 | |
p6eval | rakudo 1e4773: OUTPUT«List()(1, 2, 3).list.item(1, 2).list.item» | ||
moritz | (I consider the ListIter and MapIter internal) | ||
pmichaud: well, one could just as well force the user to coerce to Array instead of List | |||
pmichaud | that would be something else | ||
20:21
GlitchMr left
|
|||
pmichaud | the difference between List and Array is that Array forces values into their own containers | 20:21 | |
moritz | that needs to be much, much clearer in the specs | 20:22 | |
20:25
spaceships left
|
|||
moritz | r: say Enum.new(key => 3, value => 5).invert.WHAT | 20:25 | |
p6eval | rakudo 1e4773: OUTPUT«Pair()» | ||
20:26
majrmovies joined
|
|||
sorear | o/ majrmovies | 20:26 | |
majrmovies | o/ sorear | 20:27 | |
masak | if only Array wasn't so established. maybe we could Hungarian up some prefix for "forces values into their own containers". like CList. | ||
PerlJam | masak: except that hungarian perl is done with funny symbols :) | 20:28 | |
20:28
mikemol joined
|
|||
moritz | sorear, TimToady: what do you think of current Pair literals creating an Enum instead? | 20:29 | |
dalek | c: 27f60af | moritz++ | lib/Enum.pod: add some basic Enum documentation |
20:30 | |
c: 48250ae | moritz++ | lib/Pair.pod: [Pair] remove method key, it is inherited from Enum anyway |
|||
masak | PerlJam: hehe. my first reaction was "wut? Hungarian doesn't have any funny symbols!" I must be fully European at this point. | 20:31 | |
20:32
quietfanatic left
|
|||
pmichaud | (another wireless drop :-/ ) | 20:34 | |
raiph | What if... | ||
pmichaud | here's an example of the difference | 20:35 | |
moritz | my first reaction was "but my hovercraft isn't full of eels..." :-) | ||
sorear | moritz: I'm not thrilled with the names 'Enum' and 'EnumMap' for immutable Pair and Hash. But otherwise +1. | ||
pmichaud | my $xyz = 'xyz'; my $list = (1,2,$xyz,4); say $list.perl; $list.[2] = 'abc'; say $list.perl | ||
oops | |||
PerlJam | sorear: iPair, iMap ? :) | ||
er, iHash I guess | |||
moritz | Pair, PairRW, Hash, HashRW :-) | 20:36 | |
pmichaud | r: my $xyz = 'xyz'; my $list = (1,2,$xyz,4); say $list.perl; $list.[2] = 'abc'; say $xyz | ||
p6eval | rakudo 1e4773: OUTPUT«$(1, 2, "xyz", 4)abc» | ||
pmichaud | r: my $xyz = 'xyz'; my $list = (1,2,$xyz,4).list; say $list.perl; $list.[2] = 'abc'; say $xyz | ||
p6eval | rakudo 1e4773: OUTPUT«(1, 2, "xyz", 4).list.itemabc» | ||
pmichaud | there. notice that $xyz was changed. | ||
PerlJam never has liked the rw suffix | |||
pmichaud | That's different from | ||
raiph | Perl 6 takes on the problem of creating tools that help Perl fans market Perl | ||
pmichaud | r: my $xyz = 'xyz'; my @list = (1,2,$xyz,4).list; say @list.perl; @list.[2] = 'abc'; say $xyz | ||
p6eval | rakudo 1e4773: OUTPUT«Array.new(1, 2, "xyz", 4)xyz» | ||
moritz | pmichaud: I think you've explained as much in Oslo. And I forget it every time. It needs to be in the specs | 20:37 | |
pmichaud | if only someone was working on the S07 spe.... oh. | ||
:-) | |||
moritz | raiph: that sounds rather meta to me | 20:38 | |
pmichaud | anyway, Pair and Enum often strike me as being similar -- a Pair might provide its own container, while an Enum can be bound directly to a value or to an existing container | ||
moritz | raiph: and the point is that we don't to target perl fans. We want to target programmers | ||
raiph | moritz: forex, i have a google alert for 'perl6 OR "perl 6" | 20:39 | |
moritz | pmichaud: so it would make very much sense for :$x to create enum x => $x, which reuses the $x container | ||
raiph | moritz: and others for "haskell python", etc. | ||
pmichaud | moritz: I could see that, yes. | ||
raiph | moritz: so i get a steady stream of freshish relevant discussion on the web | 20:40 | |
pmichaud goes back to attempting to read backscroll | 20:41 | ||
raiph | moritz: it would be very helpful to have a systematic response system | 20:42 | |
moritz | raiph: to discussions on the web? | ||
raiph | moritz: relevant fresh discussions, yes | ||
moritz | ... and? | 20:43 | |
you think that could be a killer app for perl 6? | |||
dalek | kudo/nom: 90333b3 | moritz++ | src/core/Enum.pm: Enum.invert now returns an Enum, not a Pair |
||
raiph | if it works for perl 6 it would work for anything | ||
moritz | raiph: is that a "yes" or a "no"? | ||
raiph | yes it might be | 20:44 | |
but that's not it's (only) raison d'etre | 20:45 | ||
20:46
adu joined
|
|||
moritz waits for the raison d'etre | 20:46 | ||
oh, how I hate that. I wanted to write docs, and now I noticed that the stuff I'm documentating doesn't make sense the way they are, so instead of documenting I'm patching rakudo and proposing spec changes | 20:47 | ||
raiph | moritz: to market Perl 6 | ||
afk | 20:48 | ||
pmichaud | moritz: (enum vs pair) I was going to ask what the use case was for making the switch | ||
harmil | I've long thought that Perl 6 was ideally suited to replacing the various hackish Wiki formatting syntaxia with a real language. That would serve multiple purposes. | ||
moritz | pmichaud: consistency | 20:49 | |
pmichaud | consistency between... ? | ||
moritz | 1, 2, 3 # doesn't create containers | ||
"foo" # doesn't create containers | |||
1.2e4 # doesn't create containers | |||
1 => 2 # creates container. Why? | |||
pmichaud | okay, so you're wanting x => 1 to .... right | ||
as I said, I'm okay with that. (1,2,'foo').list doesn't make containers either :-) | 20:50 | ||
and now I understand the motivation (more) | |||
so | |||
moritz: (how I hate that) I think that Perl 4.036 was largely a lot of changes from Perl 4.0 because of things learned while writing Programming Perl | 20:51 | ||
moritz | pmichaud: I realize the benefit for the language, but it does hinder the docs progress | ||
pmichaud | maybe makes it seem slower | ||
moritz | and since it's more fun to hack than to doc (for me at least), it always feels like a backslash to be thrown back to coding when I found the motivation to doc | 20:52 | |
pmichaud | docs that move in a more confusing direction aren't really "progressing" :) | ||
anyway, yes, I understand the sentiment. | |||
20:54
kaare_ left
|
|||
pmichaud | we have some more of those sorts of things in Perl 6. => doesn't really create a Pair, it (now) creates an Enum. infix:<,> doesn't create a List, it creates a Parcel (but gosh it really looks a lot like a List) | 20:54 | |
harmil | Parcel / List handling still confuses the hell out of me, and I've been trying to cope with it for years | 20:57 | |
Mostly, Parcels just seem very fragile. They want to flatten at the first opportunity, and I'm forever trying to get them not to do that. | 20:58 | ||
moritz | call .tree or .lol on them | 20:59 | |
harmil | My most recent fight was with a parcel that contained a single pair that I wanted to convert to a hash… oh, my head | ||
pmichaud | .hash :-) | ||
moritz | .hash | ||
20:59
constantined joined
|
|||
harmil | yeah, that would have been nice | 20:59 | |
PerlJam | harmil: %($parcel) or $parcel.hash should have done it | ||
pmichaud | r: say (a => 1).hash.perl | ||
sorear | there was a time when we wanted to make Parcels invisible to users | ||
p6eval | rakudo 1e4773: OUTPUT«("a" => 1).hash» | ||
harmil | I think that ended up doing something like .flat.hash | ||
dalek | c: 7034ce6 | moritz++ | lib/Buf.pod: initial Buf docs |
||
PerlJam | (I'm currently guessing that %() works like $() and @() ) | ||
pmichaud | r: say (a => 1).hash.elems | 21:00 | |
p6eval | rakudo 1e4773: OUTPUT«1» | ||
21:01
mikemol left
|
|||
PerlJam | nr: my $p = Parcel.new(); | 21:03 | |
p6eval | rakudo 1e4773: ( no output ) | ||
..niecza v18-7-ga660099: OUTPUT«Potential difficulties: $p is declared but not used at /tmp/ghHDlpfhKT line 1:------> my ⏏$p = Parcel.new();» | |||
21:03
pochi left
|
|||
PerlJam | (never had occasion to "manually" make a Parcel, just wanted to be sure the POLS still held :-) | 21:03 | |
pmichaud | nr: my $p = (); say $p.perl # curious | 21:04 | |
p6eval | rakudo 1e4773, niecza v18-7-ga660099: OUTPUT«$()» | ||
pmichaud | \o/ | ||
21:05
pochi joined
|
|||
PerlJam | fwiw, parcels still trip me up sometimes too | 21:05 | |
harmil | Ah, OK, I've got a rough reproducer for what I was running into: | 21:06 | |
r: grammar G { rule TOP { <a> } ; rule a { <b>* } ; rule b { (1) (2) } } ; class A { method TOP($/) { make $<a>.ast } ; method a($/) { make $<b>>>.hash } ; method b($/) { make $/[0].Str => $/[1].Str } }; my $ast = G.parse("1 2 1 2", :actions(A.new())); say $ast.perl | |||
p6eval | rakudo 1e4773: OUTPUT«Match.new(orig => "1 2 1 2", from => 0, to => 7, ast => $(EnumMap.new(), EnumMap.new()), list => ().list, hash => EnumMap.new("a", Match.new(orig => "1 2 1 2", from => 0, to => 7, ast => $(EnumMap.new(), EnumMap.new()), list => ().list, hash => EnumMap.new("b", (Ma… | ||
harmil | oops | ||
r: grammar G { rule TOP { <a> } ; rule a { <b>* } ; rule b { (1) (2) } } ; class A { method TOP($/) { make $<a>.ast } ; method a($/) { make $<b>>>.hash } ; method b($/) { make $/[0].Str => $/[1].Str } }; my $ast = G.parse("1 2 1 2", :actions(A.new())); say $ast.ast.perl | |||
p6eval | rakudo 1e4773: OUTPUT«$(EnumMap.new(), EnumMap.new())» | ||
PerlJam | nr: my $p0 = (); my $p1 = ( a => 1 ); say $p0.WHAT; say $p1.WHAT; # how do I keep the parcelness? | ||
p6eval | rakudo 1e4773, niecza v18-7-ga660099: OUTPUT«Parcel()Pair()» | 21:07 | |
harmil | there we go… definitely not what I thought I was getting out of that. | ||
pmichaud | PerlJam: to keep the parcelness, you can itemize it | ||
you can also put a trailing comma | |||
( a => 1) _isn't_ a Parcel | |||
21:07
am0c left
|
|||
pmichaud | it's a parenthesized Pair | 21:07 | |
PerlJam | ah. | ||
(and that's what trips me up) | |||
pmichaud | just like (3 * 5) is an Int | ||
nr: my $p1 = (a => 1 ,); say $p1.WHAT; | 21:08 | ||
p6eval | rakudo 1e4773, niecza v18-7-ga660099: OUTPUT«Parcel()» | ||
PerlJam | It's too bad it couldn't be a leading comma | 21:09 | |
pmichaud | harmil: for one, it looks to me like EnumMap.new needs a better .perl entry | ||
harmil | I'd certainly agree | ||
adu | harmil: nice grammars :) | ||
harmil | heh, thanks, it's obviously based on the way JSON::Tiny does its work | 21:10 | |
pmichaud | $<b>».hash looks a bit awkward to me, though -- that could be an issue | ||
$<b> might be itemized | |||
(note the leading $) | 21:11 | ||
adu | harmil: just FYI, if you use $actions = A, then I think you can use :$actions as a param | ||
harmil | oh certainly. I was trying to pack this all into a somewhat clean one-liner, but yeah, in practice that's what I do (well $actions=A.new(), right?) | 21:12 | |
pmichaud | I'm not sure the .new is needed on A.new, there. | ||
harmil | interesting | ||
pmichaud | just the type object might work, since there aren't any attributes | ||
21:13
constantined left
|
|||
adu | harmil: right, A.new | 21:14 | |
21:14
adu left
|
|||
harmil | I really would feel so much better if the entry for $<foo> was always a real list whenever foo has a repeat quantifier… That would make my head hurt far less. IMHO users shouldn't be exposed to parcels unless they're trying to do something funky, and pulling repeated subrules out of a match doesn't seem funky to me | 21:14 | |
But that's just me, and probably a pretty major change | 21:15 | ||
pmichaud | the issue here isn't list vs parcel, I don't think | ||
i.e., I don't think it's the parcelness that is causing the challenge | |||
harmil | hmm… | 21:16 | |
you're right, I think I got confused over the hyperoperator | |||
r: grammar G { rule TOP { <a> } ; rule a { <b>* } ; rule b { (1) (2) } } ; class A { method TOP($/) { make $<a>.ast } ; method a($/) { make $<b>>>.ast>>.hash } ; method b($/) { make $/[0].Str => $/[1].Str } }; my $result = G.parse("1 2 1 2", :actions(A.new())); say $result.ast.perl | |||
p6eval | rakudo 90333b: OUTPUT«$(("1" => "2").hash, ("1" => "2").hash)» | 21:17 | |
harmil | that does the right thing | ||
pmichaud | right, $<b>.hash returns the hash portion of the match itself | ||
harmil | I'm still not 100% clear on why the final result is a parcel rather than just a hash, though | 21:18 | |
pmichaud | well, it's a parcel of two hashes | 21:19 | |
I think what you might want is ($<b>>>.ast).hash | 21:20 | ||
which creates a single hash from the ast elements | |||
harmil | sorry, I have hash on the brain ;) I mean rather than just a list | ||
no, no that would be bad, as they're not unique. | |||
I want an ordered list of hashes | |||
pmichaud | okay, makes sense | ||
21:21
bruges_ joined
|
|||
harmil | I could be convinced i want an ordered list of pairs, but I was getting some behavior I didn't understand when I tried to do that | 21:21 | |
21:22
bruges left
21:23
Celelibi joined
|
|||
harmil | Hmm… but now that I try it, it works flawlessly. I'm going to just go cry ;) | 21:23 | |
PerlJam | harmil: you just needed some of #perl6's brainpower to leak into your mind | 21:24 | |
harmil | heh | ||
21:25
fgomez left
|
|||
pmichaud | in general I think that subscripting operations return parcels because they're able to reflect "what the programmer wrote" without committing to a particular flattening/itemization | 21:25 | |
21:26
cog_ joined
|
|||
PerlJam | it's all about the lazy | 21:27 | |
tadzik | good evening #perl6 | ||
felher | 6o/ | ||
* o/ | |||
pmichaud | it will also likely become more important when we have multi-dimensional indexes | ||
21:29
majrmovies left
21:30
tokuhiro_ left
21:31
tokuhiro_ joined
21:34
snearch left,
birdwindupbird left,
fgomez joined
21:35
tokuhiro_ left
21:36
spaceships joined
21:37
spaceships left
21:40
bluescreen10 left
21:51
am0c joined
22:10
spider-mario left
|
|||
raiph | Going thru the "big problems" raised earlier | 22:12 | |
> lack of a ``production'' release. | 22:13 | ||
harmil | Given R*, what does that mean? | ||
Just that, e.g. Ubuntu doesn't have a binary package for perl6-rakudo-star and perl6-rakudo-star-devel? | 22:15 | ||
22:19
adu joined
|
|||
raiph | I think it would useful for #perl6 to pick a target xmas date. | 22:19 | |
harmil | I pick 2004 | ||
raiph | heh | 22:20 | |
"Larry Wall, primary author of Perl, on productizing Perl 6" @ www.reddit.com/r/perl/comments/u1y3...ductizing/ | |||
harmil | "whenever i've tried rakudo, it wasn't the speed that put me off, it was the enormous amount of memory required to build it. i think it needed 1.5GB last time i tried." — have to admit that I'm on-board, there. When it blew up a VM I had at home, I was a bit taken aback. | 22:21 | |
pmichaud | ...memory needed to build? That sounds to me like maybe we (the rakudo team) need to offer binaries. | 22:25 | |
harmil | maybe… it also seems to me that there must be something very wrong going on if building requires more than a gig of ram | ||
I do understand the bootstrap process well enough to understand why it would be a memory hog, but that's a whole lot of memory | 22:26 | ||
raiph | s/I think it would useful for #perl6 to pick a target xmas date/I think running with Larry's sense of timing will help attract new blood/ | ||
pmichaud | which step is taking the memory, ooc? compiling CORE.setting? | 22:27 | |
harmil | Now perl6 wants my blood?! | ||
raiph | heh | ||
TimToady wasn't aware that Larry had a sense of timing... | |||
harmil | pmichaud: checking | 22:28 | |
pmichaud | just as a note, on my system CORE.setting.pbc (the resulting output) is 11MB | ||
raiph | I've been waiting for years to see if you (fsvo of "you") would risk hinting at when xmas would come. | 22:29 | |
harmil | Yeah, right after stage: past I'm at 850GM VM | 22:30 | |
pmichaud | I think we've discovered that xmas means different things to different people. | ||
jnthn | pmichaud: It'll be compiling CORE.setting. | ||
pmichaud | jnthn: yes, that's what I suspected; just wanted to verify. | ||
harmil | 1.3GB after stage: post | ||
TimToady has hinted that p6 will probably take as long as The Hobbit sequel took | 22:31 | ||
jnthn | We shaved some couple of hundred meg off it a while ago :) | ||
harmil | yes, it's on "./perl6 --setting=NULL --optimize=3 --target=pir --stagestats --output=src/gen/CORE.setting.pir src/gen/CORE.setting" | ||
jnthn | The QAST work whould shave off a bunch more. | ||
*more | |||
harmil | The nice thing is, if I suspect that I've got a lot of cruft hanging around resident in RAM for no reason, I can build p6 and force it all out to swap…. | ||
pmichaud | harmil: the memory usage has to do with the tree structures we generate while compiling p6 code | 22:32 | |
they're.... huge | |||
harmil | I'd imagine. I mean, I look at Grammar.pm and my mind boggles at the data structures that represent just that. I'm not saying I expect it to be small... | 22:33 | |
pmichaud | jnthn is likely correct that we'll be able to make things slower when we get a better ast structure (QAST) | ||
sorear | harmil: hi, I gave up on rakudo dev two years ago because it wouldn't build on my 400MB box | ||
jnthn | slower? | ||
I said smaller :) | |||
pmichaud | s/slower/smaller # oops | ||
harmil | sorear, you just need more swap ;-) | 22:34 | |
pmichaud | I'm trying to watch talks at the same time :) | ||
adu | harmil: a gig is nothing, a simple Go hello world will take up a gig of used memory and reserve 19G of unused memory | ||
raiph | TimToady: in your own words: irclog.perlgeek.de/perl6/2012-01-07#i_4942518 | ||
harmil | adu: I'm going to my happy place, now, where you didn't say that | ||
adu | harmil: the developer's response when I raise the issue was "if your OS allocates swap space for zeros, then your OS sucks" | 22:36 | |
sorear | adu: I have to side with the developers here | ||
harmil | sorear: that's a finer knife than you think. If, in C terms, they're doing the equivalent of malloc(big_buckets_of_ram) then yes, that should not require work | 22:37 | |
However, if they're requesting that zero-filled, then they're wrong. | |||
sorear | harmil: on UNIX, allocating big_buckets_of_ram is automatically "zero filled" | 22:38 | |
harmil | You can either not care what you get (and hope for zero-filled) or you can suck up the fact that the RAM may have to be touched | ||
sorear: that's not entirely correct. | |||
sorear | harmil: allocate-on-demand pages are always zeroed before being passed to the process | ||
harmil: it's a security issue - can't have processes seeing the contents of pages freed by other users | 22:39 | ||
harmil | There are ways to delay that work, but it's painful, and I'm sure Go doesn't want to (pardon the pun) go there | ||
adu | harmil: heh | ||
harmil | delayed work is not work undone. There's no security problem involved as long as you ensure that reading from a page will be preceeded by a zero-fill | 22:40 | |
sorear | I know the Chrome sandbox allocates 64GB of scratch pages on 64-bit systems | ||
harmil | Unix provides no guarantees about the timing of zero-filling. Actually, I'm not 100% certain that Unix brk provides ANY guarantees about memory contents (though in practice, most POSIX systems do) | 22:41 | |
sorear | harmil: on Linux, allocate-on-write pages are actually copy-on-write images of a special "zero page" allocated at startup. there is no work or allocation until the write. | ||
adu | interesting | ||
sorear | if your OS doesn't do the same thing, it sucks. | ||
Rakudo, unlike Go, allocates 2GB of pages *and fills them with real data* | 22:42 | ||
there is no comparison here at all. | |||
diakopter wonders what OS adu has | |||
harmil | sorear: we're not comparing. You can relax | ||
adu | diakopter: macosx | ||
diakopter | I mean harmil | ||
nm | 22:43 | ||
I meant adu | |||
adu | :) | ||
diakopter | adu: so macosx allocates all that? | ||
adu | no | ||
harmil | macosx is roughly speaking machish, which means its VM handling is baroque as hell. you can't really force it to commit to anything until you actually poke a stick at a memory location ;-) | ||
adu | but top/ps report rsize as 1G and vsize as 19G | 22:44 | |
sorear | does macosx do the GNU Mach thing where the kernel panics if it runs out of swap space? | ||
harmil | I ran into this while porting the original troff (shudder) source to OSF/1 | ||
diakopter | adu: what OS does your above statement about the Go hellow world apply to? | ||
adu | macosx | ||
sergot | good night! o/ | ||
sorear | adu: what is the rss for the go hello world? | ||
geekosaur | sorear: not in my experience | ||
harmil | wow, OK I'm shocked | ||
adu | sorear: is that a top/ps param? | ||
sorear | adu: RSS is one of the top columns | 22:45 | |
harmil | The Go folks must be doing something really strange to force MacOS to pre-allocate ANYTHING | ||
sorear | escuse me, RES | ||
adu | let me find my hello world + while true | ||
harmil | Mind you, most of what I know about machish systems is all 2 decades old at this point, so ymmv | 22:46 | |
raiph | So we agree that Rakudo currently has heavy build requirements. | ||
adu | oh oops | ||
raiph | And we don't know how much that will improve between now and xmas 2013. | ||
harmil | raiph: no, not at all. It's wafer thin | ||
pmichaud | I think we know that it will likely improve; no, we don't know how much. | ||
raiph | But would that be a blocker from shipping a "productized" Perl 6 compiler? | 22:47 | |
I don't think so. | |||
sorear | raiph: niecza builds comfortably in 300MB on a 32-bit system | ||
harmil | I think we can say that Perl 6 will ship on xmas of a year that has either a Hobbit or Prometheus release. Then again, that's likely to be all of them for a while now... | 22:48 | |
22:48
whiteknight joined
|
|||
adu | are you talking about RSHRD? | 22:48 | |
22:48
whiteknight is now known as Guest52913
|
|||
sorear | adu: what are your top columns? | 22:49 | |
pmichaud | raiph: I don't think build requirements are a blocker for shipping. | ||
sorear | I don't have a RSHRD | ||
pmichaud: binary builds would be *awesome* | |||
adu | CPU TIME #TH #WQ #POR #MREG RPRVT RSHRD RSIZE VPRVT VSIZE PGRP | ||
it'd bsd top | |||
raiph | pmichaud: i agree. | ||
sorear | adu: ok, the relevant column is RPRVT | 22:50 | |
adu | sorear: RPRVT=192K RSHRD=212K RSIZE=480K VPRVT=34M VSIZE=19G | ||
pmichaud | if we do binary builds, we just need to have the equivalent of release managers for binary builds, and the tools/instructions to build them | ||
adu | sorear: I guess I was wrong about rsize | 22:51 | |
pmichaud | fsvo "just need" :-) | ||
harmil | I'd say the blockers for P6 the "product" are: 1) a finished library suite 2) documentation that isn't cast in the form, "x, y and z differ from Perl 5" as the rules synopsis does 3) vastly improved error messages for cases like missing semicolons 4) module handling sorted out 5) integration with various OSes including packaging and distribution concerns | 22:52 | |
TimToady wishes buffer bitops worked in niecza... | |||
harmil | and buffer bitops | ||
;) | |||
raiph | pmichaud: binary builds would be awesome but i don't think you should prioritize them | ||
TimToady | or that s/// returned a boolean result in rakudo :) | ||
pmichaud | raiph: I know that build requirements is often cited as a blocker for folks (more) | 22:53 | |
TimToady | those are my current blockers on translating my rad program to p6 :) | ||
pmichaud | and the debian / fedora packagers are always running months behind | ||
sorear | TimToady: are you sure you want buffer bitops? Buffer is an immutable type, and if you're trying to do bitflags here, that's a sickening amount of copies | ||
harmil | If you're ever interested in why I put #2 on that list, go try to find the definition of /\w/ in S05 | 22:54 | |
sorear | TimToady: wouldn't a compact array of bool be better? :) | ||
pmichaud | harmil: what does "finished library suite" mean, ooc? | ||
sorear | harmil: the actual definition you're looking for isn't even in the perl 5 docs; it's in Technical Report #18 on unicode.org | ||
adu | harmil: pmichaud: are you talking about the settings library? | ||
pmichaud | adu: I don't know, that's why I'm asking :) | 22:55 | |
adu | btw, why is it called "settings"? why not "standard library"? | ||
harmil | I'd say that it means everything listed as "DRAFT" OR "TBD" is sorted out at: perlcabal.org/syn/ | ||
sorear: that's not an answer and any language that takes that position is user-hostile | |||
FWIW: Java used to take that position. They got better | 22:56 | ||
sorear | harmil: you seem angry today | ||
harmil: I'm not fighting you | |||
harmil: even if you think I am | |||
adu | someone said the synopses would be 10x bigger if they were written in language lawyerese | 22:57 | |
diakopter | sorear: he wasn't asking as an implementor, who might be interested in reading TR18. | ||
he was asking as a newbie. | |||
sorear | diakopter: I did not tell him to read TR18. | ||
pmichaud | harmil: *everything* in synopses? S09 isn't likely to be finalized soon, but clearly Rakudo can ship and be usable if it's not finished. | ||
harmil | sorear: I'm not angry at all. I'm just saying 1) that wasn't an answer to the question I had at the time and 2) any language which doesn't give answers to common questions in their core docs is, fundamentally user-hostile. | ||
sorear | diakopter: I told him the documentation was even less useful than he thought. | ||
harmil: it was not intended to be answering the question. | |||
harmil | sorear: if I'm angry with you, I promise to write, "and I'm angry with you" at the end of my statements ;-) | ||
diakopter | that was unclear; it sounded like you were answering the question | ||
raiph | diakopter: but sorear was pointing out that even perl5 doesn't doc that stuff. why would we assume p6 must? | 22:58 | |
sorear | how could I possibly be answering the question | ||
TimToady: I hear you saying "I need a hole in my foot. May I have a gun?" | |||
pmichaud | let's stipulate that the synopses do not qualify as adequate "user documentation". | ||
diakopter | but... perl5 does document that stuff. | ||
adu | are those things (like \w) destined to be in syn? or are they destined to be in "the big Perl6 book" or something wiki-bookish? | ||
sorear | "the big Perl6 book" is wiki-bookish, so yes | 22:59 | |
harmil | pmichaud: i think there should be "a spec" (in fact, I think that was a core requirement back in 2000). That spec should be finalized before we call p6 "a product". I don't think that's unreasonable. Right now the synopses seem to be the closest I have to "a spec" | ||
sorear | (it's a latex file in a github repo) | ||
harmil | end-user books are interesting, but they need to be informed by the spec. | 23:00 | |
pmichaud | harmil: the problem is "finalized". Specs evolve also. | ||
diakopter | sorear: that's not wiki-ish at all | ||
adu | sorear: is it public? | ||
diakopter | sorear: it's not open to the public | ||
pmichaud | We can talk about a 6.0.0 spec as being finalized, and that could be separate from the synopses. | ||
sorear | huh? | ||
github.com/perl6/book is NOT a private repo | |||
harmil | Put a 1.0 on it and take "DRAFT" etc off, and I'll call it a spec. It's allowed to evolve, but that won't have a 1.0 on it.... | ||
diakopter | sorear: did I say it was a private repo? | ||
pmichaud | I think we need to put 1.0 only on the parts that we're certain we want to keep. | ||
sorear | diakopter: 16:00 < diakopter> sorear: it's not open to the public | 23:01 | |
pmichaud | there are many parts (that haven't been implemented yet) that we don't want to freeze. | ||
harmil | pmichaud: you can call it whatever you like, but I want a URL :-) | ||
diakopter | sorear: oops. I thought only certain people could commit to it. | ||
even though it's not a private repo. | |||
harmil | I have a ride outside, feel free to drop a line to [email@hidden.address] if you want me to follow up on anything more detailed | ||
pmichaud | in some sent the spec is really more of a "language plan" than a "language specification".... and few plans survive contact with implementations and users | ||
*in some sense | |||
23:02
thou left
|
|||
adu | moritz: sorear: this looks familiar, I think I've seen a pdf from this source | 23:02 | |
sorear | now I am not getting anything done, I promise not to read #perl6 for an hour | ||
pmichaud | in that sense, perhaps we need to recast the synopses as something other than "the language specification" | ||
maybe I can find some time to explore that with TimToady++ while we're both here at yapc::na | |||
diakopter | "the parts of Perl 6 that differ from Perl 5, jumbled." | 23:03 | |
pmichaud | anyway, time to commute here -- bbl | ||
diakopter | sorear: a latex file is not wiki-ish at all. very few people would know how to edit that. | 23:04 | |
sorear: I was right. I don't have write access to perl6/book. you were wrong. | 23:05 | ||
and even if I could contribute to it, I don't know latex. | 23:06 | ||
though obviously those who have commit access can apply pull requests. | 23:07 | ||
that is not wiki-ish at all. | |||
sorear | diakopter: most wikis don't allow anonymous users to edit. we have a registration process here, it involves hugme: add diakopter to book | 23:08 | |
diakopter: I agree it's not very wiki-ish, but I think the wiki-ish-ness is nonzero | 23:09 | ||
ARGH | 23:11 | ||
diakopter | sorear: ok. I forgot/didn't realize folks are added to it via hugme, though not for a long time | 23:15 | |
adu | hugme: add adu | 23:22 | |
hugme: add adu to book | 23:23 | ||
hugme | adu: You need to register with freenode first | ||
adu | hugme: add adu to book | 23:24 | |
hugme | adu: You need to register with freenode first | ||
sorear | n: class A { method !bar() { say "-----Oops-----" }; }; BEGIN { A!A::bar() } # Cute. | 23:26 | |
p6eval | niecza v18-7-ga660099: OUTPUT«===SORRY!===Cannot call private method 'bar' on A because it does not trust GLOBAL at /tmp/fZX7lut8eK line 1:------> -----Oops-----" }; }; BEGIN { A!A::bar()⏏ } # Cute.-----Oops-----Unhandled exception: Check faile… | ||
jnthn | r: class A { method !bar() { say "-----Oops-----" }; }; ; BEGIN { A!A::bar() } | ||
p6eval | rakudo 90333b: OUTPUT«===SORRY!===Cannot call private method 'bar' on package A because it does not trust GLOBALat /tmp/UoTe4xMj8r:1» | ||
jnthn | Consistent answers \o/ | 23:27 | |
Also the correct one. | |||
23:35
skids joined
23:45
tyatpi left
23:46
tyatpi joined
|
|||
adu | what does "Non-declarative sigil is missing its name" mean? | 23:50 | |
geekosaur | you have a sigil that isnt followed by a variable name, and it's not in a prototype? | 23:51 | |
jnthn -> sleep | 23:55 | ||
adu | { say $¢; } | ||
jnthn | Also, I'm going to be largely afk for several days. | ||
adu | does $¢ not work in rakudo? | ||
jnthn | phenny stuff that matters :) |