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