pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by TimToady on 25 January 2008.
00:01 Chillance left 00:03 bacek__ joined 00:12 bacek_ left 00:15 dduncan joined 00:18 bacek_ joined
dduncan opinion question: what's a good name for a fundamental quasi-function that is used for arbitrary expression validation, where it returns its primary argument if its secondary argument is true, and it throws an exception if its secondary argument is false? This would be used in a pure functional context, throwing an exception aside 00:19
eg, say it was called 'gate', it could be invoked using gate( $x, $x != 0 ) 00:21
but I was looking for a name that wasn't a verb but a noun
alternates could be 'expected' or such 00:22
or nevermind, I"ll just pick something and maybe change it later
00:27 bacek__ left 00:30 silug joined 00:36 justatheory left 00:37 bacek__ joined
pugs_svnbot r21072 | lwall++ | [STD] some progress in finding outer $LANG correctly 00:43
r21072 | lwall++ | use feature 'say'
00:46 bacek_ left, apeiron joined 00:54 bacek_ joined 01:03 bacek__ left 01:04 a-jing joined, a-jing left 01:12 justatheory joined 01:19 nekobaka joined 01:20 bacek__ joined 01:21 alester joined 01:22 bacek___ joined 01:24 bacek__ left 01:33 Limbic_Region left 01:38 bacek_ left 01:49 nipotan is now known as nipotaway 02:00 pbuetow left 02:01 bacek_ joined 02:10 bacek___ left 02:14 kanru left 02:23 elmex left 02:55 FurnaceBoy left 03:00 dduncan left
rakudo_svn r28737 | pmichaud++ | [rakudo]: 03:06
r28737 | pmichaud++ | * Add sigil listop contextualizers.
03:09 Pzt joined 03:10 Alias_ joined
pugs_svnbot r21073 | pmichaud++ | Remove some #?rakudo skip markers for sigil contextualizers. 03:11
r21074 | pmichaud++ | Update #?rakudo skip messages. 03:14
03:17 smtms_ joined 03:29 smtms__ joined 03:30 smtms left, PerlPilot joined 03:32 PerlJam left, justatheory left, alanhaggai left 03:33 justatheory joined, bacek__ joined
pmichaud pugs: my %hash = 1..6; say %hash.join(':'); 03:35
p6eval pugs: OUTPUT[1 2:3 4:5 6␤]
03:35 smtms joined 03:36 smtms_ left 03:38 alanhaggai joined 03:39 cjfields joined 03:42 kanru joined 03:48 bacek___ joined 03:50 bacek_ left, alanhaggai_ joined 03:52 smtms__ left 03:54 mncharity joined 03:56 bacek__ left
mncharity rakudo: Array ~~ KitchenSink 03:57
p6eval rakudo 28737: OUTPUT[Method 'ACCEPTS' not found for invocant of class 'Failure'␤current instr.: 'infix:~~' pc 10492 (src/gen_builtins.pir:6878)␤]
mncharity rakudo: Array ~~ Array
p6eval rakudo 28737: RESULT[1]
mncharity rakudo: Array ~~ Ordered
p6eval rakudo 28737: OUTPUT[Method 'ACCEPTS' not found for invocant of class 'Failure'␤current instr.: 'infix:~~' pc 10492 (src/gen_builtins.pir:6878)␤]
mncharity rakudo: Array ~~ Num
p6eval rakudo 28737: RESULT[0] 03:58
mncharity rakudo: Array ~~ Any
p6eval rakudo 28737: RESULT[1]
mncharity rakudo: Array ~~ Container
p6eval rakudo 28737: OUTPUT[Method 'ACCEPTS' not found for invocant of class 'Failure'␤current instr.: 'infix:~~' pc 10492 (src/gen_builtins.pir:6878)␤]
04:04 a-jing joined, a-jing left 04:05 justatheory left, bacek_ joined, alanhaggai left 04:11 cjfields left 04:13 bacek___ left
pugs_svnbot r21075 | lwall++ | [STD] now parses 400 lines of itself in about 5 seconds 04:14
mncharity rhr++ # docs/p6types 04:16
04:39 BinGOs_ joined 04:43 smtms left 04:45 BinGOs left 04:47 smtms joined 04:48 alanhaggai_ left, bacek__ joined 04:57 bacek_ left 04:59 cognominal_ left 05:05 bacek_ joined, xinming joined 05:06 Psyche^ joined 05:08 Patterner left, Psyche^ is now known as Patterner 05:12 cognominal_ joined 05:14 smtms_ joined, bacek__ left, Pzt left 05:19 smtms__ joined 05:20 bacek__ joined 05:21 alanhaggai joined
pugs_svnbot r21076 | putter++ | [STD_red] Added missing trait_verb:does (currently trait_auxiliary:does in STD.pm), and new role_name . 05:23
05:26 smtms left 05:29 bacek_ left, agentzh left 05:33 alester left 05:35 nekobaka left, bacek_ joined, smtms_ left 05:41 agentzh joined 05:42 FrostDog_ joined 05:43 bacek__ left 05:48 bacek__ joined
pugs_svnbot r21077 | putter++ | elfish/doc_p6types: Created. Unfinished work assimilating the new docs/p6type into the elf prelude. rhr++ 05:48
r21077 | putter++ | Signatures are faked, since docs/p6type doesn't yet have them.
05:58 bacek_ left 06:17 smtms__ is now known as smtms 06:19 FrostDog_ left
pugs_svnbot r21078 | putter++ | [elf_f] Added basic support for does() and roles. They are currently emitted identically to classes. 06:20
06:20 mncharity left 06:38 bacek__ left 06:51 scrottie left 07:03 bacek_ joined 07:14 apeiron_ joined 07:20 apeiron left 07:21 apeiron_ is now known as apeiron 07:22 elmex joined 07:23 bacek_ left 07:34 |Jedai| left 07:37 zostay left, cj left, zostay joined 07:38 moritz_ left, moritz_ joined, jan__ left, Lorn_ left 07:39 Lorn joined 07:41 apeiron left, apeiron joined 07:50 mtve left 08:02 cj joined 08:09 a-jing joined, a-jing left 08:11 cj left 08:22 japhb left, iblechbot joined 08:24 gbacon_ joined 08:25 gbacon left 08:27 japhb joined 08:31 iblechbot left 08:37 cj joined 08:48 ting joined, ting left 08:51 penk joined 08:52 vixey left, kanru left 08:53 masak joined 09:04 xinming left 09:11 BinGOs_ is now known as BinGOs 09:17 Kattana left 09:41 mtve joined
moritz_ re 09:46
09:55 jfredett joined 10:06 jfredett_ left 10:11 dmq left 10:27 ruoso left 10:35 xinming joined 10:59 ruoso joined, Kattana joined 11:09 penk left 11:24 vixey joined 11:35 chris2 joined 11:44 iblechbot joined 11:53 cognominal_ left, ruoso left 11:56 bacek_ joined 12:00 meppl joined 12:04 vixey left 12:05 iblechbot left 12:18 alanhaggai left 12:19 FurnaceBoy joined 12:22 FurnaceBoy left 12:35 bacek__ joined 12:36 alanhaggai joined 12:39 alanhaggai left 12:43 vixey joined 12:48 bacek__ left, riffraff joined 12:51 alanhaggai joined 13:01 alanhaggai left 13:02 pmurias joined 13:05 bacek_ left, smtms_ joined 13:10 jhorwitz joined, cmarcelo joined
pmurias what is the lexical scope of $/? 13:11
pugs_svnbot r21079 | pmurias++ | [elfX] removed _let_end,_let_gen,Hash.dup and fixed STD_red path
pmurias the same as if there was a my before the ~~? 13:14
moritz_ pmurias: I think it's :context<rw> or some such
pmurias moritz_: thanks 13:17
13:17 vixey left
pmurias moritz_: S02 proved you right 13:17
13:18 alester joined, smtms left
pmurias moritz_: and an implicit my $/ is context<rw> is added at the start of every block? 13:19
moritz_ that I don't know 13:20
13:20 smtms_ is now known as smtms 13:22 wknight8111 joined
pmurias what is the url of the more formal perl6 spec? 13:23
moritz_ perlcabal.org/syn/ is as formal as you can get 13:24
lambdabot Title: Official Perl 6 Documentation
moritz_ or do you mean Dlougzs ($correct name here) effort?
that would be www.dlugosz.com/Perl6/
lambdabot Title: Perl 6
13:25 vixey joined
masak hehe, I like how he very humbly calls it "Perl 6 Rigorous Technical Specification" 13:25
13:26 iblechbot joined 13:30 FurnaceBoy joined 13:31 alester left
pmurias avar: is the kp6 common-lisp backend a good source of guidance for a common-lisp backend for elf? 13:38
pugs_svnbot r21080 | pmurias++ | [elfX] removed debugging leftover 13:39
pmurias TimToady: what is the exact point an implicit my $_,$/,$! is inserted? 13:49
13:54 rdice joined 13:56 vixey left
pugs_svnbot r21081 | pmurias++ | [elfX] merged 21078 13:56
rakudo_svn r28746 | particle++ | [rakudo] refactor contextualizer code into a subroutine (DRY++) 14:01
14:05 pmurias left 14:06 TJCRI joined 14:34 pbuetow joined 14:40 pmurias joined 14:42 cognominal_ joined 14:46 peepsalot joined 14:51 slavi1 joined 14:52 r0bby left, jan__ joined 15:08 pmurias left 15:16 Lorn_ joined 15:23 Lorn left 15:32 hercynium joined 15:41 rodi joined 15:59 FurnaceBoy left 16:00 apeiron_ joined, kanru joined
TimToady @tell pmurias those variables are an intrinsic part of any block's lexpad, so must be created as soon as the lexpad is created, but just after the signature has added its lexicals, in case the signature has already inserted one of those variables (typically $_) 16:01
lambdabot Consider it noted.
16:15 apeiron left 16:23 zostay left 16:31 aindilis joined 16:35 gbacon_ is now known as gbacon 16:37 apeiron_ is now known as apeiron
rakudo_svn r28753 | pmichaud++ | [rakudo]: 16:39
r28753 | pmichaud++ | * spectest-progress update, 75 files, 1080 passing tests, 1 failing test
16:43 justatheory joined
pmichaud www.pmichaud.com/perl6/rakudo-tests...-06-27.png 16:45
Auzon very cool rakudo++ 16:46
slavi1 6.2.13.a(Perl5_stub.o): In function `stginit_export_Pugszm6zi2zi13_PugsziRunziPerl5_zdfundefValzua78GC': 16:50
does that error make any sense?
16:53 riffraff left 16:54 slavi1 left 17:00 PerlPilot is now known as PerlJam 17:01 AndyAway is now known as alester 17:02 nipotaway is now known as nipotan
pugs_svnbot r21082 | putter++ | docs/p6types: Small cleanups for r21077 - normalized foofix quoting styles (3 conventions -> 2), and commented out "method" lines which are aggregates (eg, "etc"), rather than an actual method. 17:03
17:14 drbean left 17:16 cj left 17:33 alester is now known as AndyAway 17:35 pmurias joined 17:36 masak left
pmurias pugs: $_ = 7;if (1) { $_ = 3 17:36
lambdabot pmurias: You have 1 new message. '/msg lambdabot @messages' to read it.
p6eval pugs: OUTPUT[*** ␤ Unexpected end of input␤ expecting operator or "}"␤ at /tmp/P4NnrYa0VY line 2, column 1␤]
pmurias pugs: $_ = 7;if (1) { $_ = 3 };say $_;
p6eval pugs: OUTPUT[3␤]
pmurias TimToady: shouldn't it print out 7? 17:37
17:37 rdice left
pmichaud I think that the block to a C<if> is an immediate block, so it doesn't localize $_ 17:42
17:42 justatheory left
pmurias pmichaud: only none immediate blocks do? 17:43
or doesn't -> {} do initialization to?
pmichaud I think -> {} gets a local $_
and takes no arguments 17:44
TimToady the block is really -> $_ = OUTER::<$_> {...}, and since if doesn't pass a param, it is bound to the outer $_
pmichaud ...bound or copied?
TimToady bound
or it doesn't work right
pmichaud right
so $_ = OUTER::<$_> also has an (implicit?) is rw
TimToady yes 17:45
parameters are for binding, so defaults are bound as well, despite the appearance of = 17:46
pmichaud right
except for something like is copy, I suspect
TimToady which is why we often call it pseudo-assignment
pmurias pugs: $_ = 8;my $code = -> {$_ = 5};$code.();say $_;
p6eval pugs: OUTPUT[5␤]
TimToady well, one of the reasons...
arguably wrong there, since -> implies a () sig 17:47
pmichaud pugs: $_ = 8;my $code = -> {$_ = 5};$code.(1);say $_; 17:48
p6eval pugs: OUTPUT[*** No compatible multi variant found: "$code"␤ at /tmp/jEdp1dyJUX line 1, column 31-40␤]
TimToady but pugs may be treating -> {...} as equivalent to {...}
pmichaud so, in the -> { ... } case, the $_ should not be bound to the outer $_
(which is as I remember it)
TimToady I would think not.
pmichaud okay, thanks. 17:49
pmurias TimToady: thanks for the clarification 17:50
TimToady np, mp 17:51
17:52 Coleoid left 17:53 pmurias left 17:55 drbean joined 17:58 rindolf joined
rindolf Hello boys and girls! 17:58
rindolf returned from the swimming pool.
smtms rindolf, I thought you were going to ride a bike 18:02
TimToady the two are not mutually exclusive if it's a water bike... 18:03
rindolf smtms: no, pool eventually.
TimToady: :-)
Something from #perlcafe
"On the Internet no one knows you're a female dog." 18:04
"But everyone can tell you're a Bitch."
smtms: did you see the geek pseudo-sextalk yesterday? 18:05
I'll fortune it.
Well, XML-Gram-Fortune it actually.
But I'm a lazy leech.
ls -t | head -4 | (while read T ; do tail -10000 "$T" ; done) | gvim - ==> gotta love bash. 18:07
Golf!
Bash golf!
rm -fr ~
Dangerous golf.
18:14 hercynium left
rindolf is listening to Sister Act - Oh Maria - rHASQg8fR0s 18:16
It's the best part of the movie.
18:18 cj joined
rindolf Ah, great a Hebrew song with iso-stupid-8859-8 garbage for ID tags. 18:18
Now /nowplay for you! 18:19
For one song!
No /nowplay for you!
18:20 eternaleye left
rindolf TimToady: www.shlomifish.org/humour/fortunes/...to-perlers 18:22
lambdabot Title: Shlomi Fish's Quotes as Fortunes Cookies, tinyurl.com/6jnmyl
18:28 hercynium joined
rindolf TimToady: what's up? 18:29
spinclad oh, please! 18:33
well, we just had a thunderstorm pass over, with no casualties 18:36
(unless i'm still caught in the eye)
18:36 justatheory joined
rindolf WTF? There's no one but me in #japan? 18:42
How come there are virtually no Japanese on Freenode?
smtms I think en_JP is too different to en_GB and en_US, and they just cannot understand the rest of the world 18:43
or they think IRC is an 1980's technology, and they use only technologies from the future in Japan :-) 18:44
TimToady um, it's about 4am in Japan... 18:45
[particle1 www.theonion.com/content/news/earth...ck_to_2147 18:48
lambdabot Title: Earthquake Sets Japan Back To 2147 | The Onion - America's Finest News Source, tinyurl.com/yt4egq
18:48 zamolxes joined
rindolf TimToady: ah. 18:49
TimToady: hmm...
TimToady: still, some people should be there.
Some people keep IRC open even when they sleep.
It's like there's hardly any free decent docs for Ruby in English. 18:50
And there is in Japanese.
TimToady so learn Japanese
spinclad rindolf: perhaps you're thinking of audreyt, well known for both coding and ircing in her sleep? 18:51
rindolf spinclad: heh.
spinclad: does she sleep?
TimToady: I've been thinking of Latin, Greek, German or something.
TimToady: and I need to keep up with my Written Arabic. 18:52
Written Arabic is beautiful but often counter-intuitive.
and no longer actively spoken.
My friend has a theory that in 50 years Hebrew will be the Lingua Franca of the middle east.
Not Arabic. 18:53
TimToady Japanese has the advantage of teaching you to think in reverse polish
rindolf TimToady: heh.
TimToady: I wonder if Aristotle' Prior Analytics is any less opaque in the original Greek.
Or his Metaphysics. 18:54
TimToady depends on whether you speak original Greek I imagine :)
rindolf TimToady: ancient Greek.
Greek evolved quite a bit.
TimToady that too
rindolf From Linear B. 18:55
Now modern Greek is quite incompatible with it.
TimToady: do you want to learn Hebrew?
TimToady you can read the street sings
*signs
after I'm done with Japanese and Mandarin
rindolf TimToady: ah, cool.
18:55 eternaleye joined
rindolf TimToady: can you ever be done with them? 18:55
TimToady: infi once showed me a web-site he prepared to learn Kanji. 18:56
TimToady: BTW, what's your source of income now?
TimToady once you learn Kanji you can read a certain amount of Chinese
$dayjob with Netlogic Microsystems 18:57
rindolf TimToady: I once joked that you have more $ in the bank than in your Perl code.
TimToady I'm doing the Linus trick of working for a hardware company
rindolf TimToady: ah.
TimToady eh? must be a different TimToady--my net worth is quite negative at this point.
rindolf TimToady: hope Netlogic won't fare as Transmeta. 18:58
Trance-Metal
New anti-pop music genre.
TimToady they seem to be doing very well right now
rindolf TimToady: there are over 130 Larry Walls in the USA but only one that matters.
TimToady: who? Netlogic? 18:59
TimToady actually, two of them are me, last I checked...
and at that point there were 137 of us 19:00
rindolf TimToady: www.shlomifish.org/humour/fortunes/...wall-facts 19:01
lambdabot Title: Shlomi Fish's Quotes as Fortunes Cookies, tinyurl.com/6jnmyl
rindolf Any additions will be welcome.
TimToady I leave it to other people to figure out how to harvest email and irc these days. :) 19:02
feel free to fix the capitalization and spelling of anything you find on irc from me.
rindolf TimToady: there isn't a Larry Wall junior, right? 19:03
I mean your son called that.
Do you have a son?
[particle1 yes, his name is Berlin
19:03 [particle1 is now known as [particle]
TimToady I name all my computers after famous walls 19:03
rindolf TimToady: ah. 19:04
TimToady: people called Wall?
TimToady no, famous walled cities
rindolf TimToady: or Berlin Wall? The western wall, etc.
TimToady: ah.
Do you have the Western Wall?
Auzon (wall naming scheme)++
TimToady kiev, london, beijing, edo, athens, troy, etc
rindolf TimToady: ah. 19:05
TimToady: Jerusalem.
London Wall is falling down....
Falling down.
Larry Wall will build a new one.
My fair lady!
Heh.
TimToady: I think Pugs was a mistake. 19:06
They spent too much effort on an implementation in a bad language.
TimToady you're entitled to your opinion, but every effort has taught us many things
rindolf TimToady: right.
TimToady and not just how not to do it 19:07
we have a test suite right now because of pugs
rindolf TimToady: ah.
Which Pugs fail some of the tests of it.
TimToady we now understand the synopses in much greater detail because of pugs
programming in Haskell forced us to answer some very important questions that would otherwise have never been asked 19:08
because Haskell don't stand for no nonsense... :)
rindolf I suppose 1 bird in the hand is better than 2 in the tree.
<TimToady> because Haskell don't stand for no nonsense... :) - pardon?
TimToady 1 bird in the hand *and* 2 in the tree beats the *or* version 19:09
spinclad which is good reason to revive pugs, if we can manage it
allbery_b rindolf: sloppy thinking and haskell don't mix
rindolf allbery_b: ah.
TimToady plus there are many simplifications that we noticed because of pugs 19:10
19:10 zamolxes left
TimToady so basically, thinking that pugs was a mistake is a mistake 19:11
and it could yet turn out that pugs is the best implementation once we glue in a real compiler/regex engine 19:12
rindolf TimToady: www.shlomifish.org/screenplay-xml-f...utline.txt - new O'ReillyNet article that I'd like to write. 19:14
chromatic and the OnLAMP editor did not return to me. 19:15
I've used Perl and XML.
O'ReillyNet did not have too many articles recently.
Mostly blog posts.
19:16 eternaleye left
rindolf Why can't they say "We got your email and will deal with it soon." 19:17
OTOH, an essay on my homepage was deprecated by chromatic. I feel so loved. 19:19
"My blog post was chromaticd. I pwn you as a blogger."
"My blog post was chromatic'd. I pwn you as a blogger."
TimToady: so BASIC was your first language? 19:20
TimToady no, English was my first language. :)
rindolf TimToady: I started with XT ROM BASIC, but I suppose it was something like Perl 5 was to Perl 4 for your BASIC. 19:21
BASIC has greatly evolved since Dartmouth BASIC.
TimToady: ah.
TimToady: not Chomsky's Universal language?
TimToady feh
19:21 cosimo left
diakopter rindolf: what's the name of the Parrot implementation of Intercal? 19:22
Juerd 21:04 <@TimToady> we have a test suite right now because of pugs
Very, very important.
rindolf diakopter: I don't know.
Juerd: yes, very.
Juerd: anyway, I expect that at every given time all tests will pass. 19:23
Juerd Well, there are probably bad tests too :)
Given the volume of the suite, and that pugs has never been able to even parse everything :0
:)
TimToady testrot accounts for many of those :)
rindolf TimToady: testrot...
TimToady++
How long does it take Pugs to run the entire Pugs test suite? 19:24
TimToady but a number of them were misunderstandings at the time
rindolf Because Pugs is kinda slow.
diakopter defudge should be renamed Passover...
TimToady used to run on my old laptop in about 25 minutes
rindolf TimToady: or cute bugs.
I mean implementation details.
TimToady: kinda long.
TimToady audreyt's dual core used to run them in 10 minutes 19:25
I haven't tried on my new laptop, since I haven't installed the lates ghc yet 19:26
Juerd The old feather used to take 25 minutes. The new one'd probably be faster.
TimToady first make it run, then make it run right, then make it run fast 19:27
19:27 eternaleye joined
rindolf TimToady: another problem with Pugs is that it kept requiring the latest ghc. 19:27
19:27 vixey joined
Juerd Did pugs drive GHC development perhaps? :D 19:28
TimToady shrug, you shouldn't pick on a software project when it's down
Juerd: yes, I believe some of that happened too 19:29
rindolf TimToady: "After Death - say holy." 19:32
TimToady: it's a Hebrew phrase.
TimToady Actually, I'm just about out of After Death--I've got a bottle of Mega Death now too.
just had some on my potatoes, yum. 19:33
spinclad sounds hot 19:36
TimToady of the first six ingredients, five of them are hot. Red habanero pods, cayenne chilies, white vinegar, natural pepper flavor, ancho chilies, chipotle chilies, molasses, guava nectar, fresh ginger, salt, spices.
'bout 550,000 scovilles
After Death is only about 500k 19:37
Tobasco is only about 35k
Tabasco, 'scuse me 19:38
19:38 johan` joined
spinclad tabasco i'm calibrated on -- now i can (only) imagine 19:38
19:38 johan` left
TimToady so roughly 15 times hotter 19:39
spinclad 'add 1/15 drop per 100 potatoes'
TimToady I generally only use it about one "plop" at a time 19:40
unless I really want a large endorphin kick
19:42 viklund joined
rindolf TimToady: LOL. 19:42
spinclad enjoy yr clear sinuses
rindolf TimToady+=5
"After Death"
Reminds me of that screensaver.
"After Hours"
vixey After Dark
with the flying toasters? 19:43
rindolf vixey: yes, that's the one.
Also had a nice Looney Tunes one.
"I now proclaim this computer in the name of Mars!"
(Marvin the Martian)++
vixey they were cool 19:44
rindolf I recall something about wine being able to run Windows screensavers. 19:45
spinclad "where's the kaboom? there was meant to be a case-shattering kaboom."
rindolf XScreenSaver is a pre-Autoconf hell from what I understood.
Auzon pugs: say ord(0); say ord(1); 19:48
p6eval pugs: OUTPUT[48␤49␤]
Auzon rakudo: say +"a" 19:49
p6eval rakudo 28754: OUTPUT[0␤]
Auzon rakudo: say "a" > "1"
p6eval rakudo 28754: OUTPUT[0␤]
Auzon rakudo: say "a" gt "1"
p6eval rakudo 28754: OUTPUT[1␤]
Auzon perl6: say "a" cmp "1" 19:54
p6eval elf 21082: OUTPUT[1␤]
..kp6 21082: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ ]
..pugs: OUTPUT[1␤]
..rakudo 28754: OUTPUT[1␤]
Auzon perl6: say "a" cmp 1
p6eval elf 21082: OUTPUT[1␤]
..kp6 21082: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ ]
..pugs: OUTPUT[1␤]
..rakudo 28754: OUTPUT[1␤]
19:56 justatheory left
Auzon What context does cmp use in this case? 20:03
20:03 dolmen joined
rindolf TimToady: do you have an RSS reader? 20:03
Maybe say is an operator.
Auzon: ^^^
pmichaud say is a function.
rindolf pmichaud: ah.
pmichaud: but in perl 5 all built-ins are operators.
Well, they have prototypes.
Auzon rindolf: In Perl 6, all operators are functions.
rindolf Auzon: ah, cool.
I figured so.
pmichaud (but not all functions are operators :-)
Auzon just with funny names like infix:<~>
rindolf Auzon: but they have precedence.
Auzon re precedence, yes, but so do functions. :) 20:04
rindolf Auzon: ah, nice. 20:06
Auzon: did you figure out how macros are going to change the grammar on the fly?
Would it be something like Scheme's hygienic macros?
The (define-syntax stuff?
Auzon rindolf: I haven't investigated it beyond a brief look at S02's quoting section
20:06 pmurias joined
Auzon rindolf: Have you seen my factorial operator example? 20:07
rindolf I have yet to read that featured LtU article about Scheme's macro systems.
But I want to.
vixey every macro system goes in define-syntax
rindolf Auzon: I cna understand CL's and Arc's (defmacro Or (mac but they kinda suck. 20:08
vixey there's some hygienic and some non-hygienic
defmacro is good in CL since you have multiple namespace, but that approach is not useful in scheme (with a single namespace)
(except in rare circumstances)
20:09 jhorwitz left
rindolf vixey: ah. :S 20:09
vixey: CL's namespaces kinda suck.
I prefer Perl's
vixey no they don't 20:10
rindolf Which are nested.
Well, they are flat.
vixey: BTW, I'm renaming Park to Spark and continuing to design it.
And I'll probably start working on a Parrot implemetnation.
Auzon apparently my factorial example no longer works in Pugs here. :-/
rindolf It will be a Random-Tweakers project. 20:11
20:11 rodi left
rindolf Auzon: bitrot! 20:11
Auzon Presumably so, since p6eval's environment was upgraded, and maybe Pugs was recompiled
rindolf Auzon: hmmm... 20:12
Auzon: isn't it pure-p6?
Auzon Pugs, no. Pugs is significantly Haskell
pmurias rindolf: what is Park/Spark?
Auzon anyway, here's my example: multi postfix:<!> (Int $a) {[*] 1 .. $a}; say 6!;
rindolf pmurias: www.shlomifish.org/open-source/proj...Park-Lisp/ 20:14
lambdabot Title: Documentation for the Park Lisp Dialect
rindolf pmurias: it's still incomplete.
And I haven't updated it.
Auzon: why does it have to be a multi-method?
Auzon It doesn't, but it allows another one to be declared for another signature 20:15
pmurias rindolf: if you like lisp/perl6 projects you might consider helping with a common lisp elf backend 20:16
rindolf pmurias: Common Lisp. 20:18
pmurias: thing is I think both CL and Scheme suck.
I like Lisp as a concept.
Arc is nice, but has too many implementation problems.
And missing features.
vixey Arc is not nice 20:19
rindolf I want to give a presentation to the Perl Mongers about "Foreign Languages: Lisp"
vixey: I like it.
Though I hate that "(not)" has become "(no)"
it's so non-English.
vixey it's just TCL with horrible syntax
rindolf vixey: but it's missing a lot of exciting features. 20:20
pugs_svnbot r21083 | pmurias++ | [pixie] support for keeping arbitrary stuff inside {*} blocks and storing in in an external (to STD) filenot yet used/properly tested but i'm comiting as i rm it once before ;)
rindolf Which PG deemed (sp?) as unnecessary.
Doesn't look like the 100-years language to me.
Which is why - Spark!
pbuetow hmm. 20:21
pmurias why not just write an s-expression p6 dialect?
rindolf pmurias: could be. 20:22
pmurias: it's another approach.
But some things make sense in Lisp and not in p6.
For example, Perl does not like to use + for string or list concat.
While Python does and it seems to be OK in Arc too. 20:23
And in CL you have (concatenate) (yuck!).
pbuetow (((hehe)))
pmurias + for strings sucks 20:24
Auzon seconded.
vixey rindolf: If you don't like CONCATENATE you can just rename it
rindolf vixey: yeah. 20:25
20:32 vixey left, vixey joined
rindolf vixey: but I'd rather not rename concatenate because then people won't understand my code. 20:35
vixey: as TimToady said people hate abstractions.
vixey yes they will rindolf
rindolf They want things to work out of the box. 20:36
vixey A program is many many totally newly defined procedures
just renaming one thing is nothing in the context if a big program
rindolf vixey: "let's spend 3 days creating a new language, and 1 day implementing the solution with it." 20:37
TimToady if it would take 10 days without the new language, it's worth it 20:39
rindolf TimToady: yeah.
TimToady: but this is the CL mentality.
vixey no it's not
rindolf Sometimes you can take 1 day to write an API.
vixey CL is too diverse you cannot generalize like that
rindolf vixey: I meant a common idiom there. 20:40
I think I'll /quit and do something productive.
Like work on Spark.
pugs_svnbot r21084 | pmurias++ | [elfX] fixed simple bugs actions, simple actions insertion/extraction roundtrip work 20:41
pmichaud pugs: my $b = (1,2); say $b.WHAT;
vixey another quote:
p6eval pugs: OUTPUT[Array␤]
vixey how to write any computer program in two easy stages:
Design and implement the programming language which would be best for solving the problem.
Write the program in the language you’ve just implemented.
pmichaud pugs: my @b = (1,2); say @b.WHAT;
p6eval pugs: OUTPUT[Array␤]
rindolf vixey: or just use Perl which is the best for everything.
pugs_svnbot r21085 | rhr++ | [p6types] shuffle methods around
pmichaud pugs: my @a = (1,2,3); my @b = (4,5); push @a, @b; say @a.elems;
p6eval pugs: OUTPUT[5␤]
rindolf vixey: J/K.
vixey heh 20:42
pmichaud pugs: my @a = (1,2,3); my $b = (4,5); push @a, $b; say @a.elems;
p6eval pugs: OUTPUT[4␤]
TimToady the second step is obvious--the best language for the job is one that does the job on a null input
pmichaud notes that vixey's algorithm is somewhat recursive 20:43
TimToady "All rules of thumb are false, including this one."
pmurias rindolf: when you feel like writing Common Lisp backends, contact me or mncharity ;)
rindolf I wish my shlomif addresses didn't get banned from perl.org. 20:44
And I cannot effecitvley talk to ABH.
pmurias: ah.
pmurias rindolf: ABH = ? 20:45
rindolf pmurias: Ask Bjoern Hansen.
There's also Robert.
Spier IIRC. 20:46
In the Internet banning, kicking, etc. someone is so effortless so people abuse it too much. 20:47
I hate it when people say "Spam" to something low-quality, or flamatory.
Or that they refer to banning someone as kicking.
pmurias kicking people in real life definitly requires more effort 20:48
rindolf www.google.com/search?hl=en&c2c...tnG=Search - WTF?
pmurias: well, kicking on IRC is not like kicking IRL. 20:49
pmichaud okay, I'm a little confused again. I'm trying to get rid of a rakudo cheat but I'm missing an important piece
rindolf You can tell this person to shut up.
TimToady isnt that what a /kick means? :)
pmichaud if we have "my @b = (4,5)" and "my $b = (4,5)", both @b and $b have type Array
but push @foo, @b and push @foo, $b have different results 20:50
TimToady yes, well $b is technically Scalar of Array, i suppose
pmichaud ok, so $b is Scalar of Array
TimToady Scalars stay scalar in list context 20:51
pmichaud but what controls the flattening or non-flattening here?
ohhhhh
20:51 Kenichiro joined
pmichaud that could make it very easy :-| 20:51
20:51 Fieldy joined
Kenichiro Wanna Play Fun RPG game ? /q me or join #HypeRPG 20:51
pmichaud thanks.
TimToady commuting & 20:52
pmurias got to leave
20:52 pmurias left 20:54 t joined 20:55 Fieldy left, cj left 20:56 Kenichiro left
dolmen perl6: my @a = [ 1, 2 ]; @a.delete(1); @a.perl.say; 20:57
p6eval elf 21085: OUTPUT[[1]␤]
..kp6 21085: OUTPUT[syntax error at position 39, line 1 column 39:␤my @a = [ 1, 2 ]; @a.delete(1); @a.perl.say␤ ^ HERE␤]
..pugs: OUTPUT[\(\(1, 2),)␤]
..rakudo 28758: OUTPUT[[[1, 2]]␤]
dolmen perl6: my @a = [ 1, 2 ]; @a.delete(0); @a.perl.say;
p6eval elf 21085: OUTPUT[[undef,2]␤]
..kp6 21085: OUTPUT[syntax error at position 39, line 1 column 39:␤my @a = [ 1, 2 ]; @a.delete(0); @a.perl.say␤ ^ HERE␤]
..pugs: OUTPUT[\()␤]
..rakudo 28758: OUTPUT[[]␤]
rindolf TimToady: yes. 20:59
21:00 japhb left, t left 21:08 eternaleye left
pugs_svnbot r21086 | Auzon++ | [gsoc_spectest] Added more cmp, leg, and <=> tests. Tested the values of Order::*. Added some tests for explicitly disallowed Perl 5 syntax. (added 14 tests) 21:08
r21086 | Auzon++ | Also removed some unneeded smartlinks and updated formatting in general.
dolmen in rakudo, where is implemented the operator [] for arrays?
pmichaud it's currently given as PAST::Val keyed_int node 21:09
src/parser/actions.pm:972 21:10
(or thereabouts -- I have a locally modified copy of actions.pm at the moment) 21:11
21:16 justatheory joined
pmichaud uh oh, rakudo doesn't know Order:: yet. 21:24
dolmen what is Order:: ?
pmichaud that's what gets returned by the various comparison ops
Auzon Order::Increase, Order::Same, Order::Decrease numify to -1, 0, 1 in that order 21:25
21:25 AndyAway is now known as alester
pmichaud 'a' gt 'b' returns Order::Increase 21:25
dolmen ok
pmichaud sorry, 'a' cmp 'b' returns ...
Auzon erm, pmichaud, I thought that returned Bool::True
yeah
pmichaud right, wrong op :-)
I may just cheat Order:: for now :-) 21:26
21:26 TJCRI left
pmichaud otherwise we fail the spectest_regressions ... 21:26
Auzon I don't know what they need to do other than numify properly 21:27
pmichaud I _really_ wish we had automatic email of changes to pugs svn repo. 21:28
dolmen they have to perl-ify properly too
pmichaud it would be much easier to keep track of changes
(to the spec tests) 21:29
otherwise I start getting spectest_regression failures and I have to go track it down.
dolmen I have created S02-builtin_data_types/range yesterday and it fails 21:32
pmichaud it may be fixed soon :-)
the one I'm having trouble with at the moment is S04-declarations/multiple.t 21:33
I'm getting a failure and I don't know if it's because the test changed or if it's something I did.
(but please don't take this as an indication that I don't want the test files to change.. I'll gladly hunt down changes if it means the test suite is improving, which it is) 21:34
(I just wish pugs svn was sending me email notifications about it :-)
dolmen how do you get verbose output of tests? 21:35
'make localtest' is too quiet
pmichaud there's not a really good way to do it. 21:36
dolmen It doesn't say which test failed
pmichaud normally I just run them directly
Auzon Same here 21:37
pmichaud (doesn't say which test failed) depends on what version of T::H you have.
(Test::Harness)
on my system it tells me which tests failed
Auzon If I'm testing fudge, I'll do something like: ../../parrot perl6.pbc `fudge blah blah`
pmichaud I typically do ./parrot perl6.pbc t/spec/S00-whatever/foo.t
or
./parrot perl6.pbc t/spec/S00-whatever/foo.rakudo 21:38
dolmen you mean 'parrot perl6.pbc t/spec/...
?
:)
pmichaud yes, but I'll choose the .t or .rakudo test as appropriate
(the .rakudo version of the is the fudged version) 21:39
*of the test is ....
(can't type. argggh!)
21:40 chris2 left 21:45 eternaleye joined 21:51 rindolf left
Auzon was not aware that {my $x; my $x} was legal 21:52
21:53 alester left
TimToady yes, what you cannot do is { $x; my $x } since the first $x is bound to an outer $x 21:56
Auzon so sub foo ($x) {my $x} is invalid?
TimToady perhaps only because the signature's declaration of the lexical is readonly, which conflicts 21:57
note that the compiler is allowed to warn about {my $x; my $x} unless you say proto $x up front. 22:00
but it's just a warning, and both $x's are the same $x 22:01
so we don't have to figure out scopes of the form "here to the end of the block"
Auzon Yeah, makes sense 22:02
TimToady especially when looking up the dynamic stack
and since {$x; my $x} presumably captures a link from $x to $OUTER::$x on the first $x, we can note the collision 22:03
pugs_svnbot r21087 | pmichaud++ | S04-declarations/multiple.t: rakudo doesn't understand "state" yet 22:11
rakudo_svn r28762 | pmichaud++ | [rakudo]: 22:13
r28762 | pmichaud++ | * Clean up handling of Array, eliminate Arrayref cheats
22:17 wknight8111 left 22:26 hercynium left
pmichaud my @array = [ 1, 2, 3 ]; # does @array have 3 elements, or 1? 22:28
22:28 hercynium joined
pmichaud perl6: my @array = [ 1, 2, 3 ]; # does @array have 3 elements, or 1? 22:29
p6eval elf 21087: RESULT[[1,2,3]␤]
..kp6 21087: OUTPUT[substr outside of string at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MP6Runtime.pm line 98, <> line 1.␤substr outside of string at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MP6Runtime.pm line 98, <> line 1.␤substr outside of string at
..compiled/perl5-kp6-mp6/l...
..pugs: RESULT[\(\(1, 2, 3),)]
..rakudo 28762: RESULT[[1, 2, 3]]
22:29 hercynium left
dolmen pugs: say 1..5 ~ 3; 22:29
p6eval pugs: OUTPUT[1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253␤]
dolmen pugs: say 1..5 ~~ 3;
p6eval pugs: OUTPUT[␤]
dolmen pugs: say (1..5) ~~ 3; 22:30
p6eval pugs: OUTPUT[␤]
dolmen pugs: say Bool::True;
p6eval pugs: OUTPUT[1␤]
dolmen pugs: say ((1..5) ~~ 3);
p6eval pugs: OUTPUT[␤]
dolmen pugs: say ((1..5) ~~ 3).WHAT;
p6eval pugs: OUTPUT[Bool␤]
dolmen pugs: say !((1..5) ~~ 3);
p6eval pugs: OUTPUT[1␤]
pmichaud (note that ~~ is not commutative.)
dolmen pugs: say Bool::False;
p6eval pugs: OUTPUT[␤]
dolmen pmichaud, yes, I'm checking that in S02-builtins/range.t 22:31
(not yet committed)
pmichaud ...you're checking that ~~ is not commutative? 22:32
dolmen no
I want to check that "(1..5) ~~ 3" fails
pugs: say (3 ~~ (1..5)).perl; 22:33
p6eval pugs: OUTPUT[Bool::False␤]
dolmen pugs: say (3 !~~ (1..5)).perl;
p6eval pugs: OUTPUT[Bool::True␤]
dolmen pugs: say (3 ~~ (4..5)).perl; 22:34
p6eval pugs: OUTPUT[Bool::False␤]
pmichaud rakudo: say (3 ~~ (1..5)).perl
p6eval rakudo 28762: OUTPUT[Bool::True␤]
dolmen pugs: say ((1..5) ~~ 3).perl;
p6eval pugs: OUTPUT[Bool::False␤]
dolmen rakudo: say ((1..5) ~~ 3).perl; 22:35
p6eval rakudo 28762: OUTPUT[get_number() not implemented in class 'Range'␤current instr.: 'parrot;Int;ACCEPTS' pc 1897 (src/gen_builtins.pir:1327)␤]
dolmen this is ok
pmichaud haven't implemented that part yet, but it'll return "5"
dolmen why 5?
pmichaud because that's the numification of a range containing 5 elements
dolmen rakudo: say (+(1..5) ~~ 3).perl; 22:36
p6eval rakudo 28762: OUTPUT[get_number() not implemented in class 'Range'␤current instr.: 'prefix:+' pc 11636 (src/gen_builtins.pir:7754)␤]
dolmen rakudo: say (+(1..5)).perl;
p6eval rakudo 28762: OUTPUT[get_number() not implemented in class 'Range'␤current instr.: 'prefix:+' pc 11636 (src/gen_builtins.pir:7754)␤]
pmichaud pugs: say +(1..5)
p6eval pugs: OUTPUT[5␤]
pmichaud pugs: say +(6..14)
p6eval pugs: OUTPUT[9␤]
dolmen ok
pugs: say (+('a'..'zz')); 22:37
p6eval pugs: OUTPUT[702␤]
dolmen pugs: say (+('a'..'ab')); 22:38
p6eval pugs: OUTPUT[28␤]
pmichaud when the second operand to ~~ is a number, then it's the same as doing ==
dolmen pugs: say (+('0'..'f')); 22:39
p6eval pugs: OUTPUT[10␤]
dolmen pugs: say (('0'..'f'));
p6eval pugs: OUTPUT[0123456789␤]
22:41 Kattana left 22:42 zostay joined
TimToady pugs: say (1..9).WHAT 22:43
p6eval pugs: OUTPUT[Array␤]
TimToady note that pugs doesn't implement Range yet
22:46 peepsalot left 22:50 alester joined
pugs_svnbot r21088 | dolmen++ | More Range tests. 22:50
r21088 | dolmen++ | Rakudo TODOs:
r21088 | dolmen++ | - .ACCEPTS for Range
r21088 | dolmen++ | - numification of Range
dolmen karma dolmen 22:56
22:57 viklund left
dolmen pmichaud: is ":vtable('get_integer')" the numification? 23:00
pmichaud :vtable('get_number'), actually
TimToady @karma dolme
lambdabot dolme has a karma of 0
pugs_svnbot r21089 | lwall++ | [STD] removed redundant regex_ from Regex:: names
TimToady @karma dolmen
lambdabot dolmen has a karma of 6
pmichaud (it needs to work for get_integer also, yes :-)
TimToady: if you have a moment, my question above: my @a = [1, 4, 10]; causes @a to have one element or three ? 23:01
TimToady one
pmichaud yay
thanks.
TimToady := would make three
pmichaud right
okay, I'm happy happy happy about that
dolmen :)
pmichaud so then 23:02
TimToady most p5 programmers will also be happy about that :)
pmichaud my @array = [ 11 .. 15 ];
is(@array[0].elems, 5, 'arrayref has 5 elements');
is wrong
(from t/spec/S02-builtin_data_types/flattening.t)
23:02 Kattana joined
TimToady why? it has a [0] 23:02
pmichaud oh
so it does
okay, never mind then 23:03
I misread the test :-(
thanks again
dolmen it is misleading
TimToady was there just a buzzing in the air around here?
pmichaud I don't know. I know there's a lot of background events at my house right now :-|
TimToady now to implement :i... 23:04
(or not use :i in STD.pm :)
pmichaud oh, I see where I went wrong. I don't have postcircumfix:<[ ]> implemented on Range yet. 23:05
or... hrm.
I'll figure it out in a bit.
dolmen I could do it 23:06
well, if it is in actions.pm, if fact no. 23:08
s/if/in/
I see no references to keyed_int in Array.pir 23:11
how is keyed_int implemented? 23:12
is it a Parrot or PCT builtin?
23:12 eternaleye left 23:21 cggoebel left
dolmen elf: my $a = (1..20)[3]; 23:23
p6eval elf 21089: OUTPUT[Can't use string ("1E0") as an ARRAY ref while "strict refs" in use at (eval 117) line 3.␤ at ./elf_f line 3861␤]
dolmen perl6: my $a = (1..20)[3]; 23:24
p6eval elf 21089: OUTPUT[Can't use string ("1E0") as an ARRAY ref while "strict refs" in use at (eval 117) line 3.␤ at ./elf_f line 3861␤]
..kp6 21089: OUTPUT[syntax error at position 6, line 1 column 6:␤my $a = (1..20)[3]␤ ^ HERE␤]
..pugs: RESULT[\4]
..rakudo 28763: OUTPUT[get_pmc_keyed() not implemented in class 'Range'␤current instr.: '_block11' pc 55 (EVAL_14:25)␤]
23:26 Pzt joined 23:35 cmarcelo left, japhb joined 23:44 mjk joined 23:48 audreyt left