»ö« | perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is your friend!
Set by Tene on 14 May 2009.
jnthn Ah well, tomorrow. 00:00
wayland76 And an investment in a good knife makes a whole world of fruit available :) 00:04
00:04 sjohnson joined 00:10 jferrero left
jnthn reads Damian++'s post and is happy to note that we can run most of those in Rakudo today 00:11
00:16 jimi_hendrix joined
jimi_hendrix is perl6 officially out? 00:16
wayland76 jimi_hendrix: No, but the alpha versions are available 00:17
00:18 kidd left
jimi_hendrix expected release date 00:18
wayland76 Christmas, but we don't know which year 00:19
My personal guess is that we'll have something that's ready by at least the end of 2010, and maybe 2009 00:20
But I'm not a developer, so what would I know :)
jnthn jimi_hendrix: We continue to burn the midnight lamp. ;-) 00:21
00:21 justatheory_ left
jimi_hendrix just as long as its before 2012 00:21
00:21 eternaleye joined
jnthn jimi_hendrix: It's hard to be specific because it's very much a volunteer project, and there's much more a focus on getting it right than getting it wrong but releasing it tomorrow. :-) 00:21
jimi_hendrix *cough* google chrome *cough* 00:22
jnthn jimi_hendrix: However, things are progressing well, and if you want to try out the compiler as it exists so far, it's there for the trying. :-)
Well, a few compilers in fact.
jimi_hendrix i am excited about the real OOP in it 00:23
jnthn Most people are playing with Rakudo though.
jimi_hendrix not the painful OOP in perl
jnthn Rakudo has pretty decent coverage of Perl 6 OOP.
Probably the most complete that exists.
(Rakudo = Perl 6 on the Parrot VM)
jimi_hendrix Parrot 00:24
?
wayland76 Parrot is a virtual machine
jnthn Parrot is a project to implement a VM for running different dynamic languages and being able to call between them etc.
wayland76 Oh, and Perl 6 is a spec, not an implementation, so Rakudo and SMOP both try to implement the spec 00:25
In other words, if you want to program in Perl 6, you download/install either Rakudo or SMOP 00:26
jimi_hendrix ah
wayland76 jnthn and I are both connected with Rakudo, I distantly, and jnthn intimately
00:27 bacek joined 00:28 eternaleye_ joined
wayland76 So naturally we recommend it over SMOP 00:28
To be fair, both have their strengths and weaknesses
but I personally think that Rakudo is more ready for use by end-users
(than SMOP is)
There are other implementations, but they don't see much activity at the moment 00:29
sjohnson is looking forward to perl 6
i think it will make scripting programmers far happier than Ruby, despite that Matsumoto's main goal is happiness for the programmer 00:30
00:31 eternaleye left
jimi_hendrix i like the way ruby looks 00:32
it just looks nice
python always looked ugly to me
and perl always looks interesting
but i hate its OOP
wayland76 That's because the OOP was bolted on afterwards. In Perl 6, it's inbuilt from the start :) 00:33
jimi_hendrix the OOP feels kinda like the C OOP hack
jnthn rakudo: class Dog { has $.name; method bark() { say "w00f" } }; my $pet = Dog.new(name => 'Fido'); say $pet.name; $pet.bark; 00:35
p6eval rakudo 5ac642: ( no output )
jnthn ..huh...
rakudo: say "oh hai" 00:36
sjohnson jimi_hendrix, do you actually like the way ruby looks, with using then / end statements for "if"'s?
p6eval rakudo 5ac642: OUTPUT«oh hai␤»
brunov jimi_hendrix, have you tried Moose?
jnthn rakudo: class Dog { has $.name; method bark() { say "w00f" } }; my $pet = Dog.new(name => 'Fido'); say $pet.name; $pet.bark; 00:37
p6eval rakudo 5ac642: ( no output )
jnthn Hmm. What's with the evalbot?
jimi_hendrix sjohnson, i dont know, i dont use ruby, but its source always seems elegant
sjohnson it looks elegant but i think all the "then / end" statements will become a pain in the ass 00:38
jimi_hendrix brunov, no
sjohnson as curly braces with are used more in Perl can be tracked easily usign the % command in vim
wayland76 sjohnson: An editor could support then/end too 00:39
Besides which, Perl 6 allows unicode parenthesising characters, which invalidates your argument :) 00:40
00:40 hercynium joined
wayland76 begin/end vs. {} is an old argument that goes back to C vs. Pascal 00:40
sjohnson well i suppose i think {} is a personal preference then 00:41
TimToady JDlugosz: I disagree, insofar as NFG is (operationally) doing the same thing as NFC, except with extra temporary pseudo-codepoints. I agree, insofar as it's not canonicalizing to a *permanent* set of composed chars. Which is why NFG is NFG.
jimi_hendrix i guess the begin/end is nice everyonce in a while, to break it up a bit
wayland76 Agreed. (re; personal preference)
sjohnson wayland76, what is your preference?
TimToady JDlugosz: but if you use no non-precomposed sequences, NFG is *identical* to NFC 00:42
wayland76 And if you want to use begin/end, you can modify the Perl 6 grammar so that you can use them instead of {}
:)
sjohnson: Well, my programming history goes GWBASIC ==> x86 Assembly ==> QuickPascal ==> C ==> Perl 00:43
As you can see, QuickPascal was the first language I used that allowed any sort of real structured programming
sjohnson Turbo Pascal was my first
but found C style to be the best
ie, PHP, Perl, etc
Java
wayland76 So I feel kind of nostalgic about them :) 00:44
Basically, I think both have advantages, and argue against whatever position is being put
brunov jimi_hendrix, take a look www.iinteractive.com/moose/
wayland76 Try telling me that {} is line noise, and you'll get the opposite arguments
brunov jimi_hendrix, it's the way of doing OO in Perl 5 these days 00:45
jimi_hendrix C# was my first language
sjohnson i suppose i dont like typing "then" because it's too many chars
hercynium thinks python is perfect for creating code poetry in the style of e.e. cummings 00:46
sjohnson dont like BASIC or [ba]sh scripting for that reason too
TimToady and it's not really normal English so include "then"
00:47 shinobi-cl joined
TimToady *to 00:47
shinobi-cl hi all
TimToady how do you write shinobi in Kanji? :)
hercynium hmmm... I think it's on the label of the video game! 00:48
according to wikipedia: 忍 00:49
TimToady that's ninjaheart
shinobi-cl haha i have no idea... i played that game loooong ago
i dont even like it anymore :)
TimToady ah, the NIN of ninja 00:50
is written 忍
00:50 sjohnson1 joined
sjohnson1 しのび 00:50
TimToady and shinobi is 忍び
hercynium weird - did what I send not display on your end? 00:51
00:51 sjohnson left
shinobi-cl is possible to declare constructors and destructors in rakudo yet? 00:51
sjohnson1 TimToady: do you speak 日本語? 00:52
00:52 sjohnson1 is now known as sjohnson
TimToady 少し 00:53
sjohnson ahh me too 00:54
sukoshi
== a bit
らくだ
TimToady 楽道 00:55
sjohnson hmm 00:56
camel!
少年
00:59 icwiener left
jnthn -> sleep, night all 01:00
hercynium night 01:02
01:04 felipe joined
TimToady 少年じゃない。。。 01:09
sjohnson you're not a young man 01:10
sjohnson is an animefag
hercynium anime++
DanielC sjohnson,TimToady: How many languages do you speak?
TimToady it's a fuzzy set 01:11
DanielC :)
hercynium TimToady: this all makes me wonder... will parrot language authors be able to create programming languages using non-english character sets?
sjohnson i speak fluent french
but i'm learning japanese
on my own tho
DanielC Japanese sounds really hard. 01:12
sjohnson as i think it's far faster to learn japanese or any language on your own
01:12 japhb joined
sjohnson it's easy 01:12
japanese is one of the easiest languages there is
it being hard is a myth
DanielC really?
sjohnson yeah
wayland76 hercynium: Yes, they will
sjohnson there are only 2 verb tenses, plus 2 more for negatives 01:13
hercynium DanielC: several people I know tell me Japanese is very regular, so the grammar is relatively simple
sjohnson compare that to french, which has more than 10
japanese is a piece of cake
it just takes time to learn the chinese characters they use
DanielC sjohnson: French is hell. I like Spanish and German, they are far more regular.
TimToady except you have to learn to think in reverse polish
sjohnson i learned them all in a 1.5 years, and also programmed the software to test myself and give me hints in.. you guessed it.. PERL
hercynium wayland76: thx! not that I think someone using that would be practical, but it's still very cool 01:14
shinobi-cl bye!
01:14 shinobi-cl left
DanielC I thought that Japanese didn't have a "proper" alphabet and instead it has characters for phonenes. 01:14
Is that true?
or maybe it has characters for syllables...
wayland76 hercynium: We can graft all kinds of strange Unicode symbols into Perl 6, so why not other languages :)
sjohnson syllables 01:15
TimToady Japanese is a CV language, so a syllabary works better than an alphabet
hercynium great! arabic twigils!
sjohnson and it's better than English because the syllables only change in 2 cases
hercynium CV?
DanielC sjohnson: So there's probably a lot of characters to learn.
sjohnson only 46 syllabes or so to learn
and 46 more for the same syllables but different writing system
DanielC Ok, 2 x alphabet. That's not so bad. 01:16
sjohnson you can learn it over a weekend easily
well, the 3rd "alphabet" is the chinese characters called "Kanji"
TimToady consonant/vowel
sjohnson you need to know about 2000 of them to be fluent in japanese
TimToady I only know 7-800 so far...
sjohnson i learned in them in a year and i have a fulltime job
DanielC TimToady: Does that mean that there aren't as many possible syllables in Japanese?
sjohnson TimToady: have you heard of Remembering the Kanji?
TimToady DanielC: that's correct 01:17
DanielC Interesting.
TimToady the only possible ending consonant is 'n'
DanielC Sounds good to me.
Does Japanese have unusual vowel sounds? (e.g. I have a really hard time with the German umlauts). 01:18
TimToady sjohnson: nope, but I have my own ways, suitable for a 54-year-old
hercynium will stick with simple hangul for now :)
amoc 私は Perlが好きです
sjohnson i wrote software in perl to test and hint me on both volumes of the RTK set
01:18 gkurts joined
sjohnson amoc: i like perl 01:18
hercynium You're older than uri!
sorry...
amoc wow 01:19
01:19 eternaleye joined
hercynium (I never would have guessed) 01:19
sjohnson TimToady: what are your ways
DanielC Does Japanese have any new sounds that don't appear in (say) English? New sounds are probably the hardest thing to learn when you are past puberty. 01:20
TimToady I have names for all ~3000 radicals, and all the CJK area of unicode classified according to those names
so if I forgot that 私 means watashi, I would say "rad grain.l mu.r" it it would pop right out 01:21
amoc DanielC: i think... 'tsu' sound is in Japanese. may be 'つ' in 'べつに' 01:26
01:26 araujo joined
TimToady I'm fine with new sounds, but then I was always very good at phonetics 01:27
you might have more trouble with short/long vowels and consonants
and pitch accent
DanielC I learned German later in life and I struggle a lot with the umlauts.
I am semi-native in Spanish and English (I have an accent in both, but I know both equally well, neither is more natural to me). 01:29
sjohnson TimToady: can i quiz u on what you know?
TimToady at the moment I'm trying to listen to my daughter read, so how 'bout later
01:30 ab5tract left, eternaleye_ left
sjohnson her japanese is import too indeed :) 01:32
important* 01:34
man i can't type after a few beers that's for sure
brain thinks faster than i can write
TimToady well, she's reading in 英語、really...
sjohnson eigo! 01:35
thats probably cute to listen to
TimToady yeah, it's also one of those supposedly hard languages to learn
sjohnson i have heard the same thing
i learned to read english from apple 2 BASIC programming as my dad was showing it to us when were kids, alongside playing loderunner, etc
(im 27 now) and that was a long time ago 01:36
TimToady all those consonant clusters, and a humongous lexicon, and irregular orthography
lots of irregular verbs, too
sjohnson i honestly believe verb irregularities are easily overcomeable, just by learning "As kids do" 01:37
which is how i'm tackling japanese
i am doing no study of grammar rules, verb conjugations,e tc
it would take far too long
it is better to learn by example
kids 3 years old can speak better english than most japanese people who have learned in highschool for many more years 01:38
and i don't believe that's because they are immersed, i think it's because they hear proper english instead of learning
which could also mean "immersion" in a sense, too
DanielC sjohnson: There is an age factor. You learn languages best when young. 01:39
TimToady well, the extra brain plasticity helps
my hardest part is decoding spoken speech
sjohnson DanielC: i think that is a myth 01:40
pseudo-science
TimToady you won't when you're old :)
DanielC sjohnson: Brain plasticity is not a myth. There is a lot of research behind it.
sjohnson well i'm 27 now and picking up japanese just by watching anime a lot
hercynium kawaii
amoc hercynium: cute!
TimToady kowai, if you ask me 01:41
hercynium one of the few owrds I remember
TimToady dinner &
amoc i remember this word from japanese animation
hercynium same here 01:42
d'oh
palm against the spacebar
DanielC sjohnson: I don't know what point you are trying to make about anime. Of course if you hear a lot of Japanese you'll learn it a heck of a lot faster than if you don't. Nothing surprising about that.
sjohnson i just mean that, a lot of people think that it's "impossible" to learn a language to fluency in a couple of years 01:43
like babies do
DanielC sjohnson: Nobody here said "impossible". I am very proficient in German after less than a couple of years, and I haven't been able to dedicate it nearly as much time as I'd like. 01:44
sjohnson: But I am light years behind a native speaker. Specially in the area of pronunciation.
sjohnson ahh i c 01:45
sorry i just thought you were one of those.. doubting thomases
my apologies
(i've run into a lot of them)
hercynium sjohnson: I can see your point from experience... the few non-english-speaking places I've travelled for more than a few weeks, I've found myself picking up the language... and frankly, I think I'm of average intelligence
DanielC sjohnson: Well... If you had said that you wouldn't have an accent after a couple of years, I would bring up brain plasticity and the like. 01:46
sjohnson: But yeah, we probably both misunderstood each other. 01:47
amoc ...i shocked when i watch www.youtube.com/watch?v=EBM854BTGL0, she speaks english 'really-really much' better than me(18).
,who is 3 year old
*years
sjohnson DanielC: i'm sowwie 01:48
*puppy dog eyes*
DanielC didn't intend any criticism...
sjohnson im curious to know TimToady's method of learning the chinese characters 01:49
maybe when he's done eating he will tell me
DanielC Does Japanese really have only 46 characters?
01:50 cotto left
sjohnson only in 2 of the alphabets 01:50
01:51 cotto joined, jiing_ joined
sjohnson chinese characters used in japanese (kanji) is a few thousand 01:51
but only about 2000 are really used
DanielC And you actually need to learn all of those characters?
Why don't they pick one alphabet and stick with it?
sjohnson katakana is used for loan words / onomatepia 01:52
hiragana can write out all japanese speach and text
but for some reason, they decided to use chinese characters
i think it's a good thing, as homonyms are very prevalent in japanese
DanielC homonym?
sjohnson and using the chinese characters to write them helps the reader know what is being said
yeah 01:53
DanielC what is homonym?
01:54 Maghnus joined
hercynium DanielC: two words that are spelled differently but sound the same 01:54
DanielC ok
I hate those...
hercynium in english: their and they're and there
sjohnson in japanese, they are spelled the same
because of the syllable alphabet nature of the language
hercynium ooo, so you have to determine meaning from context?
sjohnson which i believe is why they still use kanji to write out many words
you could do that, but the kanji really helps 01:55
hercynium sjohnson: so their alphabet is syllabic, like korean?
ah
kanji is different
*sigh*
sjohnson its not as tough as it sounds
at first, it looks impossible
but if one is determined, i believe it can all be learned in a short amount of time 01:56
ie, 2-3 years
hercynium wishes he had time and energy to learn things outside of work
DanielC hercynium: I'm not a native English speaker, but it doesn't look to me like they're and there should should the same. One has a "y" which is not silent.
I know they sound very very similar but...
sjohnson DanielC: what is your first language again?
i saw german mentioned earlier
DanielC sjohnson: Spanish.
sjohnson i c 01:57
DanielC sjohnson: I learned German last. I mentioned earlier that I struggle with the umlauts.
hercynium DanielC: you're technically correct, but in practice, it's pronunced the same
DanielC hercynium: Ok, but with a British accent I think that there is a difference. 01:58
hercynium: Where are you located?
hercynium kind of like the word "Tuesday" which *should* be pronounced Tyoosday, but is almost always Toosday
Massachusetts, in the US 01:59
DanielC I was about to say... Toosday sounds like an American accent.
Imagine a British speaker (e.g. Captn Jean Luc Picard) saying "there".
sjohnson we say toosday in canada here
02:00 ElectricHeavyLan left
DanielC sjohnson: Were in Canada are you? I learned English in Canada (mostly). I'm even a Canadian citizen, though I'm currently in Germany. 02:00
sjohnson British Columbia
DanielC Ok. My family is in Toronto. 02:01
hercynium Down the mighty rivers of British Columbia!
Leaping from tree to tree!
hercynium could not help himself
02:03 Whiteknight left
sjohnson hercynium: www.youtube.com/watch?v=0ekqsHP9Sck 02:03
hercynium I'll take your word on it :) (I just switched to 64-bit ubuntu today and the flashplayer plugin is a little wonky) 02:05
02:08 davidad left 02:11 Maghnus_ left 02:16 ElectricHeavyLan joined
meppl good night 02:18
sjohnson see ya
meppl ;) 02:19
02:19 meppl left
sjohnson anyone else here interested in learning japanese 02:26
lu_zero sjohnson ?
lambdabot lu_zero: You have 1 new message. '/msg lambdabot @messages' to read it.
sjohnson lu_zero: hi 02:29
02:30 H1N1[A] left 02:33 ElectricHeavyLan left 02:48 H1N1[A] joined
sjohnson hello 02:51
literal hi 02:52
02:53 LadyLunacy joined
sjohnson literal: what's up 02:58
literal stuff 02:59
hercynium looks up, sees ceiling
sjohnson what kind of stuff *curious*
literal well, I wrote a blog post: blog.nix.is/first-gsoc-post 03:00
03:00 mikehh joined
hercynium applauds literal for his undertaking! 03:01
(assuming literal is male) 03:02
literal correct
03:04 azawawi joined
azawawi hi 03:04
sjohnson azawawi: hi
i keep hearing "Google Code of Summer"
but i am confused what that mens
means* 03:05
araujo google summer of code
azawawi sjohnson: code.google.com/soc/
sjohnson thanks 03:06
03:08 DanielC left 03:09 LadyLuna1y left, cognominal left 03:10 sjohnson left, cotto left, cotto joined 03:13 ray left 03:15 jonh joined 03:17 azawawi left 03:20 donaldh left, donaldh joined 03:21 sri_kraih left 03:33 lichtkind left
hercynium I was just thinking about it... parsing POD properly is no easy task... ostensibly, it's not hard to extract stuff that looks like pod 03:37
but if it's inside any sort of quoted string.... that needs to be detected
03:37 orafu left 03:38 orafu joined
hercynium just wrote a utility to extract pod from some documents and just realized that his code is susceptible to that bug :( 03:38
03:39 brunov left
hercynium hmm... pod2text is fooled by my test case as well... 03:39
literal what test case?
hercynium in that case, I'll let it slide :)
pasting to a pastebin now... 03:40
literal: nopaste.snit.ch/16700 03:42
03:42 dalek joined
literal hm, I didn't know this was allowed 03:43
03:44 clug joined
clug rakudo: say 'test'; 03:45
p6eval rakudo 5ac642: OUTPUT«test␤»
03:45 gkurts left
hercynium literal: if it is allowed... it could be an interesting thing that people would exploit... and probably *have* exploited... 03:46
I would not be surprised if Damian himself uses that to his advantage :)
clug rakudo: say qx(w);
p6eval rakudo 5ac642: OUTPUT«sh: ./perl6: No such file or directory␤»
clug 0_o
s1n rakudo: class A { ... }; my $obj = {eval "A"}.new; say $obj.perl 03:51
p6eval rakudo b32517: OUTPUT«Can't return outside a routine␤in Main (/tmp/VTkqTQ99Qu:2)␤»
s1n akudo: class A { ... }; my $obj = (eval "A").new; say $obj.perl
clug rakudo: class A { ... }; my $obj = (eval "A").new; say $obj.perl 03:52
s1n rakudo: class A { ... }; my $obj = (eval "A").new; say $obj.perl
p6eval rakudo b32517: OUTPUT«Can't return outside a routine␤in Main (/tmp/RIBw74LTHJ:2)␤»
rakudo b32517: OUTPUT«Can't return outside a routine␤in Main (/tmp/hidjf20DXV:2)␤»
s1n hmm what am i doing wrong here?
clug rakudo: while(true) {say 'True is still evaluating to true';}
p6eval rakudo b32517: OUTPUT«Statement not terminated properly at line 2, near "(true) {sa"␤in Main (src/gen_setting.pm:0)␤»
s1n clug: need a space there, while is not a sub 03:53
clug rakudo: while (true) {say 'True is still evaluating to true';}
p6eval rakudo b32517: OUTPUT«Statement not terminated properly at line 2, near "(true) {sa"␤in Main (src/gen_setting.pm:0)␤»
s1n rakudo: while (True) {say 'True is still evaluating to true';}
p6eval rakudo b32517: OUTPUT«True is still evaluating to true␤True is still evaluating to true␤True is still evaluating to true␤True is still evaluating to true␤True is still evaluating to true␤True is still evaluating to true␤True is still evaluating to true␤True is still evaluating to true␤True is still
..eval…
clug oh, thanks
s1n there's also False 03:54
hercynium s1n: will the space between the while and parens be required??
clug rakudo: say qx{w}
p6eval rakudo b32517: ( no output )
hercynium (in the spec
)
s1n hercynium: yes
at least for for, while, if, and any other control statement keyword i missed 03:55
clug Do you still fork with fork?
hercynium eew... I was quite frustrated with that sort of thing when I last played with perl6 :(
clug QQ
TimToady you are expected to leave out the () though 03:56
clug rakudo: fork while fork;
TimToady rakudo: while
p6eval rakudo b32517: ( no output )
s1n hercynium: i've brought it up before, it ended up being one of those compromises they made
TimToady rakudo: while True { say "hi"; last; }
p6eval rakudo b32517: OUTPUT«hi␤»
s1n ask TimToady, he is the benevolent leader :) 03:57
TimToady std: while(true) {...}
p6eval std 26948: OUTPUT«##### PARSE FAILED #####␤while() interpreted as function call at line 1 ; please use whitespace instead of parens␤Unexpected block in infix position (two terms in a row) at /tmp/GR7MW7e5t0 line 1:␤------> while(true) {...}␤ expecting any of:␤ infix or
..meta-infix␤ i…
clug rakudo: while while True {say 'true'; last;}
p6eval rakudo b32517: OUTPUT«Could not find non-existent sub while␤»
clug rakudo: while True {say 'true'; last;} while True
p6eval rakudo b32517: OUTPUT«true␤Could not find non-existent sub while␤»
TimToady rakudo: sub while ($x) { $x }; while while True { say 'true'; last; } 03:58
p6eval rakudo b32517: OUTPUT«true␤»
hercynium TimToady: indeed... I *do* like being able to omit the parens :)
TimToady rakudo: sub while ($x) { $x }; while while while while while while True { say 'true'; last; }
p6eval rakudo b32517: OUTPUT«Statement not terminated properly at line 2, near "{ say 'tru"␤in Main (src/gen_setting.pm:0)␤» 03:59
hercynium will probably just mutate the grammar to suit his tastes 'cause he's sick like that
clug There should be one way to do things 04:00
TimToady std: sub while ($x) { $x }; while while while while while while True { say 'true'; last; }
p6eval std 26948: ( no output ) 04:01
clug std 0_o
oh standard, not sexually transmitted disease
pmichaud I think that p6eval might have its resource limits set a little too low.
hercynium hits clug with an "import this"
s1n pmichaud: probably a result of the beating it received last night :/ 04:02
pmichaud I'm sure that's part of it, yes. :-| 04:03
clug that was fun
std: AIDS = True; while AIDS {say 'I have AIDS';}
p6eval std 26948: OUTPUT«##### PARSE FAILED #####␤Function 'AIDS' needs parens to avoid gobbling block at /tmp/X8iy2ZV5a1 line 1:␤------> AIDS = True; while AIDS {say 'I have AIDS';}␤Missing block (apparently gobbled by 'AIDS') at /tmp/X8iy2ZV5a1 line 1:␤------> ␤ expecting
..p…
clug std: $AIDS = True; while $AIDS {say 'I have AIDS';} 04:04
p6eval std 26948: OUTPUT«Potential difficulties:␤ Variable $AIDS is not predeclared at /tmp/maNATPT5ou line 1:␤------> $AIDS = True; while $AIDS {say 'I have AIDS';␤ Variable $AIDS is not predeclared at /tmp/maNATPT5ou line 1:␤------> $AIDS = True; while $AIDS {say 'I have
..AIDS';}…
s1n i'm getting a bunch of "no output" results from evalbot
clug std: my $AIDS = True; while $AIDS {say 'I have AIDS';}
p6eval std 26948: OUTPUT«ok 00:02 36m␤»
clug rakudo: my $AIDS = True; while $AIDS {say 'I have AIDS';}
p6eval rakudo b32517: OUTPUT«I have AIDS␤I have AIDS␤I have AIDS␤I have AIDS␤I have AIDS␤I have AIDS␤I have AIDS␤I have AIDS␤I have AIDS␤I have AIDS␤I have AIDS␤I have AIDS»
04:05 dduncan joined
clug ... rakudo: my $AIDS = True; while $AIDS {say 'I have AIDS';} 04:05
pmichaud s1n: iiuc, "no output" often means something went wrong within the evalbot
s1n pmichaud: yeah, but things that work on my end are giving no output on evalbot 04:06
clug rakudo: my $AIDS = True; while $AIDS {say 'I have AIDS';}
p6eval rakudo b32517: OUTPUT«I have AIDS␤I have AIDS␤I have AIDS␤I have AIDS␤I have AIDS␤I have AIDS␤I have AIDS␤I have AIDS␤I have AIDS␤I have AIDS␤»
s1n how do you execute a Block? 04:08
wayland76 rakudo: $a = { say "hello"; } say $a.WHAT; Axe($block); 04:10
p6eval rakudo b32517: OUTPUT«Statement not terminated properly at line 2, near "say $a.WHA"␤in Main (src/gen_setting.pm:0)␤»
04:10 dduncan left
wayland76 ??? 04:10
rakudo: my $a = { say "hello"; } say $a.WHAT; Axe($a);
p6eval rakudo b32517: OUTPUT«Statement not terminated properly at line 2, near "say $a.WHA"␤in Main (src/gen_setting.pm:0)␤»
hercynium s1n: do, perhaps?
pmichaud need a semi after the closing brace
wayland76 rakudo: my $a = { say "hello"; }; say $a.WHAT; Axe($a);
p6eval rakudo b32517: OUTPUT«Block()␤Could not find non-existent sub Axe␤» 04:11
wayland76 thanks :)
rakudo: my $a = { say "hello"; }; say $a.WHAT; do $a;
p6eval rakudo b32517: OUTPUT«Block()␤»
s1n the closes i found was to assign first
rakudo: my $f = { say "yes" }; $f();
p6eval rakudo b32517: OUTPUT«yes␤»
pmichaud right, use () to invoke a block
wayland76 oh, easy
hercynium ah
s1n pmichaud: can i inline that?
wayland76 I've got some code that needs that done on it :)
s1n wayland76: glad i could help :)
pmichaud s1n: ... inline?
wayland76 rakudo: { say "yes" }(); 04:12
s1n pmichaud: yeah, like { say "yes" }()
p6eval rakudo b32517: OUTPUT«yes␤»
wayland76 s1n: Yeah, you can :)
s1n wtf, i just tried that in the evalbot pm
wayland76 It's not what you know, it's who you know
s1n i got some error about odd number of elements
wayland76 I've been whispering secret messages to p6eval all night, and now it'll do many things I ask 04:13
clug rakudo: {say $_;}('lol') 04:16
p6eval rakudo b32517: OUTPUT«lol␤»
s1n is there a way to get the name of the current sub/method? i'm trying to work around no CALLER/OUTER stuff (yet)
pmichaud .name, I think 04:18
rakudo: sub foo() { ... }; say &foo.name;
p6eval rakudo b32517: ( no output )
pmichaud rakudo: sub foo() { ... }; say &foo.name;
04:18 cottoo joined
p6eval rakudo b32517: ( no output ) 04:18
pmichaud bah.
rakudo: sub foo() { ... }; say &foo.signature;
p6eval rakudo b32517: ( no output )
pmichaud rakudo: sub foo() { ... }; say &foo.signature.perl; 04:19
p6eval rakudo b32517: ( no output )
s1n heh
pmichaud p6eval seems b0rken
although, that doesn't help with "current sub", I guess.
might be able to do it with some inline PIR
04:19 cotto left, cottoo is now known as cotto 04:21 clug left
s1n pmichaud: if you can do that with inline PIR, what's blocking CALLER/OUTER? 04:21
04:21 skids left
s1n pmichaud: and if you can do it with inline PIR, do you have any idea how i'd go about it? 04:21
pmichaud getting the name of a current sub is far different from poking around into CALLER/OUTER contexts.
(as far as what's blocking it) 04:22
s1n pmichaud: you can't do clever call stack hacks for now? :)
pmichaud s1n: not really. Or, more precisely, only for limited items. 04:23
for example, there's currently not a way in parrot to get a Hash of lexicals
and contexts in Parrot aren't objects that are made available at even the PIR level
anyway, to get the sub, perhaps 04:24
Q:PIR {
$P0 = getinterp
$P0 = $P0['sub';0]
%r = $P0.'name'()
}
s1n pmichaud: do i _have_ to compile that to run it? 04:27
pmichaud: and what is %r? if it's a return value, how to i access it from p6 code?
pmichaud it's inline
s1n assignment to the Q:PIR block? 04:28
pmichaud rakudo: my $val = Q:PIR { %r = box 3.5 }
p6eval rakudo b32517: ( no output )
pmichaud rakudo: my $val = Q:PIR { %r = box 3.5 }; say $val;
p6eval rakudo b32517: OUTPUT«3.5␤»
s1n sweet
s1n trying this out now 04:29
pmichaud: Method 'name' not found for invocant of class 'Sub'
04:29 cotto left
pmichaud hmmm. 04:29
oh, it just wants a string. 04:30
Q:PIR {
$P0 = getinterp
$P0 = $P0['sub';0]
$S0 = $P0
%r = box $S0
}
might be able to collapse the middle two statements to $S0 = $P0['sub';0] 04:31
s1n heh
here's my sample output: Executing from within _block90
that's clearly not the name of my sub
or method 04:32
pmichaud is it inside of a nested block?
if so, it's the name of the nested block :-)
s1n for loop
pmichaud it's the name of the body of the loop :-)
(internal name, that is)
s1n pmichaud: you're right, that works now 04:33
pmichaud: in that PIR, what is the '0' parameter on the second PIR line?
is that the stack frame? 04:34
pmichaud yes.
0 is current sub, 1 is caller, 2 is caller's caller, etc.
s1n pmichaud: so.... why can't i write a sub to get the frame 1 and assign it to CALLER? 04:35
pmichaud s1n: what do you expect to get out of CALLER if you do that?
i.e., give me a use case. 04:36
s1n i have a general function that is used by several and i wanted to roll back up the stack frames to get the caller's caller
pmichaud "roll back"
or just trace up ?
s1n not really roll back
04:37 hercynium left
pmichaud and do what with the caller's caller? 04:37
s1n for right now, store it, maybe hack/eval it to a real function later
pmichaud well, caller's caller would ahve to be CALLER::CALLER, yes? 04:38
s1n yeah
pmichaud we don't have a way to do that
s1n but if i can use 'sub',1, then i can fake it though
pmichaud yes, it can be faked.
s1n i'll write a crafty sub to do what i need for now until that's implemented 04:39
pmichaud The reason we don't have CALLER is because Perl 6's CALLER does a lot more than simply locate a sub. In fact, CALLER really denotes a context.
s1n understandable
pmichaud and Parrot's ['sub';1] is really returning the (static) sub itself.
s1n i don't need all of that yet, so i'll kludge it together for now :)
getting it back as a Str lets me at least eval something useful :) 04:40
pmichaud well, if you don't get the name, and just get the sub itself, youc an invoke it 04:41
my $caller = Q:PIR {
$P0 = getinterp
%r = $P0['sub';1]
}
s1n pmichaud: i think i need the name, because i won't be calling the exact current sub 04:42
pmichaud then ~$caller will give you the name, and $caller() will (recursively) invoke the caller.
s1n oh, i can use ~$caller then, that'll work too
less inline, more p6, works for me
04:46 cotto joined
s1n sleep & 04:50
04:51 H1N1[A] left 04:53 kst left 04:54 kst joined 04:57 Sunbeam joined, minazo joined, Sunbeam is now known as H1N1 05:02 frodwith left 05:04 davidad joined 05:12 minazo left 05:23 sparc joined 05:39 cmv left
dalek kudo: 8690273 | pmichaud++ | src/ (2 files):
Move .get from PIR to setting.
05:42
05:43 eMaX_ joined 05:51 DemoFreak joined 05:59 flexibeast left
moritz_ rakudo: say 1 06:20
p6eval rakudo 869027: OUTPUT«1␤»
06:26 ElectricHeavyLan joined 06:32 davidad left
amoc p6eval: help 06:34
p6eval amoc: Usage: <(smop|pugs|nqp|mildew|std|rakudo|elf|highlight): $perl6_program>
06:42 _mg_ joined 06:57 iblechbot joined
pmichaud rakudo: say eof($*IN); 07:05
p6eval rakudo 869027: OUTPUT«0␤»
pmichaud rakudo: say get($*IN);
p6eval rakudo 869027: OUTPUT«Land der Berge, Land am Strome,␤»
pmichaud \o/ 07:06
rakudo: get($*IN); say $*IN.ins;
p6eval rakudo 869027: OUTPUT«1␤»
07:06 eMaX_ left
pmichaud rakudo: get($*IN); get($*IN); say $*IN.ins; 07:06
p6eval rakudo 869027: OUTPUT«2␤»
pmichaud \o/
wayland76 say get($*IN) ~~ s/der/dern/
pmichaud Rakudo doesn't support s/.../.../ 07:07
wayland76 rakudo: say get($*IN) ~~ s/der/dern/
moritz_ rakudo: lines($*IN); say $*IN.ins
p6eval rakudo 869027: OUTPUT«Statement not terminated properly at line 2, near "/"␤in Main (src/gen_setting.pm:0)␤»
rakudo 869027: OUTPUT«␤»
wayland76 Oh. That's right. Sorry :)
pmichaud I think .ins isn't updated properly for lines
moritz_ why's that? (not output from .ins)
pmichaud only for .get
moritz_ iterator exhausted?
hrm
wayland76 moritz_: Were you playing with a CSS grammar?
pmichaud I'm not sure why it's that way in the code.
moritz_ wayland76: no
wayland76 Oh, ok. Anyway, I have one that, while it needs work, does work for the small examples I've given it :) 07:08
moritz_ wayland76: push it to github!
wayland76
.oO( Parrot-based web browser )
In what project? Web? 07:09
moritz_ just create a project on your own
wayland76 Nah, it's not worth the effort -- it's a single file, and not very big. I'll talk to Masak about having it in web somewhere
moritz_ pmichaud: it seems that lines() can be easily implemented in terms of .get, I'm trying that and spectesting... 07:11
(that would give us correct .ins handling for free) 07:12
pmichaud moritz_: can it be lazy, too? ;-) 07:13
moritz_ pmichaud: piece of cake, once gather/take is lazy ;-)
pmichaud \o/
but yes, implementing .lines in terms of .get seems like a Win 07:14
Matt-W Good morning
wayland76 o/ 07:15
Matt-W really likes gather/take
07:16 cmv joined 07:17 synthEEEE left
wayland76 Where was the example of the grammar with the actions as a separate class? 07:19
07:19 revdiablo joined
Matt-W There are several 07:19
I use it in Form.pm
github.com/mattw/form
moritz_ for example my JSON parser on github 07:20
07:20 donaldh left
wayland76 Great! 07:20
moritz_ github.com/moritz/json
Matt-W see lib/Form/Grammar.pm and lib/Form/Actions.pm and t/03-parseactions.t
always good to have multiple examples :)
07:20 donaldh joined
Matt-W must do some form work soon 07:20
wayland76 Are Actions the best way to do error messages, or do I want to do something else?
Matt-W hmm I don't know about error messages
pmichaud depends on the error message, I would think. 07:21
moritz_ wayland76: depends on the kind of error message
wayland76 Where the parsing failed
moritz_ rakudo: '( ]' ~~ /'(' ~ ')' \s+ /
p6eval rakudo 869027: OUTPUT«Unable to parse , couldn't find final ')'␤in regex PGE::Grammar::_block50 (/tmp/dgNjzbVUEr:1)␤called from Main (/tmp/dgNjzbVUEr:2)␤»
moritz_ rakudo: '( ]' ~~ /:dba('parenthesis') '(' ~ ')' \s+ / 07:22
pmichaud actions typically work better at handling where parsing succeeds, not where it fails.
p6eval rakudo 869027: OUTPUT«Unable to parse 'parenthesis', couldn't find final ')'␤in regex PGE::Grammar::_block50 (/tmp/B1vzHc8efQ:1)␤called from Main (/tmp/B1vzHc8efQ:2)␤»
Matt-W I'm not sure how you'd trigger one on failure
moritz_ wayland76: that's an example for a nice error message (IMHO)
wayland76 Ah, I bet I know what I want. I want to look at STD, right?
moritz_ presumably, yes
pmichaud you can write a method in the grammar that does what you want.
wayland76 ok 07:23
pmichaud example coming up
wayland76 ( feel free to work on LTM instead of helping me with this :) I'm grateful for the help, but also impatient about LTM :) ) 07:25
moritz_: Is STD linked somewhere on perl6-projects? 07:26
pmichaud gist.github.com/119159 # example
wayland76 pmichaud: ok, thanks. I'll have a look
pmichaud wayland76: svn.pugscode.org/pugs/src/perl6/STD.pm
moritz_ wayland76: don't think so 07:27
wayland76 pmichaud: Thanks.
moritz_: Should it be there, then?
moritz_ wayland76: aye 07:28
wayland76 Maybe in with the Synopsis and spectest suite?
pmichaud that's where I'd put it.
moritz_ I'll add it under Specification
pugs_svn r26949 | moritz++ | [perl6-projects.org] link to STD.pm, wayland76++ 07:30
07:31 azawawi joined
azawawi hi 07:31
Matt-W Aaah how embarrassing. I broke the overnight build at work :(
Hi azawawi
pmichaud time for sleep here 07:32
moritz_ good night pmichaud
Matt-W pmichaud: do some sleeping for me please!
azawawi pmichaud: good night
moritz_ Matt-W: as long as you don't break any perl 6 related builds, we all still love you 07:33
azawawi moritz_: could u explain to me why rakudo fakexecutable are not 100% executable?
moritz_ azawawi: well, they are executables, but they don't compile the Perl 6 to native code 07:34
azawawi: the just include the parrot bytecode, link to parrot and execute that bytecode then
wayland76 pmichaud: Dream about LTM :)
07:35 ElectricHeavyLan left
azawawi moritz_: but in the end, it is an executable that needs only libparrot.so, right? 07:36
Matt-W moritz_: Thanks :) It's only my job, after all...
moritz_ azawawi: and rakudo 07:38
azawawi moritz_: since i cant test it now; i dont know what files are needed for it to work alone... to copy them into bin/ project folder for instance. 07:39
pugs_svn r26950 | moritz++ | [t/spec] unfudge passing log tests for rakudo 07:40
moritz_ azawawi: neither do I
pugs_svn r26951 | renormalist++ | cperl-mode.el: handle module keyword (highlight+indent)
r26952 | renormalist++ | cperl-mode.el: fix whitespace/indenting
moritz_ rakudo: say log(-10 + 0i) 07:41
p6eval rakudo 869027: OUTPUT«2.30259+3.14159i␤»
moritz_ rakudo: say log10(-10 + 0i) 07:42
p6eval rakudo 869027: OUTPUT«1␤»
moritz_ that should be 1 + pi*i
well, it's in the tests
wayland76 rakudo: grammar ABC { token TOP { abc | <oops: "Failed to find abc!"> }; method oops($msg) { die $msg; } }; ABC.parse('xyz');
p6eval rakudo 869027: OUTPUT«Failed to find abc!␤in method ABC::oops (/tmp/p0VFehc26x:2)␤called from regex ABC::TOP (/tmp/p0VFehc26x:2)␤called from Main »
wayland76 rakudo: grammar ABC { token TOP { abc | <oops: "Failed to find abc!"> }; method oops($msg) { warn $msg; } }; ABC.parse('xyz');
p6eval rakudo 869027: OUTPUT«Failed to find abc!␤Null PMC access in get_attr_str()␤in regex ABC::TOP (/tmp/8YzcKPvUO9:2)␤called from Main (/tmp/8YzcKPvUO9:2)␤»
wayland76 Is that a rakudo bug? 07:43
07:43 eMaX_ joined
moritz_ yes 07:43
wayland76 Does anyone know whether it's a known bug?
moritz_ every visisble Null PMC access is a bug (or an indications for a not-yet-implemented feature) 07:44
i think so
at least a quite similar case is known
afk&
wayland76 ok, thanks
Matt-W null pmc access bad 07:45
wayland76 Matt-W: I guess I know that, but I like to get people to admit it's a bug before I ask what to do about it :) 07:46
07:56 azawawi left
wayland76 rakudo: say $*HIGHEXPECT 07:56
p6eval rakudo 869027: OUTPUT«Use of uninitialized value␤␤»
wayland76 rakudo: say %$*HIGHEXPECT
p6eval rakudo 869027: OUTPUT«Symbol '%$*HIGHEXPECT' not predeclared in <anonymous> (/tmp/6D8a1zjUU1:2)␤in Main (src/gen_setting.pm:3166)␤»
Matt-W wayland76: I do like that extra reassurance that it's not me 07:58
wayland76: But I have been convinced that the idea is that Rakudo will never deliver a null PMC access, but rather fail in a more intelligent manner 07:59
wayland76 It's not just reassurance. It's also making sure that we're all on the same track together :). Then I don't have to argue about whether it's a bug or not :). But I'll try to remember to do things better in the future :) 08:01
Is there another way to get the hash out of $*HIGHEXPECT other than that second example I pasted? 08:02
08:02 bacek left
wayland76 Uh-oh, being called for food. Will backlog. 08:02
08:03 ejs joined
dalek kudo: a16083e | moritz++ | src/setting/IO.pm:
implement IO.lines in terms of IO.get
08:05
Matt-W rakudo: say %*HIGHEXPECT
p6eval rakudo 869027: OUTPUT«␤»
Matt-W rakudo: say %*HIGHEXPECT.perl
p6eval rakudo 869027: OUTPUT«{}␤» 08:06
Matt-W wayland76: is that what you were looking for? I have no idea what *HIGHEXPECT actually is, so...
08:19 ejs left, ejs joined 08:22 DanielC joined 08:25 [particle]1 left 08:26 tulcod joined, [particle]1 joined, edenc left, [particle]2 joined 08:29 edenc joined, masak joined
masak can I write '.take', or do I have to write 'take $_' in Perl 6? 08:39
DanielC What does take do? 08:40
Matt-W it gives an item to a list being built up by the surrounding gather 08:41
rakudo: my @list = gather for 1..2 { take $_ * 2; }; @list.perl.say; 08:42
p6eval rakudo a16083: OUTPUT«[2, 4]␤»
Matt-W rakudo: my @list = gather for 1..2 { .take }; @list.perl.say;
p6eval rakudo a16083: OUTPUT«Method 'take' not found for invocant of class 'Int'␤»
Matt-W masak: no you can't
08:42 [particle] left
masak ok. 08:42
Matt-W it makes sense to me that it's not a method 08:43
in a way, it's a control statement
DanielC What can take do that is not more easily done with a map?
masak DanielC: they are quite similar, in fact. 08:44
Matt-W yeah but gather/take works better for some things
masak DanielC: but gather/take gives you better control flow control. :) 08:45
Matt-W I think it works better if you're doing more complex logic
DanielC ok...
Matt-W especially if you want to take multiple elements per iteration
masak DanielC: basically (as soon as laziness works) 'take' pauses the execution within the gather and continues the one outside.
Matt-W laziness++
masak DanielC: it's like coroutines, but a bit assymmetric. 08:46
DanielC Are you saying that map is not lazy?
masak no, not saying that.
DanielC phew
masak but map iterates on elements of a list.
gather doesn't necessarily do that.
moritz_ also note that gather/take is dynamically scoped
so you can do things like 08:47
masak oh, right.
forgot about that one.
moritz_ sub foo { ... computation here; take $result }; gather { ... foo() }
DanielC I see.
Matt-W isn't there a pretty large gather block in November's parsing code?
DanielC @list = gather for 1..100 { foo() } => is this correct? 08:48
lambdabot No module "= gather for 1..100 { foo() } => is this correct?" loaded
masak there is, in the MediaWiki parser.
DanielC: yes.
DanielC ok
masak DanielC: see S04.
DanielC So then gather and take go together... 08:49
thanks
masak yes, unless given/when they're a bit more dualistic in nature.
DanielC thinks "too many synopsis to read..."
masak DanielC: better start now! :)
DanielC :-)
I can't figure out that < and > mean in regexes. Why do I need to write <[A-Z]> ? 08:54
moritz_ because <[...]> is the new syntax for character classes
[...] is a non-capturing group these days
(used to be (?:...) in Perl 5) 08:55
DanielC Ok.
So if I just mentally replace [ ... ] with <[ ... ]> will I be fine
?
moritz_ not quite
DanielC :-P
moritz_ [^...] now is <-[...]>
and a-z is now a..z
DanielC hm 08:56
ok
$str .= subst(/<-[ \+ \- \< \> \, \. \[ \] ]>/, '', :g); => This should remove anything that is not +-<>,.[] from $str, right?
masak DanielC: there's a lot of useful info about this in S05, in case you wonder. :) 08:57
moritz_ DanielC: whitespaces are significant in character classes
DanielC masak: I'm reading through it. It takes time.
moritz_ / <-[+-<>,.\[\]]> / probably 08:58
DanielC masak: If I try to read everything without experimenting I'll get bored and discouraged and go do something else. I have the attention span of a butterfly.
moritz_ you don't need to escape all those meta characters in char classes, except \ and ] (and maybe [, not sure)
08:58 fridim_ joined
DanielC moritz_: So you don't need to escape non alphanumeric symbols inside a character class? 08:59
masak DanielC: indeed. just making sure you knew about the resource. feel free to ask anything.
DanielC thanks
masak: thanks 09:00
Matt-W yeah we don't expect you to memorise the synopses
We haven't
masak Matt-W: you haven't? :) there's a test on Monday!
moritz_ DanielC: right
ah well, I know the most important once by now 09:01
masak Matt-W: and not multiple choice either...
moritz_ 2, 3, 4, 5, 6, 9, 12 at least
also 7, 16, 29, 32
masak is a bit uncertain about 9 and 12
moritz_ and I always mix 10 and 11 09:02
masak: you wanted to write a grant proposal for 9 ;-)
masak: and 12 is OO
masak moritz_: well, parts of 9. 09:05
moritz_: I know that 12 is OO, just saying I don't know it all by heart yet.
wayland76 masak: Did you see my question on #novemberwiki?
Or even #november-wiki?
masak moritz_: frex, I was genuinely surprised when it turned out that I'm not allowed to do 'handles' on a %! attribute. 09:06
wayland76: no, I haven't backlogged yet. I'll do that now.
moritz_ masak: I don't know them by heart, but the mapping synopsis number <=> content, and the 5 or 10 most important facts they say
masak wayland76: ah. @tell works. zarah is a bit restrictive with parsing commands. 09:07
wayland76 Matt-W: $*HIGHEXPECT is simply a global variable with no special meaning
masak wayland76: CSS grammar sounds intriguing. do you have a use case for it?
wayland76 I'm copying and pasting bits out of STD 09:08
masak moritz_: oh, then me too. all but the newest ones.
wayland76 masak: Well, I have a dream. An office suite including HTML engine built entirely in Parrot-based languages
(Well, except the windowing parts) 09:09
masak cotto: 'perl6 exposure on hacker news'? URL?
wayland76 Office Suite + Internet Suite + Emacs-alike, all on Parrot, and all scriptable in Perl 6 :)
masak wayland76: I'm just trying to motivate to myself why Web.pm needs a CSS parser.
in some ways, it's supposed to be minimal.
it's not even clear right now that it will contain the modules it endorses. 09:10
wayland76 masak: It doesn't need one. But moritz_ wants me to put it somewhere
moritz_ masak: news.ycombinator.com/item?id=626921
masak wayland76: tell you what. put it in your own project for now, and we'll talk about bindings with Web.pm
wayland76 And I thought a separate project for a little grammar was probably overkill :)
masak moritz_: thank you. :)
wayland76: it isn't. probably good in this case. 09:11
cotto masak, news.ycombinator.com/item?id=626921
wayland76 Wait, I think I know where to host it :)
cotto It was on the front page at least briefly
moritz_ wayland76: if you don't want a separate project, either put it into perl6-examples or into the pugs repo 09:12
pasteling "wayland76" at 118.208.185.213 pasted "CSS Grammar" (57 lines, 2.7K) at sial.org/pbot/36877
wayland76 There we go :)
cotto looks like chromatic found it 09:13
wayland76 just s/panic/die/ on that, and it should work. But it doesn't do media or page yet, or various other things (the other things are commented out, though)
moritz_ wayland76: I'll add it perl6-examples 09:16
masak wayland76: I'd also recommend perl6-projects or the pugs repo, except that this makes it harder to interoperate between projects.
there's something to be said for a self-contained repository with only that project.
moritz_ I've added it p6e for now - whoever feels differently is free to rip it out again ;-) 09:17
DanielC rakudo: '$' . subst(/\$/, 'Foo', :g);
p6eval rakudo a16083: OUTPUT«Statement not terminated properly at line 2, near ". subst(/\\"␤in Main (src/gen_setting.pm:0)␤»
DanielC rakudo: '$'.subst(/\$/, 'Foo', :g);
p6eval rakudo a16083: ( no output )
masak moritz_++ # JFDI
moritz_ rakudo: say '$'.subst(/\$/, 'Foo', :g); 09:18
p6eval rakudo a16083: ( no output )
moritz_ rakudo: say "sanity++"
p6eval rakudo a16083: ( no output )
moritz_ ouch.
I CAN HAZ SANITY BUT p6eval EATED IT 09:19
masak o_O 09:20
Matt-W wayland76: oh, I assumed it was some specced variable.
DanielC What does this mean: perl6regex parse error: Alphanumeric metacharacters are reserved at offset 295, found '$' 09:21
Matt-W wayland76: I'm not really sure what you mean about getting a hash out of it
DanielC I'm having trouble recreating the error with a simple one-liner.
wayland76 ...and what does the regex look like?
DanielC $program .= subst(/\$/, 'Foo', :g); 09:22
Matt-W oh
you want /'$'/
masak Matt-W: does it matter?
DanielC Ok... I thought you could escape all meta characters.
Matt-W masak: does what matter?
masak Matt-W: \$ or '$'.
Matt-W DanielC: that's a guess, mind... 09:23
wayland76 Well, I'm assuming that %$*HIGHEXPECT takes the $*HIGHEXPECT variable that contains a hash, and acts on it as a hash
masak Matt-W: they should be the same.
Matt-W wayland76: that's a perl 5-ism I think
DanielC Matt-W, masak: Makes no difference.
Matt-W masak: hmm
interesting
bug?
DanielC I'm having a hard time recreating it with a simple one-liner.
masak what's the bug?
wayland76 Matt-W: It may be, but STD.pm contains this: my @keys = sort keys %$*HIGHEXPECT;
Matt-W wayland76: I wouldn't have said the % was necessary if $*HIGHEXPECT is a hash. 09:24
pasteling "DanielC" at 78.48.117.152 pasted "Regex error." (26 lines, 811B) at sial.org/pbot/36878 09:25
masak makes things clearer, at least.
wayland76 What about: if $highvalid and %$*HIGHEXPECT {
DanielC masak, Matt-W: sial.org/pbot/36878
masak looks 09:26
wayland76 DanielC: It pastes the link for you :)
moritz_ $*HIGHEXPECT and %*HIGHEXPECT are really two different variables
DanielC wayland76: yeah... just noticed... tee hee
masak rakudo: my $a = '$$'; $a .= subst(/\$/, 'Foo', :g); say $a 09:27
p6eval rakudo a16083: OUTPUT«FooFoo␤»
masak DanielC: worksforme.
Matt-W *looks* right
(not got a rakudo system at work) 09:28
DanielC masak: If you save those locally and you run perl6 brainfuck.p6.pl < hello.bf does it still work?
masak: Like I said, I'm having a hard time making a simple script that fails.
masak tries
wayland76 DanielC: What's character #295, and the bits before and after it?
DanielC Oh crap. 09:29
Sorry to bug you guys. My bad.
DanielC forgot to comment out the Perl 5 code at the end of the file.
jnthn morning
wayland76 good localtime() 09:30
It's evening here
DanielC I un-commented the perl 5 code to get syntax highlighting and I forgot to comment it back.
wayland76 (ping bacek)
DanielC waves at jnthn
masak DanielC: all works as I expect it here.
DanielC masak: Yeah. I goofed.
masak jnthn: dobru rano. 09:31
(did I get that right?)
wayland76 jnthn: dobro guitarro :)
Do Rakudo regexes not support .pos() yet? 09:34
moritz_ don't think so 09:36
(but note that there is no pos() function anymore, that's $/.to these days) 09:37
wayland76 ok, thanks. STD uses it, and I'm nicking bits
Someone should tell S05 then :)
moritz_ well, if there's a method named pos in the grammar, no need to tell S05 09:38
DanielC rakudo: my $a = "DanielC++"; say $a.subst(/(\++)/, "[$0]",:g);
p6eval rakudo a16083: OUTPUT«Use of uninitialized value␤DanielC[]␤»
DanielC :-P
(1) Why does it complain about an initialized value, and (2) Why is the + sign not printing? It looks almost as if $0 is ... uninitialized... 09:39
09:39 jimi_hendrix left
DanielC s/an initialized/an uninitialized/ 09:39
moritz_ DanielC: that's because "[$0]" is evaluated earlier than you'd wish 09:40
wayland76 And actually, while I didn't make it clear, I was meaning to ask about Grammar.pos() instead of Regex.pos()
09:40 broquaint joined
DanielC moritz_: How do I make it evaluate later? 09:40
moritz_ ie before passing the string to the sub, which is before the regex is even executed
DanielC: pass a closure instead, { "[$0]" }
DanielC rakudo: my $a = "DanielC++"; say $a.subst(/(\++)/, { "[$0]" },:g); 09:41
p6eval rakudo a16083: OUTPUT«DanielC[++]␤»
DanielC ah, very nice
thanks.
wayland76 Is a closure basically just a code ref with extra features? 09:42
jnthn masak: dobre rano ;-)
09:42 dakkar joined
moritz_ wayland76: every code ref is a closure in Perl 6, at least notionally 09:43
09:43 alexn_org joined
wayland76 moritz_: ok. Anyway, I think I'm getting the picture now :) 09:44
09:44 cognominal joined
DanielC say: my $a = "["; say $a.subst(/\[/, "Foo {", :g); 09:51
rakudo: my $a = "["; say $a.subst(/\[/, "Foo {", :g);
p6eval rakudo a16083: OUTPUT«Unable to parse block; couldn't find final '}' at line 2, near "\", :g);"␤in Main (src/gen_setting.pm:0)␤»
DanielC ??? 09:52
The opening { is inside quotes. Why is Rakudo trying to parse it?
wayland76 {} embeds code in strings
rakudo: my $a = "["; say $a.subst(/\[/, "Foo \{", :g); 09:53
DanielC :P
p6eval rakudo a16083: OUTPUT«Foo {␤»
cotto std: my $a = "["; say $a.subst(/\[/, "Foo {", :g)
DanielC ok
wayland76 rakudo: my $a = "["; say $a.subst(/\[/, 'Foo {', :g);
p6eval std 26952: OUTPUT«##### PARSE FAILED #####␤Unable to parse blockoid; couldn't find final '}' at /tmp/bPR3SAs5cL line 1:␤------> a = "["; say $a.subst(/\[/, "Foo {", :g)␤ expecting escape␤FAILED 00:04 41m␤»
rakudo a16083: OUTPUT«Foo {␤»
wayland76 DanielC: Either use single quotes or backslash-escape your characters
DanielC So you can use { } to insert executable code inside a string?
wayland76 Yup 09:54
DanielC rakudo: say "{2+2}"
p6eval rakudo a16083: ( no output )
wayland76 rakudo: say "This is { 1 + 5 }\n"
p6eval rakudo a16083: ( no output )
DanielC ?
wayland76 Maybe NYI
No, evalbot problem 09:55
Works on my computer
This is 6
(and another \n -- stupid me :)
09:55 xinming joined
wayland76 rakudo: say "This is { 1 + 5 }" 09:55
p6eval rakudo a16083: ( no output )
wayland76 Whoever does the evalbot, I'd find it useful if it put my username in the response 09:56
moritz_ wayland76: patches welcome 09:58
wayland76 where's the source? pugs repo? 09:59
moritz_ wayland76: it's in the pugs repo, in misc/evalbot/ 10:00
wayland76 ok, thanks :)
10:01 eMaX_ left
wayland76 DanielC: Did you note in the Fibonacci thing that Damian sent us that he used ... instead of .. ? 10:02
DanielC wayland76: I didn't actually. 10:03
wayland76 Search for Fibonacci in S03, and you'll find the ... operator
Otherwise it's difficult to find because of all the times that ... is used for other things
DanielC ok 10:04
DanielC waits for stupid Firefox to un-freeze
Ok, found it.
wayland76 One thing that makes me want to write a Parrot web browser is the fact that Firefox/Gecko is reputedly going to be nearly impossible to multi-thread 10:05
I use Seamonkey, and it has the same problem. 10:06
DanielC rakudo: say 0,2,4 ... { $_ + 2 }
p6eval rakudo a16083: OUTPUT«Statement not terminated properly at line 2, near "... { $_ +"␤in Main (src/gen_setting.pm:0)␤» 10:07
moritz_ rakudo doesn't do infix:<...> yet
because it requires lazy lists
DanielC :(
wayland76 If there were the same plugins for the webkit-based browsers, I'd be considering them pretty seriously
Ah, phooey :)
DanielC Ok, so the above is supposed to make an infinite list of even numbers?
moritz_ yes 10:08
cotto could take a while to print, though
DanielC How does the infix operator know how many parameters to give to the code block on the right?
moritz_ rakudo: my $x = -> $a, $b { $a + $b }; say $x.arity 10:09
p6eval rakudo a16083: OUTPUT«2␤»
moritz_ rakudo: my $x = -> $a, $b, $c? { $a + $b + $c }; say $x.arity
p6eval rakudo a16083: OUTPUT«2␤»
moritz_ rakudo: my $x = -> $a, $b, $c? { $a + $b + $c }; say $x.count
p6eval rakudo a16083: OUTPUT«3␤»
wayland76 rakudo: say my $x = { $_ + 2 }; say $x.arity; 10:10
p6eval rakudo a16083: OUTPUT«_block50␤0␤»
10:12 frew|work joined
moritz_ rakudo: sub a { my @b = 3, 4; return |@b }; my @x = 3; @x.push: a(); say @x.perl 10:13
p6eval rakudo a16083: OUTPUT«too many arguments passed (2) - at most 1 params expected␤in sub a (/tmp/CiOhV7i18X:2)␤called from Main (/tmp/CiOhV7i18X:2)␤»
moritz_ rakudo: sub a { my @b = 3, 4; return @b }; my @x = 3; @x.push: a(); say @x.perl
p6eval rakudo a16083: OUTPUT«[3, 3, 4]␤»
moritz_ rakudo: my @a = 1..7; say @a[*-3..*-1].perl 10:14
p6eval rakudo a16083: OUTPUT«[5, 6, 7]␤»
10:18 eMaX_ joined, patspam joined
moritz_ I just tried to implement infix:<...> in Perl 6 10:19
it turns out to be non-trivial for two reasons
the first is that it needs a precedence lower than infix:<,>, which can't be declared right now
the second is that it needs a lazy list, but refer to its current tail - something which can't be done easily with gather/take 10:20
so I'd had to write an eager-only version for now
DanielC rakudo: @P = (); @P[0] = 10; while(@P[0]) { @P[0] = 0 } 10:26
p6eval rakudo a16083: OUTPUT«Statement not terminated properly at line 2, near "{ @P[0] = "␤in Main (src/gen_setting.pm:0)␤»
DanielC ???
lu_zero DanielC @P[0] = 0 maybe? 10:27
DanielC lu_zero: What do you mean?
wayland76 moritz_: Is referring to its own tail something we'd like to see in gather/take? 10:29
Or even referring to its own @elements[] ?
DanielC Does anyone know why the above code doesn't work? 10:31
wayland76 rakudo: my @P = (); @P[0] = 10; while(@P[0]) { @P[0] = 0 } 10:35
p6eval rakudo a16083: OUTPUT«Statement not terminated properly at line 2, near "{ @P[0] = "␤in Main (src/gen_setting.pm:0)␤»
wayland76 rakudo: my @P = (); @P[0] = 10;
p6eval rakudo a16083: ( no output )
wayland76 rakudo: my @P = (); @P[0] = 10; while(@P[0]) { @P[0] = 0; }
p6eval rakudo a16083: OUTPUT«Statement not terminated properly at line 2, near "{ @P[0] = "␤in Main (src/gen_setting.pm:0)␤»
wayland76 rakudo: my @P = (); @P[0] = 10; while(@P[0]) { my $t = 1; } 10:36
p6eval rakudo a16083: ( no output )
DanielC rakudo: my @P = (); @P[0] = 10; while(@P[0]) { say "hi" }
p6eval rakudo a16083: ( no output )
10:36 tulcod left
wayland76 my $t = 10; while($t) { say "hi" } 10:37
rakudo: my $t = 10; while($t) { say "hi" }
p6eval rakudo a16083: ( no output )
wayland76 Ah, I think I know why no output...
rakudo: my $t = 10; while(1..$t) { say "hi" } 10:38
p6eval rakudo a16083: ( no output )
wayland76 rakudo: my @P = (); @P[0] = 10; while (@P[0]) { @P[0] = 0; }
p6eval rakudo a16083: ( no output )
DanielC rakudo: my $t = 10; while($t) { $t = 0 }
p6eval rakudo a16083: OUTPUT«Statement not terminated properly at line 2, near "{ $t = 0 }"␤in Main (src/gen_setting.pm:0)␤» 10:39
wayland76 DanielC: I've solved the error you were getting
You need a space after while/if/foreach
DanielC rakudo: my $t = 10; while ($t) { $t = 0 }
p6eval rakudo a16083: ( no output )
DanielC ah
thanks
wayland76 No output is probably because of the infinite loop
DanielC Perl6 is a bit picky.
wayland76 sub while { say "hi"; }; while(1) { say "boo"; } 10:40
rakudo: sub while { say "hi"; }; while(1) { say "boo"; }
p6eval rakudo a16083: OUTPUT«Statement not terminated properly at line 2, near "{ say \"boo"␤in Main (src/gen_setting.pm:0)␤»
wayland76 rakudo: sub while { say "hi"; }; while(1)
p6eval rakudo a16083: OUTPUT«hi␤»
wayland76 That's why :)
DanielC ? 10:42
Why?
wayland76 So it can tell the difference between subs and keywords more easily. There was some good reason for it, but I've forgotten what it was. 10:43
DanielC I think it's dumb to even allow people to make a function called while(). 10:44
wayland76 Btw, has anyone seen eternaleye's CPAN message? I haven't yet, and it's been *days*. Do NNTP messages go onto the list?
DanielC: I agree, but it's good for obfus :) 10:45
Well, no, maybe we should allow it, but it'd be dumb to do it
DanielC \o/ I just made Brainfuck interpreter in Perl 6! 10:46
en.wikipedia.org/wiki/Brainfuck
wayland76 Congrats :) 10:47
INTERCAL next?
jnthn DanielC: For your next project, might I suggest a Perl 6 interpreter in Brainfuck? ;-)
DanielC heh
DanielC looks up INTERCAL
10:48 pmurias joined
wayland76 jnthn: I suspect there's a hell set aside for programmers -- implement Perl 6 in OISC :) 10:49
DanielC I wonder if a Brainfuck compiler belongs in perl6-examples ...
s/compiler/interpreter/
patspam random question.. are the irc evalbots protected from intentional/accidental malicious code? 10:52
DanielC patspam: I don't think so. I once gave rakudo an infinite loop and it ran it.
patspam: I guess we could run rakkudo: `rm -rf *` 10:53
jnthn DanielC: It has a timeout to handle the first.
DanielC: If you want to write a program to detect programs taht would infinite loop though, that'd be an interesting project. ;-)
DanielC jnthn: The timeout doesn't work if the program is IO-bound like while (1) { say "hi" } 10:54
10:54 payload left, payload1 joined
DanielC jnthn: heh 10:54
patspam I was hoping there was some neat resource management layer being used to do it 10:55
sort of like Safe.pm on steroids
jnthn patspam: Not yet, but I think Parrot plans to provide some stuff along those lines, which we'll be able to build upon. 10:56
patspam that would be really awesome
btw hey jnthn! I met you last year at YAPC::EU (i was the other other australian guy)
10:59 LadyLuna1y joined
jnthn patspam: The one who was a part of the, uh, Fosters incident, right? :-) 10:59
patspam heh indeed
jnthn lol
:-)
You making it this year?
patspam sadly not, really bummed, work deadline is blocking it 11:00
but I'm moving to the US later in the year so I'll be able to compensate by going to lots of conferences after that! 11:01
jnthn Ah, that'll be a bit of a change.
Moving for new job?
patspam my partner is starting a phd in new york, pending visas my work will hopefully follow me 11:02
jnthn Ah, cool. 11:03
patspam so would that parrot feature let me maybe one day do safe eval'ing of perl6 code? 11:05
11:05 agentzh1 left
jnthn patspam: I think that's the goal. 11:05
11:09 agentzh joined
patspam I've been building a branching expression layer for a web-based Survey tool that lets trusted users eval perl code, it's so damn flexible but obviously a bit seat-of-your-pants 11:09
so I'd kill for that feature!
jnthn Just be careful, not to kill any of the people who know how to implement it. ;-)
11:11 LadyLunacy left, jimi_hendrix joined 11:12 payload1 left 11:16 gkurts joined 11:20 donaldh left, donaldh joined 11:33 pmurias left 11:41 ZuLuuuuuu joined 11:43 ejs left 11:48 sri_kraih joined
ZuLuuuuuu are there a gui editor with perl 6 syntax higlighting except padre? 12:01
12:04 payload joined 12:06 mizioumt joined 12:13 gkurts left 12:15 kst` joined 12:22 iblechbot left 12:27 kst left 12:28 FurnaceBoy joined
Matt-W ZuLuuuuuu: there's a perl6 mode for vim. It's not perfect, but it works. 12:30
DanielC In Perl 6, will I be able to change the scoping rules so that variables are local by default?
12:30 abra joined
ZuLuuuuuu hmmm seems like I'm gonna learn vim this summer 12:31
wayland76 DanielC: I think they already are
12:32 mara_aram joined
DanielC wayland76: You mean you can already do that in Perl 5.10? 12:32
wayland76 DanielC: No. I think Perl 6 already has scoping local by default
12:32 sri_kraih_ joined
wayland76 But strict vars are turned on by default 12:33
I don't know if they can be turned off
DanielC wayland76: I thought that Perl 6 would still use global scoping by default, but would give you the ability to change that.
12:33 sri_kraih left
wayland76 rakudo: no strict 'vars'; $a = 1; say $a; 12:34
p6eval rakudo a16083: OUTPUT«Symbol '$a' not predeclared in <anonymous> (/tmp/WMAwkyXGK0:2)␤in Main (src/gen_setting.pm:3166)␤»
12:34 szabgab joined
wayland76 DanielC: This is only relevant, though, if you don't have "use strict vars" on. 12:35
DanielC wayland76: True.
wayland76 And I'm not sure that the usage of "no strict" is well defined, but I'd be pretty sure that it would default to local
I could be wrong, though :)
DanielC "'use strict' is like fixing a hole in the floor by barring access to the room" 12:36
(I forget who said that) 12:37
moritz_ all pragmas in Perl 6 are lexically scoped
and remember that 'use strict' in Perl 5 does more than just disallow variables that aren't declared
DanielC What else does it do?
moritz_ but the other things it disallows are done quite differently in Perl 6 anway 12:38
DanielC: perldoc strict # explains it
DanielC Ok. (e.g. complains about bare word identifiers that are not subroutines) 12:39
Matt-W DanielC: one of the other things it doesn't allow is soft references
But turning strict off... why would you want to do that? 12:40
12:40 eMaX_ left
DanielC Matt-W: So I can win the obfuscated Perl contest? :) 12:40
Matt-W Let's not break the language just for that
DanielC I don't know why you'd want to turn it off. 12:41
moritz_ well, the spec says that "no strict" is the default for -e one-ilners
it's just NYI in rakudo
12:41 skids joined
DanielC I would still like to know if variables are global by default in perl 6. 12:41
12:41 eMaX joined
Matt-W well 12:41
DanielC Even if it's only for academic knowledge. 12:42
Matt-W it depends what you mean by 'default'
DanielC perl foo.pl
Matt-W if you mean the kind that are implicitly generated under no strict... I don't know
but I guess they'd be lexical
DanielC Define lexical please?
Matt-W lexical is what my does
DanielC I've never fully understood the difference between my and local, but I always use my. 12:43
Matt-W local doesn't declare variables
my does
pmichaud good morning, #perl6
DanielC o/
Matt-W I don't believe local exists in Perl 6 12:44
but I may be wrong
moritz_ it's called temp
Matt-W ah
yes now I remember
it's got a much better name
DanielC Ok, what does it mean to declare a variable in Perl then? I'm still unclear about what my actually does vs local.
wayland76 Matt-W: I agree that I want no strict for one-liners. Even one-screeners. But I turn it on after that :) 12:45
moritz_ local (or temp in Perl 6) just sets the variable to a different value
and on scope exit restores the previous value
Matt-W moritz_: but only within the scope of the local declaration
my creates an entire new variable
moritz_ Matt-W: that's what I meant with "restore"
pmichaud declaring a variable in Perl 6 tells the compiler (1) that the variable is valid (to catch possible typos), and (2) the scope of the variable
Matt-W moritz_: I typed thatas you typoed restore :) 12:46
moritz_ Matt-W: happens ;-)
Matt-W pmichaud: and, possibly, what type it's going to hold?
DanielC moritz_: our $glob = "Daniel"; { local $glob = "Joe"; foo() } --> when foo() runs it will see a global variable $glob with the value "Joe" in it?
pmichaud Matt-W: and constraints, yes.
12:47 skids left
moritz_ DanielC: yes 12:47
wayland76 DanielC: There's only one time I use local
Matt-W for not clobbering $_!!
(that's what I use it for) 12:48
moritz_ DanielC: that's called "dynamic scoping" in Perl land
wayland76 If I'm in a sub, and I want to change $_, but still have it preserved outside the sub
moritz_ Matt-W: in perl 5.10.0 you can also say 'my $_', btw
wayland76 oh, cool :)
DanielC moritz_: And if you had used 'my' the function foo() would still see $glob with the value "Daniel". Yes?
wayland76 Still, I've got 5.8 on my server here, which will be replaced in the next 2-3 months 12:49
12:49 jlaire joined 12:50 abra left
moritz_ DanielC: yes 12:51
DanielC thanks 12:52
12:54 brunov joined
Matt-W moritz_: didn't know that, but then I don't get to use 5.10 very much. Most of the servers at work run 5.6 or 5.8 w/out threading 12:59
13:00 cmarcelo joined, szabgab left 13:01 Util joined 13:02 szabgab joined
pmichaud rakudo: say q(oops); 13:05
p6eval rakudo a16083: OUTPUT«oops»
pmichaud std: say q(oops);
p6eval std 26952: OUTPUT«Undeclared routines:␤ oops used at 1 ␤ q used at 1 ␤ok 00:02 35m␤»
Util rakudo: $_ = "abcabcabc"; my @z = $_.match( /abc/, :global ); .say for @z; 13:06
p6eval rakudo a16083: OUTPUT«abc␤»
DanielC rakudo: "Hello".\#{ your add here }say
p6eval rakudo a16083: OUTPUT«Hello␤»
DanielC he he he
Util I get "abc\nabc\nabc\n" when I run:
perl -wle '$_ = "abcabcabc"; my @z = /abc/g; print for @z;'
When I try to convert to Perl 6, I think it should be coded as: 13:07
perl6 -e '$_ = "abcabcabc"; my @z = $_.match( /abc/, :global ); .say for @z;'
, but it only prints "abc\n".
pmichaud :global isn't implemented on .match yet
Util Is this a bug, or is `:global match in array context to get all matches` not implemented yet, or did I translate incorrectly?
13:07 eMaX left
Util Whew! Thanks! 13:07
Would it be hard to implement a "halt - not implemented" instead of silent fail? 13:08
DanielC pmichaud: In perl6-examples, what is the wsg directory for?
pmichaud DanielC: I don't know.
DanielC ok
pmichaud DanielC: perl6-examples is a fairly open repository -- anyone can create a directory :-) 13:09
13:09 FurnaceBoy left
pmichaud Util: not too hard to implement, no. 13:09
DanielC pmichaud: Does that mean that nobody minds if I upload a Brainfuck interpreter written in Perl 6? :-)
pmichaud DanielC: correct, nobody minds.
DanielC :)
pmichaud well, I should rephrase. Some people may mind, but if they do, they're at liberty to correct the situation. 13:10
("forgiveness rather than permission")
PerlJam buenos dias 13:11
DanielC PerlJam: buenas
13:11 FurnaceBoy joined
wayland76 Hail PerlJam! 13:11
13:12 jferrero joined
PerlJam wayland76: that's an interesting greeting. I'm not sure if it's a warning, undeserved adoration or just a funny way of saying "hello" ;-) 13:12
PerlJam exercises the axiom of choice anyway 13:13
pmichaud tosses little balls of ice at PerlJam.
wayland76 Wæs hæl PerlJam! 13:14
Unless I have too many Æs
Basically, the æ one is Old English for "Be Well, PerlJam" 13:15
ZuLuuuuuu is ".tags_parse: $old_tags" same as ".tags_parse($old_tags)" ?
wayland76 PerlJam: Btw, do you remember Gandalf's response to "Good Morning", at the start of the Hobbit?
pmichaud ZuLuuuuuu: Yes, that looks right to me.
ZuLuuuuuu pmichaud: thanks 13:16
PerlJam wayland76: vaguely.
wayland76 PerlJam: Your response to my greeting reminded me of it :)
PerlJam wayland76: yeah, I have some wizard blood in me ;) 13:17
wayland76 I doubt it -- they're Maiar 13:18
Although Melian was an ancestor of Elrond & Aragorn, so I suppose if you wanted to claim descent from Elros... :)
PerlJam Sure, that works too. My great-grandfather lived to be 94 and he was hale almost until his dying day. So, there's some longevity in me that just must be elvish. 13:21
(or similiar)
wayland76 I'm just trying to remember if I'm distantly related to Waldo McBurney (Google him) 13:22
If not, I'm related to someone who is :)
DanielC @karma DanielC 13:24
lambdabot You have a karma of 4
DanielC @karma DanielC 13:25
lambdabot You have a karma of 4
13:26 exodist joined 13:27 _mg_ left
DanielC waylan76: I have some ideas for the "new CPAN" that you were talking about earlier. Should I mail the per6-language list or email you directly? 13:30
PerlJam DanielC: I'm interested in people's ideas for a new CPAN, so if you don't send it to p6l, could you copy [email@hidden.address] thanks. 13:31
DanielC k
13:32 patspam left
PerlJam Though, while ideas are great, what the new cpan needs is an implementation :) 13:32
DanielC :)
DanielC starts writing an email for perl6-language 13:35
13:36 cmv left
ZuLuuuuuu I am compiling Rakudo but I get "Reading configuration information from parrot/parrot_config ...; Died at Configure.pl line 104." after doing "perl Configure.pl --gen-parrot. What might be the problem? 13:38
pmichaud ZuLuuuuuu: are you on Mac OS X? 13:39
ZuLuuuuuu no 13:40
Ubuntu
pmichaud ZuLuuuuuu: hmm.
what version?
ZuLuuuuuu just downloaded from git
pmichaud sorry, what version of ubuntu?
ZuLuuuuuu oh 9.04
pmichaud 64-bit or 32-bit ? 13:41
ZuLuuuuuu 32 bit
pmichaud what happens if you run "parrot/parrot_config --dump" from the command line?
i.e., do you get a bus error or segmentation fault?
ZuLuuuuuu segmentation fault
cc_exe_out => '-o 'Segmentation fault
pmichaud okay, it's a parrot bug. I'll rattle the parrot cages 13:42
ZuLuuuuuu pmichaud: thanks
pmichaud it would help if you could separately download the latest svn of parrot and build (don't install) on your system
and then see if parrot_config still gives the same segfault
it may that parrot has already fixed the problem, and rakudo needs to bump PARROT_REVISION 13:43
13:43 iblechbot joined
ZuLuuuuuu I build parrot a few days ago with success 13:43
hmm 4-5 days ago I guess
pmichaud yes, there have been some updates since then
ZuLuuuuuu would you want me to try it with latest?
ok
I'll try again
pmichaud thanks. 13:44
13:49 jferrero left 13:51 tulcod joined 13:53 nihiliad joined
Util pmichaud: consider me rattled regarding ZuLuuuuuu's segfault. It is the same `parrot_config --dump` bug that I reported in #parrot last Tuesday. 13:54
I am (finally) writing up the ticket for it.
While researching it, I traced the problem to the use of a "fake" STRING in Parrot_io_write() in src/io/api.c.
My GC-fu was not strong enough to fix the issue, but I wrote a work-around patch that I will attach to the ticket.
The patch optimizes the common case of the single newline that `say` emits, and so reduces the use of "fake" to the point that `parrot_config --dump` succeeds.
I do not know whether recent Parrot revs fixed the issue, (since I have the afore-mentioned patch in place), but I suspect it is not yet fixed.
pmichaud Util: yes, I've noticed that segfault on several platforms lately. 14:06
I have to leave now, but will check the ticket when I get back.
14:08 eMaX joined
dalek kudo: a85758b | pmichaud++ | src/parser/grammar.pg:
Add a "s/// not implemented" error. Fix q(), s(), etc to be function calls.
14:09
ZuLuuuuuu pmichaud: I just tried the latest revision of parrot, it compiled successfully 14:12
for this code: "self.get_changes( page => $page, :limit(8) )" what does ":limit()" do? why didn't we used "limit => 8" instead? 14:15
Util ZuLuuuuuu: When you run `svnversion` in the parrot directory, what do you get? Also, does `parrot_config --dump` segfault with the new Parrot?
ZuLuuuuuu Util: no it does not segfault 14:16
svn version: 39219 14:17
Util ZuLuuuuuu: Thanks 14:18
DanielC PerlJam / wayland76: I just wrote to the list about the new CPAN. 14:19
14:20 frodwith joined 14:23 [particle]1 left 14:24 [particle] joined, justatheory joined 14:25 Fuad joined
Fuad hello all 14:26
Util Hi, Fuad 14:28
Matt-W hi Fuad 14:29
Fuad who is good here with software ?
wayland76 Well, all of us are good with one kind of software or another 14:30
literal Fuad: what's your real question?
wayland76 Did you have a particular piece in mind?
Fuad everytime I run it... something pop up said "U re running on a proxy or firewall" 14:31
how can I setup my proxy ?
literal ...
Fuad: what does that have to do with Perl 6?
DanielC Fuad: What proxy are you using? I'm sure they have a support list.
wayland76 Fuad: Every time you run what program? 14:32
Fuad im using a charting software
DanielC Fuad: This channel is for Perl 6, but if you tell us what program you are using I'll help you find the right place to ask your question.
Fuad DanielC i know man
wayland76 Well, I'm afraid you'll have to ask someone who knows about charting software. None of us know anything about it. I second what DanielC said :) 14:33
Are you going to tell us the name of the piece of software? 14:34
Patterner "That would be telling." Nr.2
DanielC Fuad is talking to me via private msg. I don't think he knows the name of the software. :( 14:35
Fuad [19:31] <DanielC> Fuad: What proxy are you using? I'm sure they have a support list. How to check ?
i dunno it at all
im newbie 14:36
DanielC I understand. I wish I could help you.
But I don't know your software.
wayland76 Fuad: I suggest you find someone near you who knows more about computers. We can't help you from here without more information, I'm afraid. 14:37
DanielC I agree. Ask a friend.
Fuad i havent here around:( 14:38
windows xp
14:39 skids joined, dukeleto left
wayland76 There are also computer stores who will send people to your place to help you. Usually the computer repair stores can do it (as opposed to the sales ones), because the repair stores have people who know stuff 14:39
...and are usually set up to send people out 14:40
Anyway, I'm afraid I don't even use Windows, XP or otherwise
Matt-W Does anybody else find themselves wondering if there's any point having @ and % now that we can more-or-less transparently stick arrays and hashes into scalars? 14:41
DanielC Matt-W: I find myself wondering the opposite: Why are we sticking hashes and arrays into scalars? Doesn't that miss the point of sigils?
14:41 payload left
wayland76 I'm presuming they're more convenient under certain circumstances, but I've been wondering the same thing 14:42
pochi Matt-W: I tried to causually drop it into conversation yesterday, but noone picked up on it ... but yes
sbp down with sigils!
Matt-W DanielC: sigils are a rather visible reminder it's a list or a hash, yes
But they seem more like syntactic sugar now
sbp er sorry, getting ahead of myself there
Matt-W or a different kind of type annotation
wayland76 Lets eliminate sigils, and promote all twigils to sigils! :)
Matt-W I'm not particularly bothered by that, but I'm curious if there's anything else going on
presumably some issues around default contexts 14:43
TimToady moritz_: whitespace is not significant in character classes
pochi I found the whole flattening [1,2,$a] vs [1,2,@a] discussion confusing.
Matt-W pochi: in that $a doesn't interpolate into the list but @a does? 14:44
DanielC Sigils *should* be more than just syntactic sugar. Things that are different should look different. Things that are similar should look similar.
pochi Matt-W: I didn't see the logic, so I don't remember which :)
wayland76 Hmm. With Unicode, we should have enough sigils to assign every type its own... :D 14:45
Matt-W At the moment, I'm thinking of things with @ sigils as being sort of explicitly lists
DanielC My question would be, *WHY* are we letting $a hold an array?
Matt-W whereas $ sigils might have lists inside them, but they don't advertise it as blatantly
TimToady because you can treat a flock as a singular object
Matt-W and so they don't participate in flattening
14:45 Fuad left
Matt-W TimToady: That's interesting phrasing. @a would be thinking about it like a load of things, rather than having declared $a which is thinking more about the container they're in? 14:46
TimToady all objects, including containers, sometimes want to be treated as single objects
Matt-W hence flattening behaviour
DanielC TimToady: But then why do we have sigils at all if they no longer mean anything?
Matt-W I can go with that
DanielC: they do mean things, I was just questioning if they mean anything important
TimToady DanielC: your premise is incorrect
wayland76 Poor Fuad :) 14:47
DanielC TimToady: Don't take me wrong, I like sigils. Things that are different should look different.
TimToady if singular/plural doesn't mean something, why do we persist in making the distinction in English?
pochi we should learn from the japanese :)
TimToady sorry, coffee is still brewing
pochi: @ is -tachi :P 14:48
Matt-W TimToady: I understand now. I shall not raise the question again :)
DanielC TimToady: Sure. And in English I would be confused if "apple" suddenly could mean "a group of X"
pochi hm :)
Matt-W DanielC: but that's not what it is, it's like being able to reach into the apple and pull out the seeds 14:49
sbp what's the programming language equivalent of a mass noun, I wonder?
DanielC ok...
DanielC is trying to think of a natural language analog
a hand of bananas? Do you say that in English? 14:50
Matt-W it's a bunch of bananas in English
DanielC yeah
So is that roughly what we are talking about here? $hand = @bananas ?
well... $hand := @bananas
DanielC hopes he got it right this time 14:51
Matt-W I believe that's one way you can look at it, yes
and it makes a lot of sense to me
sbp hmm, that's interesting
TimToady DanielC: apple announced that they would be releasing a new product
DanielC Matt-W: If you had more examples I'd be grateful.
TimToady: Ok... I see your point. 14:52
wayland76 Have Matt-W/DanielC read the recent JDlugosz article?
Matt-W I might have done
sbp though... note there's an anomaly here
Matt-W I've read some articles but I can't remember who they were by, recently
sbp because you say a "bunch of bananas"
but you say "a shoal of fish"
wayland76 www.dlugosz.com/Perl6/web/info-model-1.html
sbp not a shoal of fishes
wayland76 Well, this would've been today, I think 14:53
DanielC sbp: A school of fish?
TimToady most of the mass nouns show up as numbers, with implicit or explicit units
sbp shoal or school, both are acceptable I think
Matt-W that's because the plural of fish is fish
wayland76 Interestingly, "ship" used to be spelled "scip"
One fish, two fish, red fish, blue fish 14:54
sbp oh yes, silly me
Matt-W although 'fishes' is clearly an accepted alternative, unlike 'sheeps'
TimToady I like sheeps
wayland76 Fish and sheep are like each other, but unlike dogs and cats
sbp .ety sheep 14:55
phenny "O.E. sceap, scep, from W.Gmc. *skæpan (cf. O.S. scap, O.Fris. skep, M.L.G. schap, M.Du. scaep, Du. schaap, O.H.G. scaf, Ger. Schaf), of unknown origin." - etymonline.com/?term=sheep
wayland76 works on a "sheepish" jokes...
ok, that is *really* cool :)
14:55 icwiener joined
wayland76 .ety ship 14:55
phenny "O.E. scip 'ship, boat,' from P.Gmc. *skipan (cf. O.N., O.S., Goth. skip, Dan. skib, Swed. skepp, M.Du. scip, Du. schip, O.H.G. skif, Ger. Schiff), perhaps originally 'tree cut out or hollowed out,' and derived from PIE base *skei- 'to cut, split.' The O.E. word was [...]" - etymonline.com/?term=ship
wayland76 .ety shoal 14:56
phenny "'place of shallow water,' c.1300, from O.E. schealde (adj.), from sceald 'shallow,' from P.Gmc. *skala- (cf. Swed. skäll 'thin;' Low Ger. schol, Fris. skol 'not deep')." - etymonline.com/?term=shoal
sbp originally an adjective: interesting
Infinoid scip, huh
.ety skif
phenny Can't find the etymology for "skif". Try etymonline.com/?search=skif
TimToady .ety skiff
phenny "'small boat,' 1575, from Fr. esquif (1549), from It. schifo 'little boat,' from a Gmc. source (e.g." - etymonline.com/?term=skiff
TimToady .ety skipper 14:57
phenny "'captain or master of a ship,' 1390, from M.Du. scipper, from scip (see ship)." - etymonline.com/?term=skipper
sbp ah!
wayland76 skiff continues: e.g. O.H.G. scif "boat;" see ship (n.))
15:01 alexn_org left
wayland76 Anyway, it being 1am here, I'd better head to bed 15:05
'night all
TimToady good night
masak night, wayland76. 15:06
Matt-W night wayland76
wayland76 DanielC: search.cpan.org/search?query=Softwa...p;mode=all 15:13
afk &
masak TimToady: so Str has a .bytes method, but (in the general case) you're not allowed to call it? 15:16
15:16 riffraff joined 15:19 payload joined 15:20 donaldh left, donaldh joined 15:21 cmv joined 15:23 cmv left, cmv joined
TimToady masak: it's only meaningful if the Str is supporting multiple Unicode levels simultaneously, which is not going to be the common case 15:27
masak TimToady: fair enough. though an encoding novice, I think I see the point. 15:29
it doesn't help my present practical needs, though.
I need some way to convert to bytes in Rakudo.
moritz_ you need a Buf type. 15:30
15:30 cmv left, cmv joined 15:31 alester joined
masak moritz_: how is the Buf type going to get the bytes from the Str if the latter doesn't have a way of knowing its bytes? 15:32
moritz_ masak: by specifying an encoding
something like Buf.new($string, :encoding<UTF-8>)
maybe even with a normalization form 15:33
(of course both can have useful default values)
15:34 jimi_hendrix left
TimToady the notion of multi-level Strs means that someday we might have an object that can be both a Str and a Buf simultaneously, but that's not necessary in 6.0.0 15:34
masak what if I do unpack on a Str? do I need to know its encoding then as well?
TimToady what is this unpack of which you speak? :)
masak TimToady: it's in S32! :)
TimToady unpack is probably supported only on Buf 15:35
masak (I think)
buubot: spack unpack
buubot masak: S03-operators.pod:1 S06-routines.pod:1 S09-data.pod:3 S29-functions.pod:1
masak TimToady: the spec needs to know that, methinks.
TimToady I've mostly been ignoring pack/unpack in favor of implicit serialization of compact classes 15:36
masak aye, we've been discussing this before.
TimToady though we might have a way of extracting a pack format from such a class 15:37
15:37 makkabutta joined
masak I'd love to implement everything the way it's supposed to be in Rakudo, but I feel the lack of overview and I don't really know where to begin. 15:37
15:37 cmarcelo left
masak s/feel the/feel a/ 15:37
this is important stuff. and I need a teeny, tiny part of it to work now, for Web.pm. 15:38
15:42 nated joined 15:45 justatheory left
nated moritz_: Hi, I'm trying to use your irclog bot, ilbot, and am seeing some confusing bits with the links it generates, is there some kind of mod_rewrite rule I need to use to make the URL valid? 15:45
moritz_ nated: yes, there's a .htaccess file that you have to use 15:46
nated: it's in the repo
nated heh 15:47
It'd help if I turned that on then :)
thanks
moritz_ you're welcome
(if you don't turn it on but still use the .htaccess you'll get a 501)
or 500 15:48
15:50 meteorjay joined
masak moritz_: did you get a reply from Mark Overmeer? 15:51
I see that he has written an email to p6l about CPAN6.
moritz_ masak: yes, I did 15:52
masak ok.
moritz_ masak: I can forward it to you...
it's just my normal mail server being broken, so I don't get p6l mails :( 15:53
masak moritz_: yes, please do.
uhh, this whole CPAN6/6PAN/DPAN/WhateverPAN thing is so massive that even my vertigo gets vertigo thinking about it... 15:54
moritz_ as I understand it, his CPAN6 is not going to solve our problems 15:55
it will rather solve problems that we don't have yet
15:55 ElectricHeavyLan joined
DanielC hi 15:55
TimToady well, the same for much of P6 :)
DanielC I'm replying to the email about CPAN6. I'm trying to be tactful and not stirr any trouble. 15:56
masak moritz_: indeed.
DanielC s/stirr/stir/
It looks like there is some "history" here with the CPAN6 thing. 15:57
15:57 makkabutta left
masak DanielC: I think so, yes. 15:57
I don't know what it is, though.
but MarkOv keeps referring to "core Perl developers" whose support he feels he needs but who don't appreciate his efforts. 15:58
DanielC hm
moritz_ and that's something which I don't really understand 16:00
DanielC Ugh... the first paper on CPAN6 is 30 pages...
moritz_ in one of his slides he says that CPAN6 has no commitment to Perl (except for the initial implementation of some tools)
so why is support from core Perl people so important for him? 16:01
masak it is a bit strange, yes.
DanielC Because without that support, Perl developers won't use his new and improved CPAN6 and all his work will be for naught?
(just a guess)
moritz_ DanielC: but on his website he writes that his vision is much wider than just Perl 16:02
DanielC yes, he does 16:03
He even talks about distributing photos.
moritz_ so it would only be a slight annoyance if the perl people wouldn't embrace his work
16:03 REPLeffect left
moritz_ though of course obra_ has a point when he says that CPAN shouldn't be forked 16:04
masak yes, definitely.
ZuLuuuuuu for this code: "self.get_changes( page => $page, :limit(8) )" what does ":limit()" do? why didn't we used "limit => 8" instead?
DanielC I agree too.
masak I think a useful question to ask is whether CPAN will eventually be able to support the versioning/authoring system of Perl 6. 16:05
ZuLuuuuuu: those two syntaxes mean the same.
moritz_ ZuLuuuuuu: both ways can be used
masak: aye, and if yes, in what time frame, and with how much effort,...
masak ZuLuuuuuu: both create a pair with key 'limit' and value 8.
ZuLuuuuuu masak, moritz_: thanks
moritz_ masak: and also if it will embrace other parrot hosted languages 16:06
masak moritz_: I think that regardless of the answer to that, it might be useful to create a prototype *PAN that does that.
'that' being versioning/authoring.
moritz_ because www.cpan.org/misc/ZCAN.html clearly says "no" to that, and that's something I have a problem with.
DanielC masak/moritz_: Who is in charge of CPAN?
moritz_ DanielC: which part of CPNA? 16:07
*CPAN
DanielC: read the link I just gave, it tells you which parts exists, and what their task is
DanielC the part that would have to change to do versions
*click*
moritz_ that would be most of them :( 16:08
well, perhaps not the uploading interface
but the indexing, the search interface, and CPAN.pmm
DanielC What is obra's role in cpan? 16:09
16:09 payload left
moritz_ dunno, but he used to be Perl 6 project manager 16:09
DanielC k
obra_ I also make rt.cpan.org happen
moritz_ ah, good to know 16:10
DanielC That's the bug tracker?
moritz_ aye
DanielC k
16:11 justatheory joined
obra_ DanielC: you probably want to adjust all your terminology to that which timtoady uses in the cpan/namespaces apoc/exeg 16:12
DanielC obra_: Ok. What terms should I change?
obra_ I don't know. I haven't had the cycles to follow what you're talking about closely, but I know you're not using the same words as Larry 16:13
And just to make sure people understand you correctly, starting from his words is probably not wrong ;)
masak DanielC: I agree. if you're short of time reading the synopses, start with S11. it seems to be most closely related to your current investigations. 16:14
DanielC Using the right terminology is important. I just need someone to teach me what it is.
obra_ I've gotta run
moritz_ bye
DanielC o/ 16:15
masak obra_++ # thanks for popping by like this -- we need people who know about CPAN
DanielC masak: Ok, S11, Modules. I'll read that right after I finish reading the Zen of CPAN.
masak DanielC: excellent.
DanielC However, it would help if someone pointed out to me when I use the wrong terminology. 16:16
obra_ DanielC: I THINK that you can do what you want just by adding some keys to meta.yml for perl6/parrot/whatever and having an indexer that uploads its own indexes
DanielC obra_: Sounds good.
Reading ZCAN: "CPAN shall not 'piggyback' other languages" => corollary: CPAN shall not include parrot bytecode modules? 16:18
16:19 Util left
moritz_ DanielC: CPAN is primary for source code distributions. 16:19
DanielC: so the question is more "CPAN shall not include source code for oother languages that run on parrot?" 16:20
DanielC So, for example, when I talk about "target=parrot" I am off-base. Right?
moritz_ that's something we have to talk about with the PAUSE admins
DanielC k
16:24 mizioumt left, dakkar left 16:27 mizioumt joined, c9s joined
DanielC Reading the Zen of CAN: Hmm... Looking at all the work and history that has gone into making the current network of CPAN mirrors, it seems foolish to start from scratch on a different site (cpan6.org). 16:31
obra_ if it's not source code, it shouldn't be on cpan. if it's not open source, it shouldn't be on cpan. historically, "if it's not perl, it shouldn't be on cpan"
DanielC Unless Markov has an idea to use the mirrors. 16:32
obra_ DanielC: other languages piggybacking on cpan's mirroring agreements is...touchy
markov is not the first to do this.
DanielC obra_: Thanks. Can you confirm for my benefit that my target=parrot idea is off-base?
obra_ you want to try to find history of, among other things, Ingy's "FreePAN"
DanielC: I don't think "target" is the right word. I might suggest "language", maybe 16:33
DanielC ok
language=parrot == off-base? (arguably not source, arguably not Perl)
moritz_ parrot is not a language. 16:34
language = PIR
if it's written in PIR
language = ruby
DanielC ok
TimToady if the time is right for a language agnostic CPAN, then all our efforts to create a language specific one will be for naught, and some googley thing will take over instead
moritz_ if it's written in Ruby for parrot
pmichaud rakudo: say q(oops); 16:35
p6eval rakudo a85758: OUTPUT«Could not find non-existent sub oops␤»
pmichaud rakudo: s/abc/def/;
p6eval rakudo a85758: OUTPUT«s/// not implemented, try .subst as workaround at line 2, near "def/;"␤in Main (src/gen_setting.pm:0)␤»
moritz_ TimToady: I don't think we want a language agnostic CPAN - we just want a CPAN for all languages that can be used from perl ;-)
pmichaud: is s/// particularly hard to implement? if so, why? 16:36
anyway, it's a nice improvement. pmichaud++
DanielC obra: Does PIR count as Perl and as source?
moritz_ PIR != perl
DanielC Therefore, CPAN shall not carry PIR. 16:37
masak more precisely, PIR ties the possibly platform-independent Perl 6 code to Parrot.
moritz_ masak: not all languages need to compile down to PIR 16:38
DanielC Ok. You can say that it's as if you make a binary executable of a Perl module.
masak moritz_: that's also true, I guess.
DanielC (ie. it targets a CPU+OS)
masak DanielC: yes. but that'd be .pbc, I think. Parrot bytecode.
DanielC k 16:39
masak PIR is more like Parrot assembler code.
masak goes home
16:39 masak left
obra_ I wouldn't immediately say that parrot family languages don't belong on the cpan. 16:40
DanielC ok
obra_ Certainly, unless you're Jarkko, you're not in a place to make that declaration.
DanielC Who is Jarkko? What is his role? 16:41
obra_ I'd start with building the client infrastructure to install modules into rakudo and/or smop.
DanielC: see the byline on your ZCAN
moritz_ so what's the right place to ask that? private mail to jarkko? or some list
pmichaud moritz: s/// is a bit trickier to parse given Rakudo's current parser.
it's a specialized form of quote
DanielC Jarkko Hietaniemi, the CPAN Master Librarian
moritz_ pmichaud: ok
obra_ I wouldn't bother asking until you have a concrete setup/need for it
start with the easy stuff. 16:42
moritz_ I don't feel like hacking on CPAN.pm if there's no chance on getting it included
obra_ get a "cpan.p6" client that can install modules for rakudo.
DanielC is still trying to learn the cast of this play.
moritz_ maybe we can abuse proto for that ;-)
obra_ I don't think it makes sense to try to extend/rewrite CPAN.pm or CPANPLUS.pm to install into rakudo.
perl6 should have native tools to install modules. but there's no reason to NIH all the community infrastructure. 16:43
start small and simple. maybe package up november and upload it to the CPAN (assuming you're a november author or have their blessing)
then write a simple cpan.pm6 and a commadnline tool to use it. 16:44
and get that to install november from the cpan.
And then write a howto so that other people can upload their p6 modules.
pmichaud is there an easy way in cpan to distinguish p6 from p5 modules?
obra_ once there's actual code using perl6 on the cpan, you'll have a lot more help..and you'll have a much better feel for how this all works. 16:45
pmichaud: I'm assuming that something in META.yml could describe the language.
pmichaud obra_: I mean, if I was doing a search
obra_ say, a "language:" key or....
even a requires:
perl: 6.0.0
pmichaud: search.cpan.org will need updates/love. or search6.cpan.org
pmichaud that's a small downside 16:46
obra_ the important thing is to convince the cpan indexer that your code isn't perl5
moritz_ ... and to parse the Perl 6 POD
obra_ pmichaud: it's a smaller downside than needing to rebuild the entire CxAN ecosystem ;)
pmichaud one of the initial questions will be "what modules are available for rakudo/perl6", and we'd want to have an easy way to determine that.
obra_ yes. you'll want a perl6 indexer.
pmichaud I'm not at all advocating eliminating/avoiding existing cpan 16:47
16:47 Psyche^ joined
pmichaud I'm just curious to add up some pros and cons. I personally haven't thought about it a great deal. 16:47
obra_ just as we currently have the 01authors, 02modules, etc. you'll want something that builds 06-perl6.modules.txt
but. there have totally been third-party indexes in the past
and the code that makes the indexes is part of PAUSE, which is in a public repo
and andk is totally known to take patches/be friendly/be very smart
pmichaud jnthn: ping 16:48
jnthn pmichaud: Just about to go out the door, but pong 16:49
(can answer if it's something quick-ish)
16:51 mikehh left
TimToady re CPAN, is it okay to put a P6 module in that says, as its first declaration, "use Ruby"? ;) 16:52
jnthn waits patiently...
.oO( chcem ist do krcmy... )
16:53
pmichaud do you have a quick idea of what is causing the failure in t/spec/S12-methods/indirect_notation.raku 24 13 12-24
jnthn pmichaud: No, I didn't look yet... 16:54
pmichaud okay, was just curious.
It's blocking us from bumping PARROT_REVISION, which we may want to do soon.
jnthn pmichaud: JFBI, I will have it fixed in my method dispatch refactor I expect. 16:55
16:55 decasm joined
jnthn If the test fail bothers you, feel free to regress on it. 16:55
pmichaud I might do that.
jnthn It's not all indirect invocation, just the $x.@foo form IIRC.
pugs_svn r26953 | lwall++ | [S05] document use of #= tags in {*} actions
jnthn pmichaud: OK. Plan to work on the refactor some more tomorrow. 16:57
pmichaud jnthn: excellent.
jnthn pmichaud: Started re-working role punning today...a little trickier than expected.
pmichaud also, tomorrow is the stockholm hackathon, so I'm hoping to be online for that.
jnthn Oh, that's tomorrow? 16:58
pmichaud jnthn: I did get big portions of 'import' refactored, so that our "is exports" are now working.
jnthn pmichaud: Great.
16:58 Patterner left, Psyche^ is now known as Patterner
pmichaud I need to update a few things so that 'use' uses the new 'import'. Nothing big there. 16:58
Also, I think I know how to fix BEGIN
jnthn Awesome.
pmichaud (and possibly CHECK/INIT/END handling to be added as well) 16:59
jnthn :-)
We can has more test passes :-)
(We'll have most of the defer ones passing by next week, I hope.)
OK, I'm meant to be hitting a leaving party...
jnthn -> krcma, back later/tomorrow 17:00
pmichaud have fun
jnthn will do :-)
17:04 iblechbot left 17:05 jrockway_ joined, cmv left
ZuLuuuuuu guys, since my final exams finished today I have plenty of time now to learn perl 6 in detail, I'm planning to go through synopses, would that be a good idea or is there a better doc to learn perl 6 from? 17:05
17:06 tulcod left
moritz_ TimToady: your last commit to S05 seems to make the end of each rule a sequence point - or was it that way before anyway? 17:06
17:06 jrockway_ is now known as jrockway
DanielC ZuLuuuuuu: I am using the synopses. 17:06
ZuLuuuuuu: I assume you already know Perl 5.
skids ZuLuuuuuu: the synopsis are the most up to date. Older articles sometimes include deprecated material. 17:07
ZuLuuuuuu I read the learning perl and beginning perl but never wrote a big program in perl 5 actually :) but we can say I know it a little
17:07 meppl joined
DanielC ZuLuuuuu: The best source I can think of is the synopses. There is a wiki book, but I think it might bore you. 17:08
skids Having a working rakudo to play with is certainly worth the effort, though you can use evalbot here in a pinch.
DanielC Ah, yes, install Rakudo. It's really easy.
ZuLuuuuuu yes I actually had a working rakudo in my pc
not currently but I can install it 17:09
DanielC ZuLuuuuuu: You know what I do? I pick a simple program and try to implement it in Perl 6 with Rakudo.
ZuLuuuuuu DanielC: yes that's a good idea
DanielC This week I ported one o the Debian shootout benchmarks to Perl 6 and today I wrote a Brainfuck interpreter. 17:10
ZuLuuuuuu wow :)
skids ZuLuuuuu: something that doesn't involve packed binary structures, that's still an implementation weak point.
DanielC ZuLuuuuuu: Then you can submit your code to perl6-examples, and you get brownie points for contributing code.
17:10 frew|wor1 joined
ZuLuuuuuu skids: yeah you mean compiling from source right? 17:11
skids Well, that too, but things like unpacking data from IP packets, or C structs or binary files.
ZuLuuuuuu actually I was compiling rakudo today but it gave an error pmichaud said it is a bug, I expect it to work soon
oh ok 17:12
skids make sure to compile with --gen-parrot after a git pull, to pull in the correct Parrot. Also sometimes a make clean can help. both in rakudo/ and rakudo/parrot
17:13 cmarcelo joined
ZuLuuuuuu I'm mostly a web developer actually, I'm looking at november-wiki code to see some real perl 6 code 17:13
parrot installs fine actually (I compiled it today, the last revision) 17:14
but rakudo with --gen-parrot gave an error
TimToady moritz_: make attaches ast to the current cursor, which will "desequence" it upon backtracking 17:15
assuming you action routines don't do anything more violent than that...
and if they do, there should be a way of deferring the violence till you're sure, like a list of closures to run. 17:16
alternatively we could provide some kind of "unaction" hook 17:17
but so far I've just let GC clean up my discarded cursors
and that's how STD does backtracking
ZuLuuuuuu are html synopses on perlcabal.org/syn up-to-date with the actual repository? If not, are they very old or just a little old? 17:18
TimToady just a little, usually
ZuLuuuuuu TimToady: thanks
skids They usually take much less than a day to update.
ZuLuuuuuu pretty up-to-date then :) 17:19
skids unless something breaks :-)
17:19 xalbo joined
TimToady my checkin to S05 is already there 17:21
note it tells the last time of regen at the top of the html
I should've bumped the version though...
I forgat
ZuLuuuuuu TimToady: oh right I didn't noticed that :) 17:22
skids ZuLuuuuuu: also note DRAFT synopsis can be really volatile 17:24
17:26 donaldh left
DanielC I need help with S11: "Since there are no barewords in Perl 6, module names must be predeclared, or use the sigil-like ::ModuleName syntax." But the sample code simply shows "module Foo;" 17:26
ZuLuuuuuu skids: ok, drafts don't begin until s20 I guess, so a lot reading until then :)
DanielC Where is the ::?
pochi maybe the keyword "module" declares "Foo" 17:29
DanielC ok
I wonder what an un-declared module looks like. How do you put anything in it without declaring it? 17:30
[particle]2 TimToady: perhaps C<#=> should include a trailing space e.g. C<#= > (as rakudo and nqp currently require), which helps distinguish from commented out pod
17:30 [particle]2 is now known as [particle]-
[particle]- ...however, "on the same line as the C<{*}>" makes it less likely that it's commented out pod 17:31
17:33 frew|wor1 left
TimToady I've never agreed to pod comments, as it happens 17:34
pugs_svn r26954 | lwall++ | [S05] clarify #= tags as suggested by [particle]++ 17:37
17:41 riffraff left 17:43 frew|wor1 joined 17:51 DemoFreak left 17:54 DemoFreak joined
pugs_svn r26955 | lwall++ | typo 17:54
17:57 iblechbot joined 18:09 DanielC left 18:12 cmarcelo left 18:15 amoc left 18:27 ejs joined 18:28 mizioumt1 joined 18:29 Scorp2us left, Scorp1us joined 18:31 mizioumt1 left, mizioumt1 joined, payload joined 18:32 xinming_ joined 18:34 xinming left 18:35 shinobi_cl joined
shinobi_cl hi all 18:35
i got a question.. 18:36
18:36 icwiener left
skids doesn't guarantee answers. 18:36
shinobi_cl how can i define constructors and destructors?
skids But I can probably replace your question with a better one :-)
moritz_ skids: with methods called BUILD and DESTROY 18:37
skids erm.
moritz_ sorry, that should have gone to shinobi_cl
shinobi_cl: see S12
shinobi_cl rakudo: class AA { method BUILD {say "constructing";};}; my AA $a;
p6eval rakudo a85758: ( no output )
moritz_ that doesn't construct any object 18:38
shinobi_cl i just want to make constructor and destructors article on mi wiki
moritz_ rakudo: class A { method BUILD($a) { say "constructing" } }; A.new
p6eval rakudo a85758: OUTPUT«constructing␤»
moritz_ DESTROY methods don't work yet, I think
shinobi_cl ahh thanks moritz_
rakudo: class A { method BUILD { say "constructing" } }; A.new 18:39
p6eval rakudo a85758: OUTPUT«too many arguments passed (3) - 1 params expected␤in method A::BUILD (/tmp/TERUSx5Gds:2)␤called from Main (/tmp/TERUSx5Gds:2)␤»
shinobi_cl ahhh $a is the implicit parameter, right?
moritz_ it's the object being constructed 18:40
BUILD is called as a class method
18:40 justatheory left
moritz_ (at least it's that way now, don't knowexactly what the spec says) 18:40
again, see S12 18:41
shinobi_cl rakudo: class A { method BUILD($a) { say "constructing $a" } }; A.new;
p6eval rakudo a85758: OUTPUT«constructing A()<0xb6297520>␤»
shinobi_cl rakudo: class A { method BUILD($a) { say "constructing $a" } }; A.new; say A.WHAT;
p6eval rakudo a85758: OUTPUT«constructing A()<0xb625d9a0>␤A()␤»
shinobi_cl rakudo: class A { method BUILD($a) { say "constructing $a" } }; my $object = A.new; say $object.WHAT; 18:42
p6eval rakudo a85758: OUTPUT«constructing A()<0xb61b12d0>␤A()␤»
moritz_ .ety destroy 18:43
phenny "c.1225, from O.Fr. destruire, from V.L. *destrugerie (infl. by destructos), from L. destruere 'tear down, demolish,' lit. 'un-build,' from de- 'un-, down' + struere 'to pile, build' (see structure)." - etymonline.com/?term=destroy
pmichaud shouldn't BUILD be a submethod...? 18:46
shinobi_cl ok, thanks for helping :) going to update my perl6 wiki then :)
ahhh yes, that also
i remember that those had to be submethods
moritz_ I don't think the spec says that ;-) 18:47
pmichaud actually, I think it does :-)
I was just about to turn on masak++ emulation so I could file the rakudobug :-)
S12 says: "If you attempt to get around this by declaring C<BUILD> as 18:48
a method rather than a submethod, that will also be flagged as a dire
(but suppressible) compile-time warning.
18:48 jferrero joined, mizioumt left
moritz_ that's not the same as forbidden 18:48
pmichaud okay, we should at least be generating the warning. 18:49
moritz_ I think fixing BUILD is a bit more important ;-)
pmichaud I thought jnthn++ already worked on that...?
maybe he's not finished.
18:49 riffraff joined
moritz_ rakudo: class A { has $!a; submethod BUILD ($a) { $!a = 3 } } }; A.new() 18:50
p6eval rakudo a85758: OUTPUT«Syntax error at line 2, near "}; A.new()"␤in Main (src/gen_setting.pm:0)␤»
moritz_ rakudo: class A { has $!a; submethod BUILD ($a) { $!a = 3 } }; A.new()
p6eval rakudo a85758: OUTPUT«Null PMC access in getprop()␤in submethod A::BUILD (/tmp/iz0xw6w0Fc:2)␤called from Main (/tmp/iz0xw6w0Fc:2)␤»
moritz_ pmichaud: not fixed yet :/
shinobi_cl ok, thanks for the help! bye! you are all welcome to add/modify stuff and linking to my perl6 wiki at wikia.com . I think most things are up-to-date, but, you never know :) 18:51
18:51 shinobi_cl left, DanielC joined
Tene can anyone confirm that there's no 'reduce' or 'foldl'/'foldr' etc. subs specced in the standard setting? 18:52
pmichaud there's a .reduce method, iirc 18:53
Tene Ah.
:)
DanielC Reading www.dlugosz.com/Perl6/web/info-model-1.html ... says that if $y is bound directly to the string "World" (without the scalar container) "You can’t assign to $y using the = operator".
rakudo: my $y := "World"; $y = "Apple"
p6eval rakudo a85758: ( no output )
DanielC No error. 18:54
pmichaud DanielC: binding and constants in Rakudo are known problems at the moment.
moritz_ DanielC: that doesn't mean anything
pugs: my $a := 'foo'; $a =3
p6eval pugs: OUTPUT«*** Can't modify constant item: VStr "foo"␤ at /tmp/uNwzs8Umm3 line 1, column 17 - line 2, column 1␤»
18:54 LadyLunacy joined
DanielC ah, so Rakudo is wrong then? 18:54
moritz_ there you go, pugs does it right
pmichaud Sure
DanielC Thanks.
pmichaud There are a number of things that Rakudo gets wrong.
ZuLuuuuuu what is the difference between "my Int $x" and "my $x is Int" 18:55
DanielC I was confused there for a minute.
pmichaud ZuLuuuuuu: the first is a constraint on $x
the second says that $x is an Int instead of a container, and probably not what you want.
There are also places where the spec is inconsistent or incorrect, too.
Tene Huh. Rakudo's interactive repl no longer terminates with Eof
ZuLuuuuuu pmichaud: thanks 18:56
18:57 mizioumt1 left
ZuLuuuuuu pmichaud: you read the message that I build parrot with latest revision succesfully? (you were away I guess) 18:57
pmichaud ZuLuuuuuu: I did see that, yes.
ZuLuuuuuu ok
pmichaud I'm trying to determine if I can bump rakudo to the latest parrot.
but it's good to know that it works for you
ZuLuuuuuu I didn't compiled rakudo though 18:58
how can I make rakudo work without --gen-parrot?
I mean how can I install rakudo on top of the parrot I build
moritz_ Tene: yes, I wrote a ticket for that. exit; also doesn't work on the REPL anymore 19:00
pmichaud: current parrot has a known regression wrt indirect dispatch 19:01
19:06 xinming_ is now known as xinming 19:08 szabgab left, frew|wor1 left 19:10 LadyLuna1y left 19:12 sjohnson joined 19:13 justatheory joined
moritz_ rakudo: (1,2,3,4,5)[-1].say(); 19:14
p6eval rakudo a85758: OUTPUT«Use of uninitialized value␤␤»
moritz_ bah, it would be nice if the wikia wiki would actually followed some kind of spec 19:16
or at least rakudo
19:16 xinming_ joined 19:18 hudnix joined
moritz_ ok, off to bed and then to norway 19:19
19:20 ejs left
TimToady std: (1,2,3,4,5)[-1].say(); 19:25
p6eval std 26955: OUTPUT«##### PARSE FAILED #####␤Obsolete use of [-1] subscript to access final element; in Perl 6 please use [*-1] instead at /tmp/eIfWOzWjEg line 1:␤------> (1,2,3,4,5)[-1].say();␤FAILED 00:02 39m␤»
19:26 riffraff left
literal std: (1,2,3,4,5)[*-*].say(); 19:26
p6eval std 26955: OUTPUT«ok 00:02 37m␤»
literal raukdo: (1,2,3,4,5)[*-*].say();
er..
rakudo: (1,2,3,4,5)[*-*].say();
p6eval rakudo a85758: OUTPUT«1␤»
literal so, why does whatever minus whatever equal one? 19:27
TimToady doesn't
== 0
literal oh, oops
brainfart
TimToady I wonder what *that* language would look like 19:29
on second thought, nevermind
19:30 eMaX is now known as GeneralLi
pmichaud ZuLuuuuuu: the easiest mechanism for building rakudo with a later parrot is 19:30
19:30 GeneralLi is now known as eMaX
pmichaud (1) obtain a copy of rakudo 19:30
(2) build parrot in the parrot/ subdirectory of rakudo
(3) run rakudo's Configure.pl without the --gen-parrot option 19:31
(by default, rakudo will use whatever parrot it finds in its parrot/ subdirectory)
the other way to do it:
19:31 [particle]1 joined
pmichaud (1) obtain copy of rakudo 19:31
nm, the first way is better.
ZuLuuuuuu pmichaud: thanks 19:32
19:32 mizioumt joined
ZuLuuuuuu pmichaud: and I just retried compiling rakudo with --gen-parrot and compiled! 19:32
pmichaud weird.
ZuLuuuuuu I don't know if the problem is fixed today or if something changed on my computer 19:33
pmichaud oh, perhaps it found your other copy of parrot and used that.
i.e., the copy that you just built.
ZuLuuuuuu it is in a different folder though
not in a subfolder
pmichaud yeah, that doesn't seem likely.
ZuLuuuuuu od rakudo
*of
19:33 xinming left
pmichaud normally rakudo looks for parrot/parrot_config, ../../parrot_config, and then any other parrot_config that might be in your PATH 19:33
ZuLuuuuuu oh actually I have parrot in ../../ 19:34
I accidentally created rakudo on 2 folders deep :)
pmichaud: because I created a rakudo folder and executed git command inside that rakudo folder which created another rakudo folder :) 19:35
pmichaud then that's what it likely took :-)
ZuLuuuuuu heh 19:36
pmichaud the ../../parrot_config is left over from when rakudo was normally in languages/perl6/ of the parrot repository
ZuLuuuuuu what a luck
19:39 azawawi joined
azawawi hello people 19:39
ZuLuuuuuu is there a difference between grapheme and letter? or what does grapheme mean?
sjohnson azawawi: hi 19:41
19:43 eMaX left, eMaX joined
DanielC ZuLuuuuuu: A graphene is any written character in a language. 19:44
That includes punctuation, letters, numbers, umaults, etc.
ß ñ ü : $ % are all graphenes. 19:45
ZuLuuuuuu DanielC: oh ok thanks
DanielC ZuLuuuuuu: graphene == written symbol
:)
19:46 ElectricHeavyLan left
TimToady s:g/graphene/grapheme 19:46
DanielC ZuLuuuuuu: People usually just say "character" but the word character is a computer term.
pmichaud oh, I don't know about that. I heard about "characters" a lot when I was studying theatre. :-)
TimToady graphene would be some kind of organic chemical :)
DanielC always gets graphene vs grapheme wrong. 19:47
ZuLuuuuuu DanielC: in synopses I read for example 3 graphemes might be equal to 1 letter
19:47 lichtkind joined
ZuLuuuuuu is that like sch is "a" sound in German? 19:47
TimToady actually, graphene is a single sheet of carbon
DanielC ZuLuuuuuu: Really?
ZuLuuuuuu: sch is three graphemes in German (but one phoneme) 19:48
ZuLuuuuuu DanielC: "A given StrLen may know that it represents 18 bytes, 7 codepoints, 3 graphemes, and 1 letter in Malayalam"
this is from s02
sjohnson TimToady: 僕
DanielC Ask TimToady.
sjohnson
ZuLuuuuuu isn't that 3 letter and 1 grapheme? 19:49
DanielC I would be interested in the answer as well.
19:49 [particle]- left
TimToady I'd call it 3 graphemes 19:49
ZuLuuuuuu ok, I don't know far east languages, anyway :) 19:50
but it is clear now what thanks
s/what//
DanielC TimToady: If a letter an be three graphemes, then clearly I don't understand "letter" or "grapheme".
TimToady sjohnson: why do you keep talking about yourself :)
DanielC s/an/can/ 19:51
sjohnson :)
DanielC I always thought letters were one type of grapheme.
lichtkind how can i acess the rules of the parser inside perl 6?
TimToady a given language may choose to split the concepts of grapheme and letter, but most western languages will not 19:52
lichtkind: there is a "braid" of parsers inside p6 19:53
the main current language is named $~MAIN
DanielC TimToady: Ok, so for example, Spanish might decide that an accent / tilde is one grapheme so that "é" is made of two graphemes?
DanielC doesn't know any non-European language, so his examples are limited. 19:54
TimToady well, doesn't generally go that direction
graphemes are somewhat language neutral in intent
certainly anything with a precomposed codepoint would be considered a single grapheme most of the time 19:55
but language often have ligatures that can be considered one letter or several
so the concept of letter could be smaller than a grapheme, actually 19:57
DanielC hm
TimToady see, for instance, ffl
which is a single grapheme, but three letters in English
19:57 payload left
TimToady or Ⅻ 19:58
DanielC Ok, that's more familiar to me.
DanielC had never seen ffl before
TimToady oh, you see it all the time in books, and never think anything of it
DanielC Interesting that one wouldn't notice it. 19:59
Ok, but at least I can see that Ⅻ is three letters.
TimToady so by default "char" means grapheme, but with a particular language declartion, it might mean "letter" instea 20:00
a d
DanielC All very interesting. 20:01
lichtkind TimToady: ~ is twigill for parser rules? 20:02
TimToady it's the twigil for a "slang", as described in S02
where "slang" is sort for sublanguage :)
lichtkind but main language is also a slang? 20:03
TimToady it's a superlanguage slang :)
PerlJam lichtkind: that's the standard slang :)
lichtkind PerlJam: thanks 20:04
TimToady they're really just elements of
lichtkind thank you both :)
TimToady %*LANG
which gets localized to each block
lichtkind so its an alias to that var? 20:05
TimToady to an element of the hash
currently, anyway
all subject to change, of course 20:06
most of the context variables in STD should be considered implementation details
but slangs are going to be important enough that they're a first-class concept
whenever you declarare a macro you're essentially creating a new slang out of the old one 20:07
*declare
and all macro declaratons (or imports) desugar to an "augment slang" declaration 20:08
PerlJam TimToady: a lexical augmentation?
TimToady yes
PerlJam just checking
TimToady hence no MONKEY_PATCHING
lichtkind $+foo is gone? 20:10
PerlJam One of the neat things about perl 6 is that most of the concept words aren't so overloaded that you can easily find their documentation. 20:11
TimToady: so ... "augment" is always lexical? You don't have to say "my augment ..." ? 20:12
er, "augment slang"
pmichaud augment is never lexical, iirc 20:17
it's always a monkey patch
TimToady augment slang is lexical 20:19
pmichaud oh, augment slang 20:20
sorry.
sjohnson PimChaudy 20:21
:)
20:21 payload joined 20:25 cmarcelo joined 20:39 dolmen joined
dolmen salut 20:39
oups, wrong channnel
20:43 payload left, payload joined 20:44 araujo left, payload left 20:48 pmurias joined, payload joined
pmurias will there be irc meetings this gsoc? 20:48
20:49 azawawi left 20:53 xinming joined 20:55 ZuLuuuuuu left 20:57 mizioumt left, mizioumt joined 21:10 Whiteknight joined 21:11 xinming_ left 21:16 mizioumt left, mizioumt joined 21:17 eMaX left 21:18 skids left 21:22 szabgab joined, orafu left 21:23 pmurias left 21:29 gbacon joined 21:30 gbacon_ joined, gbacon_ left
literal @tell pmurias there is #perl6-soc 21:36
lambdabot Consider it noted.
21:38 brunov left 21:41 LylePerl left, LylePerl joined
jnthn is back from the pub 21:42
21:42 mizioumt left 21:49 kst` is now known as kst, riffraff joined 21:54 iblechbot left 21:55 cmarcelo left 21:59 brunov joined 22:02 ssm left 22:03 szabgab left
sjohnson @tell sjohnson happiness abonuds 22:03
lambdabot You can tell yourself!
sjohnson @help
lambdabot help <command>. Ask for help for <command>. Try 'list' for all commands
sjohnson @list
lambdabot code.haskell.org/lambdabot/COMMANDS
sjohnson @slap pmichaud 22:04
lambdabot pushes pmichaud from his chair
sjohnson :)
lichtkind have roles a BUILD method (that may sound stange but is there a method that is executed during binding to an object) ? 22:07
22:07 IRSeekBot left 22:10 H1N1 left, H1N1 joined
sjohnson @version 22:11
lambdabot lambdabot 4.2.2
darcs get code.haskell.org/lambdabot
DanielC @tell DanielC happiness abounds 22:13
lambdabot You can tell yourself!
sjohnson @tell DanielC happiness abounds
lambdabot Consider it noted.
sjohnson what did it do? pm you? 22:14
DanielC Nothing.
lambdabot DanielC: You have 1 new message. '/msg lambdabot @messages' to read it.
sjohnson heh
DanielC @tell sjohnson happiness abounds
lambdabot Consider it noted.
DanielC cute
I think it'll wait for you to post before it says anything. 22:15
sjohnson TEST
lambdabot sjohnson: You have 1 new message. '/msg lambdabot @messages' to read it.
sjohnson yep
14:44:01 lambdabot | DanielC said 54s ago: happiness abounds
DanielC yeah
sjohnson thats neat
DanielC: send me another one please 22:16
im gonna test if /me striggers it
DanielC @tell sjohnson hello world
lambdabot Consider it noted.
sjohnson test 2
lambdabot sjohnson: You have 1 new message. '/msg lambdabot @messages' to read it.
sjohnson ahh
22:18 alester left 22:19 szabgab joined 22:20 riffraff left 22:22 amoc joined
eternaleye Dear ghod, SelfGOL is /horrifying/. Not in the "Who could make such a thing" sense, in the "Ia ia Cthulhu f'thagn" sense 22:24
DanielC: sjohnson: Bu the way, lambdabot's been acting strangely lately. It's currently being recommended to use phenny++ instead. 22:26
phenny: tell DanielC phenny is helpful
phenny eternaleye: I'll pass that on when DanielC is around. 22:27
DanielC waves at phenny
phenny DanielC: 22:26Z <eternaleye> tell DanielC phenny is helpful
DanielC ok
22:31 ZuLuuuuuu joined 22:34 gkurts joined
StephenPollei perl6.pastebin.com/m2b8b60e5 after building perl6 , I did the simplest test I could think of `./perl6 --version` and noticed that the copyright notice was only up until 2008 22:40
buubot StephenPollei: The paste m2b8b60e5 has been copied to erxz.com/pb/17874
StephenPollei this trivial patch extends it from 2006-2008 to 2006-2009
PerlJam good catch 22:41
jnthn (BUILD) not fixed yet - half way
22:44 DemoFreak left
dalek kudo: 6062528 | duff++ | perl6.pir:
Update copyright. StephenPollei++
22:46
22:52 synth joined 22:53 skids joined 22:55 bkeeler joined 22:56 LadyLuna1y joined
sjohnson hi jnthn 22:57
jnthn hi sjohnson 23:00
23:06 LadyLunacy left
Matt-W hi 23:07
DanielC o/
TimToady @all».hi
lambdabot Unknown command, try @list
Matt-W \o/ 23:08
jnthn shoots lambdabot
Matt-W takes lambdabot into a classroom and begins lecturing on Perl 6
wayland76 Actually, lambdabot is pretty good 23:09
I like lambdabot
It's just there's some room for improvement :)
sjohnson do you know if perl6 will support using strings for squiggle operations like [g]lobal and [i]sensitive?
wayland76 sjohnson: example? 23:10
Matt-W wayland76: the major problems seem to be that sometimes it does strange things with messages, and its tendency to respond to anything starting with @
sjohnson for example: $string ~~ s/pig/chicken/$params;
Matt-W I wouldn't say strings, but maybe a capture of some sort?
jnthn also, adverbs go out front 23:11
DanielC rakudo: v6;
p6eval rakudo 606252: OUTPUT«Could not find non-existent sub v6␤»
DanielC I guess Rakudo hasn't read all of S11.
TimToady std: v6;
p6eval std 26955: OUTPUT«Undeclared routine:␤ v6 used at 1 ␤ok 00:02 35m␤» 23:12
TimToady :D
std: v6.0;
p6eval std 26955: OUTPUT«ok 00:02 35m␤»
TimToady hmm
Tene rakudo: v6.0;
DanielC I just got to the bottom of S11 and I'm reading about "lax mode"
p6eval rakudo 606252: OUTPUT«Statement not terminated properly at line 2, near ".0;"␤in Main (src/gen_setting.pm:0)␤»
sjohnson rakudo: my $string = "moose"; $string ~~ s/oo/00/; say $string; 23:13
p6eval rakudo 606252: OUTPUT«s/// not implemented, try .subst as workaround at line 2, near "00/; say $"␤in Main (src/gen_setting.pm:0)␤»
sjohnson rakudo: my $string = "moose"; $string =~ s/oo/00/; say $string;
p6eval rakudo 606252: OUTPUT«s/// not implemented, try .subst as workaround at line 2, near "00/; say $"␤in Main (src/gen_setting.pm:0)␤»
Matt-W rakudo: my $string = "moose"; $string .= subst(/oo/, "00"); say $string; 23:14
p6eval rakudo 606252: OUTPUT«m00se␤»
Tene rakudo: my $s = "moose"; say $s.subst('oo','00');
p6eval rakudo 606252: OUTPUT«m00se␤»
Tene rakudo: my $s = "moose"; say $s.subst('oo','00'); say $s;
p6eval rakudo 606252: OUTPUT«m00se␤moose␤»
Matt-W sjohnson: rakudo can't do s/// yet, it doesn't know how to parse it properly. Use .=subst in the mean time.
sjohnson hmm
damn
maybe TimToady will know the answer. Will p6 be able to do: $string =~ m/Oo/$params; ? 23:15
if $params is a string that is like "i" ?
DanielC I thought the /$params part was gone.
sjohnson might be 23:16
sjohnson is a n00b
Matt-W regex params go elsewhere
sjohnson p6 n00b that is
Matt-W and =~ is now ~~
DanielC I can't remember. I thought I read that in S05
Matt-W $string ~~ s:$params/Oo/ is what you're looking for
DanielC ah
Matt-W but I don't know if you can give a params variable
and I'd be astonished if it was a string
23:17 meppuru joined
DanielC Does anyone know what Perl 6's "lax mode" is? 23:17
Matt-W never heard of it
Matt-W hasn't read all of S11 either
DanielC It's mentioned in S11.
But it's only mentioned in passing.
Matt-W Didn't I tell you earlier it's okay not to have read them all? :)
DanielC :-)
sjohnson squiggle operator 23:19
DanielC sjohnson: ??
Matt-W sjohnson: do you mean 23:20
infix:<~~>
cos that one's called smart match
unless TimToady has changed its name
DanielC Yesterday it was still called smart match :-) 23:21
Matt-W good :) 23:22
wayland76 Matt-W: don't tell him that
If he reads them all, he'll be able to answer our questions :)
Which will take some load of pmichaud who will be able to more quickly implement LTM :) 23:23
Matt-W oh oh yes you're right
DanielC: please forget what i said about not having to read the spec in its entirety
Matt-W -> bed &
wayland76 Lax mode will be the non-strict mode used for eg. perl6 -e
'night 23:24
(9am here :) 0
DanielC :)
Matt-W 00:24 here
way past my bedtime
DanielC wayland76: where are you?
wayland76 Australia; about an hour from Melbourne
DanielC I'm in Germany.
Matt must be in England. 23:25
wayland76 sjohnson: You'll be able to do your m/asdf/$params with macros if nothing else
Yeah, I'm pretty sure Matt-W is England. He certainly from there originally.
DanielC waylan76: Re lax mode: So, if I start a program with "v6;" that'll turn off strict? 23:26
Matt-W yep, nottingham england
-> really bed &
jnthn is from England original, but is in the same timezone as Germany these days. :-) 23:28
*originally
Which means it's 1:28 here. But I never really go to bed before 2am anyway. 23:29
DanielC me neither
sjohnson nah just squiggle operator is my cute petname for the =~ operator
wayland76 buubot spack "implicit serialization"
buubot wayland76: Sorry, I couldn't find any matches for: "implicit
wayland76 buubot spack implicit serialization
buubot wayland76: S02-bits.pod:9 S03-operators.pod:8 S04-control.pod:20 S05-regex.pod:11 S06-routines.pod:12 S09-data.pod:5 S11-modules.pod:1 S12-objects.pod:8 S16-io.pod:2 S17-concurrency.pod:1 S19-commandline.pod:1 S26-documentation.pod:12
lichtkind anybody here has clues about roles? 23:30
jnthn lichtkind: Yes.
eternaleye wayland76: My message finally made it to the list. Apparently, it neither accepts NNTP submissions or submissions from non-subscribers. Since I read it by way of usenet, I just subscribed and then redirected the actual mails to the bitbucket.
(well, a separate folder. I rarely actually delete stuff) 23:31
23:32 meppl left
wayland76 Yay :). I'm still backlogging, so I'll repond later 23:32
sjohnson what does backlogging mean 23:33
i saw timtoadie say it earlier
wayland76 It means that we're reading all the IRC logs that we missed 23:34
While we were asleep/away
23:36 stepnem joined 23:37 decasm left, H1N1 left 23:38 H1N1 joined, dolmen left
wayland76 Where do I read about "implicit serialization" 23:40
?
23:42 exodist left 23:48 H1N1 left, [S]unbeam joined
TimToady S09 "Compact structs" has some about it 23:49
eternaleye enfranchisedmind.com/blog/posts/res...-with-stm/ has some haskellish stuff on it 23:51
jnthn -> sleep
23:55 lichtkind left
TimToady oh, that implicit serialization :) 23:55
eternaleye I'm not sure if he means data structures being put into a format they can be extracted from, or temporal serialization in threading. 23:57
pugs_svn r26956 | lwall++ | [STD] fix for azawawi++'s bug; unify trait_* into trait_mod category 23:58
TimToady well, either way, he's covered somewhat :)