»ö« 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«3␤Failure.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.1415926535897931␤3.1415926535897931␤»
..rakudo 1e4773: OUTPUT«3.14159265394248␤3.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 declared␤at /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-29␤4.4408920985006262E-16␤»
..rakudo 1e4773: OUTPUT«6.48840426826895e-29␤4.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«False␤True␤»
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.item␤abc␤»
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 GLOBAL␤at /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 :)