|
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 | |