Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-02-26

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:08 CardinalNumber is now known as ProperNoun
00:24 Caelum where is the current pugs version number?
00:27 allbery_b I have 6.2.13 (r15352) built here
00:27 allbery_b (pugs -v)
00:27 jisom r15353 seems to be the last commit
00:27 offby1 Caelum: "svn info http://svn.pugscode.org/pugs"
00:27 lambdabot Title: Revision 15353: /
00:27 allbery_b ye[p but I haven't rebuilt in the past hour :> )
00:28 offby1 weird.  Did lambdabot just run that command?
00:28 offby1 (pugs -v)
00:28 offby1 nooby flooby: "svn info http://svn.pugscode.org/pugs"
00:28 lambdabot Title: Revision 15353: /
00:28 moritz offby1: no, it cited the url's title
00:28 offby1 weird indeed.
00:28 offby1 oh, it fetched the URL.
00:28 moritz ?eval 1
00:28 evalbot_r15344 is now known as evalbot_r15353
00:28 evalbot_r15353 1
00:40 Juerd I've been so busy that I hadn't even noticed that since November, I've not been subscribed to p6l
00:40 Juerd (config mistake)
00:42 moritz slightly OT: Apache2: how do I filter the output of mod_perl or mod_python with the INCLUDES output filter?
00:46 fglock joined perl6
00:47 offby1 where should I send a random perl6 suggestion?  Namely that "localtime", in scalar context, include the time zone along with the date and time
00:51 svnbot6 r15354 | fglock++ | kp6 - added a prototype C implementation (with metamodel)
00:51 svnbot6 r15354 | fglock++ |   v6/v6-KindaPerl6/examples$ gcc kp6-example.c
00:59 Juerd offby1: perl6-language@perl.org
00:59 Juerd offby1: You may want to subscribe before posting
00:59 offby1 thanks.
01:01 ashleyb joined perl6
01:04 Caelum the debian packages are pretty out of date
01:04 moritz Caelum: if you want freshly built deb packages for i386 I could upload some
01:05 moritz Caelum: they are just without the parrot backend, which is somewhat out of date as well ;)
01:05 Caelum seriously? I tried building a pugs deb, but the debian/ directory wasn't working
01:05 * Caelum just built a 0.4.8 parrot
01:06 moritz Caelum: could you please post me an error message
01:06 moritz with pastebot or mail to [email@hidden.address]
01:06 * Caelum will do
01:07 moritz Caelum: if you remove 'parrot' from the embed-line in debian/rules it should build fine
01:07 moritz Caelum: does a "normal" 'make' or 'make soon' work for you?
01:07 * Caelum hasn't tried in like a month
01:08 moritz I fixed some minor issues the other day... for example a non-working patch
01:08 Caelum err, parrot is 0.4.9 now... seems to build OK with the debian patch
01:08 Caelum ahh yeah, I remember that
01:09 moritz anyway, pugs builds will be at http://moritz.faui2k3.org/debian/pugs/ as soon as my damned slow upload is finished ;)
01:09 Caelum cool! :)
01:13 * Juerd is skimming over 400 p6l messages
01:13 * Juerd missed a lot of cool stuff
01:13 jql a zillion synopsis spawn[ed||ing] discussions
01:16 fglock left perl6
01:17 * Caelum avoids building parrot with 5.9.5
01:17 jisom 5.9.5 what?
01:19 Caelum bleadperl
01:19 gnuvince_ joined perl6
01:20 jisom eh, can't have the cutting edge of everything at once
01:21 moritz unless you manufacture knifes ;)
01:22 jisom preferably not the handles too
01:28 ashelyb_ joined perl6
02:12 ashleyb joined perl6
02:19 dmq joined perl6
02:27 ashelyb_ joined perl6
02:29 Ziggy6 joined perl6
02:33 Caelum anyone want some parrot 0.4.9 debs? I finally got them built after 2 hours...
02:33 * Caelum 's debian-fu is very rusty
02:38 wolverian I'm sure debian would like 'em? :)
02:39 * Caelum is not a dev anymore...can't do an NMU
02:40 ashleyb joined perl6
02:56 mugwump Caelum: share your debian/ files?
03:04 Caelum crap, can't put anything on my shell, scp doesn't work...
03:06 Caelum mugwump: I did an apt-get source parrot to get the latest diff, apply to svn tree, edit debian/rules to change $(MAKE) install to $(MAKE) reallyinstall, run dch to up the changelog and make sure it says 0.4.9 in the debian/ directory, also rm debian/control and fakeroot debian/rules debian/control before doing the build, that should be it
03:07 * Caelum home &
03:07 mugwump oh you committed to svn?  drat, missed ya :)
03:08 jdv79 joined perl6
03:08 ProperNoun joined perl6
03:08 mugwump hmm, last change to debian/ was in r12841 :)
03:24 _jcrigby joined perl6
03:26 weinig is now known as weinig|away
03:29 cognominal left perl6
03:29 cognominal joined perl6
04:01 svnbot6 r15355 | putter++ | misc/pX/Common/yet_another_regex_engine - some progress.
04:01 svnbot6 r15355 | putter++ | Regexp_Module.pm - Bugfixes and refactoring.
04:01 svnbot6 r15355 | putter++ | Fixed one _very_ long standing "thinko" bug with repetition.  It dated back to the original regex engine spike a year ago.  So there are many variants of it scattered around Common. :(
04:01 svnbot6 r15355 | putter++ | PerlMix.pm - created.  Non-working first draft of a dsl base/prototype class.
04:01 svnbot6 r15355 | putter++ | LangPugsRegexTests.pm - created.  Non-working first draft of a dsl using PerlMix.  It is intended to parse the small p6 dialect used in pugs t/regex/ test files, so the pugs regex testsuite can be run directly from p5.
04:01 svnbot6 r15355 | putter++ | OPP.pl - moved elsewhere, as the new opp in Perl-6.0.0-STD.pm should be explored instead.
04:02 putter For the curious/puzzled, yet_another_regex_engine has had a mission creep metastasis.
04:08 putter It looks like it might be possible to architect things so that creating your own p6 variant is as simple as creating a new p5 package, and mix-n-matching from grammars and grammar fragments, regex implementations, compilers, and runtimes.  We'll see.  It should at least be possible to reach out and use the pugs t/regex/ suite (much of it written in a very simple p6 dialect).
04:10 putter Also a framework for creating a fully spec p6 regex engine.  Including dynamic modification games.
04:13 jql so then 'use 6' will be a pragma importing the perl6 "defaults" for all those options?
04:14 mako132 joined perl6
04:19 Ziggy6 putter: do you intend to include grammar/rule support in yet_another_regex_engine?
04:22 putter Ziggy6: oh yeah.  75% of the parrot rule tests are passing, though that's not saying much.  Lots of stuff is still missing.  I got distracted by mission creep.
04:22 svnbot6 r15356 | putter++ | yet_another_regex_engine/Regexp_ModuleA.pm - filename correction.
04:22 svnbot6 r15356 | putter++ | Regexp_ModuleA.pm was misnamed Regexp_Module.pm in svn.  For the entire month of its existence.
04:22 svnbot6 r15356 | putter++ | I gather no one tried running  prove t/re_tests.t or prove t/rx.t.  Ever.  That's just depressing.
04:23 jisom joined perl6
04:24 putter jql: there is a first-draftish variation on v6.pm in Common/ .  basically it allows user and code to control which module gets to handle a  'use v6-alpha;'  declaration.
04:24 jisom left perl6
04:24 jisom joined perl6
04:27 putter jql: under p5,  "use v6-alpha;" loads a module v6.pm.  The current v6.pm is perl5/Pugs-Compiler-Perl6/lib/v6.pm, and is hardwired to Pugs-Compiler-Perl6.
04:28 putter the hack draft new v6.pm defaults to Pugs-Compiler-Perl6, but will happily hand off to a different module if requested.
04:30 putter the LangPugsRegexTests.pm hack is envisioned running as   $ pwd => pugs  $ PERL5_V6_IMPLEMENTATION=LangPugsRegexTests prove t/regex/...
04:31 putter the environment variable requests v6.pm to hand off to the LangPugsRegexTests module which pretends to understand the small dialect of p6 used in pugs's t/regex/ test files.
04:32 putter (current state is a non-working first draft based on a single test file.  <-- expectation management:)
04:32 amnesiac joined perl6
04:34 putter The p5 and p6 engines are build as an  m-expression (ie, foo(bar(hee),qux)) grammar spec (rather than directly using rules), which creates an ast, from which some backend components are assembled.
04:35 putter The objective for the m-expr based grammars is to get "high passes" on the test suites, thus exercising the backend.
04:37 putter Then, next to LangPugsRegexTests, the other thing I'd like to see so I can hand off this exercise is a "Regex2.pm", which uses real  regex foo {} statements.  Initially based on the m-expr grammars, and then maturing from there.
04:39 putter Oh, well, the third Lang I'd like to see is of course an attempt to implement Perl-6.0.0-STD.pm.
04:39 putter Or more than one. :)
04:43 putter Regexp_ModuleA's current code state is very highly crufty, with a lot of refactoring churn.  My hope is shortly after PerlMix starts working (not tonight;), it can serve as a stable base for folks to start playing.
04:47 putter Ziggy6: to see what's currently working, you can just $ perl -w Regexp_ModuleA.pm --repl6   or run one of the testsuites as described at the top of README.
04:47 tene PerlMix?
04:51 putter sigh.  have to rename it.  perhaps refactor.  it is a module which can both be used as a language (use PerlMix;) and as a baseclass for your own language implementations.  use PerlMix; source filters your file, handing it to a compile method.  PerMix's compile method uses a grammar (which is just another method, and thus also overridable).  the
04:52 putter default grammar understands p5 lines, regex decls, and a "BEGIN"-ish construct whose contents get eval()ed during the regex run.
04:52 putter that's the rough plan anyway.
04:54 putter http://svn.pugscode.org/pugs/misc/pX/Common/yet_another_regex_engine/LangPugsRegexTests.pm  shows how it is currently envisioned being used.  LPRT both uses it as a language (its written in PerlMix), and as its baseclass (it is intended to be used with the v6.pm hook).
04:54 lambdabot http://tinyurl.com/ytosh5
04:54 putter But all this is a late evening's hackery, and so subject to radical change.  I was hoping to have it working this weekend, but oh well.
04:56 putter The .t file it was drafted against was http://svn.pugscode.org/pugs/t/regex/from_perl6_rules/anchors.t
04:58 putter but the nice thing is that if the dialect of p6 used in t/regex/ looks to diverse (ie, ok() used with too many needless syntactic variations), the tests themselves can be cleaned up (which should probably happen anyway).
04:58 putter s/to diverse/too diverse/
04:59 putter tene: PerlMix because it implements a mix of p5 and whatever, with the notable whatever being bits of p6.  thus PerlMix.
05:00 putter sooo going to change.
05:01 putter any last questions, comments, odd body noises?
05:01 putter just about end of day for mee
05:07 putter good night all &
05:46 PupUser35a77e joined perl6
05:47 PupUser35a77e left perl6
06:14 BooK joined perl6
06:19 |mjk| joined perl6
06:46 devogon joined perl6
06:48 wilx joined perl6
06:51 rfordinal_ joined perl6
07:44 iblechbot joined perl6
08:33 marmic joined perl6
08:36 rfordinal_ is now known as rfordinal
08:53 rindolf joined perl6
08:58 dakkar joined perl6
09:21 rindolf Hi all.
09:21 moritz hi rindolf ;)
09:21 moritz rindolf: what's up?
09:21 rindolf moritz: hi. What's up?
09:21 rindolf moritz: I'm fine.
09:21 rindolf moritz: I'm at work now.
09:22 rindolf And we were able to get our card working properly in the VMware ESX machine.
09:23 rindolf Plus, we had a very successful Tel Aviv Linux club meeting yesterday (with a collective supper at a café afterwards) despite the fact I only publicised it a short time beforehand.
09:23 rindolf So I'm happy.\
09:23 moritz that's good
09:23 moritz I just got up and I'm still half asleep ;)
09:23 rindolf moritz: OK.
09:24 rindolf moritz: I got up at 07:30 today.
09:25 moritz rindolf: which timezone are you in? ;)
09:25 audreyt update: I'm still using this semibroken Asus laptop; the turned-in-for-HD-replacement MacBook will take another 24 hours to arrive :/
09:25 lambdabot audreyt: You have 6 new messages. '/msg lambdabot @messages' to read them.
09:34 dec joined perl6
09:37 gaal heya. how do I get svk to honor an http_proxy?
09:37 jrockway_ joined perl6
09:38 clkao .subversion/servers
09:38 audreyt gaal: http://subversion.tigris.org/faq.html#proxy
09:38 lambdabot Title: subversion: Subversion FAQ
09:38 gaal cheers
09:48 shay hello
09:49 shay rindolf, I'm finally free :)
09:51 Fuzie joined perl6
09:53 Fuzie hello folks :)
09:53 Fuzie is now known as lichtkind
09:53 tene heya
09:57 lichtkind im going to officially announce the official perl6 tutorial ok ?
09:58 tene link?
09:58 lichtkind mom
09:58 lichtkind its currently only in german but haltready
09:59 lichtkind halfready
09:59 tene kk
09:59 lichtkind you still want the lin?
09:59 tene Sure.
10:00 lichtkind http://wiki.perl-community.de/bin/view/Wissensbasis/Perl6Tutorial
10:00 lambdabot Title: PerlCommunityWiki » Wissensbasis » Perl6Tutorial
10:02 andara joined perl6
10:02 lichtkind i just wanted to ask if there is another tut i dont know about
10:02 Southen joined perl6
10:03 tene Heh, not in a language I could help translate.
10:03 lichtkind cool
10:03 tene lichtkind: just stuff in pugs/examples/ and pugs/docs/
10:03 lichtkind i can also but help is always appreciated
10:04 tene there's examples/cookbook/ , but that's not quite a tutorial, and needs a lot of filling out, I think.
10:06 lichtkind i know
10:07 lichtkind i have the trunk here
10:07 lichtkind and reading it since some month
10:07 lichtkind i would want to start such effort without some research :)
10:08 buetow joined perl6
10:08 lichtkind tene are you german?
10:11 tene lichtkind: nope
10:11 tene Just an arrogant, ignorant american.
10:11 lichtkind tene not all are like that
10:12 lichtkind tene but you understand german
10:12 tene No, I don't.
10:12 tene You missed my negative.
10:12 tene "not in a language I could help translate"
10:12 lichtkind ahh
10:13 meppl good night
10:13 lichtkind yes im currently im multithreadding mode, it doesnt work as well
10:13 lichtkind good night  meppl
10:13 tene Heh, I know what that's like.
10:13 meppl ;)
10:13 tene Seeya, meppl.
10:13 meppl ;)
10:14 moritz lichtkind: in which document format do you want to write the english version of the tutorial? pod?
10:14 lichtkind tene im online since days so i organize a bit whats your standing in perl6 community?
10:14 tene I have no standing at all.
10:14 lichtkind moritz yes trunk version will be pod i think
10:15 lichtkind tene so just interested?
10:15 tene I touched up Net::IRC::OO, fixed a bug in Net::IRC, and commited a test for pugs crashing hard on eval()'ing some strange yaml
10:16 tene I've answered a few questions on this channel.
10:16 tene Pretty mundane. :)
10:17 lichtkind tene but more than i did, in perl6 terms im what audrey calls english hacker :)
10:17 moritz tene: then perhaps we both have the same level of ignorance ;)
10:18 tene I stay pretty up-to-date on events in p6-land, I just don't have my mind together enough lately to do anything here.
10:19 tene Staying up-to-date while I work on upgrading my sanity.
10:19 _newbie_ joined perl6
10:20 moritz sanity is for whimps ;)
10:21 tene Yes, and I'm a wimp that needs sanity in order to get anything done.
10:21 tene Lately I've barely had enough sanity to keep up at work and holding my life together.
10:22 lichtkind tene thatswhy you like perl6 more :)
10:22 lichtkind i did also pause approx. 3 month
10:31 lichtkind tene you will see my mail on perl6-announce
10:34 DebolazX joined perl6
10:41 IllvilJa joined perl6
11:16 ruoso joined perl6
11:19 rindolf moritz: I'm in Israeli Standard Time.
11:19 rindolf shay: congrats!
11:21 rindolf I saw gaal when he exited the restaurant I was dining in.
11:22 rindolf I wonder if he works nearby.
11:26 mugwump 00:21 < gitte> OTOH if you know that the input is timestamp+tz, why not roll your own parser?
11:26 mugwump 00:21 < mugwump> because I don't like writing C ?  :)
11:26 mugwump 00:21 < gitte> :-) You should really stop worrying and learn to love C.
11:26 mugwump 00:22 < mugwump> I miss continuations and closures too much though
11:26 mugwump 00:23 < gitte> What exactly do you mean by "continuations and closures" in this context?
11:36 chris2 joined perl6
12:06 gaal joined perl6
12:06 _jcrigby joined perl6
12:06 rgs joined perl6
12:06 lichtkind joined perl6
12:06 chris2 joined perl6
12:06 IllvilJa joined perl6
12:06 DebolazX joined perl6
12:06 dec joined perl6
12:06 marmic joined perl6
12:06 devogon joined perl6
12:06 BooK joined perl6
12:06 dmq joined perl6
12:06 stevan_ joined perl6
12:06 araujo joined perl6
12:06 xinming_ joined perl6
12:06 beppu joined perl6
12:06 Digital joined perl6
12:06 drbean joined perl6
12:06 ofer0 joined perl6
12:06 shay joined perl6
12:06 TimToady joined perl6
12:06 revdiablo joined perl6
12:06 nperez joined perl6
12:06 miyagawa joined perl6
12:06 pjcj_ joined perl6
12:06 lampus joined perl6
12:06 avar joined perl6
12:06 lumi_ joined perl6
12:06 SCalimlim joined perl6
12:06 mr_ank joined perl6
12:06 rafl joined perl6
12:06 yhsuan joined perl6
12:06 Khisanth joined perl6
12:06 smash joined perl6
12:06 nekokak joined perl6
12:06 ajs_home joined perl6
12:06 Debolaz joined perl6
12:06 Maddingue joined perl6
12:06 lambdabot joined perl6
12:06 masak joined perl6
12:06 ludwig- joined perl6
12:06 diotalevi joined perl6
12:06 GeJ joined perl6
12:06 autark joined perl6
12:06 broquaint joined perl6
12:06 svnbot6 joined perl6
12:06 LCamel joined perl6
12:06 jabbot joined perl6
12:06 jiing joined perl6
12:06 scw joined perl6
12:06 Yappo joined perl6
12:06 devbot6 joined perl6
12:06 hcchien joined perl6
12:06 cj joined perl6
12:06 felipe joined perl6
12:06 jql joined perl6
12:06 perlbot joined perl6
12:06 knewt joined perl6
12:06 cls_bsd joined perl6
12:06 meppl joined perl6
12:06 statico joined perl6
12:06 moritz joined perl6
12:06 shay|p6 joined perl6
12:06 nipotan joined perl6
12:06 PerlJam joined perl6
12:06 Juerd joined perl6
12:06 wolverian joined perl6
12:06 tcliou joined perl6
12:06 kcwu joined perl6
12:06 Southen joined perl6
12:07 ingy joined perl6
12:08 f0rth joined perl6
12:08 audreyt joined perl6
12:09 Shabble joined perl6
12:15 idiotmax joined perl6
12:16 Caelum_ joined perl6
12:25 drupek12212157 joined perl6
12:28 Grrrr joined perl6
12:38 polettix joined perl6
12:39 ruoso joined perl6
12:41 orafu joined perl6
12:44 mj41_ joined perl6
12:46 Ziggy6 joined perl6
12:50 Bit-Man joined perl6
13:04 fglock joined perl6
13:06 IllvilJa joined perl6
13:15 fglock I'm back to the net after 1 month :)
13:17 dmq how bad where the withdrawal symptoms?
13:18 Ziggy6 hello fglock :)
13:18 fglock dmq: I missed the immediate feedback
13:19 fglock Ziggy6: hi!
13:19 Ziggy6 i've got dozens of questions, trying to prioritize them :)
13:20 fglock I worked a bit on a C backend for kp6
13:20 Ziggy6 i saw that
13:20 Ziggy6 but
13:20 lichtkind dmq hi man
13:20 Ziggy6 my question is: what's the motivation behind a C backend, isn't that what Parrot does?
13:22 fglock the performance is good enough that some things can be written in p6, instead of C
13:22 fglock like the GC, for example
13:22 Ziggy6 so you're unhappy with perl5's backend performance
13:23 SamB I don't see how you can write a GC in a managed language...
13:24 nipotan is now known as nipotaway
13:24 fglock Ziggy6: I started coding Code.pm, and I noticed I was going too low level on it - so I thought about trying it in C
13:25 Ziggy6 could we use C++ for this backend? :D
13:25 moritz no
13:25 Ziggy6 why not?
13:25 fglock SamB: it would still use some low level C, but some high level decisions can be made in p6. It was just an example, anyway
13:25 Ziggy6 moritz: do you hate C++?
13:26 moritz Ziggy6: no; read http://www.parrotcode.org/faq/
13:26 lambdabot Title: Parrot FAQ - parrotcode:
13:26 fglock Ziggy6: the reason to use C was because I needed to write the object system anyway, so C++ was not really necessary
13:28 fglock I'm not against C++ or Parrot :)
13:28 rhizo joined perl6
13:28 Ziggy6 fglock: C++ would speed the development a bit, you could for example use stl map instead of handcoded hashes
13:29 lichtkind juerd are you there?
13:29 Ziggy6 then perhaps i could rewrite your existing backend in C++ but i don't see how you will interface kp6 with it
13:29 fglock Ziggy6: the plan is actually to have several hash implementations, depending on usage pattern
13:30 fglock for performance tuning
13:30 Juerd lichtkind: Yes, and will be for the next 2 minutes.
13:30 Ziggy6 my initial impresion was the hash_key and the method name are redundant
13:30 fglock that's what parrot does, too
13:30 rodi joined perl6
13:30 fglock hash_key is about 3x faster
13:31 fglock for method dispatch
13:31 rashakil joined perl6
13:31 Ziggy6 but neither scales well :D
13:32 fglock no, but it works well for small classes - which good enough for Str, Int
13:32 fglock user-defined classes would use plain hashes
13:33 the_dormant joined perl6
13:33 fglock it would be nice to try out a C++ version
13:33 Juerd lichtkind: Gone now
13:33 Ziggy6 anyway, i guess i'm thinking too early about performance, being forced by the low-levelness of the language
13:33 Ziggy6 my main concern is how you are going to interface kp6 with the C backend
13:36 fglock it needs an ast processor, that extracts closures into C "blessed subs", and an emitter
13:36 fglock the C closure class was not written yet, but there exists a p5 prototype that can be translated
13:37 lichtkind moritz are you there?
13:38 Ziggy6 so eval() won't be possible
13:38 moritz lichtkind: pong ;)
13:38 kolibrie fglock: welcome back
13:38 IllvilJa joined perl6
13:39 lichtkind moritz shit i cants you send private msg
13:40 moritz lichtkind: me not either...
13:40 moritz lichtkind: you could join ircnet and /msg me there
13:40 lichtkind url?
13:41 moritz lichtkind: for example irc.uni-erlangen.de
13:41 kanru joined perl6
13:42 lichtkind moritz fine conecting..
13:42 fglock Ziggy6: I think eval is possible, if the code is represented as an object with s-expressions
13:42 fglock interpreter-like
13:44 Ziggy6 it's too complicated and not very usefull I guess
13:44 Ziggy6 eval() is planned for kp6?
13:51 IllvilJa joined perl6
13:51 rodi joined perl6
13:51 rhizo joined perl6
13:51 fglock joined perl6
13:51 Bit-Man joined perl6
13:51 Ziggy6 joined perl6
13:51 mj41_ joined perl6
13:51 orafu joined perl6
13:51 polettix joined perl6
13:51 f0rth joined perl6
13:51 ingy joined perl6
13:51 clkao joined perl6
13:51 obra joined perl6
13:51 gugod joined perl6
13:51 yves joined perl6
13:51 pnu joined perl6
13:51 sri_ joined perl6
13:51 lidden joined perl6
13:51 nothingmuch joined perl6
13:51 charsbar_ joined perl6
13:51 gaal joined perl6
13:51 _jcrigby joined perl6
13:51 rgs joined perl6
13:51 lichtkind joined perl6
13:51 DebolazX joined perl6
13:51 dec joined perl6
13:51 marmic joined perl6
13:51 devogon joined perl6
13:51 BooK joined perl6
13:51 dmq joined perl6
13:51 stevan_ joined perl6
13:51 araujo joined perl6
13:51 xinming_ joined perl6
13:51 beppu joined perl6
13:51 Digital joined perl6
13:51 drbean joined perl6
13:51 ofer0 joined perl6
13:51 shay joined perl6
13:51 TimToady joined perl6
13:51 revdiablo joined perl6
13:51 nperez joined perl6
13:51 miyagawa joined perl6
13:51 pjcj_ joined perl6
13:51 lampus joined perl6
13:51 avar joined perl6
13:51 lumi_ joined perl6
13:51 SCalimlim joined perl6
13:51 mr_ank joined perl6
13:51 rafl joined perl6
13:51 yhsuan joined perl6
13:51 Khisanth joined perl6
13:51 smash joined perl6
13:51 nekokak joined perl6
13:51 ajs_home joined perl6
13:51 Debolaz joined perl6
13:51 Maddingue joined perl6
13:51 lambdabot joined perl6
13:51 masak joined perl6
13:51 ludwig- joined perl6
13:51 diotalevi joined perl6
13:51 GeJ joined perl6
13:51 autark joined perl6
13:51 broquaint joined perl6
13:51 svnbot6 joined perl6
13:51 LCamel joined perl6
13:51 jabbot joined perl6
13:51 jiing joined perl6
13:51 scw joined perl6
13:51 Yappo joined perl6
13:51 devbot6 joined perl6
13:51 hcchien joined perl6
13:51 cj joined perl6
13:51 felipe joined perl6
13:51 jql joined perl6
13:51 perlbot joined perl6
13:51 knewt joined perl6
13:51 cls_bsd joined perl6
13:51 meppl joined perl6
13:51 statico joined perl6
13:51 moritz joined perl6
13:51 shay|p6 joined perl6
13:51 nipotaway joined perl6
13:51 PerlJam joined perl6
13:51 Juerd joined perl6
13:51 wolverian joined perl6
13:51 tcliou joined perl6
13:51 kcwu joined perl6
13:51 Southen joined perl6
13:51 rashakil joined perl6
13:51 audreyt joined perl6
13:51 Elastri joined perl6
13:51 weinig joined perl6
13:51 SamB joined perl6
13:51 cookys joined perl6
13:51 Eidolos joined perl6
13:51 Gothmog_ joined perl6
13:51 baest joined perl6
13:51 ajs joined perl6
13:51 Flimzy joined perl6
13:51 TreyHarris joined perl6
13:51 silug joined perl6
13:51 rhr joined perl6
13:51 takesako__ joined perl6
13:51 kolibrie joined perl6
13:51 spo0nman joined perl6
13:51 stef_ joined perl6
13:51 mugwump joined perl6
13:51 Odin- joined perl6
13:51 jamessan joined perl6
13:51 nnunley joined perl6
13:51 rfordinal joined perl6
13:51 wilx joined perl6
13:51 bsb joined perl6
13:51 Patterner joined perl6
13:51 forsaken joined perl6
13:51 [M]erk joined perl6
13:51 allbery_b joined perl6
13:51 integral joined perl6
13:51 [particle] joined perl6
13:51 qmole joined perl6
13:51 Southen joined perl6
13:52 pasteling "Ziggy6" at 141.85.0.67 pasted "kp6 error" (5 lines, 228B) at http://sial.org/pbot/23179
13:52 Ziggy6 fglock: the current version of kp6 doesn't compile, see above paste
13:53 ajs_ joined perl6
13:54 bonesss joined perl6
13:57 Ziggy6 also, http://sial.org/pbot/23181
13:57 lambdabot Title: Paste #23181 from "Ziggy6" at 141.85.0.67
13:57 fglock Ziggy6: I've got some pending checkins to do - one sec
14:00 fglock Ziggy6: does this work? echo ' class X { say not( true(0));  } ' | perl kp6-perl5.pl
14:01 theorbtwo joined perl6
14:01 Ziggy6 it works, but it outputs unusable code as in http://sial.org/pbot/23181
14:01 lambdabot Title: Paste #23181 from "Ziggy6" at 141.85.0.67
14:05 fglock Ziggy6: ah - it has some debugging text inside
14:06 Limbic_Region joined perl6
14:09 fglock Ziggy6: fixed in next commit
14:10 fglock kp6-dump-ast.pl is outdated - it is not currently working
14:10 svnbot6 r15357 | fglock++ | kp6 - removed a debug 'print' from Pad.pm
14:11 Ziggy6 fglock: 10x, it works now, but the ast dumper still fails
14:12 fglock Ziggy6: I misplaced the BEGIN block impl in kp6-perl5 - kp6-dumpast is missing that :(
14:12 fglock needs refactoring
14:12 rindolf joined perl6
14:13 fglock the ast is only generated after BEGIN blocks are executed
14:13 Ziggy6 ah, i was hoping i could start understanding kp6 using dumpast, but it seems i have to dive in anyway
14:14 fglock or rather, they are done together
14:14 fglock ok, I'll try to fix that!
14:16 fglock Ziggy6: kp6-perl5, uncomment line #141 - this will dump ast
14:17 fglock a command line switch would be nice
14:18 Ziggy6 thanks, will do :)
14:18 weinig is now known as weinig|bbl
14:18 rindolf gaal: here?
14:20 [particle] parrot uses --target=PAST
14:20 fglock Ziggy6: I planned to have a command line like: kp6 metamodel,emit_perl5  /  kp6 lexical_subs,dump_ast   -- specify which plugins to run
14:21 fglock kp6 emit_parrot  :)
14:21 [particle] welcome back, fglock
14:21 fglock [particle]: thanks!
14:22 fglock I was reading the parrot source code in the weekend :)
14:22 fglock after trying the kp6-C emitter
14:23 [particle] what did you find?
14:23 rindolf Hi fglock, [particle] .
14:24 stevan_ @lambdacamels: http://search.cpan.org/~gruber/Sub-PatMat-0.01/lib/Sub/PatMat.pm
14:24 lambdabot Unknown command, try @list
14:24 fglock rindolf: hi
14:25 fglock [particle]: I was particularly interested in a 'Closure' class implementation
14:25 fglock I'm not sure how is it called in parrot
14:31 ruz joined perl6
14:31 fglock [particle]: I'm thinking of an api like this: http://svn.pugscode.org/pugs/v6/v6-KindaPerl6/lib/KindaPerl6/Perl5/Code.pm
14:31 svnbot6 r15358 | audreyt++ | * unTODO two passing tests related to cross metaops.
14:31 lambdabot http://tinyurl.com/yqtpk3
14:31 fglock I think it can be built using parrot ops, but it may need some internals knowledge
14:32 fglock audreyt: hi! glad to know you are better
14:34 rindolf joined perl6
14:35 [particle] sometimes it seems everything in parrot requires internals knowledge
14:35 [particle] but that's changing
14:35 [particle] we have examples and tests for closures you may find helpful, i'll dig them up
14:36 rindolf Hi all.
14:38 ProperNoun joined perl6
14:38 svnbot6 r15360 | Ziggy6++ |  r15382@viggy:  andrei | 2007-02-26 17:35:42 +0200
14:38 svnbot6 r15360 | Ziggy6++ |  kp6: Added commandline switches --ast and --perl5, the default being --perl5
14:39 Ziggy6 oops, i guess i messed up something, i'm new to svk :D
14:43 TreyHarris joined perl6
14:49 the_dormant left perl6
14:49 the_dormant joined perl6
14:52 Lorn joined perl6
14:54 TreyHarris joined perl6
14:54 fglock left perl6
14:54 baest Ziggy6: could be that you need the --verbatim flag on svk push. Not sure, i'm also new to svk
14:56 Ziggy6 i think i should have used svk up and svk ci
14:57 Ziggy6 but i didn't intend for http://dev.pugscode.org/changeset/15359 to happen, i'm still trying to understand why it did and how to fix it
14:57 lambdabot Title: Changeset 15359 - Pugs - Trac
14:58 nipra joined perl6
14:58 gaal rindolf: am now
14:59 rindolf gaal: hi.
14:59 rindolf gaal: do you work in Hertzilya Pituakh?
15:00 gaal I am out of order and fragmented
15:00 gaal Sub::PatMatch is cool! but since there's no binding done maybe it's not a good name
15:02 gaal but since I'm standards-compliant I work most everywhere
15:03 rindolf gaal: :-)
15:04 gnuvince joined perl6
15:05 svnbot6 r15361 | audreyt++ | * Change "Perl6" to "Perl 6" in the ASCII art banner of Pugs.
15:07 forsaken joined perl6
15:07 gaal S::PM is inspired by another S::PM, which claims:
15:07 gaal "Functional languages' compilers usually optimize away the pattern matching overhead of evaluating the conditions for every call until a matching condition is found. This is mostly possible because of their static typing system which Perl proudly lacks"
15:08 gaal I don't see how this is generally true. function variants are desugared to case statements after all
15:09 gaal -- http://search.cpan.org/~smueller/Sub-PatternMatching-1.04/lib/Sub/PatternMatching.pm
15:09 lambdabot Title: Sub::PatternMatching - Functional languages' Pattern Matching for Perl subs - se ..., http://tinyurl.com/2esuo6
15:10 allbery_b hm?  where exactly you  put the conditions isn't really significant.  using type information to optimize away the condition still works
15:10 gaal since variant constructors are not available to the type system I'm not even sure if the compiler can inline a function case
15:10 gaal consider f :: Maybe a -> ...
15:11 allbery_b (since purity means you can move stuff like that around without changing the meaning)
15:11 gaal f Nothing = ...
15:11 gaal f Just x = ...
15:11 Grrrr gaal: it was not "inspired", exactly;  the Sub-PatternMatching syntax is too horrid
15:11 gaal now I have a consumer of f and a path that can only have a Just x value
15:12 gaal sure, the compiler may be smart enough to figure that out and inline just the Just case of f into the consumer
15:12 gaal but it's not like it's guaranteed to happen
15:12 rfordinal_ joined perl6
15:12 allbery_b no, it's not guaranteed.  but FP / purity means it's easier for the compiler to find and optimize it
15:13 gaal I agree; but this is not part of the static type system
15:13 allbery_b (both the guarantees of the type system, and the fact that a pure expression can be moved around with fewer worries)
15:13 allbery_b yeh, as I said, it's more closely related to purity
15:14 allbery_b but I think the static typing thing is more getting at that in e.g. perl you can't even be certain at runtime that you have a Maybe a
15:14 allbery_b (at least, nowhgere nnear as easily as when the type system guarantees it)
15:14 gaal and sure, that you *don't* have IO a :-)
15:15 allbery_b given both constraints (strong typing and purity) the compiler has a much easier job of inlining just the part that applies
15:16 allbery_b I'm willing to be lenient on iti because many people even who know FP don't quie have straight how the various aspects of it interact, and think of the strong typing instead of other aspects like purity
15:16 gaal I'm not saying FP compilers aren't better off when it comes to these optimization techniques. Of course they are :) Just that the comment in that doc is perhaps a little misleading
15:17 gaal that paragraph I quoted continues: "Therefore, using this module for pattern matching currently takes an O(n) performance hit for every call to the patternmatching function. n is the number of branches, sets of conditions."
15:17 gaal this suggests that FP magically gets you better than O(n)
15:17 gaal when in fact there's no such promise
15:18 allbery_b yeh
15:18 gaal that's all I'm claiming.
15:19 gaal (FWIW: how many programmers know how to tell whether a function variant was inlined?)
15:19 devbot6 dev: Ticket #20 (task created): HsBridge.pm for yet_another_regex_engine <http://dev.pugscode.org/ticket/20>
15:19 gaal (I don't.)
15:20 allbery_b afaik you need to -dump-simpl and read the core :)
15:20 allbery_b and have #haskell nearby to help you interpret it :)
15:21 IllvilJa left perl6
15:23 Elastri_ joined perl6
15:24 gaal #haskell :: (BigOh a) => Program -> a -> Program
15:38 diakopter joined perl6
15:39 diakopter left perl6
15:39 diakopter joined perl6
15:48 stevan_ joined perl6
15:51 svnbot6 r15362 | lwall++ | missing } noticed by aufrank++
15:58 jrockway joined perl6
16:01 mako132 joined perl6
16:09 svnbot6 r15363 | audreyt++ | * Pugs.Compat - Eliminate one case of 32k-per-%ENV-access space
16:09 svnbot6 r15363 | audreyt++ |   leaks on Win32 by using getEnv instead of statically-allocated
16:09 svnbot6 r15363 | audreyt++ |   Win32 API calls.
16:12 fglock joined perl6
16:13 the_dormant left perl6
16:14 the_dormant joined perl6
16:16 jrockway heh, the win32 api leaks?
16:19 moritz tell me something new ;)
16:21 jrockway i would assume with the millions of users that they would run valgrind and just fix them :)
16:21 jrockway guess i'm wrong though
16:22 moritz jrockway: fix windows API? how?
16:22 moritz jrockway: it's all controlled by one big company, you know...
16:22 jrockway right
16:22 Ziggy6 valgrind is linux only
16:22 jrockway i assume microsoft would have fixed it by now :)
16:23 jrockway but i guess adding DRM to individual memory cells was more important
16:23 moritz ...and punching holes in UAC
16:23 moritz or something ;)
16:23 Ziggy6 jrockway: win32 api is full of bugs, developers usually work around them
16:29 felipe joined perl6
16:36 chris2 joined perl6
16:51 fglock my talk on "bootstrapping perl6" was rejected by FISL-2007 :(
16:52 moritz fglock: what's FISL?
16:52 svnbot6 r15364 | audreyt++ | * Pugs.Parser.Operators - Eliminate another space leak in
16:52 svnbot6 r15364 | audreyt++ |   filterFun; heap usage during parsing should be back to
16:52 svnbot6 r15364 | audreyt++ |   constant now.
16:53 moritz Federal Insured Student Loan?
16:53 Ziggy6 @google FISL-2007
16:53 Ziggy6 @g FISL-2007
16:53 lambdabot Maybe you meant: gazetteer get-shapr ghc girl19 google gsite gwiki . v
16:53 lambdabot http://br-linux.org/linux/fisl-2007-palestras-aprovadas
16:53 lambdabot Title: Fisl 2007: Saiu a primeira chamada das palestras aprovadas | BR-Linux.org
16:53 moritz is that spanish?
16:53 fglock http://fisl.softwarelivre.org/8.0/www/?q=en
16:54 fglock portuguese
16:54 lambdabot Title: 8th International Free Software Forum | 12, 13 e 14 de Abril de 2007
16:54 moritz cheers
16:55 fglock mm - I guess I would find more fun in parrot if I wrote my own pmcs
16:58 CardinalNumber joined perl6
17:02 svnbot6 r15365 | audreyt++ | * Pugs.Parser.Program: Make decodeProgram sufficiently
17:02 svnbot6 r15365 | audreyt++ |   chunky-lazy so memory use stays constant for source
17:02 svnbot6 r15365 | audreyt++ |   code size >4k.
17:10 buetow joined perl6
17:12 [particle] fglock: wrt closures, you're probably looking for the 'newclosure' op
17:13 fglock [particle]: what's the plan for lazy lists in parrot?
17:13 [particle] we'll need a pmc for that
17:13 fglock I could probably work on that
17:14 [particle] i'm working on implementing generators
17:14 [particle] since we have continuations built in, that's the way to go
17:14 [particle] we'd love to have lazy lists... that'd be great!
17:14 fglock can you clone continuations? I mean, does it clone lexicals?
17:15 [particle] i believe so
17:15 [particle] tests are in t/pmc/sub.t
17:15 fglock looking
17:15 [particle] yes, you can clone
17:15 ProperNoun joined perl6
17:22 GabrielVieira joined perl6
17:25 rindolf joined perl6
17:25 rindolf Hi all.
17:25 rindolf audreyt: here?
17:27 moritz rindolf: it will strongly depend on your notion of "here" *duck*
17:27 offby1 it depends on what the meaning of "is" is.
17:27 rindolf moritz: OK.
17:28 forsaken joined perl6
17:34 maskd joined perl6
17:41 TimToady I think it depends mostly on the definition of audreyt...
17:43 xerox joined perl6
17:43 svnbot6 r15366 | lwall++ | route around pugs curly damage
17:44 rindolf Hi offby1, TimToady
17:44 rindolf TimToady: how was your weekend?
17:46 penk joined perl6
17:46 GabrielVieira2 joined perl6
17:46 ashleyb joined perl6
17:48 dmq @msg juerd fixed the xml bug
17:48 lambdabot Not enough privileges
17:48 dmq hmm
17:49 audreyt dmq: @tell not @msg
17:49 dmq oh
17:49 dmq heh
17:49 dmq @tell juerd fixed the bug in the regex engine that your xml validator found. thanks.
17:49 lambdabot Consider it noted.
17:50 dmq talk about crazy regexes by the way.
17:50 dmq he wrote a spec compliant regex for validating xml. very insane.
17:50 audreyt we're aware of that :)
17:50 rgs who?
17:50 PerlJam dmq: Since you're the defacto perl 5 regex guru and you're hanging out on #perl6, does that mean that you're going to tweak the perl6 regex engine too?  :)
17:50 dmq juerd.
17:50 dmq heh.
17:51 dmq not sure if there is room in my brain to be competent in both.
17:51 audreyt well with luck I hope it'll be the same engine eventually :)
17:51 dmq but im sure at some point ill take a look.
17:51 moritz I didn't even knew that you can parse xml with regexes
17:52 audreyt a regex that parses xml is very ex, and very not reg, indeed
17:52 dmq last time i checked it was in parrot bytecode tho, which was a little offputting.
17:52 moritz ok ;)
17:52 audreyt dmq: there's a couple implementation in perl 5
17:53 audreyt dmq: one is in pugs/misc/pX/Common/yet_another_regex engine, another is on CPAN as Pugs::Compiler::Rule (and also pugs/perl5/Pugs-Compiler-Rule)
17:53 dmq well there you go, then i am helping. :-)
17:53 thepler joined perl6
17:54 dmq thing was part of the motivation for doing the stuff i have been was to improve my C skills.
17:54 audreyt one way you can help is helping avar getting ::Plugin working :)
17:54 dmq so doing stuff in either Perl or PBC sort of misses the point.
17:54 dmq ive been doing my best.
17:55 audreyt ideally, we'd like a roundtripped-to-userland-and-back ::Plugin to pass all re tests in perl5 regression tests
17:55 dmq we broke re:engine::PCRE in order to make ::Plugin easier to do
17:55 dmq sure.
17:55 audreyt should it Just Work, or (as far as you know) there's known problems?
17:56 dmq it being what?
17:56 dmq ::Plugin?
17:56 audreyt having a ::Plugin that simply, in its comp hook
17:56 audreyt construct a qr// and save to stash
17:56 audreyt and in its exec hook
17:56 rindolf Hi audreyt
17:56 audreyt simply retrieve the stash and match
17:56 rindolf audreyt: what's up? How are you feeling?
17:56 GabrielVieira2 is now known as GabrielVieira
17:57 audreyt rindolf: feeling okay. about to sleep. will get $real_laptop back tomorrow
17:57 dmq well i think it should work.
17:57 rindolf audreyt: good.
17:57 dmq there are structural flaws that are yet to be resolved.
17:57 rindolf audreyt: what's your $fake_laptop?
17:58 dmq when qr// was introduced I dont think anybody realized how it might interact with (??{..}).
17:58 dmq Actually, when qr// was introduced I dont think the full ramifications of it were completely understood.
17:58 xinming joined perl6
17:58 dmq So there are some serious issues with potential corruption because of the way we store match results.
17:59 audreyt would it be better if we simply stash the textual regex/flags
17:59 dmq there is also still a lot of global state...
17:59 audreyt and recompile during exec()?
17:59 audreyt s/better/less flaky/
17:59 dmq no not necessarily.
17:59 audreyt rindolf: a random asus M2C with WinXP
17:59 dmq the issues are deeper than that. its mostly an issue of tuits, and perhaps funding, to resolve it.
18:00 gaal remoose
18:00 dmq im starting to apply for work so ill have dramatically less time to hack the engine.
18:01 dmq although rgs has been encouraging me to apply for a grant, which i will do if i can come up with a design that has a decent chance of solving the deeper issues.
18:01 Daveman joined perl6
18:01 dmq one note to p6 implementors, putting match results in the regexp object is not a good plan.
18:01 audreyt uh. and perl5 does that?
18:01 audreyt <- blissfully ignorant
18:02 Juerd dmq: Neat!
18:02 Juerd dmq++
18:02 Juerd dmq++
18:02 dmq i can totally see how it made sense before qr// but once you have a qr// type construct its not cool.
18:02 Juerd dmq++
18:02 Juerd But I have to go now (fucking server broke down, have to build one out of used spare parts)
18:02 dmq juerd, i make no promises that try() will work, and i think you should replace the \xDE\xAD\xBE\xEF with (*FAIL).
18:03 rindolf audreyt: ouch!
18:03 Juerd Already have
18:03 dmq cool.
18:03 dmq actually if you dont mind i wouldnt mind seeing the generator script.
18:03 Juerd You're actually using a rather old version, because the latest doesn't exhibit the bug ;)
18:03 dmq id like to torture it somewhat to see if i can get the buffer overrun to happen again
18:03 Juerd I worked around the A-B problems by hardcoding them
18:04 dmq yes, thats something you should mention to larry. its a really weird requirement that maybe he should know about.
18:04 dmq er, timtoady i mean.
18:04 * dmq not having been introduced properly yet
18:04 Juerd dmq: http://tnx.nl/6058YAIV
18:04 lambdabot Title: TNX
18:05 dmq audreyt: yes p5 does that.
18:05 Juerd dmq: It's two requirements. The w3 people themselves don't use it consistently. This grammar can /never/ be automatically converted.
18:05 specbot6 r13704 | larry++ | Made one-pass parsing rule explicit so that tests can refer to it.
18:05 Juerd And I think Perl 6 already does A-B
18:05 dmq match data is stored in the same structure as the compiled pattern. presumably for efficiency sake, which made sense before qr//
18:05 Juerd [ A && <! B > ], iirc
18:05 dmq juerd: for classes yes. but for non classes?
18:06 Juerd Perhaps <!before B>
18:06 Juerd Assuming the RHS of && is limited to whatever A matched.
18:06 svnbot6 r15367 | lwall++ | Add test of one-pass parsing of regex character classes.
18:06 dmq but it has to be bounded
18:06 Juerd I think it'll have to be, for && to make sense at all
18:07 Juerd though "barfoo" ~~ /foo && bar/ being true also makes some kind of sense
18:07 Juerd Sorry, really gotta build that machine
18:07 * dmq waves
18:08 gaal whatdefines removeCRLF?
18:08 gaal and how come it works when mentioned before decoding?
18:08 gaal *called
18:08 audreyt gaal: removeCRLF is defined just below
18:08 audreyt why not?
18:09 gaal oh, local func. last place I looked<tm>
18:09 gaal because, what encoding is the \n?
18:09 gaal previously there was
18:10 gaal removeCRLF $ decode
18:10 gaal now there's decode $ removeCRLF
18:13 gaal also, is decodeUTF8 really inlined where it's used?
18:14 audreyt sure it is
18:14 audreyt it's got INLINE
18:15 TimToady I think && should have the same semantics as & except for the sequence point.
18:15 TimToady meaning / foo && <!before bar> / can never match
18:15 TimToady would have to be written /foo && <!before bar> .* /
18:16 TimToady to make it end the same place.
18:16 PerlJam Hmm.
18:17 svnbot6 r15368 | audreyt++ | * gaal++ pointed that for all non-UTF8 unicode encodings
18:17 svnbot6 r15368 | audreyt++ |   we need to removeCRLF _after_ the decoding, not _before_.
18:17 svnbot6 r15368 | audreyt++ |   (for UTF8 it's the same thing, so we preserve better chunkiness.)
18:17 dec_ joined perl6
18:18 audreyt gaal: re really-inlined, note that GHC has cross-module inlining
18:18 PerlJam TimToady: / foo && .{3} / matches, correct?  Is there a way to get an unbounded quantifier to do the same?  / foo && .*  /   (It seems like it could do so eventually via backtracking)
18:18 gaal oh, for some reason I misremembered the pragma as "a nudge", like inline in C/C++ more or less, not the sledgehammer the userdoc seciton I just reread says
18:18 audreyt i.e. it saves the Core AST for all inlinable things, and INLINE forces that, and it does inline the AST when linking
18:18 audreyt *importing
18:18 TimToady both of those match, but yes, the .* version might take longer unless it's in the DFA area
18:19 TimToady and by definition the right side of && is outside the DFA area
18:19 PerlJam ah, okay
18:19 TimToady & can build dfa of both sides, presumably
18:19 gaal audreyt: excellent, thanks for the 'splaining
18:20 wilx` joined perl6
18:20 gaal (splainage?)
18:21 andara left perl6
18:21 rashakil joined perl6
18:22 TimToady TimToady's Lament: The pain in reign falls mainly in the 'splain.
18:23 rindolf TimToady: :-)
18:23 rindolf TimToady: did you make it up now?
18:23 TimToady speaking of which, my weekend was rainy
18:23 TimToady yes
18:23 rindolf TimToady: do you live in Oregon?
18:24 TimToady seems like it during El Niño years...
18:24 rindolf TimToady: may I attribute this quote to Larry Wall?
18:25 TimToady sure
18:25 rindolf TimToady: in my fortunes' file?
18:25 rindolf TimToady: OK.
18:25 PerlJam rindolf: who else would you attribute it to?
18:25 rindolf PerlJam: "TimToady"
18:25 fglock joined perl6
18:25 TimToady Basically, northern California joins the Pacific Northwet during El Niño...
18:25 gaal The pain in rein goes mainly in the dentist's bill, since when you get a gift horse you don't check its teeth.
18:26 fglock audreyt: re http://colabti.de/irclogger/irclogger_log/perl6?date=2007-02-19,Mon#l153 (politicking) - sorry about that
18:26 lambdabot Title: #perl6 2007-02-19,Mon, http://tinyurl.com/2cbrpr
18:26 dmq timtoady: the problem juerd was dealing with was this nasty w3 construct PATA-PATB where PATA must match, but PATB maynot, but only in the part that PATA matched.
18:26 TimToady I think && handles that naturally if you assume same length semantics
18:27 PerlJam rindolf: Can you verify that TimToady is indeed Larry Wall?  ;-)
18:27 dmq for instance they had something like ([class]+) - '-'
18:28 rindolf PerlJam: I have verified his 2048-bit PKE using state-of-the-art and cutting-edge biometric identification system.
18:28 dmq im doubtful i properly grok &&, all i know is i couldnt think of a sane way to do it in p5 regex.
18:28 TimToady so you want something like <[class]>+ & <!before -> .*
18:28 audreyt fglock: hey. no need to be sorry at all.
18:29 TimToady or <[class]>+ & <!before .* -> .*
18:29 dmq i guess so, except it has to work as part of a larger pattern, so you could have / X (Y+ - Z)/
18:29 PerlJam -> naturally chunks together all too well
18:29 audreyt fglock: we cleared that up with chromatic long ago, and it's all fine now :)
18:30 TimToady or <[class]>+ & [<!before -> .]*
18:30 dmq .... where X might match Z
18:30 IllvilJa joined perl6
18:30 TimToady or <[class]>+ & <-[-]>*
18:31 dmq but would that work if X matched Z?
18:31 TimToady PerlJam: yea, -> should probably be spaced
18:32 dmq for the '-' example they were just being stupid. but there was another one that was more complex.
18:32 TimToady dmq: why wouldn't it work?
18:33 shlomif joined perl6
18:33 TimToady the point of & is that it constrains both sides against the same substring, which is exactly what you want.
18:33 TimToady so X has nothing to do with it
18:34 dmq ah ok, i didnt get that part. i did say i didnt grok the &&.
18:34 dmq cool, glad you have it sorted. :-)
18:35 dmq fyi: they were being lazy about writing <[class]-[-]> - <[class]-[-]>
18:35 dmq if i remember the new charclass syntax properly.
18:35 dmq er i mean <[class]-[-]>+ - <[class]-[-]>+
18:38 TimToady but that should just construct an anonymous class that is missing -
18:38 TimToady shouldn't need &
18:39 dmq they had a more complex example that probably needed the &.
18:39 TimToady k
18:39 dmq but i agree with that.
18:39 dmq case
18:39 fglock I wonder if it would be sane to link p5 to kp6-C, and reuse unicode/regex/memory management
18:39 dmq anyway, nice chatting, gf is waiting for me to go to dinner.
18:39 TimToady enjoy
18:40 dmq you might want to take a look at that ebf, if only for a good laugh.
18:44 specbot6 r13705 | larry++ | apostrophe illiteracy...
18:49 moritz if :10(99) works, should :16(FF) work as well?
18:49 * avar perks up at long-gone ::Plugin discussion and goes back to hacking
18:50 avar I was kicking match variables into ::Plugin the other day, there's still some odd issues with it
18:51 avar perl issued undefined value warnings if $1 et al weren't untainted, I didn't get $+{} working yet and so on:)
18:53 shlomif Hi avar
18:53 avar hia
18:53 shlomif avar: are you seeing the end of the winter over there in the frozen north?
18:55 shlomi joined perl6
18:56 avar sorry, don't have time to chat:/
18:56 justatheory joined perl6
18:57 ludan joined perl6
19:03 shlomi is now known as rindolf
19:03 Ziggy6 left perl6
19:06 Juerd 19:28 < TimToady> so you want something like <[class]>+ & <!before -> .*
19:06 Juerd TimToady: No, more like <!before .* ->
19:07 Juerd TimToady: But the RHS of & bound to the length of what the LHS matched
19:07 Juerd TimToady: So your second guess was correct, iff & works like that.
19:07 Ziggy6 joined perl6
19:09 PerlJam not having that sequence point sure makes it seem like that won't always work right
19:10 bernhard joined perl6
19:21 jrockway btw, there's a #haskell on irc.perl.org for perlers learning haskell
19:21 jrockway feel free to join :)
19:21 jrockway (and recruit The Next Generation Of Pugs Hackers [tm])
19:28 moritz I hope pugs will be finalized before we need a whole new generation ;)
19:33 Caelum_ is now known as Caelum
19:34 * nothingmuch would guess they already are aware of pugs
19:36 Caelum what does "ghc6601_0.hc:(.text+0x622): undefined reference to `PugsziEmbedziParrot_de8C'" mean?
19:38 justatheory joined perl6
19:40 gaal Caelum: try killing Parrot.{hi,hs,o} in dist/ and running make again
19:41 gaal (yes, .hs too; it's regenerated from .hsc)
19:42 gaal er, the .hs though is in src/ of course
19:49 Caelum I did a find . -regex '.*/Parrot\.\(h[is]\|o\)' -exec rm {} \; and make but get the same error
19:50 gaal hm try wiping Embed/ in dist/ then
19:50 gaal and Embed.* possibly too
19:50 gaal dist only, not src/ this time
19:51 gaal if all else fails, make clean and make again
19:51 dduncan joined perl6
19:56 theorbtwo joined perl6
20:04 gaal avar:
20:04 gaal @pl \x -> x + 42
20:04 lambdabot (42 +)
20:14 dec_ is now known as dec
20:19 [particle] what's the difference between Bit and Bool?
20:21 Juerd A Bit is 0 or 1.
20:21 Juerd A Bool is false or true.
20:21 fglock Bool is an enum (afaik)
20:21 fglock Bool declares True and False
20:21 Juerd $bit << 2 makes sense, $bool << 2 does not.
20:21 [particle] can a Bool be undef?
20:21 [particle] it seems a Bit can
20:21 Juerd [particle]: IIRC, all ucfirst can.
20:21 lichtkind joined perl6
20:22 fglock a Bit container can be undef, but a Bit cannot
20:22 [particle] S02:709 --     Bit         Perl single bit (allows traits, aliasing, undef, etc.)
20:23 [particle] i guess that's the container, then
20:23 [particle] it's in section "Immutable types"
20:25 [particle] i've got to wonder what the difference between 'bit' and 'bool' is, then (native types)
20:27 fglock bool doesn't promise to be 1-bit (afaik)
20:28 [particle] darned two-bit booleans!
20:29 allbery_b that sounds like a dailywtf
20:30 allbery_b bool = true | false | maybe | somethingelse ...
20:30 avar [particle]: Implementation wise: none? It's there to implement object objecty-sugar I would guess
20:30 baest more likely 32 or 64 bit booleans
20:30 * [particle] is considering the state of parrot's native type support wrt perl 6 types
20:31 [particle] our boolean array uses bits, but a boolean uses a byte
20:31 baest i think several implentations mapped defined a bool as an int. At least i remeber something like that
20:31 [particle] so, an array of 32 booleans is the same size as one
20:32 avar bit/bool would be a PMC wrapping an int that knew whether it was Int::1 or Bool::True ?
20:32 avar no idea though:)
20:32 [particle] i imagine the hll 'Bool::True' is dealt with by the parser
20:33 [particle] no, maybe that info is carried into the ast
20:34 [particle] anyway, it's likely optimized out before vm opcodes are generated
20:34 [particle] so, unless there are semantic differences between bit and bool, they'll be implemented the same way, which is by a parrot IREG
20:35 [particle] however, we'll have to fudge uint, since parrot only has signed integers natively
20:45 stevan_ joined perl6
20:55 fglock left perl6
21:03 forsaken joined perl6
21:23 ludan joined perl6
21:30 eric256 joined perl6
21:32 eric256 how can i get the actual values from a junction that cause the success?  
21:32 eric256 ?eval asy any(1,2,3) > all(1,2,);
21:32 evalbot_r15353 is now known as evalbot_r15368
21:32 evalbot_r15368 Error: No compatible subroutine found: "&asy"
21:32 eric256 ?eval say any(1,2,3) > all(1,2,);
21:32 evalbot_r15368 OUTPUT[all(VJunc any(VBool False,VBool True))␤] Bool::True
21:33 eric256 but i'm looking for it to say '3' i tried .values and searching the example/documentation with no luck.. ideas?
21:39 Macae joined perl6
21:45 avar ?eval $?OS
21:45 evalbot_r15368 \"linux"
21:46 avar ?eval $?BLOCK
21:46 evalbot_r15368 \undef
21:46 * avar tries to recall the compiler twigil..
21:47 avar say "I'm on" ~~ $?OS.unix ?? "UNIX" !! "Something else";
21:48 avar I was wondering in general how L<Configure> would work in Perl:)
21:48 avar *Perl 6
22:02 eric256 ?eval say 'Perl ' ~ any('6 rocks', 'rules!', 'is da bomb').pick;
22:02 evalbot_r15368 OUTPUT[Perl rules!␤] Bool::True
22:03 offby1 is "pick" random?
22:03 moritz ?eval <1 2 3 4>.pick
22:03 evalbot_r15368 "4"
22:03 moritz ?eval <1 2 3 4>.pick
22:03 eric256 yea i didn't need the any in there ;)
22:03 moritz offby1: I guess so
22:03 evalbot_r15368 "2"
22:03 offby1 slow, too :-)
22:04 eric256 i think its eval bot thats slow
22:12 wilx joined perl6
22:13 offby1 yeah, I know.
22:17 eric256 ?eval ~any(1,2,3)
22:17 evalbot_r15368 ("1" | "2" | "3")
22:18 eric256 i still can't figure out how to access the actual values that caused a condition with junctions to pass
22:19 Limbic_Region eric256 - I wrote the list about this some time ago
22:20 Limbic_Region eric256 - at that time, the answer was write your own operator to act on the junctions
22:20 Limbic_Region eric256 - but now I think the same thing can  be done with sets
22:20 Limbic_Region but I would need to research the emails to make sure I am remembering correctly
22:20 Limbic_Region by default - the sugar isn't there
22:20 eric256 which is my second issue....finding out if sets even exist yet :-)
22:20 Limbic_Region they do theoretically
22:20 Limbic_Region not sure if they are implemented
22:21 Limbic_Region but knowing fglock - I would have to say yes
22:21 Limbic_Region in any case, the behavior seems inconsistent given .pick  - but that's just me
22:21 * Limbic_Region wanders off again
22:21 eric256 that seems silly, since the junction comparison returns and object wouldn't it be easy to pass along a set of the elements ...bah. ;)  i want to be able to do my @high = any(@scores) > 100; ;)
22:22 Psyche^ joined perl6
22:26 eric256 hehe i found the thread and it looks like know one mentioned which S to look in to find sets.
22:28 Limbic_Region eric256 - I am not sure it is "THE" thread
22:29 Limbic_Region since when I first brought it up, sets weren't in
22:29 Limbic_Region but likely a similar thread after the fact
22:29 Limbic_Region it has come up here on the channel before too
22:29 eric256 well maybe not, but its one where you asked about it and mentioned you'd asked a year ago ;) so it was your followup to THE thread i think ;)
22:29 Limbic_Region TimToady, fglock, audreyt all should be able to point you in the right direction though
22:30 Limbic_Region heh
22:30 Limbic_Region yeah
22:30 * eric256 tries googling using "set" agian and waits for the huge number of misleading hits
22:30 TimToady ?eval say list(1..10) < 6
22:30 evalbot_r15368 OUTPUT[12345␤] Bool::True
22:31 eric256 i wonder if we could autogenerate an index to the docs
22:31 TimToady (except it's currently each() that is specced to do that)
22:31 eric256 list?
22:31 Limbic_Region eric256 - the original thread was "Malfunction Junction, what's your function?" 2005-04-28
22:31 TimToady look for Set and KeySet
22:31 eric256 ?eval say list(1,2,3,4) > list(2,3);
22:31 evalbot_r15368 OUTPUT[34␤] Bool::True
22:32 Limbic_Region eric256 - the follow up (from me anyway) was "Do junctions support the intersection of lists" 2006-04-06
22:32 eric256 wow...didn't even know 'list' existed....thanks L~R i think i remember that from the first time around.. yea that followup was what i found
22:32 eric256 thanks timtoady
22:32 TimToady you only get one list though
22:33 TimToady your eval was doing >2
22:33 TimToady and like I said, it was recently changed to each(), but pugs hasn't caught up with that yet.
22:35 eric256 pugs or the docs apparently...where would i be looking to see discriptions of list or each?
22:35 tene ?eval list(1..10) % 2 == 0
22:35 evalbot_r15368 Bool::True
22:35 eric256 S02 talkes about KeySet but only in a vague no idea how you'd use it type way ;)
22:36 eric256 ?eval say list(list(1,2,3,4) > 2) > 3
22:36 evalbot_r15368 OUTPUT[4␤] Bool::True
22:37 TimToady list() > 3 was an early attempt at easy list comprehensions.
22:37 TimToady it's just syntactic sugar for a grep.
22:37 TimToady we might not keep it, now that we have more general list comprehensions.
22:38 eric256 yea but its tasty ;)
22:38 devogon joined perl6
22:38 TimToady grep for 'comprehension' for the more general forms
22:38 eric256 @results = any(@values) ~~ all(@rules); would be cool.
22:38 lambdabot Unknown command, try @list
22:39 eric256 S02 for those reading along at home ;)
22:40 Psyche^ is now known as Patterner
22:41 gnuvince_ joined perl6
22:41 eric256 is there any pod syntax to specify something that should be indexed?  so that when you put a definition of each you could somehow flag it to show up in an index?  my problem is mostly that i don't know where to look and often i dont' know what it is called now.  so an index to scan could be quite helpfull
22:41 TimToady for example: @results = ($_ when all(@rules)) for @values
22:42 TimToady people sometimes use X<> for that.
22:43 explorer joined perl6
22:43 TimToady but if we keep the list/each shortcut it's just @results = each(@values) ~~ all(@rules)
22:43 eric256 ahh thats pretty darn close to what i was looking for. thanks
22:44 tene and what is @rules a list of?
22:44 eric256 match objects i would expect
22:45 TimToady ?eval @results = list(1..100) ~~ all(/3/,/7/)
22:45 evalbot_r15368 (no output)
22:45 Caelum joined perl6
22:45 TimToady ?eval @results = list(1..100) ~~ all(/7/)
22:45 evalbot_r15368 (no output)
22:45 TimToady ?eval @results = list(1..100) ~~ /7/
22:45 evalbot_r15368 [7, 17, 27, 37, 47, 57, 67, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 87, 97]
22:45 TimToady looks like all() not auththreading right
22:45 eric256 doesn't look like its playing nice yet
22:46 TimToady *auto
22:46 TimToady ?eval @results = list(1..100) ~~ (/7/ | /3/)
22:46 evalbot_r15368 (no output)
22:46 TimToady ?eval @results = list(1..100) ~~ (7 | 3)
22:46 evalbot_r15368 [3, 7]
22:47 TimToady looks like patterns aren't autothreading
22:47 TimToady ?eval @results = list(1..100) ~~ ({ $_ % 7 } | { $_ % 3} )
22:47 moritz so does ~~ substitute p5s grep?
22:47 evalbot_r15368 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
22:48 moritz (among other things of course )
22:48 eric256 not grep, regex...now its SmartMatch
22:48 moritz ok, p6 still has grep
22:50 TimToady whoops, misplaced a paren
22:50 stevan_ joined perl6
22:51 TimToady it's @results = ($_ when all(@rules) for @values)
22:51 TimToady basically, I recently relaxed the nested modifiers restriction to allow an if-ish one inside a loop-ish one.
22:52 TimToady plus treating the inside of (...) like a statement
22:53 explorer joined perl6
22:53 dmq if i wanted to use perl6 to support interval notation the unbalanced parens wouldnt necessarily be an issue would it?
22:54 TimToady not to perl 6
22:54 dmq stupid question i guess just something that occured to me.
22:54 TimToady it'll drive any syntax highlighter completely bonkers though.
22:54 dmq heh
22:54 dmq s/perl\K6/ 6/
22:54 dmq :-)
22:55 TimToady you'd just have a term token that doesn't require its opener to match its closer
22:55 dmq cool.
22:57 TimToady I suspect we'll already get a certain amount of heartburn from the fact that <( doesn't have to match )> in P6 regex.
22:58 TimToady which maybe means we should have used something other than parens in that token.
22:59 Macae left perl6
22:59 TimToady but that's probably on a level that a syntax highlighter can deal with, assuming it can have a regex mode.
23:00 TimToady the worse problem is that parsing something like (1,100] would require an awful lookahead to distinguish it from ordinary parens.
23:01 TimToady that's why I went with 1^..100 instead
23:04 offby1 nice to know you're keeping syntax highlighting in mind -- my big fear is that there'll never be a decent Emacs mode for perl6
23:07 eric256 is there a way to define custom operators that would have values inside the operator?    such as (1,100] were presumably the operator is (,] with two values imbeded in it?
23:07 TimToady what I'm hoping is that the grammar will be such that we can ask a grammar to spit out a highlighter for an editor, even if you're in some custom language.
23:07 TimToady yes, but you have to have sufficient clue to know when to switch into a sublanguage
23:08 TimToady and for (1,100] that involves lookahead to the ], probably
23:08 demq joined perl6
23:08 TimToady mathematicians are great at coming up with syntax that looks good to a human but drives computers crazy
23:09 TimToady but that's essentially the process that happens when you switch into a sublanguage such as inside rx//
23:09 TimToady where < means something entirely different than outside
23:09 TimToady now if you had a token that was "interval (,100]" you wouldn't need the lookahead.
23:09 TimToady you'd just need the sublanguage
23:11 moritz mathematicians are weird anyway ;)
23:12 TimToady most people waste single matching bracket pairs at a time.  leave it to the mathematicians to figure out how to waste both parens and square brackets at the same time...
23:12 polettix joined perl6
23:13 offby1 they have an infinite supply, so they're not really wasting them ...
23:13 offby1 or at least until their pencil lead runs out.
23:13 TimToady there's always chalk...
23:14 TimToady interesting that chalk comes from southern England, and graphite from northern England.  that could explain a lot.
23:14 * eric256 drools over his liquid graphit pencil some before returning to work
23:15 * offby1 never noticed fights between the chalk-fanciers and the pencil-fanciers in school, but then he dropped out
23:16 TimToady well, of course "offby1" wouldn't grok (pencil,chalk]   :)
23:17 offby1 it'd probably be (pencil, chalk) or even [pencil, chalk] -- I'm not above being off by 2
23:17 moritz chalk and blackboar where the first primitive wikis ;)
23:17 TimToady nah, cave wall and charcoal, I think
23:18 TimToady Booga, booga!  Wiki wiki!
23:18 moritz TimToady: but cave walls aren't that easiy whipped clean
23:18 moritz s/whipped/wiped/ ;)
23:18 TimToady and how often do you wipe clean your wiki?
23:18 eric256 yea once you've drawn on them with your enemies blood its all down hill from there
23:18 moritz sometimes english is harder than perl ;)
23:19 TimToady hmm, what if half the cave paintings were actually spam...
23:19 * offby1 jerks awake
23:19 offby1 whipped cream?  Where?
23:20 moritz TimToady: what did they sell? buffalos?
23:20 IllvilJa left perl6
23:20 moritz TimToady: or "extra sharp stone blades"? porn?
23:22 TimToady buffalos?  perhaps, under the category "bogus stock"
23:22 * eric256 accidentaly tried to open a directory of 50k files with vi....and now thinks that wasn't a good plan
23:23 weinig|bbl is now known as weinig
23:23 TimToady I've notice that vim doesn't take at all kindly to being interrupted while starting up.  Last time I tried that I ended up having to kill the shell from another window...
23:24 * offby1 wouldn't take kindly to being killed, either
23:24 eric256 yea i just had to open a new ssh and beat it over the head..
23:24 eric256 now to see how long sa-learn takes to learn 56k messages ;)
23:26 gnuvince_ joined perl6
23:28 Aankhen`` joined perl6
23:31 demq (mathematicians are great at coming up with syntax that looks good to a human but drives computers crazy)++++
23:31 Gothmog_ ;-)
23:32 demq now theres a good email sig quote.
23:33 demq hrm, i appear to have gotten fatter
23:33 demq is now known as dmq
23:34 dmq ah, much better
23:34 moritz QM is nice, with vectors/states like <a| and |b> and matrices like <a|H|b> etc
23:34 moritz and of course < and > still available als comparison operators
23:39 masak does pre- and postincrement return an rvalue? why?
23:40 masak it requires an lvalue, so why not provide one?
23:41 masak at least for pre- it seems to make sense
23:41 masak but maybe allowing it for preincrement but not for postincrement would be asking for trouble...
23:42 masak & # much needed sleep
23:43 beppu joined perl6
23:48 Caelum joined perl6
23:53 eric256 ?eval $x++ = 0; say $x;
23:53 evalbot_r15368 Error: Can't modify constant item: VInt 0
23:54 * eric256 must have misunderstoo masak
23:54 eric256 hehe i thought you said lvalue not rvalue
23:54 tene ?eval ++$x = 0; $x
23:54 evalbot_r15368 Error: Can't modify constant item: VInt 1
23:54 eric256 processing spam at 1.78msg/sec for a total of 21minutes...not too shabby

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

Perl 6 | Reference Documentation | Rakudo