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 | dev.pugscode.org/
Set by putter on 11 February 2007.
00:17 lichtkind joined 00:18 forsaken joined 00:19 forsaken joined
specbot6 r14315 | larry++ | made "my Any $x; $x := [1,2,3]" a little dwammy (do what audreyt++ means :) 00:22
lichtkind haha dwammy :) 00:25
00:29 forsaken joined 00:49 offby1 joined 00:58 mako132_ joined 01:12 nipotaway is now known as nipotan 01:18 theorbtwo joined 01:19 Pomin joined
specbot6 r14316 | larry++ | Clarifications requested by TheDamian++ 01:26
r14316 | larry++ | Defined ++ and -- in terms of .succ and .pred so I could write s[] = $0.succ
01:37 gogo407 joined 01:45 amnesiac joined 01:49 rashakil joined 02:08 amnesiac joined 02:12 rhr_ joined 02:20 dmq joined 02:36 coumbes joined 02:42 rhizo joined 02:50 rhr_ is now known as rhr 03:03 vel joined 03:07 tcliouAway is now known as tcliou 03:25 macli_ joined 03:42 daxim joined 03:52 Schwern joined
svnbot6 r15513 | daxim++ | more install requirements 03:55
03:59 b00t joined
specbot6 r14317 | larry++ | Module longnames now specified in terms of ident plus adverbials. 04:42
obra TimToady: ping. re your S02 update, it would seem to complicate how CPAN marks beta versions
usually, a "developer only version" gets marked as 1.2.1_01. You'd now need the extended syntax to do that, no?
TimToady well, it's true that we don't have a good story for prerelease numbering yet, but I think the _01 remnant of the old floating point versions is even boguser 04:46
specbot6 r14318 | larry++ | typo spotted by TimToady++ :/
TimToady placeholder digits are a code stench in version numbers 04:48
logically, what we'd really want is negative versions: v1.2.-1.1, but that's not terribly practical culturally either 04:49
one could make a rule about inserted alphas always driving the preceding number "negative" with respect to nonalpha numbers, and I suppose 1_01 can even be justified on that basis if you ignore the placeholder 04:50
obra *nod* I'm totally happy to kill _01. It's led to all sorts of insanity. 04:51
TimToady more generally, the alphas tend to be surreal discontinuities of some sort or other
obra . o { 1.2.6*i could show that it was an imaginary or "developer" release } 04:52
obra ducks
TimToady but we could say that 1.2.1.foo.1 always sorts before 1.2.1.0, give or take a dot
but perhaps some of what alphas are used for these days should go out of band into :foo form anyway 04:53
:nickname<Brickbat> 04:54
obra isn't sure how that feels 04:55
the nice thing about the _01 convention is that it makes it very easy to mark something as an alpha and very easy to undo it.
TimToady gets dicey as to whether it's part of the official longname
obra And it's very important to be able to see it when understanding what bogus versions of things a user has deployed
With RT, we have an in-app view of all loaded module versions with Module::Versions::Report. having that information not available in the longname would likely be painful 04:57
TimToady 1.2.1alpha3 is a common format, but I could see adding more dots by convention
1.2.1a3, 1.2.1.a3 you also see
1.2.1a.3 is often mistaken for a followup to 1.2.1 rather than preversion 04:58
obra *nod* thought the explicit "alpha" is deprecated by the cpan machinery.
Most developers have switched to using an _<int> 04:59
since CPAN.pm is hardcoded to ignore those versions when doing autoinstalls
TimToady 1.2.1_3 has an alpha in the middle, and if we assume alphas insert . on either side as needed
it doesn't matter if they write 1.2.1_03, it still means 1.2.1._.3
obra Ah. I wasn't parsing _ as pronounced "alpha". Got it
TimToady question is whether to sort _ before or after a, b, g 05:00
probably before is simpler 05:01
assuming asciibetical
so _ is prealpha
obra ..yeah. that makes sense to me.
TimToady alpha, beta, gamma works, but not delta
one problem is that _ might be read as a digit separator so 1_3 would be read as 13 05:02
esp when written 1_03
so we'd have to outlaw _ as digit separator there, I think 05:03
obra *nod*
05:03 ayrnieu joined
TimToady I'll have to work on S02 a little more I guess... 05:05
obra Sorry about that ;)
TimToady But not very sorry. :) 05:06
obra Only a tiny little bit sorry.
are unicode values legitimate in versions? 05:07
TimToady 1.2.1Ī± 3 05:08
obra Version(pi * 2)
obra wishes for a unicode-capable irc client
TimToady why not, they probably even sort nicely as long as you stick to small greek letters
irssi is unicode capable 05:09
obra There's something odd with my irssi+screen config
TimToady do you have LANG=en_US.UTF-8 05:10
05:10 jesse__ joined, jesse__ is now known as obra2
TimToady recent screen and irssi should do the right thing as long as that's set and your terminal does the right thing with utf8 05:11
obra (let's see if irssi without screen behaves)
05:11 bradb joined
TimToady screen has a -U switch to force utf8 mode, though I don't need it here with LANG set right 05:13
obra Yep. Locally, utf8 in my terminal is 100% ok. sshing to my colo box causes things to not work quite right. 05:14
obra digs further
TimToady what kind of box is your colo? 05:15
obra The colo is a somewhat older debian box. setting LANG appears to make catting files in chinese remotely behave ok
now to try within screen
05:16 bsb joined 05:18 jesse__ joined
daxim we ā™„ utf-8 05:20
jesse__ beats at irssi 05:23
ōæ½xC2ōæ½xA9 05:24
TimToady did you mean to include an A hat? 05:25
jesse__ I did not.
I should likely go test somewhere less annoying. It was a frowny
TimToady I think that's typical utf8 vs latin-1 confusion
05:25 bradb left
jesse__ nods 05:25
TimToady try screen -U?
might be an older version that doesn't look at LANG 05:26
jesse__ I'm actually working sans-screen for the moment
Oh. hm. my irssi is a couple years old. 05:27
ā˜ŗ 05:35
TimToady 恊悁恧ćØć†ć”ć–ć„ć¾ć™ļ¼ 05:36
jesse__ (I can't yet _see_ unicode data sent by others, but the right thing happens on input, looks like 05:37
TimToady hmm, if I had to choose one or the other, I think I'd rather see it 05:38
jesse__ I won't rest until I can see it. But writing was just one flag ;)
specbot6 r14319 | larry++ | Definition of version sorting order. 05:41
05:41 jesse___ joined
ayrnieu I can only reliably see unicode in Emacs. 05:42
jesse___ 份å›ŗ體ę”Ŗꋌå™Ø! 05:43
(There are very few idiomatic phrases I have at my fingertips in traditional chinese. Thank god that 'concrete mixer' is one of them.)
miyagawa Hm, ę”Ŗꋌå™Ø 05:44
05:44 jesse____ joined
jesse____ ę”Ŗꋌå™Ø? 05:45
miyagawa sounds like a mixer.
TimToady kakuhanki 05:46
ayrnieu a nice one for perl6 might be 'yi ri qian li' (lit. one day thousand miles), which expresses rapid progress in the way you'd expect.
jesse___ Thank god. now I can see all the discussion of the Ā„ operator 05:47
05:47 Zorkmid25 joined
Zorkmid25 WoW sucks 05:47
obra ;)
ayrnieu zorkmid - it has a decent extension language. 05:48
05:49 Zorkmid25 left
gaal morning 05:55
obra 'morning gaal
gaal hey obra
is irc.pugscode.org down for you guys too? 06:13
06:14 BooK_ joined
TimToady it doesn't ping from here 06:23
I've never used that machine for IRC though. 06:24
svnbot6 r15514 | lwall++ | New unified module name notation. No longer need separate rule for wildcards.
06:24 revdiablo joined
gaal okay, I really don't understand the candidate sorting thing :( one strategy I tried is to assume the sort had already run, in which case I can assign each candidate in retrospect a rational number representing their position. or rather, because of ties and nonassociativity, say that the result isn't a sort of candidates, but a sort of sets of candidates; and that the algo succeeds when the greatest set is a singleton. right? 06:24
TimToady: it's only logs, really hosted on colabti.de or something
so in audreyt's 3-element example, the sort results in: [{b}, {a, c}], which successfully chooses b 06:26
06:26 forsaken joined
gaal what I don't see is how to give {a,c} an ordering against other candidates 06:27
06:28 ayrnieu joined
gaal that is, I have Sig -> Sig -> Ordering, but how do I lift that to Set Sig -> Set Sig -> Ordering? 06:28
TimToady I think if two sets overlap they are probably involved in a cycle 06:29
gaal TimToady: one use for it is that browers tend to have better unicode font support than my terminal; sad but true :/
overlap in the simple sense of share a member? 06:30
TimToady a shame colabti defaults to latin-1...
gaal yes it's really stupid. I considered writing a greasemonkey script for it :) 06:31
06:31 bsb left
TimToady either all of the one set's members are better that all of the other sets, or they are all in the same set, perhaps. 06:31
06:33 jisom joined
gaal TimToady: but consider audreyt's example (do you have it in scrollback)? 06:34
we know b>a, but we don't know b>c
however presumably we are still to choose b, right?
TimToady I don't see why we'd choose any of them. 06:40
but maybe that's because my eyes are going crossed...
gaal We need someone who has an intuition for this to give some examples... 06:42
06:46 GabrielVieira2 joined 07:07 yhsuan__ joined
gaal hee, oleg and ccshan are releasing a typesystem arithmetic library 07:11
audreyt gaal: uh sorry 07:13
gaal hey audreyt
audreyt the idea is that a is preferable to c 07:14
but a and b are tied
with only 3 candidates
we know the whole thing is doomed
since regardless of c/b's result, all of them are already marked non-winner
gaal okay, a slightly more elaborate example would be very useful then...
how is something marked non-winner? the fact that it's tied with somebody else? 07:15
audreyt or it's lost to something else
gaal okay. any comments on the proposed introduction of rationals? does it help in any way?
audreyt backlogging... 07:16
after a night's sleep I believe the easiest algorithm is to maintain a queue of "still hopefuls" which is initially all of it
gaal in a *successful* sort, the ordering has to be coherent, right
audreyt at each step we pick two items from the queue 07:17
compare them; if they tie, both are removed. if one loses, that one is removed
repeat this until the queue is either empty or left with one
if it's empty, we fail
if there's only one, compare it with everything that it has not been compared to
if it still wins, it wins
otherwise we still fail
I think it's a good, if a bit imperative, algorithm 07:18
and at the "compare the only candidate with everything it has not been compared to", we fail as soon as there is a tie, or if the candidate fails
think you grok that?
gaal yes :) though implementing this in haskell may be surprisingly more difficult than most other algos 07:19
audreyt runST may be useful if absolutely needed :) 07:20
gaal *nod*
audreyt but it can be made functional too...
gaal I'd love a test case
audreyt I'll get you one
gaal audreyt++
audreyt in fact, I'll get you a quickcheck 07:21
gaal :))
audreyt sleep++ # nothing cures insomnia as effectively as sleeping 07:22
gaal hehe. I'm feeling muchly better too
though still wobbliness > 0 07:23
audreyt discovers a clever way to write quickcheck instances 07:26
gaal ooh?
audreyt quickcheck generates random Int 07:27
we only use the bottom 16 bits
so actually they generate Int16
to generate Ordering 07:28
we take two Int16
put the smaller one at front
concat the bits into a 32-bit Int
use that as seed to System.Random.StdGen
get the random number
and use (`mod` 3)
to determine Ordering
gaal lol
audreyt that should get you a large number of very weird graphs :) 07:29
gaal audreyt++
07:30 rfordinal joined
gaal wonderful technique, I look forward to plag^H^H^H^Hfurther researching it in the future 07:30
audreyt :D 07:32
gaal I'm assuming it's okay to add an Eq constraint to a... 07:36
though that's probably implied by Set already, isn't it? 07:39
07:42 marmic joined
audreyt quickcheck done 07:43
yes. also if it's easier just do [a]
07:43 jisom_ joined
audreyt instead of Set a that's fine too 07:43
gaal doesn't matter much... 07:44
audreyt Set then 07:45
07:48 iblechbot joined
audreyt committed 07:54
surprisingly compact :)
# svn.pugscode.org/pugs/misc/pX/audre...ispatch.hs 07:55
svnbot6 r15515 | audreyt++ | * qc-dispatch.hs: quickcheck for dispatch
audreyt so fill in "dispatch" :)
gaal thanks, working on it :) 07:58
svnbot6 r15516 | audreyt++ | * er, typo.
mj41 hi, I forgot my svn passwd (username rootmj) :-(. 08:04
08:04 jisom joined 08:05 jisom left, jisom joined 08:21 rindolf joined
audreyt mj41: hi, what's the email you used for svn? 08:21
(I didn't get your /msg; forgot to identify?) 08:22
08:22 elmex joined
mj41 audreyt: rootmj_konf <nspm> seznam.cz 08:23
gaal grrrr, I thought I had it but it's still wrong... 08:24
audreyt mj41: password re-sent 08:28
mj41 audreyt: thanks 08:29
08:33 forsaken joined 08:36 stevan_ joined 08:41 drrho joined
svnbot6 r15517 | rootmj++ | [util/PaP6-testing] 08:43
r15517 | rootmj++ | * fix sleeping between "svn up"s if other confs are skipped
gaal audreyt: mind taking a look? I don't see what's wrong here
pasteling "gaal" at 192.115.25.249 pasted "dispatch try" (49 lines, 1.6K) at sial.org/pbot/23352 08:44
08:44 the_dormant joined
mj41 audrey: new passwd didn't work, but I found computer, where I saved old one :-) 08:46
audreyt mj41: so old one worked? 08:48
evidently :)
mj41 audrey: yes
audreyt cheers then :) 08:50
gaal: LT == 08:51
08:52 dolmans joined
audreyt not GT /= 08:52
in the List.partition line
oh wait hm
why not use the (x:y:zs) way?
not sure partition is a win
because when x is tied, you don't want to dispatch better 08:53
instead I'll compare x against y
gaal oh, right
audreyt if one wins, then dispatch it along with zs
if neither, then zs
gaal audreyt++
audreyt :) 08:54
of course that means we duplicate comparison at the verify stage
but we can worry about that later
just got it qc first :)
gaal yy
audreyt food, bbiab
08:56 xern joined
gaal qc++ 09:07
svnbot6 r15518 | gaal++ | * dispatcher passes QuickCheck
gaal (shower >>= first_nondoc_excursion_in_a_week) & 09:10
as for pruning the double-verify thing, I think simply changing "filter" to "takeWhile" should help 09:26
&
09:26 lichtkind joined 09:28 jrockway joined 09:36 lisppaste3 joined 09:57 devogon joined 10:33 elmex joined 10:34 elmof joined 10:35 elmof joined
gaal how do I use quickCheck to give me n simple random inputs? 10:40
audreyt heya
gaal hi :)
s/filter/takeWhile/ seems corrcect
I just want to get an impression of length . catMaybes . map dispatch some_sample 10:41
not that it's meaningful
audreyt replicateM 10 arbitrary 10:42
gaal @index replicateM
lambdabot Control.Monad, Control.Monad.Reader, Control.Monad.Writer, Control.Monad.State, Control.Monad.RWS, Control.Monad.Identity, Control.Monad.Cont, Control.Monad.Error, Control.Monad.List
audreyt you can run the gen monad with 10:43
generate 0 (mkStdGen 0)
so
list_of_ten = generate 0 (mkStdGen 0) (replicateM 10 arbitrary)
gaal hehe: 10:44
generate 0 (mkStdGen 0) (replicateM 10 (arbitrary :: Gen Sig))
[MkSig 0,MkSig 0,MkSig 0,MkSig 0,MkSig 0,MkSig 0,MkSig 0,MkSig 0,MkSig 0,MkSig 0]
audreyt lol
ok, maybe not
takeWhile is correct. 10:45
gaal when the numbers are not 0 it looks better
audreyt though that is still extra comparison
gaal is it? I though it's still about n 10:46
audreyt maybe dispatch' can accum
gaal consider the case where the head is the evenutal winner
audreyt hm no, not gonna help
gaal it's sure n then
audreyt yeah. you're right
let's go with that
gaal++
gaal @index catMaybes 10:48
lambdabot Data.Maybe
audreyt I get 10 Nothing out of 100
obtained by
verify Nothing = trace "nothing" Nothing
and count the number of nothing on screen
another 10 from 10:49
dispatch' [] = trace "all-tied" Nothing
oh wait 10:50
they are the same, aren't they.
12 succeeded
10 all-tied
gaal if they are, then we have another shortcut to moose
(I think)
audreyt 78 ruled-out-at-verify-stage
gaal no actually, the nothing just propagates
speaking of which, my verify is really ugly isn't it? 10:51
audreyt already done
simpler at code level if not actually faster
svnbot6 r15519 | audreyt++ | * another shortcut to moose
gaal :-)
how are the stats with 10,000 samples? 10:52
just wonderin'
(bettter remove the trace)
oh wait you count via trace
hehe, change to Either and you can report the error. <3 monads 10:53
.oO( s/candlist/candy/ )
10:54
audreyt tidied up. 10:57
now works with arbitrary monads
gaal you beat me to it, as usual :) 10:58
audreyt and "verify" is gone, hence no longer ugly -- we get the result ex nihilo
svnbot6 r15520 | audreyt++ | * more code tidying
audreyt :D
but this looks good enough
gaal++
gaal buildfail
audreyt no way...
gaal oh, no 10:59
stale ghci moose
audreyt just warning
gaal well, the prop_dispatch still assumes Maybe 11:00
audreyt sure 11:01
gaal brb
audreyt bbiab too 11:04
gaal oh, when you said extra comparisons and accum you meant the == check in takeWhile.. yes, an accum can fix that. fixing
fixed 11:08
Patterner gaal++ 11:09
gaal audreyt++ really :)
Patterner audreyt++ # sure :) 11:10
svnbot6 r15521 | gaal++ | * avoid the takeWhile tests entirely by accumulating spoilers during scan 11:11
gaal is x:xs cheaper than xs ++ [x]? because the order of spoilers doesn't matter so there's a possible small optimization here :) 11:12
(istr that yes, (:) is generally better) 11:13
svnbot6 r15522 | gaal++ | * accumulate spoilers list in reverse, since it order doesn't matter 11:17
r15522 | gaal++ | anyway and this is possibly more efficient.
11:21 elmex joined 11:27 fglock joined 11:41 polettix joined 11:42 ruoso joined 11:50 jiing joined
gaal on large sets there are almost only failures 12:03
not that that means anything etc.
what's more noteworthy is that it takes a while to run on 1000 samples. but: this is in ghci, and I didn't break down the set sizes yet. 12:05
12:06 chris2 joined
gaal oh, heh, it's on enormous Sigs. 12:06
fglock mm - perl 5.9.4 doesn't seem to have the new regex syntax - trying bleadperl 12:07
gaal okay, with saner sigset sizes the match hit rate is expectedly much, much higher 12:09
12:09 b00t joined
gaal let samp = generate 10 (mkStdGen 3432) (replicateM 1000 (arbitrary :: Gen [Sig])) 12:09
12:09 Psyche^ joined
gaal the "10" controls the sigset size 12:09
I think it's a cap 12:10
12:19 BooK joined 12:23 Psyche^ is now known as Patterner
fglock oops - pugs uses PCRE instead of p5 - m:P5/(?<x>foo)/ fails 12:25
audreyt: I'm adding %+ to Match in Pugs::Compiler::RegexPerl5 12:29
12:32 ayrnieu joined
fglock ugh - p5 named captures are also positional - this will need some extra work 12:34
gaal oh, my accumulator's bogus, since it just gathers everything. 12:38
fglock what I really needed was: /(a)(?<named>b)/ generated an array of names like [ undef, 'named' ], matching the positions in @- and @+ 12:39
svnbot6 r15523 | gaal++ | * revert bogus optimizations 12:41
audreyt fglock: I can get pugs to use p5rx too... would that help you in some way? 12:42
12:43 ruoso joined
fglock audreyt: that's just for completeness, so people can use the new p5 syntax 12:44
I'm still studying the new p5regex, in order to box the result into Match 12:45
12:45 nipotan is now known as nipotaway
fglock audreyt: you can use Pugs::Compiler::RegexPerl5, which does p5regex->Match 12:46
same API as normal PCR
p5regex->Match will likely need some p5-internals work 12:50
I wonder if p6 could allow :PCRE as well as :Perl5 12:54
audreyt well it could, but perl5 can use PCRE already too in 5.10 :) 12:55
re-engine-PCRE :)
fglock oh, right :) 12:56
wolverian hrm, an ADHD support concert was cancelled here because the main performer had too many things to do. life, stranger than fiction. 13:00
13:01 the_dormant joined, BooK_ joined 13:04 Limbic_Region joined 13:10 rindolf joined 13:17 the_dormant left, the_dormant joined 13:18 bonesss joined 13:33 BooK joined 14:15 iblechbot joined 14:40 GabrielVieira2 is now known as GabrielVieira 14:42 pnu joined 14:43 DrSlump joined
DrSlump hello 14:43
audreyt DrSlump: greetings
DrSlump hello Audrey
14:50 vel joined 14:51 IllvilJa joined
gaal hey audreyt, how's the color? 14:55
(only 1k new red was pretty impressive!) 14:56
audreyt down too 900ish 15:02
but working on @slides now
you want to look at the patch-so-far and maybe chase down some of the errors? 15:03
it's in perlcabal.org/~audreyt/tmp/patch-so-far 15:04
svnbot6 r15524 | audreyt++ | * More gold-plating of qc-dispatch.
audreyt I need to go back working on slides...
gaal are they relaed to missing newvals mostly?
audreyt be back to hacking in ~12 hours
gaal sure, have fun
audreyt :) &
15:17 buetow joined
svnbot6 r15525 | gaal++ | * tidy up rules related to DrIFT 15:17
15:19 DebolazY joined 15:20 devogon joined 15:22 bonesss joined 15:29 kanru joined 15:30 ruoso joined 15:32 DebolazX joined 15:35 chris2 joined, meppl joined 15:56 elmex joined 16:06 elmex joined 16:07 [particle] joined 16:25 gnuvince joined, gnuvince left 16:26 riffraff joined
riffraff hello 16:26
16:26 VanilleBert joined 16:31 fglock joined
fglock @tell dmq: any ideas on how to get from/to information (like in $-[$n]/$+[$n]), given a perl5.10 named capture? 16:36
lambdabot Consider it noted.
integral there's not %+ %-?
args yes, that's it 16:37
see the module Tie::Hash::NamedCapture for the full docs
but be sure your checkout of bleadperl is not older than one hour ago 16:38
fglock the module seems to return the captured text only - but not where in the string did it match 16:39
args no 16:40
fglock re.xs has this information internally, but I don't see how to access it
args you mean the matching index pos? 16:41
dmq: alive ?
fglock yes
args fglock: @+ and @- ?
fglock @+ does contain the information, but I need to know which index corresponds to each name 16:42
args yes, that's the problem. 16:43
integral sorry, I see, %-/%+ aren't at all like @- and @+, my mistake 16:45
16:45 amnesiac joined 16:47 DHGE joined 17:17 macli joined
TimToady the design of @+ and @- was a botch from the start. parallel arrays are almost never the right answer. 17:28
args I don't like them either. 17:29
they're great for obfuscation, though :)
17:32 awwaiid joined
TimToady and from a user perspective, *I* can never remember which one is the start and which one is the end. 17:33
one can set up the metaphor either way 17:34
17:37 fridim joined
masak mm, feather down? 17:41
17:43 [particle] joined 17:46 Jedai joined
TimToady no, been up 95 days 17:50
just logged into it 17:51
[particle] is :ver<*> or :auth(*) valid? 17:52
hrmm, maybe (*) has to be (Any) since it's a type
TimToady :ver(*) is valid
I suppose :ver<*> is valid if :ver<6.2.*> is valid 17:53
[particle] re ver: that's what i figured
TimToady but maybe it needs (v6.2.*)
[particle] (v*)
TimToady (Version) 17:54
17:54 justatheory joined, rindolf joined
TimToady but likely the string form can recognize * 17:54
[particle] i expect omitting :ver<something> implies :ver<*> 17:55
TimToady what we don't have currently is a good notation for 6.2.3+
[particle] use a range
allbery_b @remember TimToady We're trying very hard to make different mistakes this time, and I believe we're succeeding. :-)
lambdabot Done.
allbery_b (6.2.3-*)? 17:56
[particle] i've run into this multiple times with perl 5
supporting only specific package versions, since an api changed
17:56 explorer joined 18:02 ruoso joined 18:11 VanilleBert left
svnbot6 r15526 | audreyt++ | * qc-dispatch: Improved dumpCmp to show all combinations, not only 18:18
r15526 | audreyt++ | comparison to the first element.
r15526 | audreyt++ | Also optimize the algorithm somewhat to avoid recomparison on the
r15526 | audreyt++ | two-sigs case.
18:18 penk joined 18:21 kanru joined 18:33 the_dormant joined 18:34 broquaint is now known as broquaint-test, broquaint-test is now known as broquaint, bernhard joined
specbot6 r14320 | larry++ | Further clarification of version syntax as requested by geoff++ and others. 18:36
18:37 dec_ joined, gnuvince joined
obra TimToady: +alphabetic, and that alphabetic is defined according to Unicode, +not ASCII. 18:38
isn't unicode sorting a strict superset of ASCII?
TimToady sure, just because it's not defined according to ASCII doesn't mean it isn't consistent 18:40
obra Ok. It felt a tiny bit confusing, as I tried to figure out how it wasn't ASCIIbetical. But that works 18:41
18:43 jisom joined, jisom left, jisom joined
TimToady well, my basic rule of thumb is that if something gets misread, it's the writer's fault. :) 18:46
specbot6 r14321 | larry++ | Clarification suggested by obra++.
r14321 | larry++ | v-style now allows * and + wildcards for convenience.
obra it's a fair rule of thumb. But dangerous around these pedantic Perl-people 18:47
but yes, the "just" makes it better.
Can I stick a wildcard in the middle of a version?
[particle] still wonders about v* and v+ 18:48
TimToady you can stick a *, but it seems a bit odd semantically 18:49
obra evil: especially useful if I can say: conflicts wiht v1.*.0
TimToady a + is only allowed at the end
(currently)
obra *nod* seems reasonable 18:50
TimToady I suppose at some point you break down and just write a regex for a selector...
though the dots are a problem in regex
obra Yep.
[particle] sure, but Version could metasticize dots 18:51
er... escape, anyway
TimToady would be a bit odd for a Version to reach into a regex selector and change its meaning. Regexes aren't strings anymore... 18:52
I think we can let huffman deal with that situation. :) 18:53
[particle] consider a Version grammar
that generates regexes
TimToady okay, I considered it
[particle] :)
svnbot6 r15527 | lwall++ | Tracking recent version syntax changes. 18:54
TimToady gotta get ready for $job 18:55
bbl &
obra Yep./win 8 18:57
mischan. sorry
rindolf Where does TimToady work? What does he do there? 18:59
offby1 Secret Perl Labs 19:00
[particle] he works for a hardware company, and designs perl 6 19:07
19:07 andara joined 19:11 explorer joined
moritz
.oO(perl 6 in hardware? cool ;-)Oo.
19:11
[particle] well, regex in hardware, anyway 19:12
moritz are regexes turing complete? *g* 19:13
[particle] perl 5 and 6 are
*regexes are
not sure abouc pcre 19:14
19:18 Belaf joined
riffraff awk's are not,a DFA suffices for them 19:23
xerox riffraff (: 19:26
19:28 explorer joined
riffraff hei xerox :) 19:31
19:32 fglock joined 19:37 the_dormant joined
svnbot6 r15528 | lwall++ | nameroots are now just data 19:39
20:07 wrac joined, the_dormant joined 20:10 wrac left
GeJ morning lambdamōæ½xF8ōæ½xF8ses 20:32
moritz feels like a gammaelk ;) 20:33
20:41 elmex joined 20:44 koye joined 20:55 ludan joined 21:07 the_dormant joined 21:12 Aankhen`` joined
masak ?eval say [1].perl 21:22
evalbot_r15525 OUTPUT[[1,]ā¤] Bool::True
masak is the comma meant to be there?
it's not there in longer lists
?eval say [1,2,].perl
evalbot_r15525 OUTPUT[[1, 2]ā¤] Bool::True
21:23 gnuvince left, Schwern joined
moritz masak: I guess it's there to calrify that it's a list 21:40
s/cal/clar/ 21:43
masak moritz: ah yes, that actually makes sense, thx
moritz np 21:44
21:46 larsen_ joined
masak moritz: what might it otherwise be confused with? 21:48
moritz I don't know... scalars? 21:49
masak hm
maybe through some rule along the lines of $scalar === [$scalar], in that case 21:50
moritz ?eval 1.perl
evalbot_r15525 "1"
moritz ?eval [1].perl 21:51
evalbot_r15525 "[1,]"
TimToady the comma is superfluous inside [] but not inside ()
the only other possible source of confusion is reduce operators
and infix:<1> is discouraged. :)
masak TimToady: :) 21:53
I still have trouble handling lists in perl6 21:54
21:54 offby1` joined
masak how does one do @array = @$arrayref in perl6? 21:54
21:55 buetow joined
masak ?eval $a = [1,2,3]; my @b = @$a; @b.perl 21:56
evalbot_r15525 "[1, 2, 3]"
masak :/
allbery_b hm? 21:57
PerlJam masak: @b = $a; should work fine.
masak ?eval $a = [1,2,3]; my @b = $a; @b.perl 21:58
evalbot_r15525 "[[1, 2, 3],]"
masak nope
that is what confuses me
I want @b to end up being "(1, 2, 3)"
allbery_b ?eval my @a = (1, 2, 3); @a.perl 21:59
evalbot_r15525 "[1, 2, 3]"
masak heh
allbery_b looks right to me
masak it does
PerlJam yeah, [1,2,3] and (1,2,3) are essentially the same.
allbery_b p6 makes the whole references vs. values thing a bit more consistent
masak ok, so far it only serves to confuse me 22:00
allbery_b thus resolving quite a bit of confusion common in perl5
masak I think the p5 model is consistent :)
PerlJam But that @b=$a behavior is weird.
masak: perl6 doesn't have references :-)
masak PerlJam: that actually explains a lot
so how are lists able to contain arrays? 22:01
allbery_b perljam: I believe that's specced. you gave it a scalar, it was promoted to a single-element list
PerlJam allbery_b: That may be the case, but it's still weird :)
gaal ?eval $a = [1,2,3]; my @b = @($a); @b.perl
allbery_b (in rder to match the list context)
evalbot_r15525 "[1, 2, 3]"
gaal PerlJam: is it weird? @b = 42 puts 42 in slot 0; @b = $a puts $a in slot 0. 22:03
allbery_b ==gaal
the only way it doesn't "make sense" is if you expect perl5 behavior. but this isn't perl5 :) 22:04
PerlJam gaal: Sure, in that context it makes sense, but in the context of references disappearing in p6 it seems weird. i.e., $a = @b and @a = $b seems like they should be symmetric
pasteling "masak" at 130.238.83.176 pasted "I'm trying to implement a powerset coroutine in perl6, but running up against to many or to few list containers all the time. Help appreciated" (21 lines, 492B) at sial.org/pbot/23367 22:05
PerlJam er, $a = @b; @b = $a;
you know what I meant :)
masak: as a tangent, it looks like you should be using coro powerset([$head, *@tail]) { ... } # assuming I remember the syntax there. 22:06
masak er, s/to many/too many/ and s/to few/too few/...
gaal > let powerset = filterM (const [True, False]) in powerset [1,2,3] 22:07
lambdabot [[1,2,3],[1,2],[1,3],[1],[2,3],[2],[3],[]]
allbery_b they are symmetric int he sense that imposing scalar context on an array gives you the array itself (what p5 would call a reference), while imposinbg an array context on a scalar gives you a single-element list
masak PerlJam: good idea. what about the case when the incoming list is empty?
PerlJam masak: that's what multi is for :)
masak PerlJam: multi coro? sexy
masak tries 22:08
btw, I still don't quite know what the splat is doing there in *@tail
anyone have a simple explanation? 22:09
allbery_b making sure the list is unwrapped in place instead of becoming a 2nd element which is itself a list? 22:10
gaal masak: f(@a, @b) passes two args to f
allbery_b doesn't actually recall
damn drugs making me fuzzy :/
gaal f(@a, *@b) passes 1+@b.elems 22:11
masak gaal: aha, thx
gaal everybody's ill :(
masak so the splat says something like "all the rest"
PerlJam masak: right.
Although, I think the syntax has actually changed.
masak PerlJam: can I write multi coro powerset( [] ) for the base case? 22:12
PerlJam masak: That's what I would hope (I don't know if that works in pugs)
masak PerlJam: seems like it doesn't
gaal masak: you mean, a guard?
PerlJam (The moral equivalent works in haskell ;-) 22:13
masak at least, multi coro powerset( [$head, *@tail] ) surprises pugs
gaal: I don't know, maybe I do.
gaal those are better served by "when" clauses inside the body
masak :)
gaal sub { when [] {...} }
coro powerset { when [] {...} }, in this case 22:14
<- should yield to sleep
good night :)
masak 'night
PerlJam g'night gaal 22:15
masak: I believe that audrey is hacking pugs again ... maybe you can get her to make pugs recognize those signatures. 22:17
:-)
masak PerlJam: I too believe she is -- yes, that would be a nice addition 22:19
maybe I should just write some tests for it like a good citizen
PerlJam that would be excellent
masak but for some reason I cannot reach svn.pugscode.org today... 22:20
PerlJam though I keep having the nagging feeling that the syntax has changed for array slurping (the splat)
masak PerlJam: yes, that sounds vaguely familiar
PerlJam Hmm. from S03: prefix:<|>, flatten object into arglist 22:23
I think that's the same thing
maybe not though
masak but maybe that is supported
masak tries that
PerlJam in any case, S03 does not mention prefix<*>
er, prefix:<*>
anyway ... back to work 22:25
masak hm, no, actually pugs gets stuck earlier, saying 'Unexpected "[$"'
22:25 justatheory joined
PerlJam well, almost back to work ... 22:25
no, definitely back to work :-) 22:27
talk to you later
masak PerlJam: :) yes 22:29
22:30 larsen__ joined 22:32 Psyche^ joined
allbery_b gaal: not ll. psycho. :/ antianxiety meds... 22:47
22:48 Psyche^ is now known as Patterner 22:58 dec_ is now known as dec 23:04 offby1` is now known as offby1 23:10 bsb joined 23:19 forsaken joined
svnbot6 r15529 | lwall++ | style upgrade to problem36 23:32
23:51 Limbic_Region joined
svnbot6 r15530 | lwall++ | Added gather and list comprehension forms of problem 16 23:56