Check your feather email | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com
Set by TreyHarris on 9 October 2006.
00:02 weinig is now known as weinig|bbl
cmarcelo nothingmuch: ping 00:03
00:07 mako132 joined, b00t joined
svnbot6 r14185 | putter++ | from_perl6_rules/propcharset.t - updated. 00:11
r14185 | putter++ | /<+<foo>>/ notation was obsolete.
r14185 | putter++ | External inversion tests converted from /<-<foo>>/ to /<!foo>./ .
00:19 nekokak joined
putter Is /a :ignorecase b/ valid? S05 only shows modifiers leftmost in a group. 00:24
00:28 Aankh|Clone is now known as Aankhen`` 00:36 mako132 joined
svnbot6 r14186 | fglock++ | v6/Emitter - several fixes in pair, array, hash, closure 01:17
01:23 weinig|bbl is now known as weinig 01:30 mac93 joined
cmarcelo nothingmuch audreyt (and *) : I did some very primitive work (MO/t/basic.t) on MO in Haskell (perlcabal.org/~cmarcelo/moh/), but looks like I'm on a wrong track mapping the roles and classes to Hs. :( ideas how to get this better? 01:39
TimToady putter: yes, you can put :ignorecase in the middle, and its effect is from there to the end of the scope. 01:47
putter thanks 02:03
S05 refers to it as lexically scoped. given that in code we are currently hoisting decls to the beginning of the block, perhaps some clarification might be added. 02:05
next question, :)
can one do the equivalent of /(?<=\G..)./g? or would it need to be rewritten so the \G is leftmost, and thus can be dropped (by using :pos)? 02:07
02:16 markstos joined 02:23 mac93 joined 02:24 lambdabot joined 02:55 weinig is now known as weinig|sleep
wolverian heh, "Larry Wall: Perl is turning into Haskell. Someone shoot me." -- sequence.complete.org/hwn/20061010 02:58
svnbot6 r14187 | audreyt++ | * READTHEM: Add "Monad Transformers Step by Step", a very good 03:06
r14187 | audreyt++ | primer on the way Pugs's Eval monad works:
r14187 | audreyt++ | uebb.cs.tu-berlin.de/~magr/pub/Tran...rs.en.html
lambdabot Title: Monad Transformers Step by Step, tinyurl.com/esboz
svnbot6 r14188 | putter++ | Common/convert_regexp_to_six.pl - created. 03:20
r14188 | putter++ | Converts perl5 regexp patterns and literals to perl6. //,qr,m,s.
r14188 | putter++ | First draft. Coverage should be as good as Regexp::Parser (ie, most everything), but is as yet untested.
r14188 | putter++ | The file is currently set up for interactive use - playing encouraged.
r14189 | putter++ | Common/convert_regexp_to_six.pl - made it more interesting for folks trying it out this evening. 03:33
03:44 Cale joined 03:47 justatheory joined
putter looks like Regexp::Parser is missing support for $^N $+ in patterns, and I forgot to convert $& $` $' $+[] $-[] in s/// substitutions. 03:51
maybe tomorrow...
good night &
avar cool 03:59
make shdist for my app is makind a 2.0 GB .sh file and counting
3.6 GB now:) 04:01
04:13 rindolf joined
rindolf Hi all. 04:13
04:15 mac93 joined 04:30 mac93 joined
gaal cmarcelo: ivResponderInterface :: ResponderInterface a => a 04:33
you can say
ivResponderInterface :: forall a. ResponderInterface a => a
cmarcelo gaal: hi! :) what's the difference? aren't they the same, ie., 'forall a.' is implicity in that case... ? 04:36
gaal cmarcelo: see homepages.cwi.nl/~ralf/gpce06/ too
lambdabot Title: Software Extension and Integration with Type Classes
cmarcelo (the error msg from GHC suggests that)
svnbot6 r14190 | putter++ | Common/convert_regexp_to_six.pl - support for $&, $-[n], $+[n]. 04:39
gaal hmm 04:40
rindolf Hi gaal
gaal: I saw your message to the Jifty list. 04:41
gaal cmarcelo: I'm now remembering there was something about GADTs and typeclasses... 04:42
rindolf: ok
gotta go. back in a few hours & 04:43
cmarcelo gaal: i'll look the paper to gather ideas.. thanks.
rindolf gaal: bye. 04:45
gaal cmarcelo: also look for fromTypeable in Pugs for how to extract that, if it does work
see Pugs.Val.Val and castVal
& 04:46
cmarcelo ok. :)
bye
svnbot6 r14191 | putter++ | READTOO - added 'Software Extension and Integration with Type Classes'. gaal++ cmarcelo++ 04:48
04:59 plural joined, leo joined, Juerd joined, wolverian joined, audreyt joined, PerlJam joined 05:01 webmind joined, chip joined
cmarcelo well, solved the problem with "forall a. ResponderInterface a => MkInvocant { ... }", ie, throwing the forall and context out from the "record" to the constructor.. but will check the open type thing anyway :) 05:04
05:08 webmind joined 05:09 chip joined 05:19 kanru joined 05:22 SubStack joined 05:28 agentzh joined
agentzh @tell lanny the Smoke Synopses should be okay now. thanks iblech++ 05:30
lambdabot Consider it noted.
agentzh gotta run to class... & 05:31
part #perl6
05:31 agentzh left 05:35 kanru joined
cmarcelo nothingmuch || audreyt: basic.hs is "done". besides the 'open type' thing (i'll try that tomorrow), I have some questions: (a) in p5 we were passing CodeRef's around, here we should create a type for represent CodeRef and when it actually get called, we call a function runCodeRef or something like? (b) what type Arguments should have? thinking now an opaque type with a operation "prependInvocant" or "prependObject" seems to be enough 06:00
..
svnbot6 r14192 | putter++ | Common/redsix/README - removed incorrect sentence.
06:06 buetow joined 06:16 snowstalker joined
cmarcelo bbl & 06:17
06:17 cmarcelo left 06:21 sri__ joined 06:34 Cale left 06:37 marmic joined 06:52 nothingmuch joined 06:58 iblechbot joined 06:59 kanru joined 07:04 mdiep_ joined 07:37 zakharyas joined
svnbot6 r14193 | audreyt++ | * Rename DrIFT.YAML's addressOf to stableAddressOf, 08:07
r14193 | audreyt++ | as it's returning StablePtr's address, not the real pointer.
r14194 | audreyt++ | * Pugs.Internals: Add utility functions addressOf and showAddressOf
r14194 | audreyt++ | so I can pretend Haskell is a weakly typed language...
r14195 | audreyt++ | * Pugs.Types.Hash: Add strictness over commo operations, 08:11
r14195 | audreyt++ | and abstract the IHash's encodeUTF8/decodeUTF8 munging
r14195 | audreyt++ | over, so we can benchmark StrMap/JudyHash/HashTable
r14195 | audreyt++ | with much more ease.
r14196 | audreyt++ | * CGI::Util: It's not decided that Perl6's string hash is 08:17
r14196 | audreyt++ | ordered by default, so we still need to say .keys.sort.
r14197 | audreyt++ | * Pugs.AST.Internals: Change IHash to use Data.HashTable 08:20
r14197 | audreyt++ | to shake out all the test bugs that assumed sorted hashes.
r14197 | audreyt++ | (May change back to StrMap or JudyHash before the release.)
r14198 | audreyt++ | * Regen instances.
08:34 andara joined
svnbot6 r14199 | audreyt++ | * CGI.pm: Minor adjustments to work with unordered hashes; 08:42
r14199 | audreyt++ | also replace all "push(@result, ...)" pattern into gather/take.
08:58 mako132 joined
svnbot6 r14200 | audreyt++ | * t/: More unTODO following the addressOf change. 09:00
pasteling "leo" at 213.229.14.38 pasted "svnbot b0rked?" (17 lines, 979B) at sial.org/pbot/20308
audreyt leo: are you using ext/Set/ in trunk? 09:04
09:07 elmex joined
audreyt leo: r14201's Set.pm should fix it 09:11
svnbot6 r14201 | audreyt++ | * Set.pm: Infix operators should never by variadic on its
r14201 | audreyt++ | second arguments; this caused an obscure bug spotted by leo++.
r14202 | andara++ | [misc/runpugs] 09:17
r14202 | andara++ | initial commit of runpugs: a web terminal for pugs.
audreyt !! 09:18
andara++
andara PLease give it a try on feather.
leo audreyt: thanks - works again
andara feather.perl6.nl:8080/cgi-bin/runpugs 09:19
lambdabot Title: Run Perl6 Now!
audreyt wow 09:20
colour me very, very impressed
andara really? No AJAX :-(
gaal andara++ 09:22
andara cheers!
At the moment, I try to catch "dangerous" commands with /\b(system|exec|fork|wait|open|slurp|eval|kill)\b|(\`)/ 09:23
Anything obvious I overlooked?
while(1) {1} and similar are timed out
09:23 kanru joined
gaal you're not running in safe more? 09:24
*mode
andara how do I do that? 09:25
gaal PUGS_SAFEMODE=1 in the environment
audreyt please please do that :)
andara Ah! does that block all system calls? 09:26
audreyt yes
gaal it blocks all primitives that haven't been marked "safe"
andara how about infinite loops?
gaal for infinite loops, the caller should set a limit
like evalbot
how long is the timeout? 09:27
andara 10 seconds
gaal then it isn't working :)
because I have a session that was idle for longer and it's still alive 09:28
ah
sorry no, I meant the session timeout
andara Ha no: your session stays alive for 10 minutes.
But if you do a while (1) {1} it should time out in 10 seconds
gaal nACK 09:29
er, ACK.
andara All these are open for change of course.
audreyt andara++ 09:30
andara Maybe stupid question: I use fork/ exec. Will setting PUGS_SAFEMODE=1 via %ENV work?
audreyt pugs checks that env the first time it's started 09:31
andara so I could check it from withing the pugs shell? 09:32
audreyt under safemode %ENV is set to empty
I think
andara anyway, I'll see because syscalls will be blocked. OK, I'll put that in right away 09:33
audreyt but &say will be blocked too 09:34
andara I'll have to take it off-line for that I'm afraid
audreyt gaal: what do you think about marking stdout "say" as safe?
andara: sure
gaal: or should runpugs rebind using safe_prnt as well?
andara why is "say" unsafe?
audreyt no particular reason 09:35
so I'd like to see it back safe...
andara gaal, audreyt: could you please try ':q' in your browser terminal? I see 8 pugs sessions active, just checking if it drops to 2 :-) 09:36
sorry, 6 09:37
Cool, seems to work fine. 09:38
svnbot6 r14203 | audreyt++ | * Pugs.Eval.Var: The type inferencer in inferExpType wasn't
r14203 | audreyt++ | able to look through (...)!
r14203 | audreyt++ | 1+5 # inferred as Int
r14203 | audreyt++ | (1+5) # inferred as Any
dduncan audreyt, do you know anything about when GHC 6.5.x might stabilize and a 6.6.0 release come out? 09:39
or alternately, are there any plans to make 6.5.x a minimum Pugs requirement before that? 09:40
andara OK, runpugs going down in 30 sec. Be back in an hour or so. 09:41
gaal andara: I closed mine :/ 09:42
i mena the window, not the pugs :(
audreyt dduncan: today GHC 6.5 -HEAD bumped version to 6.6 09:43
andara no bother, I'm stopping the web server anyway
gaal audreyt: hm. say with fh feels unsafe to me
audreyt so it's "stabilized"
gaal: how do you get that fh?
dduncan what a coincidence!
gaal though arguably there shouldn't be a way of gettin an unsafe one
dduncan (I didn't know that)
audreyt precisely
dduncan: I'm racing against GHC team :)
dduncan how so? 09:44
for a Pugs release?
well, last I checked, there are good moves here
down under a hundred failing tests
audreyt yeah. ideally I'll test it with GHC 6.6 and release at the same day as the official 6.6
dduncan except then it jumped up to a thousand
audreyt hm? all in t/regex/ space I think 09:45
gaal audreyt: does Perl 6 allow writing to strings? what Role must an object do for $h.say?
audreyt gaal: maybe it's not a role at all... 09:46
dduncan fyi, regarding my database related code, I decided (and announced on some database lists), that I'll be making a Perl 5 version first after all ... something useable should be out by the end of October ... and I'll be using it in production at the same time
audreyt class Str is also { method say (*@output) { ... } }
dduncan after that, I'll resume the Perl 6 version, hopefully when some more Perl 6 language features exist 09:47
audreyt sure. what features do you want most at this point?
(default attrs and role mixins are now both in)
gaal I'm having a hard time coming up with an attack scenario, but I feel safer if there's just a safe_print available....
dduncan right at this moment, it wouldn't be fair for me to say, so in the mean time I'll just let you go in whatever direction you were already going
part of that is, I don't know which of several possible routes to my goal are the best, and each uses different features 09:48
so I figure, if I have something in Perl 5 first, where the language isn't changing anyway, then you guys can look at that, and perhaps suggest good Perl 6 routes yourselves, when you better understand what actual functionality I am trying to have 09:49
audreyt nod. I do hope that a much better-working perl5 embed is of use to you
which is highlight of this release
dduncan my initial production use of the code is a pure perl 5 program ... and that is for a paid $job ... after that, I'll see how things evolve in the community's hands 09:50
among other people, I imagine that Sam Vilain / mugwump will be particularly helpful 09:51
unlike what I've said in the past, hopefully my comments here just now don't constitute vaporware, since I now have a $job driving me to cut corners and just get something out
audreyt that is almost always for the best :) 09:52
"just get something out" that is.
dduncan hence, also, the Perl 5 version has a different name than the Perl 6 one ... QDRDBMS (Quick and Dirty Relational Database Manager)
and even the Perl 6 version may not be called "Rosetta" for much longer ... I intend to rename it to a made-up word ... I've been bandying about "Muldis" for awhile now 09:53
audreyt what does that mean?
dduncan "MULtiple universe of DIScourse" 09:54
hopefully, revealing that won't blow my chances to trademark the term, which I want to do
audreyt it probably won't 09:55
dduncan "universe of discourse" is a term used in philosophy, for the body of knowledge held as assumed by members of a group having a conversation on a particular subject
audreyt andara: do write something about it on pugs.blogs.com when you get a chance :) # runpugs 09:56
demerphq good old philsophers coming up with fancy terms. gotta love it.
svnbot6 r14204 | audreyt++ | * Pugs.Monad: "loop { die }" should die. ;)
dduncan technically, Muldis was the name of a larger project of which this free RDBMS is but a component, but then I figure I could still name the component that too, kind of like Oracle's database is also referred to as Oracle, though they make various apps that work over it too
andara \me is ignorant: how can I write on pugs.blogs.com?
dduncan the larger project was helping empower people to accurately organize their data ... genealogy being an example of a use 09:57
09:57 chris2 joined
dduncan my current plan is to rename Rosetta to Muldis around the same time that this Perl 6 project stops being vaporware and can actually be used, after the fact 09:58
audreyt 'kay
dduncan on a related note, I would like, some time, to get feedback form people about whether Muldis is a good name to pursue, or whether others may be better ... any others should be made-up words whose web domains aren't registered yet 09:59
also, suggestions of common misspellings could be useful 10:00
10:00 iblechbot joined
dduncan so I could go register those before typo-squatters do 10:00
rgs fox muldis ? 10:01
dduncan each half of the word is pronounced the same as the words they come from
anyway, keep up the good work, and I'll come back to this discussion in a few weeks
audreyt 'kay. have fun! 10:02
dduncan and good night (my time zone) to you! 10:03
10:03 dduncan left
svnbot6 r14205 | andara++ | [lib/WebTerminal/Server/Terminal.pm] 10:11
r14205 | andara++ | runpugs now with PUGS_SAFEMODE=1
r14206 | audreyt++ | * LWP::Simple: Correctly implement context-sensitive head(),
r14206 | audreyt++ | so that live.t all passes.
r14207 | andara++ | [runpugs] 10:27
r14207 | andara++ | now with PUGS_SAFEMODE=1 in the right place
andara runpugs is back up on feather.perl6.nl:8080/cgi-bin/runpugs. 10:36
audreyt: /me is ignorant: how can I post on pugs.blogs.com?
lambdabot Title: Run Perl6 Now!
svnbot6 r14208 | audreyt++ | * default_scalar.t: "for 1..3 { $_++ }" should die, not survive.
audreyt andara: check your email;; there should be a typepad invication 10:39
Juerd andara: Neat. How is it protected against abuse? 10:41
andara audreyt: *blush* sure enough!
I'm afraid I'll be a very intermittent contributor though, can't spend more than say 1 day every 2 weeks on pugs :-(
audreyt that's fine :) 10:42
andara juerd: infinite loops are timed out; it runs (now) with PUGS_SAFEMODE=1. I still have to protect it against DoS by limiting the number of active sessions...
juerd: that is, active _pugs_ sessions. 10:43
Juerd andara: Please make ulimit'ing it, if it's not done already, your first priority.
The simplest DoS is using a lot of memory 10:44
audreyt BSD::Resources can help there 10:45
Juerd Simple ulimit too
andara ok, will do. What's an easy way to check if the limits are effective?
Juerd andara: There's no non-destructive way, but if you wait until tonight, you have my permission to forkbomb :)
Though careful using a bit more memory than before is non-destructive 10:46
andara juerd: "tonight" is a loose term here... any GMT?
Juerd But I'm of the opinion that you can only test against real life scenarios by using them for real.
andara audreyt: BSD::Resources: no matches on CPAN?
svnbot6 r14209 | audreyt++ | * Pugs.Monads: Make "break" and "continue" dependent no 10:47
r14209 | audreyt++ | "when" frames, instead of on "given" frames. That means
Juerd I assumed we were in the same timezone, CET.
svnbot6 r14209 | audreyt++ | "given" is now strictly a $_ aliasing device, and is not
r14209 | audreyt++ | considered a special construct on its own.
Juerd Your name looks Flemish, so I reckoned you'd be in Belgium.
10:47 kanru joined
andara juerd: I'm in BST (Glasgow) 10:47
Juerd Ah 10:48
Similar tonights apply :)
andara juerd: sure. And I am Flemish, well spotted.
Juerd I have time 21:00..23:59 to go to the data centre to reboot feather, if necessary.
That's CET :)
andara: Do you live in the UK? 10:49
andara no worries, I think I can check ulimits without bringing the box down.
juerd: I live in Glasgow
Juerd If your check is succesful, please do attempt a destructive attack
andara OK. Not sure if I can do it tonight. I'll get in touch before I do :-) 10:50
Juerd It's important that a real test case is done by us, instead of by malicious users
Because we can plan it, they can't
svnbot6 r14210 | audreyt++ | * Pugs.Eval: Make &yield a special construct like &return
r14210 | audreyt++ | so it can handle capture-like semantics without us actually
r14210 | audreyt++ | having general Captures yet.
Juerd Getting in touch before it goes down involves using a phone :) 10:51
I'm not online myself
I get alerted by the monitoring
svnbot6 r14211 | audreyt++ | * Pugs.Prim: Finish the break/continue transition.
r14212 | audreyt++ | * A round of :todo now that exceptions in loops aren't ignored.
Juerd andara: Using unicode goes wrong 10:52
It seems to be ignored
svnbot6 r14213 | audreyt++ | * given.t: unTODO now we can use break/continue outside given blocks. 10:53
andara I mean, I'll notify you in advance (during daytime) when I plan to do the attack. Maybe I can put it on my local machine and try to bring that down first.
Juerd Okay
I'm off to work now
Hm, no, first I'm looking up where Glasgow is
andara juerd: how did you test unicode?
juerd: Scotland, far north of the UK, west coast 10:54
Juerd I tested by using unicode chars.
In strings like "fĆøĆø", only "f" is left in the output 10:55
afk; bye
miyagawa_ Juerd: hi 10:56
andara runpugs is going down again for securing...
11:11 vytautas joined 11:32 theorbtwo joined 11:43 elmex joined, mako132 joined 11:44 putter joined 11:48 BooK joined
putter audreyt: shall I bump INSTALL's required ghc version to 6.6.0? (and stop reporting core dumps for 6.4.1? ;) 11:49
audreyt putter: no, I'm fixing said coredumps. 11:51
it's caused by GC bugs
individual array ellements weren't GC'ed correctly 11:52
the refcount attached to the array as a whole but not elements
are things passing for you modulo segfaults?
putter @tell fglock It would be nice to have test/smoke targets for v6. Is there a cpan bundle with v6 components not present in pugs? Or does one have to cpan v6? Could you give me a perl invocation which called in the top pugs dir -I's the versions in pugs of everything v6-ish? Thanks! 11:53
lambdabot Consider it noted.
putter multidim args parse fails on a multidim arg. 11:54
2 t/ segfaults. No other t/ failures. Explicitly no failures in t/regex. I haven't run ext/. 11:55
audreyt which test file was that?
the multidim one
I remember having fixed it
putter greps backlog...
t/blocks/multidimensional_arglists.t as of r14149 11:56
audreyt yeah. we now parse them so it's fixed
putter yay
audreyt the GC bug is much more subtle though. 11:57
putter If we are going to punt 6.4.1... unless it affects more resent versions? 11:58
audreyt it affects 6.6 as well
putter ah
audreyt in different ways
putter :(
audreyt that's ok, I got the bug now 11:59
it's just two entirely different GC paradigms needs some handholding to play with each other
putter offers 3 units of ++ for the able Makefile hacker who gives me a test target which just runs the fribling tests, rather than building pugs and world peace first. 12:07
gaal putter: why not use prove? 12:11
you add something to Makefile.PL, you need to make world peace anyway 12:12
audreyt utils/prove6 that is
did I mention refcounting GC is really a bad idea?
gaal I never got what util/prove6 wins...
audreyt it refreshes stuff for you... 12:13
gaal refcounting GC is good in that timely destruction is straightforward...
(relatively)
but, does ghc use refcounting? I thought it didn't! 12:14
audreyt no, perl5 dies
gaal I got a book from nothingmuch that should help me understand haskell economics
12:17 andara left
audreyt s/dies/does/ 12:19
whew. everything works. 12:20
now to eliminate all memory leaks...
12:20 Limbic_Region joined
putter gaal: re "why not use prove?" - because I just now noticed prove6 does v6? and make smoke-perl5 has been retargeted to v6? but test-perl5 hasn't been, so the two test completely different things? and being insufficiently paranoid, I used lack of change in Makefile for lack of introduction of v6 support? sigh. 12:24
s/for lack/as a proxy for lack/
gaal: thanks ;) 12:25
audreyt putter: see if the segfaults has gone away now 12:32
putter will do.... 12:35
svnbot6 r14214 | audreyt++ | * Rationalize Perl5 embedding's GC interface by passing 12:36
r14214 | audreyt++ | StablePtr instead of Ptr around, as well as _not_ placing
r14214 | audreyt++ | GC burden on VError{} and VUndef, as they should be all
r14214 | audreyt++ | referring to a static &PL_sv_undef now.
r14215 | putter++ | Makefile.PL - rename target test-perl5 to test-Bperl5, as smoke-perl5 no longer tests pugs -B PERL5. The right thing might instead be to use xxx-v6 for v6 and xxx-perl5 for -B PERL5... but this one character fix was easier.
r14216 | gaal++ | typo fix 12:39
12:39 zakharyas joined
putter It looks like perl5/PIL-Run/ has been inactive for almost a year. Shall we depreciate it? Eg, removing the link from m19s28.vlinux.de/cgi-bin/pugs-smokeserv.pl ? 12:48
lambdabot Title: Pugs Smoke Reports, tinyurl.com/kcfpn
12:49 Limbic_Region joined
putter audreyt: it will be another 15 min or so (for compile to finish, and then to check the formerly segfaulting files) 12:53
12:56 rindolf joined
rindolf Hi all., 12:56
Limbic_Region salutations 12:57
Limbic_Region is still compiling after all the updates after a 3-day weekend
putter @tell fglock ok, I found prove6 and smoke-perl5. but the smoke server doesn't show any v6 tests. has uploading one not been tried? or does util/smokeserv/smokeserv-server.pl need to be tweaked to stop ignoring them? 12:58
lambdabot Consider it noted.
13:00 markstos joined 13:03 fglock joined
svnbot6 r14217 | fglock++ | v6/emitter - added List class 13:03
putter hi fglock
13:03 iblechbot joined
fglock putter: hi 13:05
lambdabot fglock: You have 2 new messages. '/msg lambdabot @messages' to read them.
putter both from me ;) 13:06
fglock putter: sorry, I don't know - clkao was working on smoke 13:07
putter np
shall we officially think of PIL-Run as depreciated? 13:08
fglock hmm - it is still the only backend with lazy lists - I'm still migrating laziness to v6.pm 13:09
putter for a long time, it's only role was to support you and stevan. now your runtime stuff has a new home in v6 land, and stevan has Moose. so I think it's only of historical interest now.
ah, ok
fglock how about move to pX/Common 13:10
putter or pX/Aside. 13:12
13:12 bpphillips joined
putter though moving may stop it from working. hmm, I wonder if it still works... 13:12
13:20 Limbic_Region joined
clkao news.bbc.co.uk/1/hi/sci/tech/6035113.stm # there is a reason that people think perl is shrinking.. 13:22
lambdabot Title: BBC NEWS | Science/Nature | Giant camel fossil found in Syria, tinyurl.com/hynmw
fglock oops - pugs/v6 interactive shell is currently broken with 'pugs -B perl5' 13:23
13:24 cjeris joined
fglock brb 13:27
svnbot6 r14218 | audreyt++ | * Pugs.Run.Perl5: Fix perl5->pugs callback for real.
r14218 | audreyt++ | GC issues on the embed side should be fixed now. Only Judy side left...
putter audreyt: the two formerly segfaulting files worked with r14215. woot. 13:29
putter tries to figure out whether -B PERL5 was changed to do v6 instead of PIL-Run, or whether PIL-Run was merely broken by adding bogus 'use v6-alpha;' lines. 13:30
svnbot6 r14219 | audreyt++ | * Judy.Refeable: Put the default instance of Refeable into 13:32
r14219 | audreyt++ | the class itself, so one can turn off needGC without having
r14219 | audreyt++ | to write the entire instance.
fglock putter: -B Perl5 uses v6 13:35
putter sigh - so I get to stomp on everyone's Makefile.PL again. do you know where in src/Pugs it happens? 13:39
fglock no 13:42
putter surfaces from hs space... 13:44
so PIL-Run/pugs-p5.pl still runs, for some buggy value of runs.
svnbot6 r14220 | fglock++ | v6/emitter - $scalar names were not mangled 13:48
r14221 | putter++ | Makefile.PL - revert r14215. -B PERL5 does v6. PIL-Run is dead, long live v6.
13:50 ruoso joined 13:52 chris2 joined, weinig|sleep is now known as weinig|work
svnbot6 r14222 | putter++ | perl5/PIL-Run/lib6/P5Runtime/PrimP6.pm - remove inappropriate "use v6-alpha;". 13:52
13:53 iblechbot joined
svnbot6 r14223 | fglock++ | v6/emitter - new node Perl5Scalar 13:53
13:55 cmarcelo joined
cmarcelo hello 13:57
fglock cmarcelo: bom dia
cmarcelo fglock: :).. am I crazy or did you said we were in daylight savings time ("horario de verao") a few days ago? 13:58
fglock cmarcelo: yes, my wife told me so - and I believed it :) 13:59
putter strawman proposal: from perl5/ move PIL-Run Perl6-Value Perl6-Container Perl6-MetaModel to pX/Aside/pugs_perl5_backend/. pugs-p5.pl seems to work as well in the new location as in the old.
13:59 mugwump joined
Limbic_Region IIRC, some places in europe adjust for DST a few weeks different than the US 14:00
but that may have just been bunk too
PerlJam Given that DST is politically driven, it's entirely possible.
[particle] lr: it's true. it always confuses me when calling folks in london this time of year
14:01 mako132 joined
fglock there is no rule for DST here - it changes every year 14:01
demerphq where is here in that context? 14:02
PerlJam fglock: every year? Does the government just announce, "hey, we're going to do that DST thing next week" ?
fglock Brazil - it depends on the dam levels - we use mostly hydroelectrical power
[particle] wow 14:03
fglock so it actually depends on how much it rains
demerphq thats quite clever actually.
putter fglock: mv Perl6-Values etc to pX/Aside? pX/Common? thoughts? 14:04
fglock putter: pX/Common, I think - it is still useful as an implementation example 14:05
putter we need to come up with some way to distinguish the stuff in Common which is there for reference, vs there to be hacked on by all comers. 14:06
fglock putter: right - how about misc/PIL-Run 14:07
putter eep. :) 14:08
oh, you mean ./misc/PIL-Run, rather than ./misc/pX/Common/misc/PIL-Run ?
fglock yes 14:09
putter misc it is. 14:10
14:10 hexmode joined
fglock btw, how about ./pX 14:10
brb & 14:11
14:14 chaoslawful joined
Limbic_Region begins smoking r14223 14:14
putter fglock: re ./pX, so... you don't think ./ has enough clutter yet? ;) 14:23
@tell stevan perl5/Perl6-MetaModel moved to misc/old_pugs_perl5_backend.
lambdabot Consider it noted.
Limbic_Region .seen audreyt 14:26
?seen audreyt
lambdabot audreyt is in #ghc, #haskell and #perl6. I last heard audreyt speak 1h 53m 42s ago.
Limbic_Region anyone have an idea of how to become newline agnostic WRT testcases actual versus expected?
there are a number of tests failing that aren't really
s/failing/failing on Win32/ 14:27
Juerd miyagawa_: Hello 14:32
14:35 Alias_ joined
Alias_ audreyt: ping? 14:35
svnbot6 r14224 | putter++ | misc/old_pugs_perl5_backend/ - created.
r14224 | putter++ | From perl5/, move PIL-Run, Perl6-MetaModel, Perl6-Value, Perl6-Container to misc/old_pugs_perl5_backend/. It still runs, but hasn't been active for just about a year. It was already disconnected from pugs -B PERL5.
r14225 | andara++ | [runpugs]
r14225 | andara++ | More security features: limit total number of pugs sessions, limit sessions
r14225 | andara++ | per ip address
Alias_ Wow, I knew the commit rate for pugs was accelerating, but this is amazing :)
audreyt Alias_: pong 14:36
cmarcelo: swapMaps utterly killed GC :/
Alias_ audreyt: You aren't planning to attend OSDC again are you?
audreyt cmarcelo: GHC can't reason about your peek/poke at all...
cmarcelo: I'm rewriting Types.Array to not use swapMaps
cmarcelo audreyt: hi. it's not very clear to me what's causing trouble. GHC was keeping track of v1/v2 addresses [in swapMaps context], so GC'ing the wrong map? 14:43
14:45 woremacx joined
svnbot6 r14226 | putter++ | misc/old_pugs_perl5_backend/README - created. Quick history and how to run. 14:48
r14227 | putter++ | Moved misc/pilrun2-leftovers into misc/old_pugs_perl5_backend/. 14:54
audreyt sorry, ADSL behaving very erratic 14:56
svnbot6 r14228 | audreyt++ | * Pugs.Types.Array: Avoid the use of C.swapMaps as it proved
r14228 | audreyt++ | to cause GC havoc on Perl5/Pugs boundaries.
audreyt cmarcelo: might be so; seems finalizePtr was run incorrectly
i.e. if I take away the addFPFinalizer then it all works
cmarcelo running incorrectly every time or just in cases with swapped maps? 14:58
audreyt swapped maps plus perl5 embed 15:04
t/perl5/array.t will show the error clearly
svnbot6 r14229 | audreyt++ | * t/perl5/: TODO and unTODO.
audreyt though I already worked arounded it by adding an extra IORef
Alias_: OSDC.au? I wouldn't mind as long as someone pays m y airfare again :) 15:05
ajs_work In function signatures, would ($x=?1) or ($x=Bool::True) be considered more stylistically Perl 6?
Alias_ audreyt: hrm... I wonder if we can make Skud convince realestate.com.au to sponsor you
audreyt: The reason I mention it is that I think it might be time to have the cross-language dependency metadata discussion 15:06
15:07 ceez joined
Alias_ audreyt: I have a number of people keen on dealing with various things in related areas, and the uncertainty and dependencies are all leading back to some sort of cross-language identifier/dependency grammar that is clean and doesn't suck 15:07
I'd kind of hoped that with you + the pythonistas + change we might be able to come up with something in Melbourne 15:08
PerlJam ajs_work: perl6 hasn't developed such a style yet. It needs more collective consciousness.
svnbot6 r14230 | putter++ | v6.pm - Tolerate absent or null PERL6LIB. File has refactoring opportunities.
fglock putter++ hacking v6.pm 15:09
Alias_ audreyt: Either that sort of physical specathon, or we do it the hard way and try to create some sort of cross-language metadata group/community/list
svnbot6 r14231 | fglock++ | v6/emitter - updated HACKING to new classes
gaal Limbic_Region: maybe use a heredoc, then usual svn props will Just Take Care of It? 15:10
cmarcelo audreyt: (when you have time, take a look at colabti.de/irclogger/irclogger_log/...sel=46#l89 ) :)
lambdabot Title: #perl6 2006-10-10,Tue, tinyurl.com/knrxp
putter fglock: so, before having a new Makefile.PL blew away my pugs, I was wondering... 15:16
$ PERL6LIB=blib6/pugs/perl5/lib ./pugs -B PERL5 15:19
Can't locate Pugs/Compiler/Perl6.pm in @INC (@INC contains: blah usual system blah but no sign of blib6 .) at ./perl5/Pugs-Compiler-Perl6/lib/v6.pm line 42.
Same with ./pugs -B PERL5 -Iblib6/pugs/perl5/lib .
But blib6/pugs/perl5/lib/Pugs/Compiler/Perl6.pm is there. 15:20
???
fglock actually, Pugs/Compiler/Perl6 is looked up in p5 land, so it doesn't belong to PERL6LIB
try setting PERL5LIB=blib6/pugs/perl5/lib ? 15:25
Alias_ dammit 15:29
heisenbug--
svnbot6 r14232 | putter++ | util/config-template.yml - Update comment now that including Test in Prelude is only a minor win (general precompiling now works) rather than a major win, and Math::Basic is there by default.
putter duh, trying, oh, will try in about 15 min. thanks fglock
fglock: is PERL5LIB=blib6/pugs/perl5/lib ./pugs -B PERL5 the "official" way to run v6 (without installing it)? 15:31
INSTALL should probably have a paragraph, if it doesn't already.
15:33 buetow joined 15:37 fglock joined
fglock @tell audreyt it looks like '$code = <>' is not waiting for STDIN in v6.pm line 137, when calling from 'pugs -B Perl5' 15:37
lambdabot Consider it noted.
15:38 bpphillips left
Alias_ :) 15:39
fglock putter: re "official" - I haven't tested before, needing to set PERL5LIB maybe considered a bug, I think
PerlJam fglock: $code = <>; just assigns an empty string to $code (as it should). Did you mean $code = =<>; ? 15:40
PerlJam may have the wrong context though, so feel free to ignore me if I do. 15:41
15:41 justatheory joined
fglock PerlJam: that's perl5 code in v6 initialization 15:41
PerlJam oh, perl5 code. gotcha. 15:42
clkao nothingmuch++
nothingmuch ? 15:43
rindolf clkao: what for? 15:44
clkao nothingmuch: THANKS FOR BIRTHDAY GIFT
nothingmuch ah 15:45
so it *was* the good nick that got it?
clkao the fuckers left it in postoffice without telling me. the "nick" works for post office
nothingmuch oi
jeese
well, i'm glad you like it =)
is the color too barfy?
(not that that part matters with what you had on your head ;-) 15:46
clkao it's great
it's japanese brand though, am i right?
nothingmuch yes
Alias_ what is it?
clkao i seem to remember my spare sleeping bag is from them
nothingmuch Alias_: you'll never know
Alias_ A backpack! Neat! 15:47
nothingmuch MUAHAHAHAAA
Alias_ Or hiking boots
nothingmuch naah
can't buy those online
they have to be fitted
like realllllllly fitted
Alias_ oh
nothingmuch most anything else is good though
keep trying =)
Alias_ So you sent him badly fitted hiking boots?
nothingmuch nope =)
Alias_ Man, they STILL can't tell if North Korea fired a nuke... 15:49
15:50 vel joined
nothingmuch don't worry 15:50
north korea will be a fundamentalist islamic state in no time
car bombings with death tolls of tens to hundreds daily =)
Alias_ islamic?
nothingmuch sure
the great democracy will give it a makeover
Alias_ I mean, I can see Fundamentalist Kim'ish 15:51
nothingmuch no, they only fund muslims 15:52
clkao nothingmuch: how come there's a hand written card?
nothingmuch i asked them to add one =) 15:53
Alias_ Automated Care Factor :) 15:55
putter fglock: should smoke-perl5 be passing sanity? 16:01
16:12 andara joined 16:13 jabbot joined 16:16 Psyche^ joined
nothingmuch cmarcelo: here? 16:19
cmarcelo nothingmuch: yes, (but gotta go soon).. 16:22
nothingmuch i
've been refactoring and testing
but it's been going slow
cmarcelo (p5 MO you mean..?) 16:23
nothingmuch i'm getting a bit carried away with some new ideas for refactoring
yes
my thoughts on the class metaclass: 16:26
it's too monolithic
i want a plugin system ;-)
for example, the ability to compose with roles
or the ability to instantiate attribute grammars 16:27
or having attributes
cmarcelo ok. i'm still experimenting on how translate to hs yet (I posted some code, if you like to see)... one question: arguments will be captures or they must be "generic" enough to handle captures but handle simpler things too ?
nothingmuch arguments- where?
cmarcelo just a sec 16:28
16:28 Psyche^ is now known as Patterner
cmarcelo MO::Run::Invocation::Method 16:28
nothingmuch ah 16:29
that is a bit of a hack as of yet
in fact, i doubt we should port it 1:1 16:30
TimToady @tell dduncan I think Multiple UNiverses of DIS course works better, and has latin punny connotations of "worlds" and "pure". It also appears not to be trademarked in the first few googly pages.
lambdabot Consider it noted.
nothingmuch it should be more of a Invocation::Method::PugsPerl6
which is specific to the pugs runtime
and models perl 6
whereas MO::Run::Invocation::Method is perl5ish
so, for a small demo i guess you can port it with simpler things 16:31
it's more example code than anything else
and then i guess we can get audrey to advise on the design of the "native" invocation meta object
cmarcelo re refactoring: you mean changing MO::Compile::Class to have a more pluggable interface instead of have hardcoded "has attributes", "has roles", etc?
nothingmuch yes 16:32
MO::Compile::Class is too big
but luckily, it has no meaning as far as the design is concerned ;-)
i bloated it with features as i went on implementing the more important objects that do these features
it's lots and lots of glue
16:36 Limbic_Region joined
Limbic_Region gaal ping 16:37
16:37 araujo joined
cmarcelo nothingmuch: I see. well. gotta go study for a test. i'll try to work more on this tonight (10hr from now). 16:38
nothingmuch okay
good luck
16:38 bernhard joined
Limbic_Region which synopsis covers heredoc syntax and does someone have an example they can point me too? 16:38
or better yet, is anyone on a *nix platform willing to help me test something? 16:39
cmarcelo nothingmuch: If you want to get your hands "dirty from Hs code", take a look at code I posted. feedback is welcome :) 16:40
PerlJam Limbic_Region: heredocs in perl6 are just another form of quoter-- q:to<EOF>
nothingmuch cmarcelo: okies
can i have a
link?
Limbic_Region PerlJam - is there anything one needs to worry about with indentation as in perl 5?
[particle] S02 mentions heredocs around line 200 16:41
Limbic_Region for instance does EOF need to be left justified with no trailing spaces?
PerlJam Limbic_Region: nope, leading <ws> is eaten
trailing too I think
Limbic_Region I still need someone from *nix world to help me test this I think
certain tests are failing on Win32 which I believe to be because of differences in \n versus \r\n 16:42
gaal suggested using heredocs as a replacement for expected
but if I change the file here locally - it works regardless of heredocs or not
so I won't be verifying anything 16:43
test 12 of ext/Config-Tiny/t/basic.t for anyone interested
cmarcelo nothingmuch: perlcabal.org/~cmarcelo/moh/
lambdabot Title: Index of /~cmarcelo/moh
nothingmuch thanks 16:44
nothingmuch wonders whether that belongs in ~/Perl next to mo or in ~/haskell ;-)
Alias_ hmm? What? 16:46
cmarcelo nothingmuch: ?
Alias_ Did someone mention Config-Tiny?
nothingmuch Alias_: Limbic_Region did
Alias_: you have highlights for all your modules? insane! 16:47
Alias_ It's been ages since I've seen my progeny :)
What's it up to these days
nothingmuch cmarcelo: nothing, just pondering where to darcs get it ;-)
Alias_ nothingmuch: Implemented in wetware I assure you
16:47 beppu joined
cmarcelo nothingmuch: hehe :) I wonder if its better put them in pugs repo, inside some misc/ or similar... 16:52
nothingmuch we're having fun with darcs now, so why stop ;-)
cmarcelo well, bbl. bye! &
okie dokie.. :)
16:53 elmex joined 17:01 xinming_ is now known as xinming
rindolf Hi Alias_ 17:04
Alias_ hi 17:05
rindolf Alias_: you're up early/late.
Alias_ yeah, I need to finish something and I don't have enough business hours
Limbic_Region Alias - I ported Config-Tiny to perl 6 early on in pugs life
Alias_ Client has been extremely patient, but is now getting a bit desperate
Limbic_Region it was before pugs had even a notion of support for objects 17:06
Alias_ Limbic_Region: Very early, if I recall it was the second ever module after Rosetta or parts thereof
Limbic_Region right - well anyway, it is currently failing a test on Win32 for no good reason
Alias_ To do with newlines?
Limbic_Region right
TimToady @tell ajs_work I think it'll typically be "Bool $hmm = True".
lambdabot Consider it noted.
Alias_ Are you using the universal newlines-fu/
? 17:07
Limbic_Region Alias - I didn't write the test
I am trying to fix it so that it is newline agnostic
s/agnostic/indifferent/
it isn't the only test that falls into this category btw - just the first one I found
Alias_ universal newline = /\015{1,2}\012|\015|\012/
(perl5 notation of course) 17:08
TimToady Alias_: the parrot folks have thought more about language interoperability than we have lately, though we were the same folks at most of the meetings...
Alias_ ah good, a language designer
[particle] alias: it's the language implementors who have the real power... 17:09
TimToady why would you match 2 \015 in a row?
Limbic_Region Alias_ - that won't help
or rather - in order for that to help, someone would have to overload eq in Test.pm
Alias_ TimToady: \015\015\012 is an extremely common form of newline corruption from unix/win32 program confusion
[particle] lr: should i look at the cpan config::tiny, or the pugs one?
Limbic_Region since is($actual, $expected, $msg) is where the problem lies 17:10
[particle] lr: and do you have a feather account?
Limbic_Region particle - the issue is with pugs, have feather acct but can't get there from here
[particle] ah
TimToady but it could match two "newlines" on a Mac
Limbic_Region and by pugs I mean nothing to do with CPAN
Alias_ TimToady: How exactly?
TimToady but then it requires \012, so I guess that's okay
Alias_ right
I tuned that regex over the course of a couple of years 17:11
It's held solid for the last 5 years
TimToady y'know, Test.pm should probably be using eqv with newline canonicalization. 17:12
Limbic_Region Alias_ - writing a newline indifferent version of is() in Test.pm might be one way to solve this since it can be done in one place
Alias_ For my background material, google for "Regular Expression Newline Games" 17:13
Limbic_Region but ultimately people writing tests need to know either to write the test such as it works on any platform or use the right is() so that it works on any platform
TimToady but the default should probably be eqv or ~~. 17:14
probably eqv
~~ is too dwimmy and not symmetrical enough.
and eqv is already defined to be a canonicalized comparison.
gotta go for a walk & 17:15
17:24 weinig|work is now known as weinig 17:26 weinig is now known as weinig|work 17:29 andara left
ingy seen stevan 17:34
jabbot ingy: stevan was seen 1 days 7 hours 57 minutes 41 seconds ago
svnbot6 r14233 | andara++ | [runpugs] 17:42
r14233 | andara++ | More security additions, better error messages, and trying to get unicode to work.
stevan ingy: ping 17:48
lambdabot stevan: You have 1 new message. '/msg lambdabot @messages' to read it.
17:57 fglock joined
fglock putter: re sanity - it doesn't pass because v6 is causing an error in Data::Bind 17:58
rindolf ingy: hi 18:04
18:21 ashleyb joined 18:25 _bernhard joined 18:27 penk joined
putter fglock: thanks. Do the Data::Bind folks have a bug report from us? Is it something we might plausibly fix? 18:37
clkao (hi)
i relayed that to p5p. no meaning answers yet
18:45 jabbot joined 18:55 Limbic_Region joined 19:08 fglock joined
fglock clkao: Devel::LexAlias works - but I don't understand enough of it to find out how is it different from Data::Bind 19:10
clkao oh lexalias would surely work 19:17
19:18 lanny joined
integral aww, it's XS. You can actually do it in pure-perl with B 19:18
fglock integral: can you bind variables with B ?
pure-perl would be great 19:19
integral fglock: you can get access to the right bits of the PAD as B::AVs and then reflect those into array refs
hmm, not sure how you get your dynamic parent subroutine though *sigh*
lanny @messages
lambdabot agentzh said 13h 49m 16s ago: the Smoke Synopses should be okay now. thanks iblech++
lanny @tell agentzh Feel free to shoot the messanger at any time cause I'm feeling like a broken record myself :) but when I look at latest smoke SYN and Perl 6 docs on feather they still don't match up. (I use S29 as a test.) 19:22
lambdabot Consider it noted.
putter smoke-perl5 passed just 9 tests. smoke-js none (somehow confused and didn't like seeing two different versions of perl installed). smoke-redsix (curiosity) down to 400 passed. the "hack, hack, hack" slope looks so very tall from down here. pugs-hs++ 19:27
svnbot6 r14234 | fglock++ | v6/emitter - Native.pm code cleanup 19:28
19:29 Alchemy joined 19:30 Alchemy joined, prism joined
putter nap & colds-- 19:31
Alias_ (literal JavaScript crypto ports to Perl)-- 19:36
(specifically, having to implement them)-- 19:37
nothingmuch audreyt: is this what we had at the israel hackathon? en.wikipedia.org/wiki/Century_egg
SamB !karma specifically, having to implement them
?karma specifically, having to implement them
lambdabot specifically, has a karma of 0
SamB ?karma (specifically, having to implement them)
lambdabot (specifically, has a karma of 0
SamB ?karma them)
lambdabot them) has a karma of 0
19:38 penk joined 19:46 jferrero joined, theorbtwo joined, prism joined
svnbot6 r14235 | fglock++ | v6 - added some experiments with Lexical::Alias (commented out) 19:49
19:52 b_jonas joined 19:55 prism joined
TimToady Ā»*Ā« is now strict; Ā«*Ā» is the new dwimmy Ā»*Ā« 20:00
(unary hypers are always strict in that sense) 20:01
Juerd++ 20:02
(for pointing out the problem, if not the exact solution...)
20:04 prism joined
wolverian TimToady, s,every,ever, in "because no dwimmery every happens:" 20:06
20:08 prism joined
TimToady tnx 20:09
heh, "whimpers" works at least two ways. You're whimpering at the computer because you want it to do something for you. And a "whim-per" tells the computer to follow its whimsy in applying the hyper. 20:11
Alias_ oh man... scary
Lets make sure we hide all this from the newbies :)
TimToady and "whimperops" is a slightly pejorative term for people who can't be bothered to think about whether their hyperops should be conformant or not. :) 20:12
we'll just tell the newbiews to use Ā«*Ā» everywhere. 20:13
*newbies
[particle] *whimperbies
TimToady and then castigate them for not using Ā»*Ā« everywhere.
Alias_ Or not tell the newbies about the hyper ops at all 20:14
I vote it only goes into the second book
(of course, my vote ain't worth much) :)
TimToady that's what's known as Australian Preference Voting. :) 20:16
Alias_ of course
What's the point of knowing the result in less than a week :)
TimToady Is that why they renamed it "Instant Runoff" here? 20:17
Alias_ dunno
TimToady they probably thought Americans would misinterpret it as "having a preference for Australians" or something... 20:20
Alias_ yeah, god forbid the US copy concepts that work from other countries 20:21
SamB "instant runoff" sounds like it involves toxic waste or something... 20:22
Alias_ Emergency overpressure toxic waste channel 20:23
shit 20:31
Here I am, happily porting JavaScript to Perl, feeling appreciative that Larry put identical operators in Perl to those in JavaScript (presumably via C) and all of a sudden I hit....
c>>>=bs
TimToady what manner of operator is it? 20:32
Alias_ hmm... shift right zero fill equals
as opposed to >>= which is just shift right equals 20:33
SamB I could have sworne that was pronounced "bind"
Alias_ So... bind shift right zero fill?
SamB no, I mean ">>=" ;-P
Alias_ ah :) 20:34
b_jonas it used to be different in perl5 where >>= was an unsigned rightshift when you no integer and a signed one when you use integer. 20:35
TimToady the >>> vs >> distinction doesn't make much sense in a language where Int is arbitrary precision. You just do it all with sign bits for signed things and 0 for unsigned. 20:36
20:36 BooK_ joined, ashleyb joined
b_jonas TimToady: very true 20:36
Alias_ Well, this entire algorithm doesn't make much sense
I'm just porting it verbatim rather than try to penetrate WTF it's doing
I _think_ it's using an array of unsigned ints to simulate a large bitfield 20:37
SamB you can't tell?
b_jonas though I'd like to see two other bitops, one for a&~b and one for sort of a&((1<<b)-1)
Alias_ You want to see what I have so far? 20:38
hang on, commiting
b_jonas especially in perl6 where the bitops will have longer names
Alias_ oh wait, I can't show you, there's sensitive passwords in the code atm
b_jonas the first one turns off bits in a bitmask
20:40 antibioticus joined
b_jonas the second one cuts the number to a given length, which is useful when you want to cut a few-bits-long field from a number like (num >> start & ((1<<length)-1)) or 20:40
Alias_ You almost want bitwise splice 20:41
b_jonas when you want to emulate arithmetic (including unsigned rightshifts) on a fixed-length integer, like (a + b)&((1<<32)-1)
or (a >> b)&((1<<32)-1)
only here ((1<<32)-1) has to be calculated with a greater precision than 32 bits which this operator would do if it worked on 32 bit ints not Ints 20:42
Alias_: so this shows I don't, because this operator could do both
I mean, this operation could do not only bitsplice but also something else 20:43
Alias_ That way lies chaos
(fractally complex languages)-- 20:44
b_jonas just go and write +&+~ in perl6 then 20:45
and write +&0xffffffff and see if you never mess up the number of f-s
Alias_ :)
TimToady rtfm, as it were. 20:46
cjeris b_jonas: a & ((1<<b)-1) == a & ~((~0 >> b) << b) # the right doesn't overflow the int size 20:47
b_jonas oh, it's +^ not +~ sorry 20:49
and +< has the same precedence as + , that will be confusing for me 20:50
but that's my fault, I should use more parens instead of relying on it 20:51
what? +& and +| and +^ also have pascal-like precedence? oh no! 20:52
TimToady no, +< is same as *
b_jonas oh yes, +< is the same a * indeed
TimToady I think of it as * 2
Juerd TimToady: If you could explain the new hyper things in terms of recursion, that'd be helpful for me. I'm having trouble bending the way I think. 20:53
(Though on the list, as I need to go now)
20:54 larsen_ joined
b_jonas well +< is arguable, I'm not really sure what precedence is useful for it so maybe I don't like that only because I'm used to C 20:54
but why do +& +| ?& ?| ?^ have to have such a high precedence? 20:55
I can't really see how that could be useful
TimToady they're boolean multiply and add
b_jonas I mean, I understand why they have to be higher than == and <, that's a historical misfeature in C 20:56
TimToady and they should be tighter than junctions
theorbtwo
.oO(I can't even remember what +< is -- left bitshift?)
TimToady and I didn't want to invent two more precedence levels.
theorbtwo: yes
b_jonas hmm, tighter than junctions... dunno
theorbtwo Bitops are a place I /really/ want mind-reader prec, but can't have it. 20:57
For example, $x>>6&1 is something I commonly do, and want it to be ($x>>6)&1 (give me bit 6 of that number).
b_jonas yes, you have already mentioned you wanted less precedence levels when I asked about the comma and the equals 20:58
I'm not sure I like that principle
theorbtwo OTOH, just converting to named methods on Int would help a lot, now that that's easy.
b_jonas in fact, I'd like more precedence levels, with only obviously similar operators having the same difference 20:59
theorbtwo I think I would as well.
That is, don't throw in more just for the hell of it, but putting in more levels is preferable to having things at the same level when you'd have to rely on parens all the time. 21:00
TimToady we already have four different levels of and/or
theorbtwo and, &&, &, +& are all different levels?
TimToady the bitops are intentionally a bit deHuffmanized in P6.
yes, likewise for all the ors 21:01
21:01 Limbic_Region joined
leo TimToady: [more precedence levels] - accumulated p6 operators are already looking like APL - just do it: "APL does not have function or operator precedence" - scnr & duck & run 21:01
theorbtwo But like I said, I think I'll do less bitops in p6 if I can define a lvalue .bits. 21:02
b_jonas (well if ?& would have the current precedence of && then I would say we don't need && which is just historical syntax for ?&) and resp for | isntead of &
but that might be going a bit too far
TimToady a lot of bitops will be in bit arrays anyway.
theorbtwo That is, $foo.bits(3) gives me ($foo>>3)&1.
b_jonas and it only applies for my perl5 programming style where "and" is for control and "&&" is for logical expressions 21:03
oh, and it would work only if ?& would short-circuit
yes, that's definitely pushing it too far then
theorbtwo b_jonas, I use that style more or less too.
TimToady leo: maybe we just turn off all precedence if they use an extension of .apl instead of .pl :) 21:04
leo ahhh the 'a' makes it go - great
theorbtwo Short for the an- prefix, clearly.
TimToady yes, alpha-privitive is what I was thinking to meself. 21:05
b_jonas TimToady: yes, that would work, and J is an apl-like language which has lots of high-level operators (i.e. functions acting on functions) which is like perl6
only J uses ascii only
TimToady we use extended ascii. ā˜ŗ
b_jonas theorbtwo: yes, only I use "and" much more because I replace lots of ifs with it
:) 21:06
if you want more meta-operators, there are plenty to steal from
I'll have to read all the S-s again, they've changed a lot since I last read them. 21:08
ajs_work S05 "Subpattern numbering" doesn't seem clear on how this would be numbered: rx{ [ (a) | (b) (c) ] (d) } 21:09
lambdabot ajs_work: You have 1 new message. '/msg lambdabot @messages' to read it.
ajs_work Anyone have a clue how that should play out? 21:10
TimToady: thanks for the Bool answer
21:11 weinig|work is now known as weinig
fglock ajs_work: a,b,c are captured to $/[0], d is captured to $/[1] 21:11
sorry,
ajs_work Yeah, so I think you just saw my concern.... 21:12
fglock ajs_work: a,b are captured to $/[0], c is $/[1], d is captured to $/[2]
the numbers are given at compile-time, afaik
ajs_work So that means that if a matches, then you get $0 and $2, but no $1? I suppose that seems the least hurty way to do it. 21:13
fglock yes, but you can alias the captures, or create subcaptures 21:14
21:15 ajs joined
fglock rx{ [ (a) <null> | (b) (c) ] (d) } possibly works too, if you need $1 to be a match 21:15
ajs That was odd... I think my IRC client crashed
fglock: Yeah, I'm just trying to piece out all of the behaviors for nested capturing and non-capturing groups 21:16
fglock I've been using <null> for that
b_jonas "Unary sigils impose the container context implied by their sigil." -- uh, I'm frightened. what could non-unary silgils be.
21:16 gnuvince joined 21:17 BooK joined, vel joined
gnuvince Hello everyone. I seem to remember someone (audreyt maybe?) mentioning that there was going to be a release of Pugs soon. Would that be version 6.28? 21:17
ajs So rx{ [ (a) (b) | (c) ] (d) } would also save the state from (b) in $2 and (d) in $3 21:18
So it's whatever non-capturing sub-expression alternation that has the most numbered subpatterns that decides the count of the next numbered subpattern after the non-capturing sub-expression 21:19
fglock ajs: yes - see S05 "Subpattern numbering"
ajs Yes, that's the section I was quoting when I came in, but it's not clear on the interaction between captuirng and non-capturing subexpressions 21:20
It assumes you'll have (a) | (b) which is the easy case
fglock yes, the information is a bit scattered - "Named scalar aliasing to subpatterns" also helps a bit 21:21
b_jonas I really hope people won't use the unicode operators because they'll be too lazy to set up their input devices to be able to enter them or something. 21:23
theorbtwo (101-key layouts with 102-key keyboards)++ 21:25
ajs Ok, thanks fglock. I will propose a small clarification to this effect, since I'm still not seeing that it's exactly stated as you have said, but I think that what you're saying is the only workable way to go. 21:26
fglock gnuvince: no, not yet
b_jonas theorbtwo: you mean you'd use that for the extra operators? there'll be more that what you can fit to a single key. 21:27
theorbtwo No, for a compose key.
I already do, actually.
b_jonas oh.
theorbtwo As in spare-key, y, - = yen.
b_jonas I prefer to have the shift key in place though so I use a 101 key keyboard 21:28
theorbtwo I should get around to making shift-spare be a pound sign, since I do actually live in GBP-land.
b_jonas I still have the windows buttons as extra buttons I could use if I wished though
theorbtwo Eh, I'm quite used to the extra reach to shift.
I don't have windows keys on my desktop, it's an old IBM type M.
b_jonas I'm used too. I don't carry my kbd everywhere. 21:29
would you really do that? where'd you put # then?
theorbtwo Er, shift-3, where the US keyboard layout puts it.
21:30 buubot joined
fglock ajs: I inferred it from "can always be statically determined" - but it would be nice to have some examples that show how it works 21:30
theorbtwo Which is where it is now.
b_jonas oh, you said shift_spare_,
sorry
I use caps-lock as the extra button, but not a compose key but as a modifier (like altgr on normal maps) 21:31
so I need shift-capslock
I should still add a compose key or something, even if I rarely need it, it's not never. 21:32
theorbtwo Yeah, I could use caps lock as an altgr, but keeping it a capslock and using spare as compose feels more natural to me. 21:37
TimToady I finally broke down and turned my right Alt into Compose
theorbtwo Donno why.
theorbtwo likes having two alts.
TimToady me too, but the things that used to be Alt-Ctl I've remapped to just Ctl mostly, and so I can nav desktops even easier now
this is a thinkpad, so no Windows key...
ajs fglock: Example written. Sending it to p6l
TimToady or i'd've used it 21:38
I didn't want to use right Ctl because I do one-handed font resizing all the time with it.
fglock I wonder if v6.pm could have cells written in pure-perl - like perl -e ' $x=\(my $c); $y = $x; $$x=3; print $$y; $$y=4; print $$x '
TimToady I just wish I could get Compose to default to Vim's digraph map instead of the screwy Eurocentric one. 21:39
theorbtwo Shouldn't be too hard.
What OS do you use?
b_jonas theorbtwo: if you type German language texts, do you use the compose key for umlauts?
TimToady Fedora Core. Tried replacing the Compose file, but it seems to be precompiled somewhere I don't know about.
theorbtwo In that rare circumstance, yes.
b_jonas I see. Well I type Hungarian text somewhat more often, so that's why I need the modifier 21:40
theorbtwo Yeah, sensical.
I'm not German, I just lived there for a while.
b_jonas on the other hand, I could use a compose key for stuff like quotation marks and en dashes 21:43
ajs My suggested change to S05 is away. Enjoy.
off to shop for our Bad Movie Night at work
b_jonas unless I stuff them to caps-lock plus (optional shift plu) number keys, but that's still just 2*9 places 21:44
plus 2*3 more for comma, dot, and slash
21:48 fglock left
TimToady my last smoke seems to be 50% slower again. ā˜¹ 21:49
wolverian they really need to standardise on one cigarette length... 21:50
21:50 gaal joined
TimToady 8| 21:50
21:51 antibioticus left
svnbot6 r14236 | putter++ | Common/convert_regexp_to_six.pl - alternation repaired, and it now affects capture numbering. 21:56
r14236 | putter++ | (?:(a)(b)|(c))(d) now yields a capture map of [$0, $1, $0, $2]. fglock++ ajs++
r14236 | putter++ | I suspect there is a lot more work to do to get numbering right.
TimToady though I do think the 99.81% success rate is nice. ā˜ŗā˜ŗā˜ŗ 21:59
22:01 justatheory joined
TimToady and while consistent smoke times is good, Perl 6 is not yet very good at sucking consistently. 22:01
@tell Juerd If you want a more specific answer about recursion you'll have to ask a more specific question. To me recursion is an implementation detail unrelated to the semantics. You can add two conformant arrays without recursion at all regardless of their dimensionality. If you only want to process their top dimension you should slice them that way explicitly. 22:09
lambdabot Consider it noted.
TimToady nap & 22:10
Daveman heh 22:17
svnbot6 r14237 | putter++ | Common/convert_regexp_to_six.pl - fixed thinko; 22:26
b_jonas Oh WOW! 22:31
"The unary ^ operator generates a range from 0 up to one less than its argument."
this will be a blessing for people like who think in set theory 22:32
it will be dead useful
though the unary = could have been overloaded for this... 22:34
that's something not even ruby dared to do, which, otherwise, defines the "each" method for the wierdest types 22:35
but not for integers
it has a times method for integers that does that though 22:36
what would that imply in perl6.... =2 would be an iterator that alternates between 0 and 1 22:37
wolverian sounds PDLish.. 22:38
b_jonas now it has to be written as =^2 instead (or does that need a space?)
oh yeah, apl does have this ^ operator: it's called iota 22:39
22:48 polettix joined
b_jonas night 23:01
23:24 cjeris left 23:28 Aankhen`` joined
wolverian dev.perl.org/perl6/list-summaries/ is out of date 23:31
lambdabot Title: This Week in Perl 6 - perl6
wolverian _badly_ out of date :) 23:32
23:36 weinig is now known as weinig|food 23:40 demerphq joined 23:41 P02 joined 23:51 stennie left 23:55 P02 joined 23:56 P02 joined