Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-03-04

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 jisom joined perl6
00:02 Maddingue joined perl6
00:05 nothingmuch woah!
00:05 nothingmuch awesome!
00:05 nothingmuch Dave Mitchell plugged all the closure leaks in 5.9
00:05 obra cool!
00:05 nothingmuch Error.pm no longer has baggage
00:06 nothingmuch see p5p post on that topic
00:06 obra I saw the question from Dave Rolsky
00:06 nothingmuch so now the other dave replied
00:07 nothingmuch i can't believe this didn't get more hype
00:07 nothingmuch appearantly it's already mostly OK in 5.8
00:07 * nothingmuch knew he shouldn't have listened when people told him off about using that stuff
00:07 nothingmuch intention first
00:07 nothingmuch let p5p sort out the evil crap later ;-)
00:14 pdcawley left perl6
00:20 pdcawley joined perl6
00:22 nothingmuch moosen
00:50 nothingmuch audreyt: pin
00:50 nothingmuch g
01:08 lao_ joined perl6
01:11 avar joined perl6
01:48 kisu joined perl6
01:53 K joined perl6
02:03 nothingmuch pugs doesn't do any constant folding, etc, does it?
02:04 nothingmuch there's no real value as a concept, i guess
02:04 nothingmuch i think for prelude, etc, i would like to have a new kind of AST node
02:04 nothingmuch RuntimeOnly or something like that
02:05 nothingmuch after parsing, the whole tree is converted such that non-pure prims are wrapped in RuntimeOnly
02:05 nothingmuch and then the whole tree tries to eval
02:05 nothingmuch and every time RuntimeOnly is encountered in a Prim app then that prim app is wrapped in a RuntimeOnly node itself
02:06 nothingmuch this naturally has to be generalized a bit more for assignment ops
02:07 nothingmuch but this should give us constant propagation, dead code elimination, and other niceties
02:07 * Daveman waves, as the third Dave :p
02:07 nothingmuch hello, third dave
02:07 Daveman Greetings :)
02:15 nothingmuch oh man
02:15 nothingmuch i just realized i really need monads for this
02:15 nothingmuch so much for feeling more comfortable in perl 5
02:15 * nothingmuch will rewrite his pet project in haskell tomorrow ;-)
02:16 Daveman Excellent. :)
02:19 K joined perl6
02:22 nothingmuch good night
02:30 Daveman :)
02:43 dduncan joined perl6
03:10 handon joined perl6
03:13 mako132__ joined perl6
03:18 justatheory joined perl6
03:21 mauke joined perl6
03:25 xern joined perl6
03:27 feng123 joined perl6
03:34 jp-autark joined perl6
03:52 diotalevi joined perl6
03:53 diotalevi Does pugs have regular expressions?
03:56 FurnaceBoy joined perl6
04:01 Soul_keeper joined perl6
04:01 Soul_keeper \join #linuxsociety
04:01 Soul_keeper left perl6
04:04 amnesiac joined perl6
04:41 Khisanth diotalevi: yes
04:47 jp-autark joined perl6
04:49 FurnaceBoy_ joined perl6
04:54 Khisanth joined perl6
05:01 diotalevi When I say "a" =~ /(.)/ which is perfectly fine perl 5 code, I get Can't modify constant item: VStr "a". What's that mean? That I need to say that differently now?
05:05 diotalevi Is that just "a" ~~ /(.)/ now?
05:07 diotalevi Oh hell. I know this is a pugs place but I was just trying to build parrot and got this: ../../parrot rulec.pir library.pge >PGE/Library.pir
05:07 diotalevi PackFile_unpack: Bytecode not valid for this interpreter: fingerprint mismatch
05:07 diotalevi Any ideas?
05:08 jisom which revision of parrot?
05:08 diotalevi Whatever is available on svn now.
05:08 diotalevi I fetched it 10 minutes ago.
05:09 diotalevi ~/VERSION says 0.4.2
05:09 jisom versions are done once per release, bugs can pop up and be fixed in one day
05:09 jisom was it a fresh checkout or update?
05:10 diotalevi A fresh checkout.
05:11 jisom very very very peculiar.....
05:12 diotalevi I ran Configure.pl with a latest bleadperl so maybe that's it. I hope not. I'm trying again with a 5.8.7.
05:13 diotalevi I didn't actually have pugs and parrot locally but it matters to p5p now what "a" ~~ /(.)/ does when it list context.
05:14 diotalevi Our docs say it's the same thing as "a" =~ /(.)/ except that robin's addition of smart match appears to return 1 instead of "a" when in list context.
05:14 diotalevi So rafael asked what the perl6 interpretation for that was ...
05:15 diotalevi hence my building stuff and asking about it here.
05:15 jisom I just work with parrot...
05:15 jisom building ghc crashing my freebsd box
05:16 diotalevi yeah, I do perl5 optrees more than anything else specialized.
05:16 diotalevi crap. switching to 5.8.7 fixed the parrot building.
05:16 jisom so found a bug in bleadperl
05:17 diotalevi Yeah.
05:17 diotalevi Maybe.
05:17 jisom fingerprint.c is created by perl
05:19 diotalevi Yay. ($_) = "a" ~~ /(.)/; say returns "a"
05:19 diotalevi from pugs.
05:20 diotalevi Where does fingerprint.c come from? Maybe the script making it is buggy.
05:20 diotalevi I can hope...
05:21 jisom toos/build/fingerprint_c.pl
05:21 jisom *tools
05:21 diotalevi k
05:22 diotalevi Boo. Lint had nothing interesting to say.
05:23 diotalevi Neither does perlcritic. So much for automated dodginess detectors.
05:24 hexmode joined perl6
05:24 jisom is the fingerprint.c output different?
05:25 jp-autark joined perl6
05:26 diotalevi I can know this in a minute or few.
05:26 jisom ok
05:29 azuroth joined perl6
05:31 diotalevi Zero difference.
05:32 diotalevi That's good.
05:32 jisom very interesting
05:33 diotalevi Maybe `make clean' isn't sufficient to clean everything.
05:34 jisom yeah....there's a few different cleans......archclean, clean, realclean, and svnclobber
05:34 diotalevi Oh.
05:34 diotalevi feh.
05:35 jisom svnclobber's the cleanest
05:35 jisom as it's name would make you believe
05:35 jisom perhaps
05:37 diotalevi Ok well I'm building both version again after svnclobbering each.
05:43 diotalevi Yay. It didn't fail again.
05:43 jisom just an intermittent bug?
05:44 diotalevi There's a 3K patch's worth of difference between parrot as build w/ 5.8.7 and blead.
05:44 diotalevi I guess, jisom.
05:44 diotalevi I could go get a real, fresh checkout to really reproduce it.
05:45 jisom if after an svnclobber, you run 'svn status' and nothing comes up, it may as well be a fresh checkout
05:47 diotalevi I got some lines preceded by a ? mark. Is that "nothing"?
05:47 jisom it means it's a file that exists and isn't hidden by the svn:ignore property
05:48 diotalevi ok? And?
05:48 diotalevi Is that good enough to be a fresh checkout like you said?
05:48 jisom which files?
05:48 diotalevi I don't do this "svn" thing.
05:48 jisom what did you use to checkout?
05:49 diotalevi build_tools, charset, ops, dynoplibs, pf, encodings, incc, ast, classes, io, dynclasses, t/dynclass
05:49 jisom those are directories....
05:50 diotalevi svn. I was just saying that I'm parroting commands like I read on the web page. I'd use cvs if given the choice. I've used *that*.
05:51 jisom eh, svn's revert capability is very helpful for me
05:51 diotalevi I didn't say it was better or anything, I just don't know it.
05:52 jisom ok
05:55 diotalevi well thanks for the help.
05:55 jisom not a problem
06:07 bd_ joined perl6
06:14 Nouk joined perl6
06:21 K joined perl6
06:27 Draconit_ joined perl6
06:31 azuroth tiramisu++
06:31 Hinrik joined perl6
06:33 Draconit_ left perl6
06:37 K joined perl6
06:44 rgs hey diotalevi
06:52 FurnaceBoy_ left perl6
06:54 Hinrik left perl6
06:58 dduncan I discovered that the freenode.net server which we are using has a list of "primary groups" using its server, at http://freenode.net/primary_groups.shtml , but #perl6 isn't on it
06:58 dduncan should we register?
06:59 rgs what would be the benefits ?
07:01 * rgs notices that mandriva is listed, and didn't even know
07:01 rgs (it's my employer, fwiw)
07:02 dduncan benefits?
07:02 dduncan it just seems like a good thing to do
07:02 dduncan there must be *some* reason the other groups are listed
07:04 dduncan fyi, I also just made a 'active' donation to PDPC (my first) in support of this IRC service, in case it helps
07:05 ayrnieu freenode politics bore me to death, but you might /msg chanserv access #perl6 list  -- and ask those people about registering.
07:06 diotalevi rgs, what?
07:07 rgs just hey. good to see that some people here actively follow P5P :)
07:07 * rgs saw his name in the backlog
07:07 diotalevi I'm far more a p5p person than I am a p6-anything person.
07:08 diotalevi tho I'm barely a p5p person.
07:08 dduncan I'm a perl 5 user and module maker but I don't contribute to the p5 core
07:08 rgs but your name isn't in your whois
07:08 diotalevi I hack optrees for fun and no profit.
07:08 diotalevi JJORE on cpan.
07:08 rgs diotalevi: ok. hi !!
07:08 jisom I just program in pir, fun language
07:08 rgs dduncan: I must have seen you somewhere, at oscon perhaps.
07:09 dduncan I was at OSCON 2005
07:09 dduncan that was my only oscon ever
07:09 rgs aol
07:09 dduncan and I've never yet been to a perl conference
07:09 dduncan er
07:09 dduncan those standalone perl events
07:10 diotalevi I'm planning to go to this oscon and YAPC. It's part of my grand plan to meet people so I've contacts for the next time I'm laid off.
07:10 rgs I've been in YAPC::Europe::Paris, too. (easy, I live in Paris.)
07:10 dduncan right, it was yapc I've never been to any of
07:11 dduncan rgs, if I stood out at oscon at all, it may be due to some of my perl modules, and maybe related to pugs
07:11 dduncan I gave a lightning talk on one
07:11 dduncan which contained an awkward pause in the middle
07:11 diotalevi what modules? I don't see a dduncan on cpan.
07:11 dduncan my cpan id is duncand
07:12 dduncan the irc name is reversed
07:12 ayrnieu dduncan - your name is Duncan Duncan?
07:12 dduncan yes
07:12 dduncan my irc nick used to be that full thing too
07:12 diotalevi search.cpan isn.t finding you. You're really a CPAN author?
07:12 dduncan but I shortened it when I was told some IRC clients had very narrow windows
07:12 dduncan my cpan id is duncand
07:13 * rgs &
07:13 ayrnieu rather, some IRC clients indent everything by names, and so long names annoy.  Blame freenode for choosing to allow such long nicknames.
07:13 dduncan diotalevi, http://search.cpan.org/~duncand/ goes to it
07:14 diotalevi found it through browsing.
07:14 diotalevi :-/ dumb search tool.
07:14 dduncan my lightning talk was on my database module, Rosetta
07:15 dduncan it doesn't work right now, but it has greater promise than anything I've made
07:15 * diotalevi wishes everyone had already written everything he wants modules for so he wouldn't have to keep uploading more.
07:16 dduncan my Rosetta distro helpfully includes the full text of what I meant to say in the lightning talk, but it somewhat bombed when I tried to do the talk entirely from memory / without cue cards
07:16 diotalevi Rosetta? It'd be nice to see a comparison against it's peers like Alzabo.
07:16 dduncan hence the awkward pause
07:16 dduncan a comparison will come later
07:17 dduncan there is no point in doing one now, since Rosetta isn't functional yet
07:17 dduncan I follow the "release it early and often" open source mantra
07:17 dduncan and hence it is up while still partly complete design docs
07:18 diotalevi So are you avoiding existing stuff because Not Invented Here?
07:19 dduncan it's not that bad
07:19 diotalevi Or because you want to reimplement a wheel?
07:19 dduncan I see what I'm doing as being very different than anything already up
07:19 dduncan it may be hard to see that now, but its true
07:20 dduncan one key difference is that my API is centered around implementing "The Third Manifesto", rather than a SQL database
07:20 diotalevi Neato.
07:20 dduncan The Third Manifesto is based on formal logic and relational algebra, which SQL is not
07:21 diotalevi You should talk to Dave Rolsky sometime. His Alzabo does the same thing.
07:21 dduncan also, you can edit the schema of Rosetta databases just by directly modifying the database catalog, using ordinary insert/update/delete statements
07:21 dduncan no SQL database does that, that I"m aware of
07:21 diotalevi I just pimp it because it works and I know it's been production for a good while now.
07:22 dduncan you say that Alzabo is a TTM implementation?
07:22 dduncan I wasn't aware that he went that far
07:22 dduncan looking ...
07:23 diotalevi Well he's thinking about it anyway. I never read TTM. Dave talks about it semi-frequently and especially in connection w/ his thing.
07:23 dduncan well, I'm going all the way ...
07:23 dduncan not only do the above features exist, but also:
07:23 dduncan multi-update statements
07:23 dduncan nested transactions
07:24 dduncan forbidding of nulls everywhere
07:24 dduncan forbidding of duplicate rows everywhere
07:24 * diotalevi never really wanted to forbid nulls.
07:24 dduncan arbitrarily complex type support
07:24 dduncan arbitrary but that they can't be recursively defined
07:25 dduncan well, people who *really* want the features that nulls provide can emulate them over top of the null-less api
07:25 dduncan but the core is more bug-free for excluding them
07:26 * diotalevi seems to recall there's 28 different nulls tho he's never seen them enumerated beyond a handful.
07:26 jisom how much more complex would the user code have to be to allow nulls?  just asking out of curiousity
07:26 dduncan it depends
07:27 dduncan first of all, note that a lot of complexity in SQL statements is due to the presence of nulls; by dis-allowing them, queries etc are actually simpler by default
07:27 jisom I don't deal much with sql or databases, but ease of programming is important
07:28 * diotalevi is a perverse bastard and would like to be able to formulate db queries in prolog.
07:28 dduncan one way to implement a nullable type is to define a composite type with 3 members, one being of the base null-less type, the second being null (which only has 1 possible value), and the third saying which of the other 2 is the collective type's current value
07:28 dduncan its basically the same thing that Perl 5 does ...
07:28 * jisom is a perverse bastard who prefers PIR(somewhat high level assembly) over perl
07:28 dduncan for supporting strings and numbers in the same scalar (SV) type
07:29 dduncan since you explicitly define the collection type, you can also explicitly define what behaviour happens where if the 'null' is the value
07:29 dduncan ... er ... since you also define all the operators for working with that type too
07:30 dduncan including the equality test
07:30 dduncan suffice it to say ...
07:30 dduncan Rosetta is optimized for people that don't use nulls
07:30 dduncan those people get the tersest syntax, where people that want nulls use more verbose syntax
07:31 diotalevi terse is doubleplus good.
07:31 catarcid joined perl6
07:31 diotalevi So... is there context in perl6?
07:32 dduncan since the user's conception of the logic involved is simpler without nulls (and the implementation is also simpler), the terser syntax works with this
07:32 diotalevi C< $_ = "a" ~~ /(.)/; say > and C< ( $_ ) = "a" ~~ /(.)/; say > evaluated identically.
07:32 dduncan and more verbose syntax with nulls matches the more complicated logic to working with them
07:32 diotalevi Should it?
07:32 ayrnieu diotalevi - yes.
07:33 ayrnieu diotalevi - er, maybe.
07:34 diotalevi C< ( $_ ) = not not "a" ~~ /(.)/; say > got me the perl5ish behavior.
07:35 calanya joined perl6
07:35 ayrnieu ? "a" ~~ m:perl5/(.)/
07:35 ayrnieu ?eval "a" ~~ m:perl5/(.)/
07:35 evalbot_9263 Match.new(   ok => bool::true,    from => 0,    to => 1,    str => "a",    sub_pos =>     (Match.new(        ok => bool::true,         from => 0,         to => 1,         str => "a",         sub_pos => (),         sub_named => {}      ),),    sub_named => {} )
07:35 bsb joined perl6
07:35 ayrnieu ?eval "a" ~~ m:perl5/(.)/; say
07:36 evalbot_9263 OUTPUT[ ] bool::true
07:38 * ayrnieu regrets answering so quickly, now.
07:38 diotalevi It's a context thing. If uh... there's context.
07:38 ayrnieu *nod*, I get that in Perl5.
07:38 diotalevi Oh well. I've gotta sleep.
07:39 diotalevi oh say, you get the ~~ operator if you upgrade to blead. ;-)
07:40 ayrnieu disappointed with:
07:40 ayrnieu ?eval sub F (Scalar $a) { $a.say }; F("a" ~~ m:perl5/(.)/)
07:41 evalbot_9263 OUTPUT[a ] bool::true
07:41 mtve joined perl6
07:42 * ayrnieu &
07:43 diotalevi that m:perl5 thing you're writing seems to be optional. Sleep for me. G'nite.
07:44 diotalevi omit the .say and you get a Match.new( ... ) object which is true/"a"
07:44 dduncan diotalevi, I just did a web search, and found a use.perl comment from Rolsky like what you said ... him toying with making a truly relational database in perl ... that was dated 2003
07:45 diotalevi he talked about it at a recent minneapolis.pm.
07:45 dduncan oh
07:45 dduncan well, maybe we have more impetus to work together, then
07:46 dduncan I also know that Leffler who made the Informix DBD module is strongly interested in this stuff too
07:47 dduncan he's even on the TTM mailing list ... I didn't see Rolsky there yet
07:48 diotalevi shrug. g'nite.
07:48 diotalevi fer real.
07:52 Nouk joined perl6
07:59 calanya left perl6
08:02 Arderydd joined perl6
08:02 Arderydd left perl6
08:02 elmex joined perl6
08:09 iblechbot joined perl6
08:10 dduncan diotalevi, thanks to your clue, I'm looking at that Dec 2005 presentation now
08:11 dduncan the slides, that is
08:17 blm_ joined perl6
08:50 svnbot6 r9264 | pmurias++ | debugging turned off on default
08:51 K joined perl6
08:54 SolidState joined perl6
08:57 feng joined perl6
09:02 svnbot6 r9265 | pmurias++ | Smart::Comments are now used in the mainstream version
09:02 svnbot6 r9265 | pmurias++ | (required for debugging only)
09:05 svnbot6 r9266 | pmurias++ | A source filter to activate Smart::Comments on per subroutine basis
09:24 blm_ is now known as blm
09:25 iblechbot joined perl6
09:56 szabgab joined perl6
10:00 feng123 joined perl6
10:02 ghenry joined perl6
10:06 azuroth ping?
10:19 K joined perl6
10:20 GeJ joined perl6
10:23 beppu_ joined perl6
10:24 ruz joined perl6
10:50 ayrnieu pong?
10:52 azuroth beef vindaloo
10:53 ayrnieu dragonsteak volcano
10:54 * ayrnieu writes HOP in perl6.
10:54 azuroth HOP?
10:54 ayrnieu Higher Order Perl.  A book.  I mean that I translate the code given to perl6.
10:54 integral SICP for perl
10:54 ruz joined perl6
10:55 ayrnieu integral - how close is the parallel?
10:55 integral ayrnieu: probably not very close :)
10:55 K joined perl6
10:56 azuroth cool :D
10:57 nnunley_ joined perl6
10:57 K joined perl6
10:58 ayrnieu hm, the first example would be easier if subtype worked.
10:58 K joined perl6
11:01 ayrnieu ?eval sub binary (Int $n) { return $n if $n == 0|1; binary(int($n/2)) ~ $n%2 }; binary 15
11:01 evalbot_9266 "1111"
11:01 ayrnieu ?eval sub binary (Int $n) { return $n if $n == 0|1; binary(int($n/2)) ~ $n%2 }; binary 10
11:01 evalbot_9266 "1010"
11:02 rantanplan_ joined perl6
11:03 ayrnieu (sprintf "%b", 15) kills pugs, although %b is supported as of 5.6.0; blame Printf.printf
11:03 ayrnieu ?eval sprintf "%b", 10
11:03 evalbot_9266 pugs: Printf.printf: bad formatting char b
11:04 integral ayrnieu: write a sprintf in perl6 for us and add it to the prelude
11:05 ayrnieu Probably a good idea.
11:05 integral or some tests perhaps :)
11:06 azuroth or some... tiramisu!
11:06 chris2 joined perl6
11:06 * azuroth offblasts
11:11 pawel joined perl6
11:11 pawel hi all
11:12 azuroth hey
11:12 pawel is now known as pmurias
11:20 azuroth I need to find a good "get rich quick" scheme
11:23 K joined perl6
11:25 marmic joined perl6
11:28 Judis joined perl6
11:28 Judis left perl6
12:13 nnunley joined perl6
12:15 rep joined perl6
12:28 Draconit_ joined perl6
12:28 Draconit_ left perl6
12:30 iblechbot joined perl6
12:34 larsen joined perl6
12:41 sri_ joined perl6
13:06 elmex_ joined perl6
13:11 ruz_ joined perl6
13:33 K joined perl6
13:37 planrantan joined perl6
13:37 wilx`` joined perl6
13:44 ghenry joined perl6
13:55 renormalist joined perl6
13:58 K joined perl6
14:10 K joined perl6
14:11 typonaise joined perl6
14:11 K joined perl6
14:38 ruz_ joined perl6
14:48 revdiablo joined perl6
15:07 grayson joined perl6
15:10 rantanplan_ joined perl6
15:12 rantanplan_ joined perl6
15:13 robkinyon joined perl6
15:16 hcarty joined perl6
15:25 larsen joined perl6
15:26 ruz_ joined perl6
15:33 justatheory joined perl6
15:37 hcarty left perl6
16:00 ruz_ joined perl6
16:02 amnesiac joined perl6
16:15 cnhackTNT joined perl6
16:20 K joined perl6
16:25 Juerd echo
16:26 wolverian (echo)
16:28 webmind rst
16:40 Limbic_Region joined perl6
16:47 putter joined perl6
16:47 putter anyone recognize:  pugs: toEnum{SyckKind}: tag (240518168578) is outside of enumeration's range (0,2)  ?
16:49 putter it's been a while (pre-hackathon) since I've built pugs.  installed a new perl in the meantime.  64 bit.
16:57 K joined perl6
16:58 handon joined perl6
17:00 ruz_ joined perl6
17:06 larsen joined perl6
17:08 K joined perl6
17:32 audreyt putter: fixing
17:33 audreyt (just got wireless set up in hotel, whew)
17:33 audreyt massive tcp/ip withdrawal
17:34 Limbic_Region audreyt - not sure if you caught any of my "WTF is wrong with Win32" musings in the channel
17:34 Limbic_Region but it appears to be fixed for some definition of fixed
17:34 Limbic_Region it no longer complains about a broken prelude and reload from source
17:34 Limbic_Region but it still is S-L-O-W
17:34 audreyt so, as in, precomp prelude is broken on win32?
17:34 audreyt strange, I thought I did fix that
17:35 Limbic_Region well
17:35 audreyt I'll reboot and investigate in a bit.
17:35 Limbic_Region wait
17:35 Limbic_Region don't
17:35 Daveman cool
17:35 Limbic_Region let me explain first
17:35 audreyt ...ok
17:35 Limbic_Region prior to today, when I did a nmake realclean; svn up; perl Makefile.PL; nmake
17:35 stevan heya audreyt
17:35 Limbic_Region any code I ran after that would complain about a b0rk prelude, reload from source, and then run just fine
17:36 audreyt stevan: yo
17:36 Limbic_Region today it is no longer complaining at all - but it is S-L-O-W as molasses running uphill in winter
17:37 Limbic_Region fwiw - the error in question was: Error loading precompiled Prelude: Left "syntax error: line 2, column 2"
17:41 audreyt can you open up src/Pugs/PreludePC.yml
17:41 audreyt and see if it was either empty
17:41 audreyt or has duplicate LFs?
17:42 ruz_ joined perl6
17:42 putter back.  "molasses running uphill in winter" :)
17:43 audreyt putter: fixed, I think. try again?
17:43 audreyt (r9267)
17:43 putter audreyt: thanks! :)  trying ...
17:43 svnbot6 r9267 | audreyt++ | * try to deal with 64bit syck number wraparound issue
17:43 svnbot6 r9267 | audreyt++ |   by ignoring all but the last 2 bytes in kind tags.
17:43 svnbot6 r9267 | audreyt++ |   Reported by putter++.
17:44 Limbic_Region audreyt - I can but it is not giving the error anymore - it is just sloow
17:45 Limbic_Region perlbot nopaste
17:45 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
17:46 putter audreyt:  fixed :)  my thanks.
17:46 pasteling "Limbic_Region" at 24.35.57.240 pasted "My src/Pugs/PreludePC.yml" (118 lines, 3.7K) at http://sial.org/pbot/16153
17:47 Limbic_Region if you want more than that audreyt let me know
17:48 pmurias is it posible to determin which revision is a pugs binary build from?
17:49 Limbic_Region pugs -V
17:49 Limbic_Region ?
17:49 Limbic_Region or rather
17:49 Limbic_Region pugs -[vV]
17:50 pmurias thanks
17:50 Limbic_Region walang anuman
17:54 audreyt Limbic_Region: that's too short, can't be it
17:54 audreyt but otoh, maybe it's nopaste limit
17:54 avar joined perl6
17:55 Juerd  
17:55 Limbic_Region audreyt - it isn't complete
17:55 Limbic_Region as I said
17:55 Limbic_Region 12:47] <Limbic_Region> if you want more than that audreyt let me know
17:55 * Limbic_Region goes to nopaste the entire file
17:56 audreyt oh no
17:57 audreyt just get http://perlcabal.org/~autrijus/tmp/PreludePC.yml
17:57 audreyt overwrite your preludepc with that
17:57 audreyt and run pugs inside the pugs build base path
17:57 audreyt and see how slow (or not) it is
17:57 * putter interpreted "more than..." as an offer of additional assistance (rather than lines)... ;)
17:58 Limbic_Region audreyt - it takes at least 5 seconds to run a very simple piece of code
18:00 Limbic_Region audreyt - does it matter than I never do nmake install ?
18:00 audreyt no
18:00 audreyt perhaps it really is that syck is slow on your machine?
18:00 audreyt can you install YAML::syck
18:00 audreyt from cpan
18:00 audreyt and see how
18:01 audreyt perl -MYAML::Syck -e "LoadFile 'PreludePC.yml'"
18:01 audreyt how many second this takes?
18:01 Limbic_Region sure
18:02 Limbic_Region oh, didn't realize it wasn't pure perl
18:02 mako132__ joined perl6
18:02 * Limbic_Region goes to check to see if there is a recent ppd
18:02 audreyt now that my laptop is slowly syncing the world, I think I'll go out and find some dinner
18:03 Limbic_Region best I could find is 0.30
18:03 Limbic_Region latest is 0.33
18:03 audreyt that should do
18:03 Juerd audreyt: Bon apetit
18:03 audreyt 0.30 is fine
18:03 audreyt I'll be back in a couple hours :)
18:03 Juerd I'm at the Chemnitzer LinuxNacht (Linux Night)
18:03 audreyt Juerd: enjoy!
18:03 Limbic_Region I won't be (likely)
18:03 audreyt *wave* &
18:03 Limbic_Region so read the logs
18:03 Juerd Weird stuff. Clublike place with lots and lots of laptops :)
18:04 Limbic_Region returns almost immediately audreyt
18:04 Limbic_Region < 1 second
18:04 * Limbic_Region wanders off
18:04 Limbic_Region left perl6
18:06 * putter wonders whether to add stuff to Prelude.pm, thus making it even slower for folks with difficulties...
18:08 Juerd I'd say that at this stage, innovation has precedence over usability :)
18:08 putter :)
18:10 * putter feels quite guilty that the rx_ Prelude.pm/Parser.hs hook has been slowing pugs for more than half a year, all in the hope it may someday start working... :/
18:12 Juerd putter: Fix it then? :)
18:16 putter i believe it's compiler-rewrite flavor stuff.  the tradeoff between waiting, and learning enough haskell to attempt it myself, keeps coming up "wait" ;)   though it might be worth speculatively gambling (half) a day to see if it's patchable.  hmm...
18:26 Juerd Why not?
18:27 putter "half day" == getting other stuff done ;)
18:29 Juerd Then you have to decide what the world would benefit from most
18:29 vel joined perl6
18:33 hexmode joined perl6
18:34 putter audreyt, etal: is there a semi-spec for rules which take arguments?   eg, rule parens ($rx) { \( $rx \) }  rule foo { bar <parens <hee>> qux }
18:34 putter Juerd: the choice one makes with each hour of the day :)
18:35 audreyt putter: rules that take arguments are simply that :)
18:35 audreyt (i.e. you get the symbols visible in your lexical scope)
18:35 putter cool.  tnx.  :)
18:35 audreyt you can call to other rules with
18:35 audreyt <rulename param>
18:35 audreyt where "param" will be looked up as a rule as well
18:35 audreyt and passed to it
18:36 audreyt s/looked up/compiled/
18:37 putter is there a multiple arguments mechanism?  tuples?
18:40 pmurias ~ $ svn status
18:40 pmurias ?      smart
18:40 pmurias ?      subroutine
18:40 pmurias ?      iterator_engine_p6prelude-cached.pl
18:40 pmurias ?      test.pl
18:40 pmurias joined perl6
18:41 putter pmurias: ??
18:44 pawel joined perl6
18:45 justatheory joined perl6
18:45 pawel sorry, pressed the wrong mouse button
18:47 justatheory joined perl6
18:48 putter pawel: ;)  the drawbacks of unchecked power :)
18:50 vel joined perl6
18:51 vel joined perl6
18:56 rindolf joined perl6
18:56 rindolf audreyt: here?
18:56 rindolf Hi all!
18:56 audreyt rindolf: hey schlomi. I'm just going out to dinner now
18:56 rindolf audreyt: it's "Shlomi", not "Schlomi".
18:57 audreyt Shlomi, then.
18:57 rindolf Lots of people make this mistake.
18:57 audreyt what's up?
18:57 rindolf audreyt: I'm fine. Spent the afternoon wrestling with CPANPLUS.
18:57 audreyt oh. you want kane-xs.
18:57 rindolf audreyt: are you subscribed to cpanplus-devel@lists.sf.net?
18:57 rindolf Wow! He's here.
18:57 rindolf kane-xs: here?
18:57 audreyt I might be. not sure
18:58 rindolf audreyt: I really enjoyed listening to your presentations at OSDC::Israel.
18:58 Juerd rafl: Could I get your charger again soon, I'm down to 0:10.
18:59 rafl Juerd: Maybe we should continue this discussion using PRIVMSG'es. I already pinged you using that, buy you did not react.
18:59 Juerd rafl: Thanks :)
18:59 Juerd Right, wasn't looking at my irc client
18:59 rindolf Bleh. kane-xs has been idle for over 90 hours.
18:59 Juerd As I was replying to an interesting mail.
19:02 Juerd Did you know that a mitre is a symbol for the glans of a penis, and that the person wearing it resembles a penis?
19:02 Juerd Right, as I said: interesting
19:02 rindolf And dwim.org (his web-site) has no DNS entry.
19:02 rindolf Is he dead?
19:02 rindolf ;-)
19:08 rindolf The cpanplus-devel mailing list has been inactive since December: http://sourceforge.net/mailarchive/forum.php?forum=cpanplus-devel
19:10 rafl Juerd: Indeed, interesting.
19:12 TimToady joined perl6
19:15 sri__ joined perl6
19:18 lypanov joined perl6
19:21 putter how does one create a class name alias?  eg, sortof like  ::Graf := GraphemeChar;
19:23 deux5 joined perl6
19:23 deux5 s l t
19:23 deux5 tt L m
19:28 Juerd putter: ::=, IIRC
19:28 buu joined perl6
19:30 deux5 la la
19:32 p5evalbot joined perl6
19:36 putter Juerd: thanks.  still doesn't work, but oh well.  :)  working around...
19:37 putter ?eval 3
19:37 evalbot_9267 3
19:38 putter ?eval class A{} ::B ::= A;
19:38 evalbot_9267 Error: Bind to undeclared variable: ":B"
19:38 integral ?eval class A {}; B ::= A
19:38 evalbot_9267 Error: Cannot bind this as lhs: App (Var "&B") Nothing []
19:41 putter neat.  didn't realize one could do
19:42 putter ?eval our Int sub f() {3}  say f();
19:42 evalbot_9267 OUTPUT[3 ] bool::true
19:44 wolverian hm, haven't seen that :base<number> form before in S02, or I missed it before. I don't see a generic base converting function, though. is there one?
19:50 putter I've not noticed one.  One didn't go in at the same time as :2<1>.  eval and sprintf? ;)
19:51 wolverian or modulus.. :)
19:51 wolverian but it's so ugly!
19:51 putter is this really valid?  what does it mean?    multi Int ( Num $x ) {...}
19:52 putter is this a new? form of coerce:<as> ?
19:52 wolverian yeah, I wondered about that too.
19:52 mako132__ joined perl6
19:52 wolverian (no idea.)
19:55 putter ok.  tnx.
19:57 wolverian no reason to thank me :) thank me when I have an answer ;)
19:57 putter hmm, so what's the difference between    &Num::ceil ::= &Num::ceiling;  and   our &Num::int ::= &Num::truncate; ?
19:58 rindolf left perl6
19:58 putter ah, just the response, the existence of collaboration, is good in and of itself.
20:07 dduncan joined perl6
20:08 wolverian I guess :)
20:08 wolverian as to your question: they're the same?
20:08 wolverian that's a question, too..
20:10 putter lol
20:10 putter ?eval constant x = 3;
20:10 evalbot_9267 Error: No such method in class Any: "&constant"
20:21 * putter is rather unhappy with the "is builtin" requirement in Prelude.pm.  I have fully spec signatures - they shouldn't need to be altered. :/
20:22 putter ditto  is safe/unsafe.
20:28 FurnaceBoy joined perl6
20:32 * putter it seems precompiled Test doesnt happen by default at the moment.  is it obtainable, or unavailable?
20:33 integral putter: there's no general mechanism yet for loading Foo.pm.yml.gz files yet
20:33 integral the prelude is done with a hack that loads from ./Prelude.pm.yml.gz iirc
20:37 putter ok, thanks.  running tests at the moment is, well, you can guess.
20:46 putter gaal, etal: when you do the precompiled caching system, it might be nice if it were a general tool.  Things like p5's Inline also need a caching system, and role their own.  At some point, perhaps not now, it would be nice to do it right, once.
20:47 putter s/role/roll/
20:47 integral and we might have a more pre-compiled form that .yml available at some point for pugs to use...
20:49 putter pil2js also needs precompiled stuff...
20:54 putter Hmm.  S29.pod specs round as floor($x+0.5).  which is inconsistent with t/builtins/math/rounders.t's expectation that round(-0.5) is -1 rather than 0.
20:55 integral ugh, why are our specs speccing anything mathsy rather than using IEEE?
20:55 jisom joined perl6
20:57 kanru joined perl6
20:58 putter yeah.  it's non-ieee/iso, which both say round half-way cases away from zero.
20:58 putter :(
20:59 integral hmm, maybe the answer is to throw out round as a prelude function.   We tell people to use printf mostly in the end on #perl anyway
21:00 integral hah!  this dual operator is *exactly* de-morgan's law
21:00 xerox Which is it?
21:00 integral bleh, wrong window
21:00 xerox Ouch.
21:00 xerox What was it?
21:00 integral just reading wadler's dual calculus things
21:00 xerox Oh-uhm.  I don't hink I read it.
21:00 xerox *think
21:01 Juerd 22:02 < putter> yeah.  it's non-ieee/iso, which both say round half-way cases away from zero.
21:01 Juerd I think rounding shouldn't be many functions.
21:01 Juerd But one.
21:02 Juerd And it should just get flags that indicate how to round.
21:02 integral printf tends to do what a lot of people need: get a number down to a nice length to display.   And if people need more stuff, they should know their rounding rule and select the right maths module
21:03 Juerd round :up :by(.05)
21:03 Juerd round :down :even :to0
21:03 integral "up"?   away from 0?   to +inf?
21:03 wolverian Juerd, I'm fine with methods that are defined in terms of a generic method like that.
21:03 wolverian (as long as there is enough cultural bias to recognise them easily)
21:03 integral round :towards(inf) :by(0.05)
21:03 Juerd integral: Just providing examples.
21:04 Juerd integral: They don't necessarily make sense :)
21:04 Juerd wolverian: Disagreed.
21:04 Juerd wolverian: Those who really want it, can have a module that exports a floor that's actually &round.assuming(...), for example
21:04 SamB joined perl6
21:04 Juerd s/exports/introduces/
21:05 putter Dear AESnn maintainers: Puns are fun.  I love puns.  I make puns.  Puns can be shared on mailing-lists, irc channels, and elsewhere.  Puns can even be nice in the _comments_ of language specs.  But please keep them out of the code.  Thank you.  putter goes to make sure  constant Int Int::one = round(-e ** (-i * pi));  works as per spec.
21:09 putter Juerd: in what context does rounding towards +inf make sense for negative numbers??
21:09 * putter thinks it's just a spec error.
21:10 integral when your spec to interact with the accounting system says "round towards +inf"
21:10 Juerd putter: It may not make sense, but I've needed it because of other systems requiring it.
21:10 Juerd I've seen lots of different kinds of rounding
21:10 Juerd And having lots of keywords is bad, IMO
21:10 FurnaceBoy rounding towards +inf makes sense for -ve numbers ... it's -(floor(-x))
21:10 jisom so essentially "they did it this way, I have to work with them, I have to work like them"
21:10 putter ah, a good point.
21:10 putter pragmas?
21:11 * Juerd would just want a single round version
21:11 putter no.  lexically scoped overriding of round?
21:11 Juerd With defaults that DWIM
21:11 Juerd putter: No... Often you want a combination of financial and mathematical rounding in a few lines
21:11 putter s/no//
21:11 * diotalevi really wishes source files and scripts would include a description of what they were for. Gawrsh.
21:11 Juerd sprintf does financial rounding.
21:12 * putter 's no applied to his own "pragmas?" question
21:12 Juerd diotalevi: Add "# XXX What is this file for?"
21:13 jisom http://www.pldesignline.com/howto/showArticle.jhtml;?articleID=175801189 too many ways to round
21:14 Juerd I think that here, the high-horse approach "this rounding is good, that other rounding makes no sense" is bad, and the language should support a lot of permutations natively.
21:14 Juerd Though for the default, please pick whatever makes most sense :)
21:14 Juerd jisom: Broken url.
21:14 putter Juerd: it is a multi...  the main round could be simple and iso, and modules could add round()s either alternately purposed or flexible/configurable.
21:14 jisom I like the one I learned in third grade
21:14 Juerd http://www.pldesignline.com/howto/showArticle.jhtml?articleID=175801189
21:15 Juerd jisom: .5 rounds up? Bad.
21:15 Juerd :)
21:15 jisom sometimes you want .05 to round to 1
21:15 Juerd putter: That's doable, but not the best approach, imo.
21:16 Juerd Multi good, having to load stuff (read: having to figure out what to load) bad.
21:18 putter anyone want to go through the rounding article and do p6 implementations of each? :)  S29 says the names should all begin with round, which conveniently, the article headings do.  the code can join my S29 code, about to go in next to the Prelude.pm i think, until precom is more robust.
21:18 putter s/begin with round/round_/
21:20 svnbot6 r9268 | fglock++ | * iterator_engine
21:20 svnbot6 r9268 | fglock++ | - detailed TODO list
21:20 svnbot6 r9268 | fglock++ | - macros
21:20 svnbot6 r9268 | fglock++ |   * macro compile time:
21:20 svnbot6 r9268 | fglock++ |     - compile macro expander to AST
21:20 svnbot6 r9268 | fglock++ |     - emit AST to Perl5
21:20 svnbot6 r9268 | fglock++ |     - insert the new term in the grammar
21:20 svnbot6 r9268 | fglock++ |   * macro expander run time:
21:20 svnbot6 r9268 | fglock++ |     - parse macro 'tail'
21:20 svnbot6 r9268 | fglock++ |     - bind macro parameters to macro body using source filter
21:20 svnbot6 r9268 | fglock++ |       (only named parameters - TODO: $0, $1)
21:20 svnbot6 r9268 | fglock++ |     - compile macro body to AST
21:20 svnbot6 r9268 | fglock++ |     - emit AST to Perl5
21:20 svnbot6 r9268 | fglock++ |     - execute Perl5 and get the resulting Perl6 source-code
21:20 svnbot6 r9268 | fglock++ |     - compile the result to AST (TODO: if the result was AST, don't compile)
21:20 svnbot6 r9268 | fglock++ |   XXX - re: source filter - parameters should be passed to the precompiled macro body,
21:20 svnbot6 r9268 | fglock++ |         but subroutines don't support named parameters yet.
21:20 svnbot6 r9268 | fglock++ |         Optionally, the arguments could be bound to the AST of the macro body.
21:20 svnbot6 r9268 | fglock++ |   XXX - is string interpolation in macros different? does (') interpolate?
21:20 svnbot6 r9268 | fglock++ | - aliasing in rules
21:20 svnbot6 r9268 | fglock++ |   - fixed $<$name> to $<name> when using alias
21:20 svnbot6 r9268 | fglock++ |   XXX - is $<name> supposed to be $(name) ?
21:20 svnbot6 r9268 | fglock++ | - new iterator_engine op - ruleop::wrap() can be used to insert tracing and debug messages
21:20 svnbot6 r9268 | fglock++ |   in the parser
21:21 szbalint nice commit.
21:21 putter Dear AESnn maintainers: a clarification: puns are of course fine in _example_ code.  it's just a pain in "now we have to write tests for it and make it work, when it wasnt really wanted in the first place" code.
21:22 putter lol
21:22 dduncan dood, that's a long-un
21:23 vell joined perl6
21:24 * putter notes his own commit messages are very different for pugs than elsewhere.  explicitly written targeting svnbot and irc, for better or worse.
21:25 jisom I tend to do that too, but the svnbot for parrot has a simpler printout...
21:29 fglock joined perl6
21:30 fglock putter: hi
21:31 pawel flgock: hi
21:31 putter fglock: ho
21:31 pawel s/flgock/fglock/
21:32 fglock pttuer: np
21:33 gaal putter: hey. excellent idea, but unfortunately I just ran out of weekend and have had no chance to work on precompilation stuff :(
21:33 gaal re: Test.pm, it gets generated in the pugs root when you 'make smoke' or 'make test'.
21:34 FurnaceBoy joined perl6
21:34 putter gaal: re Test, ooo, thanks! :)   re weekend, sigh. ;)
21:35 putter what is status/next steps/etc?
21:35 DesreveR joined perl6
21:37 pawel fglock: your latest commit sets line endings to dos style,shall I set the svn prop to avoid this sort of sittuation in the future?
21:38 fglock pawel: yes, thanks - I'm on windows now, and can't set the options from here
21:39 fglock re: iterator_engine - next step can be create a thin perl6, which translates almost strait to p5, or
21:39 fglock a compiler with a fat runtime, like pilrun
21:39 fglock s/strait/straight/
21:40 * putter hopes it's just an oversight that S29 currently implies Math::Basic use()s Math::Trig (which seems likely to use() Math::Basic).  Well, I suppose recursive use()s needs to work...
21:40 pawel is now known as pmurias
21:40 gaal putter: the next step is to tease out parts of opRequire out to Prelude.pm,
21:41 FurnaceBoy_ joined perl6
21:41 gaal so that logic of searching the filesystem and checking for precomp (+cache invalidation) can be written in Perl
21:42 gaal putter: nothingmuch has a good design for the first go, and a plan for refinements
21:42 * putter goes to look at opRequire...
21:42 putter re nm, for the teasing apart, or for the cache?
21:42 gaal the cache
21:42 putter ah, ok
21:42 pmurias fglock: we could use a dispatch hash instead of the long if sequence in emit()
21:43 gaal the fancy loader stuff can all be written in Perl
21:43 gaal the cache design, briefly, is this (I may be getting some details wrong)
21:43 pmurias that would also adding new nodes from perl6 code
21:43 fglock pmurias: right - I was willing to discuss OO nodes vs. hash dispatch
21:43 gaal 1. per user cache directory
21:44 pmurias you were or you are?
21:44 fglock OO nodes seem to be preferred in the other compilers I've seen
21:44 szbalint Is there test coverage for ff and fff (flip-flop operator) yet (a quick grep didn't find it in t/)? If there is none should there be? If yes where should I put it? :)
21:44 fglock I am
21:44 pmurias np
21:44 fglock pmurias: but hash dispatch is simpler to port, and maybe even faster
21:44 gaal 2. filenames are $hash-$pugsrev-$parserrev
21:45 gaal 2a. except hashed appropriately into several dirs
21:45 fglock pmurias: the idea is, as soon as possible, to migrate the compiler to p6
21:45 mako132__ joined perl6
21:45 pmurias oo is not very elegant in perl5 compared to hashes
21:46 pmurias new nodes could be declared in p6
21:46 jisom could try it in pir...
21:46 jisom it has oo, mmd, etc....
21:46 gaal 3. at require time, read the source, hash it, look for a still-valid precomp file and try loading that
21:46 gaal 4. if failed, load and require, but write the result to the cache immediately too
21:46 gaal this is good enough for starters
21:47 fglock jisom: you mean migrate iterator_engine to pir? that would be nice
21:47 pmurias have you seen pir much?
21:47 jisom parrot supports iterators now...
21:47 gaal this is easy to maintain (prune out old files, or even rm the cache dir if it is borked)
21:47 jisom I've written most of the parrot shootouts :)
21:47 jisom I've almost stopped using semicolons in my perl....
21:48 gaal and when we want faster, there's clever ways to index it + use mtimes and not even need to read files for hashes in the optimistic case
21:48 fglock jisom: the engine is simple - about 10kb of perl5
21:48 jisom where's it at so I can look?
21:48 fglock misc/pX/Common
21:49 putter gaal: ok.  I'll start with pulling require() into p6 land.
21:49 gaal putter: nothingmuch also has nice strategies for pseudo-LRU capping of cache size
21:49 gaal putter++ # cool!
21:49 gaal putter: there's also some speccing needed for bytecode arrangement
21:50 gaal too bad i didn't write it all down during the hackathon
21:50 jisom fglock, what's it supposed to do?
21:50 fglock jisom: i_e_README has the current status, todo, etc
21:50 fglock jisom: it bootstraps a Perl 6 compiler
21:51 gaal I'm off to bed now...
21:51 fglock jisom: it reads the grammar, and then can compile and run programs
21:51 putter *sad laugh* # re "too bad i didn't write it all down".  very familiar refrain.
21:51 putter g'night gaal
21:51 samhain1138 joined perl6
21:51 gaal night &
21:51 putter thanks for all your work on the precoming
21:51 gaal sure :)
21:51 gaal zzZ &
21:52 jisom hmmm......PGE would make some of that code repetitive perhaps...
21:52 fglock jisom: in Parrot, it could just use PGE and then write just the high level stuff - which is very small right now
21:53 fglock jisom: it actually seems like a great idea
21:54 jisom do perl6 rules that parse perl6 exist?
21:54 fglock jisom: take a look at i_e_p6compiler.pl - it's the bootstrapper that defines 'grammar' and starts the compiler
21:55 fglock jisom: I'm writing the rules that I need on demand
21:55 fglock jisom: the rules are in i_e_p6prelude.p6
21:57 svnbot6 r9269 | pmurias++ | set svn:eol-style to native
21:57 szabgab left perl6
21:57 pmurias if we go the hash dispatch way, we could write the emit-pir-part in p6 sooner
21:58 pmurias subroutines will propably be supported sooner then oo
21:58 fglock pmurias: it already has subroutines
21:58 jisom yeah....if compiling ghc didn't stall my other computer to death I might even use pugs
21:58 jisom a little
21:58 fglock pmurias: but no parameter binding yet
22:00 pmurias we need syntax for declaring a node from p6 now...
22:00 jisom hmmm....it'd be helpful for the rules to just be in the, grammar file format or whatever it's called, for using PGE with ease
22:01 jisom at least tidier
22:01 fglock pmurias: it could be done like: %subs{name} = eval( 'perl5-code', lang:<perl5> );
22:02 fglock it is dirty, but it should work
22:02 pmurias %nodes is better
22:02 fglock jisom: tidier, yes, but the file format is ok, I think
22:03 fglock it is plain Perl 6 (plus unintentional bugs)
22:04 fglock jisom: if you are talking about p6prelude.p6
22:04 jisom it may work fine for perl, but porting that to pir and using pge would essentially need some redesign for parts, pge can open and compile a grammar file
22:04 pmurias maybe we should move iteration_engine_* to a subdir
22:04 pmurias the filenames would be shorter
22:05 fglock jisom: you need to integrate the parser with the compiler - you need to expand macros, for example
22:05 justatheory joined perl6
22:05 jisom well, I assume that requires a working pugs and I don't have a working ghc
22:05 fglock re: moving to subdir - putter: ping
22:06 putter fglock: could simplify  eval('foo' :lang<perl>)  using macros... :)
22:06 putter fglock: pong
22:06 TimToady putter: pretty much everything in S29 is still negotiable.
22:06 fglock putter: should we move i_e to /misc/something ?
22:07 calanya joined perl6
22:07 putter TimToady: ah.  I was just now wondering how to defined exp($n,$b=Num::e)  so that constant Num::e = exp(1) works...  ;)
22:07 putter fglock: sounds like plan
22:08 jisom why not just use (1 + 1/(~0)) ** (~0), or something like it
22:08 jisom :)
22:08 TimToady S29 is still really just a draft--I just whacked a few things upside the head to see if they rattle.
22:08 fglock putter: I want to minimize perl5 use - or we'll end up writing the hard parts in perl5
22:09 putter fglock: as it leaves pX/Common, with at least an attempt at an "everyone, edit me" concept, it might be worth adding a, well, EVERYONE_EDIT_ME file (not really.  i think.)
22:09 jisom S29 misses phi!!!
22:09 putter TimToady: ah, ok.
22:10 fglock putter: "everyone_edit_me" is pugs motto :)
22:10 FurnaceBoy_ hehe
22:12 fglock bbiab
22:14 putter fglock: not really.  people seem very reluctant to edit "someone else's" project.  there is some logic to that - the author likely has a vision, almost invariably undocumented, creating a barrier to entry.  but a lot of that is social.  the tools don't quite exist yet for group code creation.  svn just gets us back to a vcs running on timesharing machine.  group editors, design tools, etc... next year or few yet, though if that
22:14 putter were our thing, we could certainly be being more agressive on it.
22:15 integral talking to people on IRC is cool
22:16 putter misc/pX/ was originally created as part of a strawman proposal for writing a complete p6 implementation of p6 in 5 weeks.  which would have required massive collaboration, and thus a different way of doing things.
22:16 TimToady I'm suspecting we shouldn't have a default round() function, just all the round* variants, and let
22:16 TimToady the user alias one of them to round().
22:17 putter TimToady: can do.  and at least that gets all the round_ code written. :)
22:17 TimToady After which writing round() is a one-liner.  :-)
22:18 integral why aren't they in a module?
22:18 TimToady Er, I give up.
22:18 integral does one of the AES contain a rational for what goes in the prelude?
22:19 TimToady The AES have no clue about preludeness.
22:19 TimToady Except for what S29 says.
22:19 integral s/AES/elements of the set of all documents on this planet/
22:20 integral oh!  I see.   the first paragraph explains all
22:21 putter integral: re irc cool, oh yes.  but have you seen the new ajax collaborative file editors?  imagine a couple of years out - the best ide and groupware and project management tools you've seen, integrated.  on big ongoing world wide hackathon, with shared dynamic design/notes/etc/etc in one big transparent easily watched and fiddled ball, with sound, video, whiteboard, etc.
22:21 integral putter: hmm, maybe
22:21 pmurias multi user vim...
22:21 dduncan hey, have a look at this: http://www.spikedhumor.com/articles/17792/Real_Life_Simpsons_Title_Sequence.html
22:21 dduncan kewl
22:22 integral sounds irritating to step away from a moment and make a cup of tea
22:22 pmurias what does kewl mean?
22:22 dduncan just one of those meaningless words
22:22 jisom kewl exists without limit?
22:23 dduncan its slang for awesome
22:23 jisom also pronounced as "cool"
22:23 dduncan yes
22:23 dduncan but the version I used is less ambiguous
22:23 putter integral: re tea, come back and project has forked, half repurposed, half finished and obsoleted by new project? :)   singularity...
22:24 integral hrm, why is Math::Basic declaring functions in Num accordingh to S29?
22:24 TimToady putter: on the P5 regex interpolation stuff m'$x' doesn't interpolate.
22:24 fglock left perl6
22:25 TimToady integral: because the last clod who did major edits was thinking more about the arguments than the module placement.
22:25 pmurias putter: are you familiar with iterator_engine internal (eq. is it ok to cordinate changes to it with you?)
22:26 pmurias s/internals/$&s/
22:26 integral TimToady: multi subs have to be in the same package as the type of their first argument?
22:27 TimToady integral: no, only multi methods and submethods have to be in the same package.  multi subs can be anywhere.
22:28 integral TimToady: I don't understand what you mean then
22:29 putter TimToady: re Math::Basic, really?  (re "clod")  I thought it was enlightened engineering. :)  Modules being our unit of revision/authority.  Much easier to have a Math::Basic-which-doesnt-depend-on-Pugs::Internals, and load up Num/etc from that, rather than dealing with it all non-locally.
22:30 putter integral: methods, well, obviously have to be in the package/class to which they belong.  subs, even multisubs (which are just "subs" sensitive to their arguments, sort of), dont.  just like p5.
22:30 TimToady Well, I'm just saying that, if history is any indication, anything I wrote is about half wrong.
22:31 putter Ooo, 1/2 right, impressive. ;)
22:31 putter back to work...
22:32 TimToady I just have to be sure to Zeno the 1/2 that was wrong rather than the 1/2 that was right.  :-)
22:33 typonaise joined perl6
22:37 pmurias good night
22:41 putter pmurias: sorry, I didn't mean to warnock/ignore you.  I have only a superficial familiarity with i_e.  If you are unsure about changing say some file foo, feel free to create a foo-pmurias if you are quite uncertain about the change, or just go ahead and change the original file - that's what svn revert is for.
22:43 elmex_ joined perl6
22:43 putter I think we've reverted someone's changes something like order-10 times, on a 10000 revision project.  Which means we are being way way way way way too conservative.  Please, help us change... :)
22:43 putter Sorry again for losing track of your question.
22:43 FurnaceBoy_ I was going to ask yesterday. This word 'warnock', is that a reference to John Warnock? How did it become slang?
22:44 dduncan I think 'warnock' means you are at an indecision point ...
22:44 dduncan where you're not sure if a certain change will cause more problems than it solves
22:44 jisom it's mentioned in one of the parrot docs in the glossary.....
22:44 integral it means your question/solution has been ignored
22:44 dduncan so the change tends not to be made
22:45 FurnaceBoy_ right ;-)
22:45 FurnaceBoy_ so Bugzilla needs a WARNOCKED entry ;-)
22:45 integral I have an almost 100% warnock rate on p6l!
22:45 FurnaceBoy_ to add to INVALID/WONTFIX etc
22:45 FurnaceBoy_ but, what is the derivation? or should I RTFFAQ?
22:45 jisom the parrot glossary says, essentially, you ask a question and it's never answered or talked about so nothing happens to it
22:45 FurnaceBoy_ right, I see, but... why 'warnocked' instead of, I dunno, 'Ellisoned'
22:46 integral my corollary is that 6 months later the issue will become critical,  someone will suggest the same solution, and they'll get lauded for it.
22:46 integral *someone else
22:46 szbalint putter: sorry to bug you, as per S03, the flip-flop naming changed. Should I go ahead and change the tests too? Should I change the file's naming from till.t to ff.t or flip-flop.t? I don't want to make any changes which needs to be reverted later. :P
22:49 putter Please, please make changes which need to be reverted later.  How about a file name of beer.t?  And you know, I'm not sure I'm kidding.  But if spec has changed, tests should change.  Only exception is perhaps (audreyt will probably say its ok even then;) the day or so ramp-up to a release.  Re bug, no worries.
22:50 integral what's even better is that anyone can revert a change, not just audrey
22:51 svnbot6 r9270 | putter++ | rename till.t to beer.t.  because we are too worried about making changes which later need to be reverted.
22:52 putter szbalint: sorry for any editing inconvenience that might cause you...
22:52 szbalint haha
22:52 szbalint :)
22:52 cookys joined perl6
22:53 whiteg joined perl6
22:53 lumi joined perl6
22:53 jp-autark joined perl6
22:54 meppl joined perl6
22:54 stevan joined perl6
22:54 fglock joined perl6
22:55 hexmode joined perl6
22:55 Khisanth joined perl6
22:55 feng123 joined perl6
22:55 Bit-Man joined perl6
22:55 locksy joined perl6
22:55 perlbot joined perl6
22:55 larsen joined perl6
22:55 putter an freenode goes boom
22:55 mako132 joined perl6
22:55 sri_ joined perl6
22:55 kcwu joined perl6
22:55 kane_ joined perl6
22:57 mauke joined perl6
22:57 typonaise joined perl6
23:02 nnunley joined perl6
23:02 putter hmm.  these are probably the wrong irc network conditions to be trying to make a point.
23:03 mauke joined perl6
23:03 xerox joined perl6
23:03 hachi joined perl6
23:03 gugod joined perl6
23:03 miyagawa joined perl6
23:03 Khisanth joined perl6
23:03 pjcj joined perl6
23:03 spinclad joined perl6
23:03 kanru joined perl6
23:04 jisom joined perl6
23:04 putter integral: ping?
23:05 bd_ joined perl6
23:05 integral pong?
23:05 masak joined perl6
23:05 wolverian joined perl6
23:05 webmind joined perl6
23:05 broquaint joined perl6
23:05 svnbot6 joined perl6
23:05 evalbot_9267 joined perl6
23:05 LeTo joined perl6
23:05 PerlJam joined perl6
23:05 Aragone joined perl6
23:05 jiing__ joined perl6
23:05 jabbot joined perl6
23:05 f00f_ joined perl6
23:05 rafl joined perl6
23:05 audreyt joined perl6
23:05 scw joined perl6
23:05 Juerd joined perl6
23:05 tcliou joined perl6
23:05 pdcawley joined perl6
23:05 rep joined perl6
23:05 revdiablo joined perl6
23:05 rantanplan_ joined perl6
23:05 avar joined perl6
23:05 lypanov joined perl6
23:05 buu joined perl6
23:05 p5evalbot joined perl6
23:05 mako132__ joined perl6
23:05 samhain1138 joined perl6
23:05 cookys joined perl6
23:05 fglock joined perl6
23:05 svnbot6 r9271 | putter++ | iterator_engine_p6prelude.p6 - added the current weather conditions in Nome Alaska.  Why?  Because it's a nice file which deserves to have things added to it.  Even things which likely need to be reverted.
23:06 FurnaceBoy_ hmm, sounds like wiki graffiti to me.
23:06 FurnaceBoy_ "just because they have version control, let's vandalise"
23:07 comet^ joined perl6
23:07 hcchien joined perl6
23:07 obra joined perl6
23:07 broquaint joined perl6
23:07 jiing joined perl6
23:07 ilogger2 joined perl6
23:07 Shachaf joined perl6
23:07 p5evalbot joined perl6
23:07 avar joined perl6
23:07 mako132_ joined perl6
23:08 jiing joined perl6
23:08 mj41_ joined perl6
23:08 rafl joined perl6
23:09 sky joined perl6
23:10 Shabble joined perl6
23:10 tewk joined perl6
23:11 amv joined perl6
23:11 Odin- joined perl6
23:12 ilogger2 joined perl6
23:12 hexmode joined perl6
23:12 jp-autark joined perl6
23:12 samhain1138 joined perl6
23:12 justatheory joined perl6
23:12 LeTo joined perl6
23:12 lypanov joined perl6
23:12 mtk00 joined perl6
23:12 buu joined perl6
23:12 Odin- joined perl6
23:12 webmind joined perl6
23:12 cookys joined perl6
23:12 revdiablo joined perl6
23:12 audreyt joined perl6
23:12 Juerd joined perl6
23:12 fglock_ joined perl6
23:12 SamB joined perl6
23:12 PerlJam joined perl6
23:12 scw joined perl6
23:12 azuroth joined perl6
23:12 Southen joined perl6
23:12 arguile joined perl6
23:12 rep joined perl6
23:12 TimToady joined perl6
23:12 gugod joined perl6
23:12 r0nny joined perl6
23:12 beppu_ joined perl6
23:12 jvoorhis joined perl6
23:12 lumi joined perl6
23:12 avar joined perl6
23:12 integral joined perl6
23:12 ayrnieu joined perl6
23:12 s7n joined perl6
23:12 mako132_ joined perl6
23:12 Grrrr joined perl6
23:12 robkinyon joined perl6
23:12 arcady joined perl6
23:12 mj41_ joined perl6
23:12 Shachaf joined perl6
23:12 tcliou joined perl6
23:12 spinclad joined perl6
23:12 pjcj joined perl6
23:12 nnunley joined perl6
23:12 rafl joined perl6
23:12 jiing_ joined perl6
23:13 justatheory joined perl6
23:13 bd_ joined perl6
23:15 sky_ joined perl6
23:15 Shabble joined perl6
23:15 szbalint joined perl6
23:15 putter FurnaceBoy_: having been a victim of wiki spamming, might I suggest a different wiki analogy.  perhaps a corporate-internal wiki where people are thinking "oh, I think that's a run-on sentence on my group's home page.  hmm, should I fix it?  maybe I'll just write a memo and we can talk about it at next week's wiki review committee meeting".  non-destructive demos of "you can change it, and it can easily be changed back" could help there.
23:15 tewk joined perl6
23:16 amv joined perl6
23:16 fglock_ putter: #-style comments are not implemented yet - changed to pod-style
23:17 grayson joined perl6
23:17 * ayrnieu also annoyed with telling people "it's a wiki!  You can change it!  Use the edit button!" and having them never actually do this; always make direct suggestions and requests.
23:17 rgs joined perl6
23:17 fglock_ putter: because I'm too lazy to implement the \n rule
23:17 xern joined perl6
23:17 gaal joined perl6
23:18 putter fglock_: oops.  no - oooo yeah.  thanks for the demo of how easy it is to fix even unintentionally destructive contributions.
23:18 putter :)
23:20 putter fglock_: perhaps a todo list?  I started to work my way though Lexer, to give you some more tokens, but got distracted and that's now drifted several items down the todo list :/
23:20 p5evalbot joined perl6
23:20 putter ayrnieu: lol
23:21 FurnaceBoy_ okay putter. I see wiki culture in that concept.
23:22 * FurnaceBoy_ has recently rolled out a TWiki for an otherwise old-fashioned group of devs, to generally positive reaction.
23:22 fglock_ putter: i_e_README has a plan, general discussion, what works and what doesn't
23:22 putter ayrnieu: a lot of people live in work environments where taking personal responsibility for changing anything is near suicidal.  sigh.
23:22 FurnaceBoy_ heh!
23:23 ayrnieu putter - anonymous edits, then.
23:23 fglock_ putter: and a todo list, with priorities
23:23 obra I'd recommend anyting that's nto twiki
23:24 obra too many people I've known have been owned through twiki
23:24 ayrnieu or, nonymous edits with "some guy in $other_dept came up.  I don't know his name.  I think he was black, or white, and somewhere between very tall and very short -- but probably in the middle."
23:24 ayrnieu disclaimers, as the true source of the edit.
23:25 fglock_ putter: I'll start writing questions to the readme, just in case someone can answer them
23:26 fglock_ like: what are the grammar categories? is there a way to optimize non-greedy '*'?
23:26 * putter 's parrot vm twiki was hacked for an ebay scam, which caused my provider to drop my _domain_ off the air, a change in providers, etc, etc.  but that was the first big twiki compromise.  they were setting up all sorts of security notification stuff as I was leaving.
23:26 putter so perhaps its better now
23:26 FurnaceBoy_ obra, explain?
23:26 FurnaceBoy_ you mean vulnerabilities on a public server?
23:26 obra Yes.
23:26 FurnaceBoy_ this is purely internal
23:26 obra that allowed remote code execution.
23:27 obra internal for the perl6 development effort?
23:27 FurnaceBoy_ no, no, nothing to do with perl6.
23:27 * FurnaceBoy_ is just a spectator
23:28 putter broadcast question:  is it just me, or are README files something everyone mentally filters out as not worth noticing except when doing initial exploration?
23:28 integral pugs has a wiki btw, it's occasionally used
23:29 fglock_ putter: me too - it should me moved to TODO
23:29 integral putter: I mentally ignore any doc updates when I svk up, I tend to exclusively read logs and diffs on src
23:30 fglock_ putter: it's because it says 'REAME!'and then you immediately think 'no!'
23:30 putter fglock_: re questions to README, that's a nice idea.  hmm, even better if we had just one for pugs.  and could log the questions and answers.  eg, a ./QAQ  and a QA.
23:31 putter questions -> QAQ, when the person who asked is satisfied, they move q&a to QA.
23:31 fglock_ putter: RAQ - randomly asked questions
23:31 putter or Q and QA
23:31 jisom why do faqs so rarely have the question I ask? not specific to anything, but most faqs really
23:32 putter lol :)  # re 'no!'
23:32 fglock_ jisom: because they are written by the people who knows the answers - then they write questions for it
23:35 putter jisom: hmm, maybe  - they are not frequently asked, or the sample size is too small; - the domain of possible questions is large; - you're questions are atypical.  i think those are the possibilities...
23:35 jisom often they're of the "how do I get this to work" variety
23:35 jisom :)
23:37 putter fglock_: maybe also a fresh/non-fresh question distinction.  so new questions dont get burried in a clutter of "yeah, we know, but we can't answer that just now" ones.  or maybe that is an answer.
23:37 szbalint What's the best way to test for unimplemented operators via eval when you want to test with lives_ok ?
23:39 putter szbalint: well, at zero indent, there are 83 occurrances of eval_ok vs 63 of ok plus an eval someplace.  looks like eval_ok :)
23:39 szbalint ah ok
23:40 putter oh, but that's not your question (pause), or was it?
23:40 szbalint well, let me expand on it
23:41 putter re Q and QA files, and could do daily nopastes of Q file :)
23:41 szbalint let's take something like this - lives_ok { true_then_die()  ff  always_false() }, "LHS not evaluated in \"false\" state (ff)", :todo<feature>;
23:42 szbalint since ff isn't implemented yet, it fails to compile
23:42 putter (all of this because we dont have the previously discussed group ide/collaboration system.  so we're kludging:)
23:42 szbalint so t/README says eval should be used
23:43 putter hmm...
23:43 szbalint I'm wondering if the following - lives_ok { eval('true_then_die()  ff  always_false()') || die }, "LHS not evaluated in \"false\" state (ff)", :todo<feature>;
23:43 szbalint is good to test it
23:44 szbalint or not :)
23:47 putter well,   { my $bug = false;  eval_is ' {$bug=true} ff false ', false;  ok !$bug; }     ??
23:47 szbalint ah
23:48 szbalint simpler :)
23:48 jisom if 1 is true and 2 is true, and 1 != 2, then does that mean true != true?
23:50 TimToady In Perl-Think, "true" is not a value but a predicate.
23:50 jisom but NaN != NaN :-p
23:50 mauke like lisp
23:50 putter only if multi infix:<!=> (T $a, T $b){} isnt defined for any T of Num, Int, or etc.

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo