Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-05-09

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:31 Jedai joined #perl6
01:11 pugs_svn r26734 | lwall++ | [S05] whack on regex augmentation syntax
01:19 pugs_svn r26735 | lwall++ | [S14] note (again) that macro syntax must be lexically scoped
01:42 dukeleto joined #perl6
01:54 nihiliad joined #perl6
01:57 hercynium joined #perl6
02:01 nihiliad joined #perl6
02:04 PZt joined #perl6
02:23 dukeleto joined #perl6
02:57 cognominal joined #perl6
02:59 minazo left #perl6
03:14 kulp joined #perl6
03:35 Kisu joined #perl6
03:38 ashizawa joined #perl6
03:40 orafu joined #perl6
03:43 s1n should I be able to do the following: use 'Module'; #where Module is in @*INC
03:52 ashizawa joined #perl6
04:08 alester joined #perl6
04:56 bejuryu joined #perl6
05:03 charsbar joined #perl6
05:25 mikehh_ joined #perl6
05:43 pugs_svn r26736 | wayland++ | [S28] Update to conform with recent S02 changes
05:57 amoc joined #perl6
06:12 mib_o2oy11 joined #perl6
06:33 cognominal joined #perl6
06:50 ejs joined #perl6
06:56 amoc^ joined #perl6
07:03 ejs joined #perl6
07:14 frew|work joined #perl6
07:24 ejs1 joined #perl6
07:35 kate21de joined #perl6
07:56 DemoFreak joined #perl6
08:03 meppl joined #perl6
08:05 iblechbot joined #perl6
08:23 ejs joined #perl6
08:32 pugs_svn r26737 | moritz++ | [t/spec] re-unfudge a passing test
08:33 pugs_svn r26738 | moritz++ | [t/spec] fudge an "augment" test for rakudo; try to test the same with existing methods
08:39 amoc^ joined #perl6
08:44 M_o_C joined #perl6
08:47 alanhaggai_ joined #perl6
08:47 pmurias joined #perl6
09:30 smtms joined #perl6
09:38 amoc^ joined #perl6
09:46 amoc joined #perl6
09:50 masak joined #perl6
10:16 icwiener joined #perl6
10:22 amoc joined #perl6
10:28 pmurias joined #perl6
10:31 moritz_ pmichaud, jnthn: we're currently annoying two other implementations (STD.pm and mildew) by keeping 'is also' in the test suite...
10:32 moritz_ should I start switching to augment (or get rid of it, where possible) and at the same time fudge for rakudo?
10:39 masak` joined #perl6
10:43 * masak greps the perl 6 projects for 'is also'
10:44 moritz_ masak: I recommend 'class.*is also', less false positives
10:44 pmurias moritz_: shouldn't the test suit describe the current spec?
10:45 moritz_ pmurias: it should, yes
10:45 moritz_ pmurias: but it should also serve as regression tests for as many implementations as possible
10:45 moritz_ pmurias: which is why it's a bit of a dilemma right now
10:46 pmurias moritz_: fixing rakudo seems the best option
10:46 moritz_ pmurias: yes
10:46 moritz_ pmurias: but it seems to be non-trivial
10:48 pmurias a syntactic change shouldn't be hard (haven't look in how it is implemented)
10:48 moritz_ well, it's implemented as a trait now
10:48 moritz_ and it's not going to stay a trait, but a syntactic feature
10:50 moritz_ but it can't stay like this for long.
10:51 moritz_ rakudo: class A { has $.ä = 3 }; say A.new.ä
10:51 p6eval rakudo 1f4ec5: OUTPUT«3␤»
10:52 moritz_ rakudo: class A { has $!ä = 3; method ä { $!ä } }; say A.new.ä
10:52 p6eval rakudo 1f4ec5: OUTPUT«3␤»
10:52 moritz_ rakudo: class A { has $.ä }; say A.new(ä => 3).ä
10:52 p6eval rakudo 1f4ec5: OUTPUT«error:imcc:syntax error, unexpected USTRINGC, expecting STRINGC ('unicode:"\x{e4}"')␤      in file 'EVAL_22' line 52␤Null PMC access in can()␤current instr.: '!dispatch_method' pc 17716 (src/builtins/guts.pir:110)␤»
10:53 pugs_svn r26739 | moritz++ | [t/spec] get rid of two instances of "is also"
11:05 Whiteknight joined #perl6
11:09 moritz_ rakudo: say (ä => 1).perl
11:09 p6eval rakudo 1f4ec5: OUTPUT«"ä" => 1␤»
11:09 moritz_ rakudo: sub f(*%a) { say %a.perl }; f(ä => 1)
11:09 p6eval rakudo 1f4ec5: OUTPUT«error:imcc:syntax error, unexpected USTRINGC, expecting STRINGC ('unicode:"\x{e4}"')␤      in file 'EVAL_17' line 53␤{}␤»
11:10 rindolf joined #perl6
11:11 kate21de joined #perl6
11:15 pugs_svn r26740 | moritz++ | [t/spec] non-ASCII named arguments
11:18 moritz_ rakudo: my $x = :a<5>; say $x.map({.key => .value + 1}).perl
11:18 p6eval rakudo 1f4ec5: OUTPUT«Method 'key' not found for invocant of class 'Failure'␤current instr.: 'parrot;P6metaclass;dispatch' pc 250869 (src/gen_actions.pir:23644)␤»
11:20 moritz_ rakudo: role A::B {}; say 42 ~~ A
11:20 p6eval rakudo 1f4ec5: OUTPUT«invoke() not implemented in class 'NameSpace'␤current instr.: '_block14' pc 65 (EVAL_20:50)␤»
11:25 pugs_svn r26741 | moritz++ | [t/spec] simplify "($str but Role).uc" tests
11:29 fridim joined #perl6
11:32 moritz_ rakudo: multi foo(Bool :$baz = Bool::False, *@vals)
11:32 p6eval rakudo 1f4ec5: OUTPUT«Malformed routine definition at line 1, near "foo(Bool :"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
11:32 moritz_ rakudo: multi foo(Bool :$baz = Bool::False, *@vals) { say "foo" }; foo(:baz(Bool::True), 1, 2, 3);
11:32 p6eval rakudo 1f4ec5: OUTPUT«No applicable candidates found to dispatch to for 'foo'␤current instr.: '_block14' pc 91 (EVAL_18:57)␤»
11:36 pugs_svn r26742 | pmurias++ | [re-smop] tools/ri supports DESTORYALL_ALL to change how DESTORYALL is generated
11:36 pmurias is storing .gitignore files in the pugs repo acceptable?
11:37 pugs_svn r26743 | pmurias++ | [re-smop] destroying p6opaque with a LOST frame
11:37 masak joined #perl6
11:39 moritz_ pmurias: just place them .git/info/exclude in your git repo
11:39 moritz_ pmurias: at least that's what I do for the test suite
11:39 moritz_ anyway, I wouldn't really mind
11:39 pugs_svn r26744 | pmurias++ | [re-smop] [re-mildew] commited .gitignore files for anyone using git-svn
11:39 moritz_ it's your hack space anyway ;-)
11:43 masak the latest Parrot doesn't build here.
11:43 masak I'm bisecting now.
11:44 * moritz_ tries on linux
11:53 jnthn H H
11:56 masak O   AI
11:59 amoc joined #perl6
12:01 Whiteknight joined #perl6
12:02 masak jnthn: distributed Rakudo day!
12:03 jnthn masak: Yes!
12:06 mikehh joined #perl6
12:14 * masak has some plans for the day too, mostly Web.pm-y
12:15 jnthn Gah. So now I have to do a full re-configure and re-build of Parrot when Rakudo bumps its version...
12:15 jnthn (Whereas for some simple changes just a re-compile with the latest source files would do fine...)
12:16 pugs_svn r26745 | pmurias++ | [re-smop] changed leftover %method DESTROYALL to %DESTROYALL {...%}
12:21 masak rakudo: <47 92 111>.map(*.chr)[1,2,0].say
12:21 p6eval rakudo 1f4ec5: OUTPUT«\o/␤»
12:24 Kisu joined #perl6
12:25 masak ok, turns out r38577 broke my Parrot.
12:27 jnthn Commit message win though
12:27 jnthn "This is slightly
12:27 jnthn dangerous
12:27 jnthn "
12:27 jnthn What kinda failure do you get?
12:27 masak turns out it was.
12:27 mberends joined #perl6
12:27 masak it says something about a bus...
12:28 masak and an error.
12:28 masak "Bus Error", it says.
12:28 jnthn ah, fancy words for segfault
12:28 masak oh well, time to visit #parrot
12:29 jnthn See if you can get a backtrace.
12:30 masak jnthn: my expertise with debugger ends somewhere before the ability to get a backtrace out of a failing build, unfortunately.
12:30 masak care to enlighten me?
12:31 masak s/debugger/debuggers/
12:34 moritz_ jnthn: you can still 'cd parrot; svn up; make'
12:35 jnthn masak: First, find out how Parrot is being invoked when it segfaults.
12:35 jnthn Then gdb parrot
12:35 jnthn r put arguments it is invoked with here
12:35 masak jnthn: oki. it sounds easy when you explain it. :)
12:35 jnthn (that is "r" followed by the arguments Parrot is being passed)
12:35 jnthn Wait for it to explode
12:35 jnthn then type bt
12:36 jnthn (and enter...)
12:40 PhatEddy joined #perl6
12:45 PhatEddy Just a quick reminder ... afaik I can't add my new test file, S10-packages/basic.t, to spectest.data so if it should be there someone else may have to add it ...
12:46 masak http://gist.github.com/109252 # Parrot r38577 stacktrace
12:48 jnthn PhatEddy: Is it fudged?
12:48 pastorn joined #perl6
12:49 PhatEddy yes its fudged and ran successfully with a rakudo pulled and built yesterday
12:49 jnthn masak: You've certainly tried a realclean?
12:49 masak jnthn: I always realclean.
12:49 jnthn OK, I suspected so.
12:50 jnthn And looking closer at the bt it's actually crashing while running load stuff...
12:53 jnthn masak: I think best bet is to send this, and revision info and platform into to the Parrot mailing list, or file a parrotbug.
12:53 * masak does the latter
12:54 jnthn Aye, 'tis probably the better option.
12:54 * pastorn is installing pugs through cabal
12:54 pastorn pleeeeeeeeeeeeeeeease don't crash!
12:55 masak pastorn: have you tried Rakudo?
12:55 * jnthn makes some fruit tea and tries to decide what music to listen to while attempting to implement the hash versions of hyper operators
12:55 pastorn pugs doesn't require GHC6.10, does it?
12:55 pastorn masak: never heard of
12:55 * pastorn is a haskell guy
12:55 masak pastorn: it's quite a nice Perl 6 implementation.
12:55 masak pastorn: and it doesn't require GHC, just Parrot.
12:56 pastorn masak: well, i like GHC
12:56 jnthn otoh, it's not written in Haskell...
12:56 jnthn pastorn: I'm not sure what the latest Pugs requirements are. I do know that Pugs is not really actively developed or maintained these days though.
12:56 masak pastorn: Pugs requires at least GHC 6.8.
12:56 jnthn Ah, OK. :-)
12:56 pastorn masak: then i'm cool
12:57 jnthn masak++ # not being too lazy to look it up :-)
12:57 pastorn FAIL!!!
12:57 masak pastorn: well, unless it requires 6.10 :)
12:57 pastorn regex-pcre-builtin-0.94.2.0.7.7 failed during the configure step. The
12:57 pastorn exception was:
12:57 pastorn exit: ExitFailure 1
12:57 * pastorn gets mad
12:57 masak I might have been unclear. I didn't look it up.
12:57 masak I just happen to know that Pugs at one time required 6.8
12:59 pastorn oh, i needed a foreign package
13:00 masak I thought that's what Cabal did for you.
13:01 pastorn masak: as long as the package is in cabal, but this was a wrapper package that uses foreign (C i guess) functions, and wraps haskell types around them
13:01 masak ok.
13:02 pastorn so i was missing the package that it wraps around, something*pcre*something
13:02 pmurias pastorn: what do you plan to use Pugs for/
13:02 pmurias ?
13:03 pastorn pmurias: no idea yet... i have a program i was thinking of making in haskell, but will probably be a lot easier in perl
13:03 masak pastorn: the reason you're getting these interested questions is that most of us use other Perl 6 implementations than Pugs nowadays.
13:03 pastorn pmurias: the site www.tv.nu which shows what's on tv in sweden is annoying, i wanna make a CLI program that just downloads that page and prints it in a terminal
13:05 masak pastorn: ah, a fellow Swede. hai.
13:05 pastorn masak: hai2u
13:05 pastorn FUCK!
13:05 * pastorn broke apt
13:07 masak I understand Haskell is quite popular at Chalmers.
13:08 amoc joined #perl6
13:08 payload joined #perl6
13:08 pmurias pastorn: it would be definitly easier to to that in perl 5 rather than in perl 6...
13:08 masak pastorn: for a task such as the one you want to perform, I'd actually recommend Perl 5 and one or more CPAN modules.
13:17 azawawi joined #perl6
13:17 azawawi hi
13:18 azawawi is anyone having trouble with the latest rakudo/parrot build on win32?
13:19 jnthn azawawi: I haven't tried *the* most latest, but I've heard reports of problems with latest on OSX
13:19 jnthn However, the version (not latest) that Rakudo currently requires built fine for me.
13:20 azawawi jnthn: this time im getting an infinite "mingw32-make: write error: No such file or directory" after perl Configure.pl --gen-parrot
13:20 azawawi jnthn: i made sure that i realclean-ed everything including parrot
13:20 jnthn Oh, ouch
13:21 jnthn I know Rakudo's configure and Parrot building scripts were patched quite a bit yesterday.
13:21 jnthn I don't know so much what the changes were though...but it sounds like it might be something in that.
13:21 azawawi jnthn: actually it is not infinite since mingw32-make stack gets full after a while and croaks... :)
13:22 jnthn ;-)
13:23 jnthn Perhaps you can nopaste the start of the output up to where it starts recursing.
13:23 jnthn I guess pmichaud will be around at some point soonish today and he'll have more ideas than I.
13:23 azawawi jnthn: i will do it now... after collecting it first...
13:23 * azawawi tries to continue mingw32-make to see perl6 works or not...
13:25 azawawi it works afterwards btw... perl6 runs hello world...
13:26 jnthn Ah, OK.
13:27 jnthn I'm guessing it's some oddity about mingw32's make program.
13:30 * azawawi runs 'perl Configure.pl --gen-parrot 1>out.txt 2>&1'
13:32 azawawi jnthn: http://sial.org/pbot/36525
13:34 jnthn oh, ouch.
13:34 jnthn Weird.
13:35 pmichaud good morning
13:36 jnthn morning, pmichaud
13:36 sri_kraih_ joined #perl6
13:36 azawawi pmichaud: hi there
13:36 azawawi pmichaud: full win32 build error log: http://feather.perl6.nl/~azawawi/out.txt.bz2
13:37 pmichaud looking
13:38 pmichaud moritz_: Most of the 'is also's in the suite can be easily rewritten to not use is also.  We should do that.
13:38 pmichaud For the rest, I'm fine with fudging them for now.
13:39 skids joined #perl6
13:40 azawawi moritz_: i cant see any tests for slang in t/spec; is it new?
13:41 pmichaud azawawi: less than 24 hrs new, yes :-)
13:41 azawawi pmichaud: interesting, thx
13:41 pastorn pmurias: but then i wouldn't learn perl6
13:41 pmichaud azawawi: I'm not really sure what would be causing the issue with building on your win32 environment -- at the step where it's having trouble the Configure.pl script is simply doing "make clean"
13:42 pmichaud what happens if you do "make clean" manually at that point (or your platform's equivalent) ?
13:43 azawawi pmichaud: let me check it again then; i did a clean/realclean in rakudo and parrot directory before that error and made sure there are no generated files in src/pmc
13:46 pmichaud okay.  Configure.pl is supposed to be taking care of that for us now.
13:46 pmichaud (but yes, there could have been something left over from the previous build system)
13:47 * azawawi debugs it...
13:48 azawawi pmichaud: what's 'if (open my $REV, '-|', "$make clean") { close $REV; }' actually doing?
13:48 azawawi pmichaud: i replaced it with `$make clean` and it worked...
13:48 pmichaud it's invoking $make clean, but throwing away the output.
13:48 pmichaud Oh, I bet that's the issue.
13:49 pmichaud I guess your make doesn't like the "throw away the output" step, since it doesn't have true pipes
13:49 rindolf joined #perl6
13:49 azawawi win32 + process output = disaster :)
13:49 pmichaud okay, I can fix that.
13:49 pmichaud I have a patch for you to try -- one sec
13:49 azawawi thx
13:51 pmichaud http://nopaste.snit.ch/16504
13:52 pmichaud actually, I'll just push it to github.
13:53 pmichaud pushed.
13:54 pmurias pastorn: pugs seems to be on hackage
13:54 * azawawi tests it...
13:55 mberends masak: proto pumpkin?
13:56 pmurias pastorn: do you already know perl5?
13:56 pmichaud I have to run a short errand (thatmight turn into a long errand) -- bbia(b|w)
13:57 dalek rakudo: f2557a8 | pmichaud++ | Configure.pl:
13:57 dalek rakudo: Fix bug with Configure.pl's 'make clean' on Win32.  (azawawi++)
13:57 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f2557a89e5605486af9a88681ef1d686e897c5b5
13:57 cognominal joined #perl6
13:59 azawawi pmichaud: thx, it works now...
14:02 broquaint joined #perl6
14:04 TimToady g'day @mates
14:04 jnthn oh hai
14:06 pmichaud good morning, TimToady
14:06 araujo oh no
14:06 lambdabot araujo: You have 1 new message. '/msg lambdabot @messages' to read it.
14:06 pmichaud (back from errand set #1)
14:09 jnthn rakudo: my %a = a => 1; %a = b => 2; say %a.perl
14:09 p6eval rakudo f2557a: OUTPUT«{"b" => 2}␤»
14:11 kate21de joined #perl6
14:13 pastorn pmurias: no
14:24 pugs_svn r26746 | jnthn++ | [t/spec] Tests for symmetric cases of hyper operatorss on hashes.
14:25 pmurias pastorn: learning perl 5 might make more sense, the language itself is much worse but the implementation is mature and CPAN is superb
14:26 pastorn pmurias: what's so horrible about perl6?
14:27 s1n joined #perl6
14:30 pmurias pastorn: it's not done yet
14:30 pastorn pmurias: the language spec or the implementation?
14:31 pmurias the implementation
14:31 pastorn well, then i don't mind
14:31 pastorn a segfault here and there isn't that horrible
14:34 pmurias it all depends if you want to get something done or have an adventure
14:35 pastorn the latter
14:35 pastorn if just wanted it done i'd write it in haskell
14:36 pmurias pastorn: did pugs from hackage work for you?
14:36 pastorn pmurias:
14:36 pastorn no
14:36 pmurias you could try rakudo
14:36 pastorn trying to install it forced me to get dependencies with APT, which in turn broke APT
14:37 pastorn so now i'm stuck with a broken package manager
14:37 * pastorn wishes he was on free bsd right now
14:37 pmurias hmm, rakudo doesn't depend on much
14:44 mberends pastorn: can you fix your apt config ok?
14:44 pastorn mberends: dude, no way
14:44 pastorn so fuck this, i'm migrating to free bsd now
14:45 * pastorn is downloading 7.2-RELEASE-amd64
14:45 pugs_svn r26747 | azawawi++ | [S:H:P6] version 0.54 contains the latest STD with slang support.
14:46 pugs_svn r26748 | jnthn++ | [t/spec] Tests for asymmetric variants of hypers on hashes.
14:48 PhatEddy rakudo: say "match ä" if "ä" ~~ /<alpha>/;
14:48 p6eval rakudo f2557a: OUTPUT«match ä␤»
14:55 masak joined #perl6
14:56 mberends masak: 'allo
14:56 masak mberends: o' 'ai
14:56 jnthn oh, crap, I checked in tests without fudging them :-(
14:57 PhatEddy any way to restrict the above match so <alpha> only matches [a-zA-Z]  - there are cases where that might be convenient
14:57 * masak is back from a nice 90-minute walk
14:57 jnthn PhatEddy: write /<[a-zA-Z]>/ I guess :-)
14:57 jnthn Wanting that is not the common case though.
14:58 masak mberends: do you have 90 minutes to spare?
14:58 mberends PhatEddy: TimToady++ firmly stated that _ is also alpha
14:58 mberends masak: conveniently, yes :)
14:58 masak mberends: how about a distributed hackathon, creating a very tiny blog on top of Web.pm?
14:59 mberends yes, let's go for it.
14:59 masak mberends: let's spend about 5 minutes bikeshedding on the name, and then just create the two functions I think are necessary to get a blog going: showing the posts and posting.
14:59 masak \o/
14:59 masak ok, it's 17:00 here now. final deadline for the project is 18:30.
15:00 masak mberends: how about a slightly reckless, cool name that appeals to generation Y?
15:00 masak something like "mogblog".
15:00 pmichaud rakudo:  say ?('a' ~~ /<ascii>/)
15:01 p6eval rakudo f2557a: OUTPUT«Unable to find regex 'ascii'␤Null PMC access in invoke()␤current instr.: 'parrot;PGE;Grammar;' pc 281 (EVAL_16:123)␤»
15:01 masak bah, that one's in RT already... :/
15:01 masak ETICKETSATURATION
15:01 masak time to create more bugs! :)
15:02 pmichaud which one is in RT already?
15:02 masak pmichaud: calling non-existent rule.
15:02 * mberends can't think of a good name under pressure, and puts the kettle on for inspiration
15:02 pmichaud oh.
15:02 pmichaud mberends: "context!"
15:02 masak pmichaud: that's actually quite good. :)
15:02 PhatEddy is there some way of specifying a char set for regexes ebcdic/ascii/utfXX ?
15:03 masak other possible sources of inspiration: quantum physics/computing, geology, latest star trek movie...
15:04 mberends masak: that's too old (Oslo). How about 'yarn' (double meaning)
15:04 * PhatEddy not sure if that was a good question but curious
15:04 masak mberends: I must be slow today. what's the duplicity in meaning?
15:04 pmichaud utfXX is actually an encoding, not a character set.
15:05 pmichaud regex ascii { <[\x00..\x7f]> }   # maybe
15:05 pmichaud rakudo: regex ascii { <[\x00..\x7f]> };  say ?('a' ~~ /<ascii>/)
15:05 TimToady that's confusing bytes with characters
15:05 p6eval rakudo f2557a: OUTPUT«1␤»
15:06 TimToady well, I suppose not really
15:06 pmichaud rakudo: regex ascii { <[\x00..\x7f]> };  say ?('a' ~~ /<ascii>&<alpha>/)
15:06 p6eval rakudo f2557a: OUTPUT«1␤»
15:06 mberends masak: yarn = a tale, or a thread. and for thirds, 'yet another something something'
15:06 pmichaud rakudo: regex ascii { <[\x00..\x7f]> };  say ?('ä' ~~ /<ascii>&<alpha>/)
15:06 p6eval rakudo f2557a: OUTPUT«0␤»
15:06 TimToady but matching <[A..Z]> could be matching EBCDIC underneath, as long as it preserves unicode semantics
15:06 masak mberends: sold. creating github repo.
15:06 pmichaud rakudo: regex ascii { <[\x00..\x7f]> };  say ?('ä' ~~ /<ascii&alpha>/)
15:06 masak oh, actually, I'dd use create-new-project in proto.
15:06 p6eval rakudo f2557a: OUTPUT«Statement not terminated properly at line 1, near "~~ /<ascii"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
15:07 mberends yes do that, I want to do proto work as well
15:07 TimToady but for now most any implementation is likely to simply transliterate EBCDIC into unicode chars internally
15:07 pmichaud Agreed.
15:08 masak mberends: quick thought that hit me: we could easily add an option in create-new-project to create a stub webapp using Web.pm :)
15:08 pmichaud Just this week I got an email from someone who is trying to run PmWiki on an EBCDIC platform.
15:08 pmichaud (and it's not working out so well...)
15:08 jnthn Yet Another Rubbish Notebook ;-)
15:08 PhatEddy thx - I think I more or less followed that ...
15:09 mberends masak: yes, the possibilities are truly endless...
15:09 pmichaud PhatEddy: if you're primarily interested in matching ascii letters, then  <[A..Za..z]>  would seem like your best bet.
15:09 masak ∞++
15:09 pmichaud But you can also do the 'ascii' regex as illustrated above.
15:10 masak http://github.com/masak/yarn/
15:11 TimToady I need to make rules just a bit smarter about whitespace, so I don't have to write strange things like:
15:11 TimToady rule trait_verb:handles {<sym> <noun> }
15:12 TimToady whenever I use a syntactic category like trait_verb:, I never want the initial whitespace
15:12 masak mberends: slight instructions/reality discrepancy in create-new-project: it wants me to add the project to projects.list, but when I open the file, it's already there.
15:12 masak (step 6)
15:12 pmichaud TimToady:  I wonder how much pain we would inflict if we said that leading/trailing ws in the regex doesn't correspond to <.ws>
15:12 TimToady I've only wanted to suppress the leading
15:13 pmichaud but there's also the case of:
15:13 TimToady but really only for rules that are used in alternations that want to do LTM
15:13 pmichaud rule foo {   x | y | z }
15:13 pmichaud detecting "leading <.ws>" in that situation might be a little tricky.
15:13 mberends masak: true, the append might be evil to some people. also appending hinders future git pulls on proto.
15:13 pmichaud (doable, but tricky.)
15:13 masak mberends: aye, evil.
15:14 masak mberends: but here I was mainly talking about instructions not squaring with reality.
15:14 TimToady basically, any LTM alternation wants to pull <.ws> out front somehow
15:15 TimToady (but only if any of the alternatives need it)
15:16 mberends masak: for the sake of git pull let's not ( automatically | evilly ) append to projects.list then. my bad.
15:16 masak no prob. we're much more evil dropping make.lof files everwhere right now due to builds not working.
15:16 masak s/lof/log/
15:18 mberends masak: please pass the proto pumpkin, and add me a contributor to yarn.
15:18 masak mberends: I thought you had the pumpkin. :)
15:18 jnthn OH NOES WE LOST TEH PUMPKIN
15:18 masak :D
15:19 masak mberends: I told you to drop it off at kindergarten yesterday. don't tell me you didn't pick it up.
15:19 jnthn OK, now Rakudo has hyper operators that work on hashes. :-)
15:20 masak \o/
15:20 justatheory joined #perl6
15:20 mberends masak: $pumpkin('proto').autovivify( holder => mberends );
15:20 masak whoa, as if Rakudo needs manual autovivification on top of all the bogus one going on... :)
15:21 mberends masak: why are there so many pumpkins outside the front door?
15:21 masak mberends: guess they're from the kindergarten, here to complain.
15:22 dalek rakudo: 95aab9d | jnthn++ | src/builtins/assign.pir:
15:22 dalek rakudo: Implement hash versions of hyper operators.
15:22 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/95aab9d84137bfa17972a1dddbfb0a71574511d4
15:24 mberends masak: permission to masak/yarn denied # git clone git@github...
15:24 masak mberends: I'm on it.
15:24 * masak 's browser is slow, and has Javascript disabled...
15:25 * masak defects to secondary browser
15:25 masak mberends: there you go.
15:26 * mberends went. cloned. has luxury of primary and secondary laptops today.
15:27 masak first human commit: added web.pm as dep.
15:27 masak next step: making it say OH HAI in the browser.
15:27 masak I think I'll just clone the Nibbler and work from that.
15:29 mberends sure, jus' a li'l nibblet sayz 'OH NIBL'
15:31 masak done.
15:31 masak I can commit now, but I'm still waiting for Rakudo to compile so I can try it.
15:31 mberends any objection to a blank line before each entry (and its comment) in config.proto?
15:32 masak mberends: that might actually be beneficial.
15:32 masak mberends: I've felt it's a bit crowded at times.
15:32 masak especially without colour-coding to pick out the important parts.
15:32 mberends ok, committing...
15:33 masak ah, testing it through Oslo, which I had installed under proto.
15:33 nbrown_ joined #perl6
15:35 masak works like a charm.
15:35 masak committing.
15:35 M_o_C joined #perl6
15:38 masak ok, that's 35 out of the 90 minutes. time to think a little about design. :)
15:38 masak I propose having a data/ folder with one file for each post, named after the timestamp it was posted.
15:38 masak an empty or nonexistent data/ folder means no posts yet.
15:39 masak end of design thinking for now. :)
15:39 mberends some nntp server work like that and give their maintainer filesystem hell.
15:39 mberends too many short files is bad
15:39 masak mberends: indeed.
15:40 masak mberends: we should really have a DB.
15:40 mberends lines() is our friend
15:40 jnthn Add a check for minimum length and complain peoples post are too short. That avoids many short files.
15:40 jnthn ;-)
15:40 mberends lol !
15:40 masak :-)
15:41 masak mberends: ok, changing my immutable design to have one large file data/posts instead.
15:41 mberends one filename per blog or topic
15:41 mberends one folder per author
15:41 masak mberends: I'm not creating multi-blog, multi-author support within the 90 minutes.
15:42 mberends no, but leave space for the next 90 minutes
15:42 masak I just want the posts to show up on the screen.
15:42 masak bah. YAGNI.
15:43 masak Maya is the "real" blogging software anyway. I just want a proof-of-concept.
15:43 mberends ok, whatever for now. one record (===line) per post. regex to pick out date field from front. format yyyy-mm-dd hh:mm
15:45 mberends is there a limit on line length apart from 2 ** 31?
15:45 masak what's the advantage of doing our own parsing rather than eval() on a .perl structure?
15:46 masak oh, half-time already.
15:46 mberends eval is vulnerable to injection attacks. remember taint?
15:47 masak I know, I know.
15:47 masak tell that to the November people, they still use eval.
15:47 masak and that project is still 1 year old.
15:47 moritz_ unbelievable ;-)
15:47 masak even given all its disadvantages, it's still a pretty good roundtripping/parsing/storage solution.
15:47 * moritz_ hopes that he can fix the action methods of his JSON parser some day
15:48 * masak rebels and uses eval
15:48 mberends november_people: stop using eval! it's evil!
15:48 Infinoid it's eval!
15:48 mberends stop using evil! it's eval!
15:48 masak :)
15:49 moritz_ or even better, I have to find the (suspected) rakudo bug, reduce it and report it
15:50 Psyche^ joined #perl6
15:50 masak moritz_: consider it a moral obligation.
15:51 mberends moritz_: does your JSON code use eval, like the evil Javascript people do?
15:52 moritz_ mberends: no
15:52 moritz_ only `use' might use eval under the hood (don't know), and I use `use'
15:52 masak rakudo: sub foo() { say "OH HAI" }; foo :a<2>
15:52 p6eval rakudo 95aab9: OUTPUT«OH HAI␤»
15:52 mberends phew, moritz_ is someone we can trust.
15:52 moritz_ masak: consider it noted, and .
15:52 masak rakudo: sub foo() { say "OH HAI" }; foo :a=<2>
15:52 p6eval rakudo 95aab9: OUTPUT«Unable to set lvalue on PAST::Val node␤current instr.: 'parrot;PAST;Val;lvalue' pc 623 (src/PAST/Node.pir:163)␤»
15:53 masak just got bitten by this silly typo.
15:53 masak don't know if it's possible to have a nice error message there...
15:53 moritz_ why does it even parse?
15:53 moritz_ std: sub foo() { say "OH HAI" }; foo :a=<2>
15:53 p6eval std 26748: OUTPUT«ok 00:04 36m␤»
15:53 masak moritz_: :a is a pair, no?
15:54 moritz_ masak: yes...
15:54 moritz_ but
15:54 moritz_ does it call foo(:a) and assign to it?
15:54 masak (foo :a)=<2>, probably
15:54 masak aye.
15:59 pmichaud std:  foo :a=<2>
15:59 p6eval std 26748: OUTPUT«Undeclared routine:␤   foo used at 1 ␤ok 00:02 35m␤»
15:59 pmichaud std:  sub foo() { ... }; foo :a=<2>
15:59 perl7 joined #perl6
15:59 p6eval std 26748: OUTPUT«ok 00:02 36m␤»
15:59 pmichaud (oh, just saw this was already done)
16:00 broquaint joined #perl6
16:01 masak mberends: check out yarn, it now outputs posts. :)
16:01 pmichaud afk, more errands :-|
16:01 masak next phase, getting it to create new posts.
16:01 masak hm, I need a dispatcher. :)
16:01 masak faking it for now, since I only have two modes.
16:02 FurnaceBoy joined #perl6
16:02 mberends Tags is cool
16:02 masak indeed.
16:02 masak quite easy to work with.
16:02 masak not very scalable, but definitely nice.
16:03 TimToady it's almost certainly assigning to :a
16:03 TimToady remember std doesn't really do semantics
16:03 TimToady and whether something is a valid lvalue is semantics
16:03 jnthn rakudo: my $x = 3; my @a; :a.push($x); $x = 5; say @a[0];
16:03 p6eval rakudo 95aab9: OUTPUT«Could not locate a method 'push' to invoke on class 'Pair'.␤current instr.: 'die' pc 16834 (src/builtins/control.pir:225)␤»
16:03 jnthn rakudo: my $x = 3; my @a; @a.push($x); $x = 5; say @a[0];
16:03 p6eval rakudo 95aab9: OUTPUT«5␤»
16:04 masak o_O
16:04 masak jnthn: is that a known one?
16:04 jnthn nie je dobre...
16:04 masak definitely not.
16:04 jnthn masak: Yeah, it's the issue that underlies http://rt.perl.org/rt3/Ticket/Display.html?id=61982
16:04 masak ok.
16:04 TimToady std: 42 = 42 + 1
16:04 jnthn And I wouldn't be surprised, a few more bugs.
16:04 p6eval std 26748: OUTPUT«ok 00:02 35m␤»
16:04 jnthn I've got a patch for it...smoking now.
16:05 masak nice.
16:07 jnthn yeah though bizzarely with the patch I fail S03-junctions/autothreading.t
16:13 * jnthn -> shops, bbiab
16:18 broquaint joined #perl6
16:26 DemoFreak joined #perl6
16:26 * masak finds a bug in Rakudo
16:28 masak mberends: HALP
16:28 mberends what bug?
16:29 masak never mind the bug right now, I have a question :)
16:29 masak can I get HTTP::Daemon to give me POST params?
16:29 masak aw, there goes my deadline. :(
16:29 masak no matter.
16:29 masak I almost did what I wanted.
16:30 mberends last pull runs here so far, without dispatcher. POST was possible under netcat/socat. quick workaround = switch to GET.
16:30 masak mberends: plz check latest Yarn.pm
16:30 masak ok, switching to GET for now.
16:30 * mberends pulz
16:33 Psyche^ joined #perl6
16:33 mberends GET should populate $req.query_string
16:33 masak aye.
16:36 * masak finds a bug in Tags
16:38 * masak runs into unimpl part of Web::Utils
16:38 masak oh ffs.
16:39 M_o_C joined #perl6
16:42 masak yay! I just made my first Yarn blog post!
16:43 mberends \o/
16:44 mberends masak: HTTP::Daemon needs lots of cage cleaning. I would rather do that outside of Web.pm and Yarn first, then see if you can merge the changes tomorrow, first into Yarn and then Web if you're happy with that? (u seemz hapi)
16:45 * masak can haz hapi
16:45 masak aye. Web.pm still haz its own HTTP::Daemon, but if you do your cleaning in the http-daemon project, I'll make sure to switch Web.pm over to that when you're done.
16:46 masak ...which, incidentally, will create our first dependency on a dependency... so time to write that extra code in proto. :P
16:46 mberends it could even do with Occam's Razor treatment.
16:47 masak that goes for a lot of code out there.
16:47 masak anyway, looking forward to what you come up with.
16:48 mberends ok, just finding a few bugs in './proto test ...'
16:48 cj joined #perl6
16:52 mberends masak: for those dependencies, where shall we store the various paths to be joined into PERL6LIB?
16:53 masak mberends: not sure I understand the question.
16:53 mberends (or generate it dynamically from self.installed-projects() )?
16:54 masak those paths are calculated dynamically from all transitive deps.
16:55 mberends if proto installs them all, only proto knows who they are, and 'use' commands rely on proto maintaining PERL6LIB.
16:56 mberends the project tries 'use' away from proto and gets 'file not found'
16:56 justatheory joined #perl6
16:57 mberends maybe proto needs to ask the user to maintain PERL6LIB in her .profile
16:57 masak mberends: no, I think we should go down that path... again.
16:57 masak mberends: it's like this: if user uses proto, the PERL6LIB problems go away.
16:57 masak if user doesn't use proto, problems reappear.
16:57 mberends evil world domination, heh
16:58 masak but they're not _unsolvable_ probalems, it's just a matter of learning to do it manually.
16:58 masak I set PERL6LIB all the time.
16:58 masak it's no big deal.
16:58 masak mberends: more like making people addicted, and then pretending we didn't see it coming. :)
16:58 masak um, maybe that is world domination...
16:59 mberends proto could test the existing PERL6LIB and warn the user about apparently missing paths
17:00 masak aye, that's nice.
17:00 masak but internally, proto always has the full information, putting together its own PERL6LIB.
17:00 masak that sounds like a humane, merciful way.
17:01 mberends btw, that env versus export is this: export makes a lasting addition to the current environment, env makes a temporary new child environment which can omit content from the parent, hence safer.
17:08 masak mberends: right.
17:08 mberends masak++: succeeded in posting locally :-)
17:09 masak \o/
17:09 masak mberends: I'm making a patch now so that old posts don't get overwritten :)
17:10 mberends Yarn.pm:20 :a instead of :w probably
17:10 jhorwitz joined #perl6
17:11 * jnthn back
17:11 rindolf joined #perl6
17:11 masak mberends: hm, but I'm doing the .perl thing.
17:13 mberends .oO( sigh )
17:13 masak you can sigh all you want, it's still darned practical.
17:13 masak and frankly, I don't see the risk you speak of.
17:13 mberends .perl FTW
17:14 masak all the data is kept on disk. there's no dangerous data coming in through the wire.
17:14 masak now, if I were to eval user input, that'd be a risk.
17:14 masak but it's not what this is. this is quoted user input. :)
17:14 masak strings.
17:15 mberends indeed. I'll start hosting a yarnserver shortly, and ask mst to list it :)
17:16 masak mberends++
17:16 masak that's some serious dogfooding.
17:16 masak mberends: you can blog about hacking on yarn :)
17:17 mberends will do!
17:17 masak mberends++ # strange loop
17:17 masak ok, I'm done with my little project.
17:18 masak what I feel is most needed right now in yarn is a redirect to '/' after creating a post, so one doesn't get just an empty page.
17:19 mberends no prob, can do that
17:20 masak great.
17:20 abra joined #perl6
17:20 masak not sure if Web.pm is up to it, but whatever workaround that does the trick is better than the current state.
17:21 jnthn (hosting iron man blog on Yarn)++
17:22 mberends lolcats can haz yarn http://en.wikipedia.org/wiki/Yarn#Craft_yarns
17:23 masak wild hackathon summary: it didn't take 90 minutes, took more like 130. found a couple of bugs along the way. hoping to be able to recreate them.
17:25 masak ok, so I do this locally:
17:26 masak { my $fh = open("foo", :w) or die; $fh.print("OH HAI") }; say slurp("foo")
17:26 masak I get an empty line back.
17:26 masak is it a bug?
17:26 mberends close the file to flush the buffer
17:26 masak mberends: I know.
17:26 masak mberends: the point is, shouldn't $fh close when it goes out of scope?
17:27 masak (that's why I have the {} there)
17:27 mberends OIC, it's a bug then
17:28 * masak submits rakudobug
17:28 mberends hence Yarn.pm:25 $fh.close();
17:29 masak aye.
17:29 masak sometimes I wish for Ruby's block-open syntax. it makes a lot of sense to me.
17:31 amoc joined #perl6
17:33 jhorwitz jnthn: ping
17:33 jnthn jhorwitz: pong
17:33 jhorwitz greetings!  :)
17:34 jnthn hi! :-)
17:34 jnthn How goes mod_*?
17:34 jhorwitz there's a 'count' method for the 'Sub' class in src/parrot/misc.pir AND src/classes/Code.pir.
17:34 jnthn Oh, hmm.
17:34 jhorwitz causing naughty errors in mod_*  :)
17:35 jhorwitz don't know which one is extraneous
17:35 jnthn Same, but we probably don't one both.
17:35 jhorwitz ya
17:36 jnthn Looks like for now the one in misc.pir is the one to keep.
17:36 mberends rakudo: my $bar; $bar.say;
17:36 p6eval rakudo 95aab9: OUTPUT«Use of uninitialized value␤␤»
17:37 mberends jnthn: could you make the above error mention $bar ?
17:40 jnthn mberends: Not really; values don't know their name, as it were. They might be bound to many names.
17:40 jhorwitz jnthn: if you fix the 'count' issue, can you push that out?  i don't think i can....
17:40 jnthn We might be able to make some kind of guess...
17:40 pmurias joined #perl6
17:40 jnthn jhorwitz: Sure - just got a local patch that I'm trying to track down some issues in at the moment...will do that for you soon.
17:41 jhorwitz jnthn++  :)
17:45 kidd joined #perl6
17:47 jhorwitz jnthn: you were pondering YAPC::NA at the summit in november -- still pondering?
17:48 ejs1 joined #perl6
17:52 * masak heads home to eat nom
17:56 jnthn jhorwitz: I won't make it this year.
17:57 jnthn pmichaud: ping
17:58 pmichaud pong
18:00 jnthn pmichaud: I'm looking into the bug exposed by:
18:00 jnthn rakudo: my $x = 3; my @a; @a.push($x); $x = 5; say @a[0];
18:00 p6eval rakudo 95aab9: OUTPUT«5␤»
18:00 jnthn First, do you agree the output should be 3? That is, a push is more assign-ish than binding-ish?
18:01 pmichaud Yes.  .push should be doing the equivalent of an assign there.
18:01 pmichaud It's a known bug.
18:01 pmichaud (one I'm planning to resolve as part of the List refactor)
18:01 jnthn Ah, OK. I've written a patch that solves it.
18:02 pmichaud that's fine, we can apply it.  What does the patch look like?
18:02 jnthn However, it makes a few other tests fail (as well as a few unexpectedly pass).
18:03 jnthn Let me nopaste
18:03 pasteling "jnthn" at 85.216.157.73 pasted "proposed patch" (55 lines, 1.6K) at http://sial.org/pbot/36528
18:04 pmichaud +    copy $P1, $P0
18:04 pmichaud is not completely good
18:04 pmichaud better is
18:04 pmichaud $P1 = new 'Perl6Scalar'
18:04 pmichaud 'infix:='($P1, $P0)
18:05 pmichaud is there a strong reason for creating the extra ResizablePMCArray there?
18:05 pmichaud (the push_list)?
18:05 pmichaud I would just put the new elements directly onto self.
18:07 pmichaud in general we should probably never be doing   $P1 = new 'Failure' -- that's obsolete.
18:07 jnthn Sure, was going for minimal change since I knew you were on with a refactor too...
18:07 jnthn OK, can try that.
18:07 jnthn At least one failure is legit though.
18:07 pmichaud we either create a Perl6Scalar (which btw automatically gets bound to a Failure), or we call 'undef'()
18:07 jnthn See the implementation of map in the setting and it's use of push
18:07 jnthn It breaks a test on mutating $_ in the map.
18:08 pmichaud map is wrong there.
18:09 jnthn OK, I thought so too.
18:09 pmichaud There was a long discussion about this some time ago -- i.e., how to implement 'map' in Perl 6 (it appeared we didn't have sufficient primitives in place for it)
18:09 pmichaud I don't know that it was ever resolved.
18:10 jnthn Yeah, that was my next question. I can see why it's wrong, but it's not obvious to me how to do it right.
18:10 pmichaud I vote that we fix push, and either regress on map in the spectests or we fix map (possibly by moving it back to PIR)
18:10 payload joined #perl6
18:10 pmichaud it's okay with me if we use inline PIR for map() in the setting.
18:11 pmichaud it might be that @args in the existing map needs to be doing things with binding instead of push.
18:11 jnthn Yeah, inlining a bit of PIR could do it quite easily. I can see that bit.
18:11 jnthn Yes, a "binding push" is what map needs there.
18:12 pmichaud anyway, I'd vote for inline PIR then.
18:12 pmichaud someday we might also get it to work via a slice
18:13 pmichaud i.e.,   take &expr(|@args[^&expr.arity]);
18:14 pmichaud except using $.list instead of @args
18:24 payload joined #perl6
18:25 jnthn Wow. Switching to creating a Perl6Scalar and using infix:= makes us fail to compile the setting?!
18:27 jnthn get_number() not implemented in class 'Capture'
18:27 jnthn current instr.: 'parrot;Perl6;Grammar;Actions;_block4550' pc 158793 (src/gen_actions.pir:13915)
18:27 jnthn called from Sub 'parrot;Perl6;Grammar;Actions;circumfix' pc 158368 (src/gen_actions.pir:13752)
18:27 * jnthn -> dinner, will look deeper soonish.
18:29 pmichaud there may be other places that are incorrectly depending on binding-semantics for push.  :-(
18:29 ejs1 joined #perl6
18:31 pmurias does the svn repo suffer from many small commits?
18:40 |MoC| joined #perl6
18:42 |MoC| joined #perl6
18:45 TimToady @tell masak no, p6 doesn't guarantee timely destruction, so you have to close a file explicitly if you want to know it's closed right now and not at the next GC run
18:45 lambdabot Consider it noted.
18:48 ejs1 joined #perl6
18:51 pmurias TimToady: is there a way to guaranty will be GC'ed at the end of block behaviour like $! uses?
18:51 Khisanth joined #perl6
18:53 TimToady currently defined, 'is leave {.close}', but nobody implements that yet, that I know of
19:02 Whiteknight joined #perl6
19:07 pmichaud TimToady: where does that go, exactly?
19:12 Eevee joined #perl6
19:24 TimToady the ideas was to say my $fh is leave {.close} = open $file;
19:24 TimToady *idea
19:25 masak joined #perl6
19:25 masak \o/
19:25 lambdabot masak: You have 1 new message. '/msg lambdabot @messages' to read it.
19:25 TimToady but we haven't thought about it in a long time
19:25 masak @messages
19:25 lambdabot TimToady said 39m 59s ago: no, p6 doesn't guarantee timely destruction, so you have to close a file explicitly if you want to know it's closed right now and not at the next GC run
19:25 masak @clear
19:25 lambdabot Messages cleared.
19:25 masak TimToady: understood. closing ticket.
19:26 TimToady some platforms may guarantee it, but programs that rely on it aren't going to be portable
19:26 masak nod.
19:27 TimToady maybe there's room for another declarator that destroys at leave time
19:27 masak 'mine' :)
19:27 TimToady kaboom
19:27 moritz_ so that the user has to decide in advance which objects live on the stack?
19:28 moritz_ that's so C'ish
19:28 TimToady std: constant C'ish = 42;
19:28 p6eval std 26748: OUTPUT«ok 00:02 35m␤»
19:29 moritz_ C < 21 # I can't believe C is half the truth, or more
19:30 TimToady I don't think C is underage
19:30 moritz_ the idea of underage differs among cultures and countries
19:30 TimToady but C is closer to 42 than 21
19:31 masak rakudo: ord('C').say
19:31 p6eval rakudo 95aab9: OUTPUT«67␤»
19:31 masak indeed.
19:31 jnthn C 9s (notably) older than me. :-)
19:31 jnthn *i
19:31 jnthn *is
19:31 TimToady I think C is even eligible to be president of the united states
19:32 masak oh, the horror.
19:32 moritz_ so is fortran.
19:32 masak I could see Lisp as president, though.
19:32 TimToady to liberal to get elected, I suspect
19:33 masak yes, probably.
19:33 TimToady *too
19:34 TimToady "I am not now, nor have I ever been, a member of the Lisp Party."
19:34 masak "liar! you're a CommonLisp!"
19:35 * masak stops trying to smash puns together at relativistic speeds
19:36 masak plan for the evening: cleaning up Yarn from the chaos of its genesis, and then blogging about it.
19:36 ejs joined #perl6
19:37 mberends no he's not!
19:38 mberends just restin'
19:39 mberends oh for a site ( on which to blog | about which to blog )
19:39 jnthn Blog about yarn on yarn. :-)
19:39 mberends :D
19:40 mberends yarn about yarn on yarn # it's a verb too, innit?
19:41 jnthn Yes. :-)
19:41 mberends 'tis now, anyway :)
19:41 * jnthn often went t' pub for pint 'n' yarn.
19:41 jnthn yorkshire++
19:42 mberends perfect!
19:44 mberends masak: if Web.pm has no sessions yet, I'll have to cobble something together with password hashing to authenticate authors and keep out spam.
19:45 mberends no https yet :(
19:45 pmurias mberends: use public and private keys :)
19:46 mberends :)
19:49 mberends yarn can probably store and validate passwords by running shasum
19:50 masak sorry, got pulled away by phone.
19:50 mberends masak: does OS X have shasum?
19:51 masak mberends: I'm likely to want to help you with sessions, since November needs it too.
19:51 masak mberends: oh, you shellster!
19:51 masak mberends: seems so.
19:51 mberends can't help it ;)
19:52 masak mberends: couldn't we just try to do it the Parrot way instead?
19:52 mberends yes, what way DYM?
19:53 masak everytime I complile Parrot, I see those SHA* modules swooshing by...
19:53 masak I don't know.
19:53 masak just thought Parrot might be of assistance here.
19:53 * mberends will look, to kick the shelling habit
19:53 masak mberends: maybe just go ahead and shell out for the time being. :)
19:53 masak mberends++
19:54 masak writing short term solution is OK in the short term, I guess.
19:54 masak s/ion/ions/
19:55 masak lambdabot: don't leave us! :/
19:55 mberends Wand we'll pretend that the client-server connection is encrypted, because https is a big job for HTTP::Daemon right now.
19:56 mberends s/and //
19:56 masak mberends: hokay.
19:56 mberends s/and w//
19:56 lambdabot joined #perl6
19:57 mberends does HTTP::Daemon contain a :D grin on your client too?
19:57 masak mberends: not that I've seen.
19:58 masak haven't looked, though.
19:58 * masak looks
19:58 mberends mibbit gives :D a colorful smiley. Don't they know the rulez: Larry gets the colon!
19:59 masak mberends: ah, now I see what you're getting at. no, that's just Wrong.
20:00 masak whoever coded that can not have field-tested it for a serious discussion.
20:00 mberends looks ok on irclog, moritz_++
20:03 mberends anyhow, yarn will need something similar to /etc/shadow to store hashed passwords, and then a list of current sessions with implausible-to-guess keys, which are handed between server and browser. Since POST is not yet going, embed the key in every url emitted.
20:05 mberends each session must also have a TTL, a future time to autonecrify
20:05 usr joined #perl6
20:05 masak ...or get POST going. :)
20:05 masak November does POST.
20:06 usr hi
20:06 usr whats is perl6 ?
20:06 mberends but that's November on Apache, not yet HTTP::Daemon
20:06 masak usr: hello! welcome.
20:06 masak usr: it's like six different animals at once, glued together.
20:07 masak usr: also, it's a magnificent air balloon, taking you on the flight of your life.
20:07 masak mberends: no, but working on it.
20:07 mberends usr: it's the most fun you can have with a compiler!
20:07 masak ...unless you like to be barked at, in which case GHC is more fun. :)
20:08 mberends usr: where else can you nag the compiler builders to make it do what you really want?
20:08 masak usr: so, have you tried Rakudo yet? you can download it here: http://rakudo.org/ -- and it's free!
20:09 masak usr: if you order today, you'll get a free roller coaster!
20:09 usr heh
20:09 usr thank you guys
20:09 mberends no refunds though, if it dies on you :s
20:10 masak usr: you're quite welcome. have a nice evening.
20:10 masak no, we don't do refunds. we do rescue missions, though.
20:10 masak big, dangerous ones.
20:10 mberends oh yeah, and roadside repairs
20:11 masak and interventions.
20:13 masak rakudo: say "hi usr, I'm Perl 6!"
20:13 p6eval rakudo 95aab9: OUTPUT«hi usr, I'm Perl 6!␤»
20:13 mberends usr: unix or windows?
20:13 masak actually, they're all Perl 6: Pugs, Elf, smop, STD...
20:13 usr windows
20:14 masak oh, a windows usr!
20:14 masak finally, we can do those scientific experiments we've been waiting to do. :>
20:15 masak just kidding, some of my best friends are Windows users.
20:15 * mberends wonders how comprehensive the Windows Getting Started docs are right now.
20:15 usr what os do you use?
20:16 masak Hurd.
20:16 masak eh, I mean Darwin.
20:16 mberends Debian. Many others use Ubuntu.
20:16 masak I have a computer with a partially digested fruit on it.
20:17 patmat Ubuntu \o/
20:17 mberends eeeBuntu is also fun, runs Rakudo like a treat :)
20:17 masak patmat: oh, you're here too! great! \o/
20:18 patmat hehe hello masak :))
20:18 masak patmat: how's it going with the Perl 6 learning curve?
20:18 masak mberends: my $perl6lib = %*ENV<PWD> ~ '/lib'; # from your Configure.pm
20:19 masak mberends: this is actually untrue for yarn, which has one dep already.
20:19 patmat masak: hmm i'm still at learning, im doing..ok.. didnt have much time last days :/
20:19 masak mberends: what should I do?
20:19 mberends procedure in http://rakudo.org/how-to-get-rakudo is fully unix-centric
20:19 patmat true
20:19 masak patmat: I'm still at learning too. :/
20:20 masak patmat: I've been there for four years now, Perl 6-wise.
20:20 patmat wow that's a long time
20:20 masak patmat: I know. and there are people who keep changing things around!
20:20 masak that TimToady guy, for example. who does he think he is?
20:21 mberends masak: that $perl6lib has tunnel vision, must-improve-somehow();
20:21 patmat woudl be great if the first stable version would come out soon ://
20:21 usr guys
20:21 masak mberends: I'm going to fix it now, one way or the other.
20:21 patmat changes are annoying, in the syntax.. the learn it again
20:21 usr perl6 isnt like a perl ?
20:21 masak mberends: just thought I'd discuss it first.
20:21 usr im newbie,please tell me
20:22 masak patmat: I'm mostly kidding, I love the change too.
20:22 mberends every perl6 so far has been perl
20:22 mberends the design is still evolving
20:22 masak usr: it's like Perl, but it's a brand new Perl.
20:22 masak usr: don't expect everything to look the same.
20:22 usr so its a newest version of perl ?
20:23 mberends future perl
20:23 usr hm
20:23 Eevee_ joined #perl6
20:23 usr it isnt exist now?
20:23 masak mberends: suggestion: if PERL6LIB is already set, and already contains %*ENV<PWD> ~ '/lib', leave it as it is. otherwise, do what's done now.
20:23 usr future project of perl?
20:23 masak usr: yes, and no. and yes.
20:23 jnthn usr: Perl 6 is still under development. You can run the compiler as far as we've got it so far on Windows jsut fine, though. I run it on Windows all the time. :-)
20:23 masak usr: you can write Perl 6 today.
20:23 usr when it gonna to realise?
20:24 masak usr: Christmas.
20:24 dalek rakudo: 67581ac | jnthn++ | src/classes/Code.pir:
20:24 dalek rakudo: Remove duplicate .count method, spotted by jhorwitz++.
20:24 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/67581ac43d3ff12305550c85db3dde732a3ef214
20:24 usr masak heh
20:24 mberends usr: it's under construction, and we play with it while it's being built, and the builders need us to play with it to see if they're doing it ok.
20:25 usr i see
20:25 patmat its that everyday is christmas day, right masak? :P
20:25 patmat +ojke
20:25 patmat grr joke
20:25 LadyLuna1y joined #perl6
20:25 masak rakudo: say 'Christmas of ', (2009..2014).pick
20:25 p6eval rakudo 95aab9: OUTPUT«Christmas of 2011␤»
20:25 masak usr: there you go. straight from the horse's mouth.
20:26 jnthn usr: If you prefix anything with rakudo: then it gets run under the latest Rakudo Perl 6 compiler.
20:26 masak patmat: well, everyday is Christmas for me. I don't know about you. :)
20:26 masak patmat: I think somewhere around new years I started using Perl 6 every day. it's great.
20:26 usr is perl like linux ?
20:27 usr or there are diff
20:27 patmat huh?
20:27 patmat like linux? :D
20:27 masak usr: it's open source like linux, if that's what you mean.
20:27 patmat Linux is an OS
20:27 mberends jnthn: what url can you give usr++ to install rakudo on windows?
20:27 patmat Perl6 is a programming language
20:27 usr i see
20:30 jnthn http://parrotwin32.wiki.sourceforge.net/
20:31 jnthn You can get the parrot VM installer there, and then there are also downloads for the Perl 6 compiler as a kind of "add-on".
20:31 jnthn ah, http://sourceforge.net/project/showfiles.php?group_id=211372 is a better link
20:32 jnthn jhorwitz: btw, if you missed in, removed duplicate count
20:32 jnthn *it
20:32 jnthn .oO( at least I mis-typed it, not count )
20:34 masak joined #perl6
20:36 masak rakudo: say 'foo'.index('bar').WHAT
20:36 p6eval rakudo 67581a: OUTPUT«Failure()␤»
20:36 masak Str.index is not really up to spec.
20:36 masak what's a good, future-proof way of making use of it?
20:37 broquaint joined #perl6
20:38 mberends index should be faster than $/.from when all the characters in a pattern are literals
20:38 masak which they are, in my case.
20:39 mberends kinda optimization
20:39 masak the only future-proof way I can come up with is saying something like %*ENV<PERL6LIB>.index(%*ENV<PWD> ~ '/lib') eq 'foo'.index('bar')
20:39 usr thank you guys
20:40 mberends but other languages would return False, or -1 or something less poisonous than Failure
20:40 usr you were very kind
20:40 masak if the first .index is a failure, it should stringify to the same thing as the second one.
20:40 masak usr: see you at Christmas!
20:40 mberends usr: please come back!
20:40 Eevee joined #perl6
20:40 usr it was my first visit on this network
20:40 masak usr: hopefully not your last.
20:40 mberends :)
20:40 usr nah not:)
20:41 masak \o/
20:41 usr i have to learn many things from you:)
20:41 masak usr: and we from you, sir.
20:42 masak mberends: http://gist.github.com/109391 # what I ended up with
20:42 masak mberends: thinking of having that installed in proto's Configure.pm
20:42 masak what do you think?
20:44 usr when i type /cs info #channelname  does it show me all information about that channel ?
20:44 usr coz i can see just few lines
20:45 mberends usr: dunno, never tried. what info would interest you?
20:45 usr for example about channel description
20:46 mberends usr: the backlogs on http://irclog.perlgeek.de/perl6 are very useful
20:47 mberends usr: it's probably not thoroughly documented. it's shaped dynamically by the participants.
20:47 broquaint joined #perl6
20:48 mberends masak: the code cries for golf, but if that was possible you would have found it already.
20:48 masak mberends: actually, I found a better way, I think. :)
20:49 masak if you reload the gist, you'll see it.
20:49 mberends :) masak++ boolify++
20:50 usr thanks mberends
20:50 usr i have to go now,sleeping:) its 1:50 here
20:51 mberends masak: the non-ternary way to golf it would be to use .subst to take the path out, then always append it.
20:51 usr jnthn:thank you too for useful links
20:51 jnthn Welcome. Have fun.
20:51 mberends usr: good night! where are you?
20:51 usr im from Azerbaijan
20:51 mberends Netherlands here :)
20:52 usr nice to meet you:)
20:52 mberends same to you, see you again soon.
20:52 masak that should be future-proof as well... hm.
20:52 masak or maybe not. what if the index is 0?
20:52 masak perl6: say ?( "foobar".index("foo") )
20:52 masak supposing it works, yes.
20:52 p6eval elf 26748: OUTPUT«Use of uninitialized value in index at ./elf_h line 108.␤␤»
20:52 p6eval ..rakudo 67581a: OUTPUT«0␤»
20:52 p6eval ..pugs: OUTPUT«␤»
20:54 masak usr: good night!
20:54 masak :(
20:54 usr g`night masak:)
20:55 usr see you all tomorrow
20:55 masak usr: dream about Perl 6 now!
20:56 masak mberends: another thing: we should really consider doing @*INC.unshift in Configure.pl instead of @*INC.push ...
20:56 masak mberends: I just understood why my changes haven't been working for the last 15 minutes... :/
20:57 mberends masak: http://svn.pugscode.org/pugs/docs/Perl6/Spec/S32-setting-library/Str.pod says not found should not return Failure.
20:57 mberends make ?
20:59 patmat usr bye bye!
20:59 masak mberends: actually, this order-of-dirs-in-PERL6LIB thing has been biting me increasingly often lately. it's a problem as soon as two modules at different paths have the same name.
20:59 masak mberends: 对. that's what I mean by Str.index not being up-to-spec.
20:59 masak mberends: well, no. last time I had the problem was with November, which has its own Test.pm.
20:59 masak mberends: oh, does Configure.pm still run 'make' automatically. I didn't know that...
20:59 masak mberends: not sure it's such a good idea.
21:00 masak mberends: (mainly because it's counter to Un*x ideology, I guess.)
21:00 mberends yes, @*INC.unshift is more correct.
21:04 justatheory joined #perl6
21:05 masak joined #perl6
21:05 mberends masak: neighbours-broadband--; sometime around August we'll start saying use Test:auth<cpan:rakudo>; or similar
21:06 masak aye, that neighbour has an unrealiable broadband...
21:06 mberends and no helpdesk
21:07 masak and since I don't know which of my neighbours it is that provides the unreliable broadband, it's not so easy to know where to go and complain...
21:08 * mberends can't remember which cartoon sent this up rather well
21:10 mberends joined #perl6
21:11 mberends 'twas www.dilbert.com
21:11 masak doesn't surprise me. :)
21:15 moritz_ oh come on, rakudo doesn't build with current parrot.
21:15 moritz_ /home/moritz/rakudo/parrot/parrot  perl6_s1.pbc --target=pir src/gen_setting.pm > src/gen_setting.pir
21:16 masak mberends: can I have the pumpkin?
21:16 moritz_ /home/moritz/rakudo/parrot/parrot: symbol lookup error: /home/moritz/rakudo/parrot/runtime/parrot/dynext/perl6_group.so: undefined symbol: pobject_lives
21:16 moritz_ make: *** [perl6.pbc] Error 127
21:16 moritz_ off to bed now...
21:16 masak moritz_++
21:17 moritz_ Parrot_gc_mark_PObj_alive
21:17 moritz_ Previously known as C<pobject_lives>.
21:17 moritz_ might be a simple rename
21:17 mberends masak: sure :)
21:17 * masak grabs it and runs
21:18 masak eeeee!
21:19 mberends .oO( what's with that guy? )
21:20 masak mberends: I think my sleep last night was of insufficient quality.
21:21 mberends Star Trek was that scary?
21:22 masak mberends: I... I don't think so, no.
21:22 masak mberends: but I sure had a lot on my mind after last night.
21:23 masak I only remember fragments of the night. at 1:30 I was up googling for "robotic arm".
21:23 PacoLinux moritz_: the same error here
21:23 moritz_ PacoLinux: I have a fix, testing...
21:23 masak no, it was "buying a robotic arm".
21:25 mberends "testing a robotic arm"
21:25 moritz_ really bed now &
21:26 mberends g'night, moritz_
21:26 dalek rakudo: 70c5195 | moritz++ |  (4 files):
21:26 dalek rakudo: track changed parrot function name
21:26 dalek rakudo: Also bump parrot revsion to 38654, ie after the gc api merge
21:26 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/70c51954dd3aabef73e91f708177227e1f3e6316
21:26 dalek rakudo: 7d581a5 | moritz++ | src/pmc/objectref_pmc.template:
21:26 dalek rakudo: forgot one old function name
21:26 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7d581a54721b3410e917c6b6c4a53c2b008a066b
21:26 masak night, moritz_.
21:26 masak mberends: I had this idea that maybe it would be possible to get a robotic arm to pick up Lego pieces, and, you know, put them on other Lego pieces.
21:27 mberends beams 'n lintels, presumably
21:27 masak presumably, yes.
21:28 masak I think playing against a robotic arm driven by Perl 6 would be nice.
21:28 masak or at least I did at 1:30 last night.
21:28 mberends the robots that manipulate blocks without studs are far simpler and cheaper
21:28 PacoLinux moritz++ now compiles ok
21:29 mberends moritz_: make realsleep &
21:32 mberends an electromagnet to pick pieces up would be the simplest
21:32 masak hm. yes.
21:33 masak sounds like it might rotate freely, though.
21:33 masak orientation is important for lintels.
21:33 frettled mberends: *** No rule to make target `realsleep'.  Stop.
21:34 masak frettled: that explains a lot.
21:34 mberends let's update Makefile.in
21:36 mberends realsleep:
21:36 mberends shutdown -h now
21:36 frettled uhm, is that such a good idea?
21:36 mberends ok, sudo make realsleep
21:36 mberends no, it's a bad idea ;)
21:37 frettled realsleep:
21:37 frettled hibernate
21:37 mberends frettled: yes, better
21:37 masak What Could Possibly Go Wrong?
21:38 frettled polar bears
21:38 mberends Windows
21:38 frettled (they snore)
21:39 nihiliad joined #perl6
21:47 * mberends sleeps, without a pumpkin this time
21:47 mberends o/
21:47 mberends left #perl6
21:57 masak I didn't know he had the pumpkin in the bed.
21:57 masak I usually put it in the cupboard overnight.
21:58 Ehtyar joined #perl6
22:45 mib_8zvicc joined #perl6
22:46 patmat sleep well guys :)
22:47 jnthn night, patmat
22:56 payload joined #perl6
23:20 TimToady fg
23:20 TimToady grr
23:20 jnthn :-)
23:22 jnthn Ooh, YAPC::Asia dates are confirmed!
23:59 kate21de joined #perl6

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

Perl 6 | Reference Documentation | Rakudo