svn switch --relocate svn.openfoundry.org/pugs svn.pugscode.org/pugs/ | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com
Set by avar on 16 November 2006.
00:00 ezraburgh joined 00:03 diakopter joined
TimToady diotalevi: bit resent 00:07
assuming you want it sent to the same gmail address... 00:08
perlDreamer well, I've done a little digging into the tests by running the smartlink script and I've come up with a question.
are commas required after a pointy block, and if so, where in the spec does it say that?
TimToady commas are required after all normal arguments, and that includes the first argument to grep and map and such now. 00:10
well, not after the final argument, of course...
zgh oh i get it now, the question was comparing to what perl5 does with prototype tricks... 00:11
TimToady anyway, blocks used as arguments are no longer magical.
zgh i was confused
perlDreamer TimToady: were they at one point?
zgh in perl5 they were
TimToady yes, at the beginning of Perl 6 they were also magical.
but we decided it was more important to have consistent curly policy 00:12
especially at the ends of lines.
it generally means you never have to remember which blocks require semicolons after them and which don't.
perlDreamer that's convenient
TimToady comma in grep and map was a small price to pay for that. 00:13
after all these years, I still can't keep it straight in C which kinds of block are which.
perlDreamer I barely even learned C. Perl was too useful
TimToady and it was rapidly going to become untennable in a language that can be extended with new block types.
zgh in perl5 though it's FUN 00:14
although a bit restricting
TimToady untenable, even
zgh how true
perlDreamer I'll see if a similar test exists elsewhere, and either remove the smartlink or point it to the correct docs then
TimToady many of the seemingly weird rules in Perl 6 serve similar extensibility purposes. 00:15
the fact that postfix requires the absence of whitespace, for instance.
perlDreamer: that's cool. the smartlinks are in a state of partial completion currently
zgh perl6 is scary extensible. the toolkit for perl5 is fairly small in that regard, but now that I'm used to it perl6 syntax seems almost terrifyingly mutable 00:16
TimToady the basic realization was that perl 6 is not one language, but many 00:17
zgh yes! cpan is the langauge! i love that.
er s/au/ua/ or something
TimToady and many places where Perl 5 was busting at the seams can be looked at that way.
perlDreamer do you mean that perl6 is like Hoch Deutsch (High German) with lots of regional dialects?
diakopter a thought I had yesterday - is perl6 mutable enough that a pragma could be written that would allow perl6 to compile other languages? 00:18
TimToady perhaps more like IndoEuropean...
zgh i've been playing with domain-specific languages and higher-order stuff in perl5 and from here the seams are quite visible
TimToady indeed.
diakopter: yes, that is the intent
use APL; 00:19
!!&*&R*WER&W*ERQ(Q@&#$%($#$
zgh boy APL has gotten more readable!
when did that happen?
TimToady that was just unrelated line noise :) 00:20
zgh TimToady: oh good ofr a second I thought I spotted a syntax error ;)
TimToady cat sat on the keyboard, and cat's hind end doesn't know APL... 00:21
anyway, point is that "all is fair if you predeclare", and we realized that means your current dialect. In fact, I realized this for Perl 5, but did a lousy job of designing for it. Good enough to inspire CPAN though... 00:23
diakopter wonders how much of CPAN will be refactored and reimplemented anyway, even though most of it is probably usable for perl6 programs. 00:24
TimToady if it only gets everyone to add a version number and naming authority to every longname, that will be progress. 00:25
all source filters should at least be refactored to use grammar munging and macros.
the business of reparsing Perl N times, one for each source filter, is for the birds. 00:26
zgh prefers aggresive prototype trickery to source filters.
not that I can do as much....
TimToady prototypes also needed a lot of fixing. 00:27
mainly by scrapping them and putting in a real type system and MMD
diakopter wonders what happened to the Phalanx 100 00:28
TimToady and making evaluation lazy enough not to commit to whether @foo will be in scalar or list context till binding time.
diakopter how does one use the evalbot here 00:30
TimToady ?eval 1+1 00:31
00:31 evalbot_r14941 is now known as evalbot_r14942
evalbot_r14942 2 00:31
perlDreamer ?eval @a = ("one" -> $x { $x**2 }, "three") 00:32
evalbot_r14942 Error: ␤Unexpected "->"␤expecting operator or ")"
TimToady -> is not an infix
perlDreamer TimToady, can you please translate that to chip designer from language designer? 00:33
TimToady ?eval @a = ("one", -> $x { $x**2 }, "three")
evalbot_r14942 ["one", ->{Syn "block" {App &infix:** (: Var "$x", 2)}}, "three"]
TimToady it means you have to put a comma before it. :)
perlDreamer cool, thanks
svnbot6 r14943 | perlDreamer++ | fix broken smartlink and tests that were removed 00:39
diakopter karma perlDreamer 00:40
jabbot diakopter: perlDreamer has karma of 3
00:40 lisppaste3 joined
perlDreamer in WebGUI, karma is good for implementing RFE's 00:41
zgh off to a good start I'd say
perlDreamer what is karma good for here?
zgh karma zgh
jabbot zgh: zgh has karma of 16
zgh ooh!
you'll overtake me quick
svnbot6 r14944 | perlDreamer++ | fix broken smartlink about prefixes
diotalevi Thanks for commit bit resend TimToady. Got it. 00:46
00:46 diotalevi left
svnbot6 r14945 | perlDreamer++ | fixed broken smarklink that used to refer to mandatory plus instead of colon 00:48
01:21 mjk joined
perlDreamer karma perlDreamer 01:37
jabbot perlDreamer: perlDreamer has karma of 5
svnbot6 r14946 | perlDreamer++ | refix point block smartlink
r14947 | perlDreamer++ | fix spelling error in comments
diakopter karma perlDreamer
jabbot diakopter: perlDreamer has karma of 7
perlDreamer muy interesante 01:38
svnbot6 r14948 | perlDreamer++ | Fixed broken smartlinks related to nested subpattern/subrule captures. 02:01
02:02 diakopter joined 02:14 weinig is now known as weinig|bbl
perlDreamer TimToady: Are you still awake? If I find something in the Synopses that is causing the smartlinks lookup to fail, is it okay to change the POD? 02:18
zgh perlDreamer: precedent says "yes" 02:19
if it's really wrong it's okay to fix it
perlDreamer It's just whitespace, I think 02:20
have a peek:
80(P):101(e):114(r):108(l):194(�):160(�):53(5):32( )
80(P):101(e):114(r):108(l):32( ):53(5):32( )
That's the ordinal followed by the actual character
That's the string "Perl 5" from S03's head1 "Changes to Perl 5 operators" 02:21
TimToady It's using non-breaking space there. 02:29
diakopter so perhaps the smartlink matcher could convert the match string to match spaces or non-breaking spaces 02:30
TimToady makes sense to me.
using nbsp there makes the pod a lot more readable than other ways of preventing people having to read about Perl 02:31
5
or, for that matter, Perl 02:32
6
on the other hand, I recently discovered that PerlMonks translates it to ordinary space instead of  , which I find irritating. 02:33
gotta go cook dinner & 02:34
perlDreamer Thanks for the help.
Juerd TimToady: Probably because of their rather strict views on browser width resizability
TimToady: They even wrap code blocks to a user-configurable width 02:36
TimToady: Which by default is <80 :(
02:37 riffraff joined
riffraff hello 02:37
sorry bout the dummy question but I was experimenthing with perl6 through pugs and there is something I don't understand: +@lst is supposed to give me the length of an array, right? 02:38
perlDreamer are there any unicode hackers online tonight? 02:43
TimToady I'm still wandering in and out while I try not to burn dinner... 02:46
riffraff: yes, that is correct.
Juerd: I don't think turning Perl 6 into a 6-letter word is hazardous to their word-wrap policy... 02:47
It's just they don't really believe in Unicode yet. 02:48
riffraff ok, then if @foo is a list of lists, shouldn't sort { +$_}, @foo return the list sorted by size of the elements/lists?
TimToady yes, it should 02:49
perlDreamer goes looking for the sort synopsis/apocalypse
TimToady except, you still have the problem that the return value is sorted as a string 02:50
I don't think pugs recognizes that {+...} sorts as numeric yet.
riffraff ah! here's the problem of course, thanks a lot
TimToady so length 11 sorts before length 2 02:51
riffraff yup, I understand 02:53
perlDreamer so how would one ask Perl to include utf8 in \s (in Perl 5)? 02:55
02:56 pstickne joined
perlDreamer so that I can make smartlinks.pl work with utf8 characters in the P6 synopses? 03:00
TimToady It already is, I think. 03:01
perlDreamer We'll try the straight-forward approach then 03:02
TimToady well, maybe not.
needs a "use utf8;" 03:03
no, wait, that's only for the literal I put in.
should work already on normal data from the outside...checking...
need to make sure the filehandle is reading it in as utf8 03:06
perlDreamer it's getting more fun. The smartlinks data structure contains strings used as hash key lookups into a parse tree of the Synopsys POD. 03:07
I need to have my arms all the way around it first
diakopter oops. sorry I assumed the strings were feeding a regex. :/ 03:08
perlDreamer some of them are
so it has to do both
maybe it's easier to translate the incoming data from utf8 to ascii 03:09
so long as the output is preserved correctly.
either that, or we embed the nbsp in the smartlink and annotate it so that people don't get fooled
riffraff mh.. I guess pugs does not support typed containers / GADT at the moment, am I right? 03:10
TimToady if the smart links are patterns, then use . maybe. 03:13
riffraff: I think most of that is waiting on MO integration 03:14
riffraff nice to know, thank you again 03:15
perlDreamer TimToady: that would work except for the hash keys lookups. We could write a whitespace tolerant tied hash... 03:16
diakopter waits for TimToady to whip up a whitespace-tolerant tied hash and nopaste it 03:18
svnbot6 r14949 | perlDreamer++ | This test's smartlink did not have errors, except for a UTF8 03:28
r14949 | perlDreamer++ | non-breaking character. Be on the lookout for this near Perl 5
r14949 | perlDreamer++ | and Perl 6 in section headers and literal text.
diakopter karma perlDreamer 03:29
jabbot diakopter: perlDreamer has karma of 11
diakopter karma TimToady 03:34
jabbot diakopter: TimToady has karma of 38
svnbot6 r14950 | perlDreamer++ | more UTF8 whitespace in smartlinks
diakopter karma audreyt
jabbot diakopter: audreyt has karma of 2761
03:35 nipra joined
perlDreamer do pugs people prefer topical commits (all changes from 1 set of changes in 1 commit) or file based commits (change 1 thing in 5 files with 5 commits)? 03:35
TimToady pugs people prefer commits 03:45
perlDreamer TimToady: Are you pretty familiar with the Synopses? 03:53
03:53 mrossetti joined, mrossetti left
perlDreamer Is the table of smart matches exhaustive? 03:53
for example, I don't see where this case is spelled out 03:59
%hash5 ~~ "foo"
which to me looks a lot like Hash Junction hash key slice existence 04:00
TimToady that's just a Hash/Any 04:03
And, um, yes, I'm pretty familiar with the Synopses... 04:04
I know many of the authors... 04:05
perlDreamer Cool.
You're in the authors file. 04:06
That makes twice in ten years that you've helped me.
Thank you
TimToady yer welcome twice then.
perlDreamer the last time was on comp.lang.perl (actually longer than 10 years ago) 04:07
From UUNET to IRC. I wonder what the next 10 holds...
TimToady lots of surprises, I don't doubt. 04:08
04:25 nipra joined 04:28 Salzh joined 04:29 araujo joined 04:47 ezraburgh joined 04:51 dolmans joined
svnbot6 r14951 | perlDreamer++ | all existing smart links resolved 05:04
r14952 | perlDreamer++ | remove smart links cleanup from t/TASKS 05:07
perlDreamer karma perlDreamer 05:47
jabbot perlDreamer: perlDreamer has karma of 14
perlDreamer not bad for day 1. Thanks to all for your help and patience.
06:20 ashleyb joined 06:31 dduncan joined, ashelyb_ joined 06:43 nipra joined 06:45 bonsai joined 07:27 beppu joined 07:43 BooK joined 07:52 RHainsworth joined, RHainsworth left 08:04 Kattana joined 08:10 xinming joined 08:12 Belaf joined 08:14 Jedai joined
xinming hello, Please.. anyone here would give me a suggestion on using irssi through a good proxy? >_< It's really a pain which is living without irc. 08:16
08:21 xinming_ joined 08:22 xinming__ joined 08:40 iblechbot joined 08:51 kisu joined 08:59 kanru joined 09:00 RHainsworth joined, RHainsworth left 09:35 RHainsworth joined, RHainsworth left 10:01 autark_ joined 10:13 RHainsworth joined 10:17 elmex joined 10:29 RHainsworth joined 10:36 RHainsworth joined 10:48 RHainsworth joined 10:52 luqui joined 11:00 chris2 joined 11:06 iblechbot joined 11:14 ferreira joined 11:20 elmex_ joined 11:26 RHainsworth joined, RHainsworth left 11:29 hugues23 joined 11:34 pmurias joined
pmurias karma pmurias 11:34
jabbot pmurias: pmurias has karma of 11
11:34 pmurias left
dduncan karma my 11:39
jabbot dduncan: my has karma of 1
dduncan karma karma
jabbot dduncan: karma has neutral karma
dduncan karma dduncan 11:40
jabbot dduncan: dduncan has karma of 16
11:42 RHainsworth joined, RHainsworth left
ofer0 karma ofer0 11:42
jabbot ofer0: ofer0 has neutral karma
ofer0 karma jabbot
jabbot ofer0: jabbot has neutral karma
11:56 RHainsworth joined 11:58 RHainsworth left, elmex joined 12:11 ayrnieu joined 12:12 dduncan left 12:17 elmex_ joined 12:18 iblechbot joined 12:19 ferreira left 12:20 TSa joined 12:21 RHainsworth joined 12:28 RHainsworth joined 12:32 riffraff joined
riffraff hi everyone 12:32
dummy question: why sort() defaults to stringification oredering instead of relying on <=> ? 12:34
luqui well, which one should it rely on? 12:36
<=> is numeric..
riffraff I thought <=> was a multi operator defined for every kind of class.. and if it's not defined an error seems reasonable as default (i.e. can't order Complex numbers) 12:38
luqui hmm, spec* ?
(that would certainly make me happy) 12:39
12:39 RHainsworth left
riffraff you mean "where do I got this idea?" sadly, I don't know, possibly I made it up :/ 12:40
luqui I'm looking it up
<=> is the numeric one 12:41
leg is the string one
cmp is the generic one
see S03, line 430
TSa HaloO Luke
luqui hello TSa 12:42
riffraff indeed it says that sort should default to cmp
luqui wonders about 3 cmp "40"
er, 30 cmp "30"
etc.
TSa depends on how &infix:<cmp>:(Int,Str) is defined 12:44
luqui yeah, that's what I wonder about
TSa Hmm, does it numerify the Str or does it stringify the Int
luqui I have always wanted Int to be a subtype of Str 12:45
(which would imply stringification of Int)
riffraff I hope it raises an exception
luqui but I think I was argued out of that at some point
TSa in your example it doesn't matter
luqui right, I didn't want to think hard enough to come up with an example where it did :-)
TSa Int <: Str ? why that
luqui that's essentially what all the autocoersion complexity is doing
just say "every string that looks like an Int is an Int" 12:46
ahh, that be the problem. pugs thinks cmp is string comparison 12:47
?eval 30 cmp 4
12:47 RHainsworth joined, evalbot_r14942 is now known as evalbot_r14952
evalbot_r14952 -1 12:47
TSa I think numerifying the Str is saner 12:48
how should a string like 'blah' be handled? 0 or NaN? 12:49
luqui TSa, exactly...
'blah' is not an int
but '42' is
so if you say 'blah' + 3, it ought to be an error
but I guess some people might have a problem with that (I wouldn't) 12:50
TSa is NaN an exception? Or would NaN + 3 just maintain the NaN? 12:52
luqui I think it behaves like Nullity ;-)
(i.e. maintain the NaN)
13:01 buetow joined
svnbot6 r14953 | luqui++ | Bring pugs up-to-date on cmp and sort semantics. 13:31
13:32 metaperl joined
metaperl after downloading audreyt's ghc-6.6 for macosx, how do you install it? 13:33
ok cool, the INSTALL instructions were for a binary install. they appear to have worked 13:38
Juerd TimToady: :) 13:44
13:57 ofer0 joined 14:17 metaperl left 14:24 Nei joined 14:35 Jedai joined 14:42 diakopter joined 15:02 weinig|bbl is now known as weinig 15:13 nipra joined 15:29 xdg joined 15:48 AtomicStack joined 16:15 weinig is now known as weinig|bbl 16:22 cognominal joined 16:35 bernhard joined 16:59 larsen_ joined 17:24 Schwern joined
gaal 4homepages.cwi.nl/~ralf/JavaGI/ 17:51
lambdabot Title: JavaGI: Generalized Interfaces for Java
gaal s/^4//
17:52 tumulus joined
tumulus hello! 17:52
If I may, I have a Perl 6/Pugs question that arose out of a typo
4++ gives an error as expected, but ++4 does not - is that Perl 6 magic I've not found in the synopses, or just a pugs bug? 17:53
17:53 andara joined
tumulus ?eval 4++ 17:53
17:53 evalbot_r14952 is now known as evalbot_r14953
evalbot_r14953 Error: Can't modify constant item: VInt 4 17:53
tumulus ?eval ++4
evalbot_r14953 4
gaal looks like a bug to me. could you add a test please?
(do you have a commit bit?)
tumulus surely can, but no :-) 17:54
gaal so /msg me your email address please
you need to be registered in freenode to do that 17:55
tumulus doh!
gaal yeah :(
tumulus well, marty at cpan.org should work fine :-)
gaal invitation sent :) please add yourself to AUTHORS 17:56
tumulus thank you
gaal youwelcome 17:58
you're welcome
i gotta vamoose for a bit
svnbot6 r14954 | andara++ | [runpugs] 18:09
r14954 | andara++ | -be kind to feather: better management of preloaded sessions.
r14954 | andara++ | Please test the devel version: feather.perl6.nl:8080/runpugs/
r14954 | andara++ | -fixed non-interactive runpugs, now at
r14954 | andara++ | feather.perl6.nl:8080/cgi-bin/runp6script
lambdabot Title: Run Perl 6 Now -- in your browser!
svnbot6 r14955 | tumulus++ | Adding my name to check commit bit
lambdabot Title: Run Perl 6 Now -- in your browser!
svnbot6 r14956 | tumulus++ | test pre/post inc/decrement on literal values 18:14
18:16 weinig|bbl is now known as weinig
diakopter does anyone know if goto is implemented in pugs? 18:16
tumulus I believe goto sub is, but goto label isn't 18:25
diakopter found another bug with the smartlinks 18:45
18:45 Schwern joined
diakopter andara: are you there 19:12
andara diakopter: yes, though on&off 19:20
diakopter is runpugs doing window/tab-close detection? I wrote a .js that has a onunload handler that reliably detects window/tab close events in firefox and ie with no false positives. you could use it to send a background get/post to a url that notifies the server to kill a runpugs session that's no longer wanted. 19:22
(we use it at work to detect closed windows to kill persistent websphere sessions) 19:23
andara diakopter: that sounds great. At the moment runpugs doesn't detect window/tab close. It just times out and then cleans up.
diakopter oh. how long is the timeout
andara diakopter: 10' at the moment -- had to check that :-) 19:25
diakopter: your script would be really helpful. Could you add it to the repository? 19:27
diakopter of course, you could have it trigger the killsession post on every onunload, since you can probably assume that if someone is navigating to another page from the same window/tab, they probably don't want to retain their runpugs session.
whereas with standard web applications, you can't really assume that
although, I'm not sure how runpugs works - does it do posts/reloads or background ajax
19:28 cognominal joined
andara diakopter: it uses post in a hidded inline frame 19:28
diakopter ah
andara s/hidded/hidden/
one of the TODOs is to use proper AJAX :-)
diakopter I'm not sure if an enclosed iframe causes the parent to do onunload 19:29
www.ajaxtoolbox.com/request/source.php is my favorite drop-in xmlhttprequest-only api. 19:30
lambdabot Title: Ajax Toolbox / XMLHttpRequest AjaxRequest Library / Source
andara diakopter: have to go now. I'd very much like to have a look at your script. cheers! 19:31
diakopter ok. i'll nopaste it sometime when you're around
andara ok, thanks. 19:32
pasteling "diakopter" at 64.79.206.82 pasted "js window/tab closing onunload handler" (24 lines, 1.5K) at sial.org/pbot/22051 19:40
20:00 justatheory joined 20:02 justatheory joined 20:04 Southen joined 20:13 ravehanker joined 20:15 araujo joined 20:18 weinig is now known as weinig_
ravehanker Show off your Programming Skills and Walk away with 1000USD on new year's eve! go to opc.kurukshetra.org.in 20:18
lambdabot Title: Online Programming Contest
20:21 ravehanker left
Juerd Fscking spammers 20:22
21:17 andara left
svnbot6 r14957 | Ovid++ | Add comments to show a better solution when subsets are available. 21:24
r14958 | Ovid++ | Solve permutation problem
21:25 Traveler4 joined
svnbot6 r14959 | Ovid++ | Oops. Some of the auto-generated tests didn't compile. Fixed. 21:25
21:26 Traveler4 left 22:22 Schwern joined 22:29 nipra joined 22:37 perlDreamer joined 22:39 Aankhen`` joined 22:47 dduncan joined
perlDreamer There is a note in t/operator/inc.t:Verify that addition/subtraction properly upgrade to doubles. 22:47
These tests are only significant on machines with 32 bit longs,
and two s complement negation, but should not fail anywhere.
is this a pugs-ism or is it Perl 6?
sorry, is that upgrade to doubles particular to pugs, or is it for all implementations of perl 6? 22:48
22:50 weinig_ is now known as weinig 22:59 thseiler joined 23:02 luqui joined 23:03 Psyche^ joined 23:10 weinig is now known as weinig|bbl
svnbot6 r14960 | luqui++ | Tpyo in runpugs help. 23:17
23:19 Psyche^ is now known as Patterner
perlDreamer ?1+2 23:47
lambdabot Unknown command, try @list
perlDreamer @list
lambdabot www.cse.unsw.edu.au/~dons/lambdabot/COMMANDS
perlDreamer ? 1+2
dduncan ?eval 1+2 23:49
23:49 evalbot_r14953 is now known as evalbot_r14960
evalbot_r14960 3 23:49
dduncan perlDreamer, that's how you do it
perlDreamer ah, thanks 23:50
allbery_b gotta be careful, at least two bots respond to leading ? (but lambdabot only speaks haskell, not perl)
perlDreamer ?eval |('a','b','c')
evalbot_r14960 ("a", "b", "c")
perlDreamer ?eval $aa = |('a','b','c'); say $aa 23:51
evalbot_r14960 OUTPUT[a b c␤] Bool::True
TimToady why didn't it require a "my", I wonder... 23:53
?eval $x = 1 23:54
evalbot_r14960 \1
luqui weird
TimToady maybe it's non-strict
luqui is that even implemented?
?eval use strict; $x = 1
TimToady used to always complain without my
evalbot_r14960 Error: *** Unsafe function 'use' called under safe mode␤ at -e line 16, column 7-68
luqui aww
perlDreamer ?eval ($aa) = |('a','b','c'); say $aa 23:55
evalbot_r14960 OUTPUT[a␤] Bool::True
perlDreamer ?eval ($aa) = ('a', 'b', 'c'); say $aa 23:56
evalbot_r14960 OUTPUT[a␤] Bool::True
perlDreamer interesting
TimToady | would be a no-op there
luqui ?eval ('a','b','c') === <a b c> # easier to write
evalbot_r14960 Bool::True
perlDreamer there's a test (t/operator/splat.t) that uses that syntax. 23:57
maybe it's not such a good test :)
23:59 Psyche^ joined
TimToady the | operator really only makes a difference when interpolating into a capture context that has to lazily decide where the argument boundaries are. 23:59