Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-05-28

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

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

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo