Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-09-06

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 M_o_C joined #perl6
00:05 drbean_ joined #perl6
00:13 TimToady masak: yes, it's known
00:27 _jaldhar joined #perl6
00:31 SmokeMachine joined #perl6
00:38 synth^2 joined #perl6
00:40 drbean joined #perl6
00:50 drbean joined #perl6
01:00 drbean joined #perl6
01:05 drbean joined #perl6
01:08 jaldhar joined #perl6
01:20 drbean joined #perl6
01:33 jrtayloriv joined #perl6
01:35 tak11 joined #perl6
01:37 alester joined #perl6
01:47 meppl joined #perl6
01:47 rhr joined #perl6
02:01 drbean_ joined #perl6
02:15 drbean joined #perl6
02:17 petdance joined #perl6
02:20 tak11 joined #perl6
02:20 drbean joined #perl6
02:25 drbean_ joined #perl6
02:27 rhr joined #perl6
02:41 drbean joined #perl6
02:56 drbean joined #perl6
03:03 drbean joined #perl6
03:16 nihiliad joined #perl6
03:25 _jaldhar joined #perl6
03:46 mepplock joined #perl6
03:47 Bzek joined #perl6
03:54 drbean joined #perl6
04:06 chid joined #perl6
04:07 drbean joined #perl6
04:36 msmatsko joined #perl6
05:30 JimmyZ joined #perl6
05:38 frew_ joined #perl6
05:43 _jaldhar joined #perl6
05:59 justatheory joined #perl6
06:40 orafu joined #perl6
07:22 damyan left #perl6
07:52 Eevee_ joined #perl6
08:16 iblechbot joined #perl6
08:20 cmv joined #perl6
08:52 jlmoko joined #perl6
09:17 sharada joined #perl6
09:25 lmc joined #perl6
09:41 zloyrusskiy joined #perl6
09:42 ilogger2 joined #perl6
09:57 clintongormley joined #perl6
10:14 _jaldhar joined #perl6
10:20 clintongormley joined #perl6
10:25 masak joined #perl6
10:25 masak good day, #perl6.
10:26 moritz_ oh hai masak
10:26 Whiteknight joined #perl6
10:27 rbaumer anyone know why I get: ** (HyperWhatever) is not yet implemented at line 151, near "6);\n      " when try to make november?
10:28 moritz_ rbaumer: is that the full error mesage? no file name included?
10:28 moritz_ ah, I see the error
10:28 masak cognominal: ping
10:29 masak rbaumer: that was a bug I fixed the other day. try pulling.
10:29 masak oh! I haven't even committed the change yet! :/
10:29 moritz_ masak: there's map(**6) in lib/CGI.pm:151
10:29 moritz_ adding whitespaces fixes that
10:30 moritz_ should I, or do you want to do it?
10:30 masak hold on a minute...
10:31 _jaldhar joined #perl6
10:33 masak the bug is a collaboration between viklund and moritz_, so to speak. one was sloppy, and the other one strict.
10:34 * moritz_ breaks stuff early
10:34 moritz_ rakudo: say (2**3).WHAT
10:34 p6eval rakudo 6e2104: OUTPUT«Int()␤»
10:36 moritz_ rakudo++ # just using Rats where appropriate got me rid of some floating point rounding errors in SVG::Plot
10:39 cognominal masak?
10:46 rbaumer moritz_: to fix I have to change map(**6) into map(* *6) ?
10:48 moritz_ rbaumer: yes. But I hope that masak is going to push a fix soon
10:53 sharada joined #perl6
10:54 masak joined #perl6
10:57 masak rbaumer: sorry about the delay. I fell off the 'net.
10:57 masak rbaumer: the fix is pushed now.
10:58 masak I think I'll spend the rest of the day tending to November, actually. specifically, making the test suite pass again, and fixing the bugs reported by lichtkind++.
11:02 rbaumer masak: thank you. but still got some errors while try to run test_wiki.sh: Parameter type check failed; expected Str, but got Failure for $string in call to parse_keywords in method CGI::parse_keywords (lib/CGI.pm:100)
11:02 rbaumer So I wait till you got your cleanup done...
11:03 masak rbaumer: good to know. I will try to reproduce that failure on my end.
11:31 moritz_ I have to say that it's really fun to develop things on top of Rakudo
11:31 moritz_ the supported syntax is already very expressive
11:31 moritz_ and most of my typos are reported at compile time, with accurate line numbers
11:34 masak moritz_: aye. but for an outsider, the error messages can still be fairly LTA sometimes.
11:34 moritz_ masak: I know
11:35 masak I'm only saying it because my colleague, jonalv, who is here occasionally, has such an outsider perspective. he shares it with me sometimes.
11:36 szabgab joined #perl6
11:37 masak phenny: tell cognominal that I have built a simple Theseus maze solver in Perl 6. http://gist.github.com/181565
11:37 phenny masak: I'll pass that on when cognominal is around.
11:46 icwiener joined #perl6
11:47 hugme joined #perl6
11:47 * masak hugs hugme
11:48 moritz_ masak: hugme now hugs people who are added to new projects, as you suggested
11:48 moritz_ hugme: add masak to json
11:48 * hugme hugs masak. Welcome to json!
11:48 masak excellent.
11:48 * moritz_ bows
11:48 masak very in-character.
11:49 cognominal masak, sounds  cool
11:49 phenny cognominal: 11:37Z <masak> tell cognominal that I have built a simple Theseus maze solver in Perl 6. http://gist.github.com/181565
11:49 moritz_ masak++ # calling a variable $wtf in the last gist
11:49 masak cognominal: yes, please give it a test run if you want.
11:50 moritz_ latest SVG::Plot news: upon request the pie chart plotter turns pie segments and the corresponding text into links
11:50 masak cognominal: the next logical step would be to start parameterizing on the positions of the minotaur, Theseus and the exit. and then to parameterize on all the walls -- there are 8 spots for walls in this size of labyrinth, so 256 combinations.
11:51 masak moritz_: can it be turned off? is it a parameter?
11:52 moritz_ masak: it is off by default, only if you pass a list of URL they become links
11:53 moritz_ just like with the other plot types
11:53 masak cognominal: hm, and the exit has 12 possible positions, and the minotaur and Theseus each have 9. so that's 972 combinations. together with the walls, that's 248832 combinations... hello, combinatorial explosion. and this is only for a 3x3 maze.
11:53 masak still, I think I'll attempt to do that simulation.
11:53 masak the interesting part might well be to collect and present the results sensibly.
11:54 masak moritz_: sounds like a sane default. moritz_++
11:54 agentzh joined #perl6
12:00 moritz_ I wonder what to do next. Legend boxes? xy plots?
12:01 masak implement something that scratches someone's itch.
12:02 masak & # changing location
12:03 moritz_ ah well, legend boxes are more important to me, but sound like less fun to implement :/
12:03 cognominal just came with some slogan for Perl 6 :  "Perl 6,  an acquired taste"
12:11 Juerd Aren't most things that have an acquired taste bad for ones health? :)
12:20 agentzh joined #perl6
12:22 masak joined #perl6
12:29 ab5tract joined #perl6
12:46 M_o_C joined #perl6
12:49 szabgab joined #perl6
12:49 agentzh1 joined #perl6
12:50 alester joined #perl6
12:51 carlin left #perl6
12:55 carlin joined #perl6
12:55 ruoso joined #perl6
13:06 alester joined #perl6
13:08 RonOreck_ joined #perl6
13:16 Chillance joined #perl6
13:17 agentzh joined #perl6
13:17 ruoso Hello!
13:18 masak ruoso: o/
13:19 * ruoso still impressed by sun's failure to see the relevance of closures
13:20 pmurias joined #perl6
13:20 pmurias ruoso: hi
13:20 ruoso hi pmichaud
13:20 ruoso hi pmurias
13:21 * ruoso have just read masak's tweet and can't agree more
13:21 _jaldhar joined #perl6
13:21 masak ruoso: :)
13:21 masak for future reference, the tweet was: '[masak] can't help thinking some mechanism could be added to IRC tab completion to prevent the embarrassing situation of addressing the wrong user.'
13:22 masak in the above situation, the solution should be easy. pmurias just addressed ruoso, so ruoso's tab completion should default to addressing pmurias back, not pmichaud.
13:22 ruoso not that saying hi to pmichaud is an embarrasing situation... but...
13:23 ruoso hmmm... that looks a lot like the emacs' autocompletion algorithm
13:23 masak it can be further improved by adding a visual cue that highlights pmurias' nick where it appears in the IRC backlog. thus creating immediate gratification for the brain.
13:24 carlin surely there must be a userscript for some irc client somewhere that does that
13:24 masak ruoso: I'm using ERC right now, and it seems to work like that. um, except for the highlighting part, which would be neat.
13:24 pmurias if the tab completion was order according the time one last said something it would solve most problems
13:24 ruoso pmurias, that's what emacs do
13:24 ruoso it looks for the closest longest-token-match
13:25 ruoso at the times I was programming in Java (using emacs, since I can't stand those things they call IDE)
13:25 ruoso and I had situations like
13:25 pmurias ruoso: you don't like eclipse?
13:25 ruoso public method foo() throws NamingException, RemoteException, EJBException {
13:26 ruoso I just needed to ) tM-/, M-/, M-/
13:26 ruoso pmurias, not quite... and the idea of having to press the "GC NOW" button seems disturbing
13:27 * pmurias never saw the "GC NOW" button
13:27 ruoso it comes with a plugin, I guess
13:28 ruoso so you can keep the memory footprint under control
13:28 ruoso otherwise it gets 1GB RAM quite easily
13:28 masak one thing struck me about attribute initialization yesternight. because of the liberal policy of .new methods, you won't get flagged for misspellings. same with .clone methods.
13:28 ruoso and eclipse has a strange concept that you can't manage the repository from the command-line you *must* use the point-and-click tools it provides...
13:29 masak perhaps some nice static analysis could solve that.
13:29 masak ruoso: I use Eclipse, and I manage the repository from the command line.
13:29 ruoso masak, mispellings where?
13:29 masak ruoso: in named params sent in to those two methods.
13:30 ruoso masak, well, that was around 2005, maybe things improved since
13:30 ruoso masak, ah... I see..
13:30 ruoso masak, well,
13:30 ruoso it's not quite that liberal
13:30 masak ruoso: not saying it's easy, or fun. I still need to tell Eclipse to update manually.
13:30 ruoso it only sends to BUILD the attributes declared by that class
13:31 ruoso masak, ahhh... so it's still the same mess...
13:31 masak ruoso: ah, interesting.
13:32 * ruoso thinks ALT+TAB, svn up is considerably easier than grabbing the mouse, moving it to some small button or menu, click, find the correct option inside that sub-menu, moving the mouse there and then clicking, while you watch a distracting popup open with even more distracting progress bars fill
13:32 ruoso masak, so, in theory, BUILDALL can detect attributes that were unused
13:33 masak ruoso: even that kind of pain can be alleviated by keyboard shortcuts in Eclipse. I kinda like its ability to define key bindings. very flexible.
13:33 masak ruoso: but in general, I agree that Eclipse is very framework-y and heavy.
13:34 masak ruoso: I'm not sure it should, but good to know it could.
13:34 ruoso masak, it probably should warn (once a warnings pragma is enabled)
13:35 * masak thought warnings pragramata were enabled by default in Perl 6
13:35 * ruoso not sure
13:36 pmurias aren't additional named params ignored in methods
13:36 pmurias ?
13:37 ruoso pmurias, good question... I don't recall
13:37 masak pmurias: not ignored, but collected into a *%_.
13:37 pmurias that's what i meant
13:37 ruoso *if* you have that into your signature
13:37 masak no.
13:37 pmurias it's default
13:37 masak by default.
13:37 masak it can be turned off, though.
13:37 ruoso if you have no signature, that is...
13:37 pmurias so you can add hints in your subclasses
13:38 pmurias masak: how do you turn this off?
13:38 masak pmurias: by 'is hidden' or some such.
13:38 masak it's in S12. I don't fully grok it.
13:38 masak yet.
13:38 alester joined #perl6
13:39 pmurias is hidden has additional meaning
13:40 ruoso S06:1524
13:40 ruoso masak, pmurias, ^
13:40 nihiliad joined #perl6
13:40 ruoso the default *@_, *%_ only appears when you declare the signature with placeholders
13:40 ruoso it is *not* added by default otherwise
13:40 masak that's for functions.
13:41 ruoso signatures work the same
13:41 masak S12:1858.
13:41 ruoso for every routine
13:41 masak 'By default, all methods and submethods that do not declare an explicit C<*%> parameter will get an implicit C<*%_> parameter declared for them whether they like it or not.'
13:42 ruoso hmm... is that new?
13:42 pmurias that's old
13:42 ruoso interesting... i never noticed it
13:43 masak it's connected somehow to inheritance.
13:43 masak I think it's in light of inheritance that 'is hidden' makes sense, too.
13:43 ruoso masak, not to inheritance in the classical sense.. but in the nextsame sense
13:44 masak ah. well, I don't fully grok 'nextsame' either.
13:44 agentzh joined #perl6
13:45 ruoso masak, nextsame is the concept that replaces Aspect-Oriented-Programming
13:45 masak o_O
13:45 masak now, _that_ is news to me!
13:46 ruoso masak, take a look at how custom Action classes in catalyst work
13:46 masak ok.
13:48 ruoso for instance Catalyst::Action::SOAP::DocumentLiteral
13:49 pmurias isn't nextsame the same thing like SUPER?
13:49 ruoso not really
13:49 ruoso SUPER only follows in one direction
13:49 ruoso nextsame follows the MRO as if the method was not found
13:53 masak it's also used with .wrap, isn't it?
13:55 ruoso .wrap is not OO
13:55 ruoso .wrap is functional
13:56 masak so... "no, it's not used with .wrap"?
13:56 pmurias ruoso: how are we going to fill in methods into things like SV* or the perl 5 interpreter
13:56 pmurias add RI processing in the p5 build system?
13:56 pmurias * RI DSL
13:57 ruoso masak, please ellaborate, I'm not getting what you mean...
13:57 ruoso pmurias, we don't need to, the p5sv ri is entirely built in SMOP land
13:57 ruoso we just need to set the correct RI in the SV*
13:58 ruoso pmurias, ah... wait...
13:58 ruoso I see what your question means nwo
13:59 ruoso yes... we need to add RI processing into the p5 build system
14:00 masak ruoso: I'm just trying to get my head around the different uses of 'nextsame' et al. as far as I understand it, it's used for things like SUPER (except it does it according to the MRO somehow), and within a .wrap block. that the latter use isn't OO doesn't really matter to me at this point.
14:01 * ruoso wonders if we refer to the same thing by .wrap
14:03 masak thing like $handle = &thermo.wrap( { callwith( ($^t-32)/1.8 ) } );
14:03 ruoso rakudo: { print "World" }.wrap: { print "Hello "; callsame; say "!" }
14:03 p6eval rakudo 6e2104: OUTPUT«Method 'wrap' not found for invocant of class 'Block'␤»
14:04 ruoso rakudo: sub { print "World" }.wrap: { print "Hello "; callsame; say "!" }
14:04 p6eval rakudo 6e2104: OUTPUT«Confused at line 2, near ".wrap: { p"␤in Main (src/gen_setting.pm:3469)␤»
14:04 ruoso rakudo: (sub { print "World" }).wrap: { print "Hello "; callsame; say "!" }
14:04 p6eval rakudo 6e2104:  ( no output )
14:04 ruoso masak, I think nextsame in that context is not really the same as nextsame inside a method call
14:04 masak ruoso: that was my point.
14:05 masak and it's also currently what bewilders me about nextsame et al.
14:05 masak I mean, it's very pretty that they get to share keywords like that, and it does make sense.
14:05 masak but it makes it slightly harder to fully embrace the semantics of it all.
14:06 ruoso masak, they probably work the same way
14:06 ruoso because they're just raising control exceptions I guess
14:06 masak but what if I wanted to do an MRO-style nextsame withing a wrapping block, for example?
14:06 masak I don't have an example ready, but I imagine something like that could occur.
14:07 ruoso masak, "Every Routine object", not every "Code" object
14:07 masak does that change matters?
14:07 ruoso yeah... it's a different semantic barrier
14:07 ruoso masak, ah wait..
14:07 ruoso ENOCOFEE
14:08 ruoso masak, what do you mean MRO without OO?
14:08 agentzh joined #perl6
14:10 masak ruoso: I don't. I though one might want to wrap a method or a submethod.
14:10 * ruoso really needs cofee
14:10 ruoso ok...
14:10 ruoso IIRC, you use self.nextsame when using OO
14:10 ruoso and plain nextsame when using non-OO
14:11 ruoso no... that's not the case...
14:11 * ruoso just looking at S12
14:12 ruoso masak, ok... I think I got it
14:13 ruoso the difference is in the dispatcher
14:13 ruoso the dispatcher is the one placing the implicit CONTROL block to manage nextsame calls
14:13 ruoso when you dispatch a method as a method, you're in the OO dispatcher
14:13 ruoso and then you have OO semantics on nextsame
14:13 pmurias ruoso: we can set the RIs from an XS module can't we?
14:13 ruoso when you invoke a method as a routine, you're in the regular multi dispatcher
14:14 ruoso pmurias, we can.... what do you have in mind?
14:14 * ruoso goes grab a coffee
14:14 masak ruoso: ah, ok.
14:15 pmurias that we won't have to compile the RIs into the perl exectable we could just load them from an XS module (so we wouldn't have to make the perl 5 build system process the RIs)
14:19 ruoso pmurias, we're already building a custom p5
14:19 ruoso there's no gain in making it depend on later loading a XS module
14:20 ruoso except for the "no need to hack the p5 build system" part
14:21 * ruoso .oO(thanks god for the domestic espresso machine)
14:24 ruoso pmurias, but if you think that will make things easier in the start, feel free to do it
14:25 ruoso pmurias, we could make all the "replace the message code by a fully-implemented one" in the XS
14:31 frew_ joined #perl6
14:34 agentzh joined #perl6
14:40 ruoso after this discussion with masak I actually realized that SMOP won't be penalized to support nextsame
14:40 ruoso it's just that only full high-level objects will support it
14:40 ruoso lower-level objects will simply fail if you try it
14:41 ruoso since they don't have a high-level MRO
14:41 ruoso what would be the name of the exception raised by nextsame/callsame/nextwith/callwith?
14:42 ruoso TimToady, actually, is the idea of nextsame et al being handled by CONTROL sane?
14:43 ruoso considering return is handled by CONTROL, it fits quite well
14:46 ruoso thinking about nextsame, I think the capture sent to the current routine need to be available somehow
14:48 jan_ joined #perl6
14:52 ruoso hmm... I just realized S12 doesn't spec pluggable MRO
14:53 ruoso it would probably make sense to have a .^mro that returns an object that implements the mro algorithm, so you can replace it...
14:54 ruoso joined #perl6
14:54 Psyche^ joined #perl6
14:55 ruoso one interesting question is wether it is stored in the metaclass or in the type object...
14:55 ruoso putting in another way
14:55 ruoso if you can customize the MRO for one specific type object, or just for every types of that metaclass instance
14:58 frew___ joined #perl6
15:01 * ruoso lunch &
15:03 bionoid joined #perl6
15:03 leedo joined #perl6
15:03 alester joined #perl6
15:05 pugs_svn r28194 | colomon++ | [t/spec] Add tests to make sure Rats play nicely with Nums in basic arithmetic.
15:05 colomon joined #perl6
15:06 pugs_svn r28195 | colomon++ | [t/spec] Further rewriting of sine tests, and add cosine into the new scheme.
15:11 dalek rakudo: 09b9540 | (Solomon Foster)++ | src/setting/ (2 files):
15:11 dalek rakudo: Provide Any.sin, Any.cos, Complex.sin, and Complex.cos.
15:11 dalek rakudo: Passing a $base works on the Any versions, but fails mysteriously on the Complex versions.
15:11 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/09b9540634797c184185b47387d5bd1c284714d6
15:16 colomon rakudo: say 360.0.sin("degrees");
15:16 p6eval rakudo 6e2104: OUTPUT«-2.44921270764475e-16␤»
15:16 Hale-Bopp joined #perl6
15:16 * frettled is rewriting his plog subroutine using contextuals, da-dum-dee-dah.  :)
15:18 colomon pmichaud, moritz_: http://use.perl.org/~colomon/journal/39590  (And anyone else who wants to take a look.  Comments appreciated, but I'll probably be offline for the rest of the day in about five minutes.)
15:24 frettled Hmm, is anyone else getting the most recent (09b954…) version of rakudo to compile?
15:24 frew__ joined #perl6
15:27 * frettled tries a fresh «git clone» instead of updating with «git pull».
15:27 timbunce joined #perl6
15:28 carlin frettled: worked fine here, using the recommended parrot version
15:28 frettled (and a new Configure)
15:29 frettled carlin: okay, I probably fudged the build process, then.
15:29 carlin or I didn't clean everything out properly
15:30 frettled Using a fresh clone and fresh Configure ought to do the trick, then.
15:36 Hale-Bopp joined #perl6
15:37 carlin freshly built parrot worked too (ubuntu 9.04 x86_64)
15:43 frettled Yep, it works now.  Great.
15:44 * frettled mumbles something about being a big clutz.
15:45 frettled rakudo: say Temporal.new().iso8601
15:45 PhatEddy joined #perl6
15:45 p6eval rakudo 6e2104: OUTPUT«Null PMC access in getprop()␤in Main (src/gen_setting.pm:3469)␤»
15:46 carlin rakudo: say Temporal
15:47 p6eval rakudo 6e2104: OUTPUT«Null PMC access in getprop()␤in Main (src/gen_setting.pm:3469)␤»
15:47 frettled I'm pretty sure that what I'm doing shouldn't be allowed anyway.
15:49 frettled rakudo: say Temporal.DateTime.new().iso8601
15:49 p6eval rakudo 6e2104: OUTPUT«Null PMC access in getprop()␤in Main (src/gen_setting.pm:3469)␤»
15:50 abra joined #perl6
15:51 abra joined #perl6
15:51 frettled rakudo: say Temporal.Time.new
15:51 p6eval rakudo 6e2104: OUTPUT«Null PMC access in getprop()␤in Main (src/gen_setting.pm:3469)␤»
15:52 frettled rakudo: ((Temporal::DateTime.new(:date(​Temporal::Date.new(:year(2010), :month(4))), :time(Temporal::Time.new)).epoch - time) / 86400).ceiling.fmt('%d days left until April!').say
15:52 p6eval rakudo 6e2104: OUTPUT«Confused at line 2, near "(:date(\u200bTe"␤in Main (src/gen_setting.pm:3469)␤»
15:53 PhatEddy perl6: sub foo($a) {say $a}; my $x; foo $x = 'hello'
15:53 charsbar joined #perl6
15:53 p6eval pugs: OUTPUT«␤*** Can't modify constant item: VBool True␤    at /tmp/bsklU30S4X line 1, column 30 - line 2, column 1␤»
15:54 p6eval ..elf 28195, rakudo 09b954: OUTPUT«hello␤»
15:54 frettled rakudo: Temporal::DateTime.new(:date(Temporal::Date.new(:year(2010), :month(4)))).say
15:54 p6eval rakudo 09b954: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤Use of uninitialized value␤»
15:55 * frettled has confusd frettled regarding Temporal::DateTime.  Again.
15:56 PhatEddy I sort of think pugs has the right idea here but am not sure where to check ...
15:57 frettled pugs: sub foo($a) {say $a}; my $x; foo ($x = 'hello')
15:57 p6eval pugs: OUTPUT«hello␤»
16:05 pmurias ruoso: wouldn't it depend on the metaclass, as the metaclass is the one which implements ^!dispatch?
16:08 charsbar joined #perl6
16:10 PhatEddy rakudo: sub foo($a) {say $a}; foo 'hello', 'goodbye'
16:10 p6eval rakudo 09b954: OUTPUT«too many arguments passed (2) - 1 param expected␤in sub foo (/tmp/lJ2eymXZLb:1)␤called from Main (/tmp/lJ2eymXZLb:2)␤»
16:10 PhatEddy ok ...
16:11 PhatEddy rakudo: sub foo($a) {say $a}; my $x; foo $x = 'hello', 'goodbye'
16:11 p6eval rakudo 09b954: OUTPUT«hello goodbye␤»
16:11 PhatEddy still ok?
16:12 PhatEddy perl6: sub foo($a) {say $a}; my $x; foo $x = 'hello', 'goodbye'
16:12 p6eval rakudo 09b954: OUTPUT«hello goodbye␤»
16:12 p6eval ..elf 28195: OUTPUT«hello␤»
16:12 p6eval ..pugs: OUTPUT«␤*** Can't modify constant item: VBool True␤    at /tmp/Ws7rZj6WrW line 1, column 30 - line 2, column 1␤»
16:15 tak11 joined #perl6
16:18 asciiville joined #perl6
16:18 christine joined #perl6
16:19 meppl joined #perl6
16:22 carlin std: sub foo($a) {say $a}; my $x; foo $x = 'hello';
16:22 p6eval std 28195: OUTPUT«ok 00:03 40m␤»
16:23 carlin std: sub foo($a) {say $a}; my $x; foo($x) = 'hello';
16:23 p6eval std 28195: OUTPUT«ok 00:03 40m␤»
16:26 charsbar joined #perl6
16:30 frettled std: sub foo($a) {say $a}; my $x; foo $x = 'hello', 'world';
16:30 p6eval std 28195: OUTPUT«ok 00:03 41m␤»
16:30 PhatEddy std: sub foo($a) {say $a}; my $x; foo 'hello', 'world';
16:30 p6eval std 28195: OUTPUT«ok 00:03 41m␤»
16:31 carlin rakudo: sub Str($a) {say $a}; my $x; Str $x = 'bar';
16:31 p6eval rakudo 09b954: OUTPUT«Confused at line 2, near "$x = 'bar'"␤in Main (src/gen_setting.pm:3469)␤»
16:32 frettled If masak had been unidle, a rakudobug would have been submitted thrice already.  ;)
16:32 payload joined #perl6
16:33 frettled While the syntax used may be permitted, it's certainly something I'd recommend against using, though.  :)
16:33 mberends rakudo: my $t=Time.gmtime; say "{$t.date.month-name} {$t.date.year}"
16:33 p6eval rakudo 09b954: OUTPUT«September 2009␤»
16:33 frettled Aha.
16:33 mberends frettled: not the easiest API ;)
16:34 frettled rakudo: my $dt=Time.localtime; say "{$t.iso8601}"
16:34 p6eval rakudo 09b954: OUTPUT«Symbol '$t' not predeclared in <anonymous> (/tmp/4v70t87SWY:2)␤in Main (src/gen_setting.pm:3469)␤»
16:34 frettled arghle.
16:34 frettled rakudo: my $dt=Time.localtime; say "{$dt.iso8601}"
16:34 p6eval rakudo 09b954: OUTPUT«Method 'localtime' not found for invocant of class ''␤»
16:35 frettled rakudo: my $dt=Time.time; say "{$dt.iso8601}"
16:35 p6eval rakudo 09b954: OUTPUT«Method 'time' not found for invocant of class ''␤»
16:35 frettled (good)
16:35 mberends sorry, localtime NYI. zones, leap seconds and all that :/
16:35 frettled rakudo: my $dt=Time.gmtime; say "{$dt.iso8601}"
16:35 p6eval rakudo 09b954:  ( no output )
16:36 mberends frettled: add a .date or .time after $dt
16:36 frettled rakudo: my $dt=Time.gmtime; say "{$dt.date.iso8601}"
16:36 p6eval rakudo 09b954: OUTPUT«2009-09-06␤»
16:36 frettled rakudo: my $dt=Time.gmtime; say "{$dt.datetime.iso8601}" # ;)
16:36 p6eval rakudo 09b954: OUTPUT«Method 'datetime' not found for invocant of class ''␤»
16:37 carlin rakudo: class Foo {}; multi method Foo {};
16:37 p6eval rakudo 09b954: OUTPUT«push_pmc() not implemented in class 'NameSpace'␤»
16:39 szabgab joined #perl6
16:40 frettled mberends: now if I only could convince rakudo to open a file for append, I'd be happy :D
16:41 mberends frettled: is there no :a yet? gosh!
16:43 mberends frettled: parrot supports an 'a' mode, but only if you combine it with 'w'
16:43 dukeleto what is the syntax for matching literal strings with PGE ?
16:44 sri_kraih joined #perl6
16:45 dukeleto it seems to be <[foo]>, i answered my own question
16:45 frettled mberends: hrm, it appears that it only fails while in an if test
16:45 * dukeleto gives /me a cookie
16:45 charsbar joined #perl6
16:46 carlin 'Night all
16:47 frettled Huh, now it works.  I wonder what…
16:47 mberends rakudo: my $t=Time.gmtime; say "{$t.date} {$t.time}"
16:47 p6eval rakudo 09b954:  ( no output )
16:48 charsbar joined #perl6
16:50 mberends rakudo: my $dt=Time.gmtime; say ~$dt.date
16:50 p6eval rakudo 09b954:  ( no output )
16:50 mberends rakudo: say "I'm not dead yet!"
16:51 p6eval rakudo 09b954: OUTPUT«I'm not dead yet!␤»
16:51 pmichaud good midday, #perl6
16:51 frettled heh
16:51 frettled I think I may have a rakudobug regarding comments, I'll see if I can reproduce it.
16:51 frettled I was only going to write a simple blog entry.  :D
16:52 ruoso pmurias, you mean the MRO? it is implemented inside .^dispatch, not .^!dispatch
16:52 ruoso actually, it seems to be inside .^parent
16:52 ruoso which is used by .^can, which, in turn, is used by .^dispatch
16:53 ruoso pmichaud, have you backlogged from today?
16:53 ruoso pmichaud, good midday, first ;)
16:54 justatheory joined #perl6
16:55 charsbar joined #perl6
16:56 frettled Phew, no rakudobug, phew, phew.
16:56 frettled Just another possible one instead regarding file handles.  :D
16:57 * frettled grabs some food before double-checking.
16:57 ruoso pmichaud, anyway, take a look at my wonderings about nextsame and control exceptions...
16:58 pmichaud back from backlogging.  jnthn++ is the nextsame expert at the moment
16:58 pmichaud but essentially I think that 'nextsame' does the same thing "under the hood"
17:00 beggars joined #perl6
17:01 ruoso pmichaud, one other thing I was wondering was the possibility of getting the capture used in the current invocation as a special lexical (or dynamic)  variable
17:02 pmichaud would seem possible, although it might reduce some opportunities for optimization
17:02 masak frettled: here I am, un-idle.
17:02 ruoso but nextsame/callsame seems to require it...
17:02 masak frettled: could you please summarize for me what needs rakudobugging?
17:03 pmichaud nextsame/callsame have to be able to access the arguments, yes, but it doesn't have to be "a capture", and it doesn't mean that the capture has to be exposed as a lexical
17:03 pmichaud (if one plans to implement nextsame/callsame in perl 6, then yes, it's probably needs to be as you describe.)
17:03 pmichaud (but it also might be far slower for something that really needs to be fast.)
17:04 ruoso I see..
17:04 ruoso I, in fact, tend to model things using Perl 6 semantics and optimize later
17:05 masak "first, make it run, then make it right, then make it fast"...
17:05 ruoso I mean, even if the actual runtime is not written in Perl 6, it should be at least possible to bootstrap it using Perl 6
17:05 charsbar joined #perl6
17:05 asciiville masak: I live by that philosophy...
17:06 PhatEddy rakudo: sub foo($a) {say $a}; my ($x, $y); foo $x = 'hello', $y = 'goodbye'
17:06 p6eval rakudo 09b954: OUTPUT«Unable to set lvalue on PAST::Val node␤in Main (src/gen_setting.pm:3469)␤»
17:07 ruoso pmichaud, but my point was actually in confronting two possibilities, the first that callsame/nextsame would introspect the current stack itself and do whatever needed
17:07 ruoso vs callsame et al throwing an exception that is handled by the dispatcher (oo or multi)
17:12 charsbar joined #perl6
17:18 pmichaud right now rakudo uses the first mechanism
17:20 ruoso the semantics around it have some ramifications that need to be considered...
17:20 charsbar joined #perl6
17:20 ruoso method foo { nextsame; CONTROL { ... } }
17:21 pmichaud yes.
17:23 ruoso so I think it's time to ask TimToady about it...
17:23 ruoso ;)
17:40 moritz_ asciiville: commenting on your blog fails with "invalid request" when javascript is disabled (no warning about that either)
17:42 PhatEddy perl6: sub my { say 'hello'}; &my();
17:42 p6eval pugs, rakudo 09b954: OUTPUT«hello␤»
17:42 p6eval ..elf 28195: OUTPUT«/home/evalenv/pugs/misc/STD_red/match.rb:141:in `block in to_dump0': undefined method `to_dump0' for true:TrueClass (NoMethodError)␤   from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `each'␤      from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `map'␤       from
17:42 p6eval ../home/evalenv/pugs/misc…
17:44 ruoso mildew: sub my { say 'hello' }; &my()
17:44 p6eval mildew: OUTPUT«hello␤»
17:44 PhatEddy std: sub my { say 'hello'}; &my();
17:44 ruoso I guess if mildew could get into the perl6 eval list
17:44 p6eval std 28195: OUTPUT«ok 00:04 55m␤»
17:45 moritz_ mildew: say "foo".uc
17:45 sri_kraih joined #perl6
17:45 gregoreee joined #perl6
17:45 p6eval mildew: OUTPUT«unknown method "uc" at message line 70 file build/native/src/idconst_message.c␤»
17:45 moritz_ ruoso: the thing is, mildew lacks very many very basic features, and is rather slow
17:46 moritz_ you need users.
17:46 gregoreee left #perl6
17:46 moritz_ users who try to write applications in mildew, and kick your ass if you don't implement stuff like uc
17:47 ruoso moritz_, well... at least it points the line and the file that needs to be patched ;)
17:48 moritz_ yes, that's a good thing
17:49 moritz_ and IMHO the reason why you don't have users is lack of publicity
17:49 frettled masak: http://irclog.perlgeek.de/perl6/2009-09-06#i_1472085 and onwards, see PhatEddy's attempts, and the tests against STD.
17:50 Tene joined #perl6
17:51 moritz_ nearly nobody outside of #perl6 and p6l knows about smop and mildew; when I write my "tidings" post I always ask myself "what's up with the other implementiosn" (ie everything but rakudo), and often enough I just don't know
17:52 moritz_ you should blog about progress, make sure the blogs get aggregated by planetsix, ironman, persphere; write announcement mails to the list etc.
17:52 masak frettled: thanks. will have a look.
17:52 asciiville @moritz_: Thank for the heads up on the comment issue. I'll check that out. Maybe there's a config item somewhere in MTOS?
17:52 lambdabot Unknown command, try @list
17:52 ruoso that's my fault indeed..
17:52 PhatEddy rakudo: &foo('abc')
17:53 p6eval rakudo 09b954: OUTPUT«invoke() not implemented in class 'Undef'␤in Main (/tmp/RSUeSYMbrl:2)␤»
17:53 frettled masak: Anyway, it was mostly a joke because you're so good at submitting bugs :D
17:53 icwiener joined #perl6
17:54 asciiville moritz_: Thank for the heads up on the comment issue. I'll check that out. Maybe there's a config item somewhere in MTOS?
17:55 PhatEddy Think I'll plan to submit rakudobugs on that last one and the 'Past::VAL' node one
17:56 masak frettled: thank you. it's not that hard. :)
17:58 dukeleto broken links on wikipedia about PGE: http://en.wikipedia.org/wiki/Parser_Grammar_Engine
18:00 PhatEddy std: sub for($a) { $a }; &for('abc') { say 'a' }
18:01 p6eval std 28195:  ( no output )
18:01 frettled masak: hee-hee.
18:01 frettled Oh, I think I have that possible rakudo bug, BTW.
18:02 frettled This works: open($filename, :a);
18:02 frettled This does not work: open ($filename, :a);
18:03 PhatEddy std: my abc()
18:03 frettled I was completely stumped why pmichaud's blog example worked and my code didn't, so I started out with his code and added in pieces of my own, line by line, and suddenly the code worked.  The only difference was the whitespace between open and ( …
18:03 p6eval std 28195: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed my at /tmp/sD1LtI8x6G line 1:␤------> [32mmy [33m⏏[31mabc()[0m␤    expecting any of:␤     declarator␤       multi_declarator␤ scoped declarator␤        typename␤FAILED 00:02 36m␤»
18:03 PhatEddy So what does no output mean from std?
18:04 frettled std: sub for($a) { $a }; &for('abc') { say 'a' }
18:04 p6eval std 28195: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/AU3UHDz0PA line 1:␤------> [32msub for($a) { $a }; &for('abc') [33m⏏[31m{ say 'a' }[0m␤    expecting any of:␤     bracketed infix␤  infix
18:04 p6eval ..stopper␤…
18:04 frettled PhatEddy: same as in rakudo; eval timeout, apparently.
18:05 PhatEddy rakudo: sub for($a) { $a }; &for('abc') { say 'a' }
18:05 p6eval rakudo 09b954: OUTPUT«Confused at line 2, near "{ say 'a' "␤in Main (src/gen_setting.pm:3469)␤»
18:05 PhatEddy std: sub for($a) { $a }; for('abc') { say 'a' }
18:05 p6eval std 28195: OUTPUT«[31m===[0mSORRY![31m===[0m␤for() interpreted as postdeclared function call at line 1; please use whitespace instead of parens␤Unexpected block in infix position (two terms in a row) at /tmp/6cY7cdrsNq line 1:␤------> [32msub for($a) { $a }; for('abc') [33m⏏[31m{ say 'a'
18:05 p6eval ..}[0…
18:06 PhatEddy std: sub if($a) { $a };
18:06 p6eval std 28195: OUTPUT«ok 00:02 39m␤»
18:07 PhatEddy std: sub for($a) { $a };
18:07 p6eval std 28195: OUTPUT«ok 00:03 39m␤»
18:08 lisppaste3 frettled pasted "List vs. method arguments in Rakudo" at http://paste.lisp.org/display/86658
18:09 moritz_ frettled: it's supposed to be like that
18:10 moritz_ unlike Perl 5, whitespaces are used to disambiguate stuff
18:11 frettled or, in this case, to ambiguate stuff ;)
18:11 moritz_ so you pass a list as the first positional parameter
18:11 moritz_ and open() treats it as a Str
18:11 moritz_ so it's as if you passed ~($filename, :a);
18:11 moritz_ as the only argument
18:12 frettled Yes, I understand what happens.
18:13 frettled But then we also have the following, right?  loop ($i = 0; $i < 10; $i++)
18:16 moritz_ we do
18:16 moritz_ which is kind of a fossile, IMHO
18:16 frettled M-hm.
18:16 moritz_ it's not a sub call, but a special syntax
18:17 frettled Yes, one that's shared with other control statement-like keywords, right?
18:17 frettled It would be the same with if, while, for, …
18:17 moritz_ actually not
18:17 moritz_ if, while, for etc. don't require parenthesis
18:17 moritz_ loop does
18:18 frettled No, they don't require them, but they allow them?
18:19 moritz_ they usually allow arbitrary expressions
18:19 moritz_ which means also (...), if there's a space before it
18:20 frettled yep
18:20 PhatEddy std: sub foo {say 'hello'}; foo() {}
18:20 p6eval std 28195: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/Aff2ETdAZk line 1:␤------> [32msub foo {say 'hello'}; foo() [33m⏏[31m{}[0m␤    expecting any of:␤ bracketed infix␤  infix stopper␤
18:20 p6eval ..standard st…
18:21 PhatEddy rakudo: sub foo {say 'hello'}; foo() {}
18:21 p6eval rakudo 09b954: OUTPUT«Confused at line 2, near "{}"␤in Main (src/gen_setting.pm:3469)␤»
18:21 frettled This has somehow escaped my attention earlier.  I think it's a confusing and apparently inconsistent use of significant whitespace.
18:22 frettled It would probably be less confusing if no built-ins allowed a similar syntax, or if parens weren't how lists were specified.  Too bad that it's too late.
18:22 masak frettled: actually, the rule is simple.
18:22 PhatEddy I think that would make on last rakudobug for today
18:23 PhatEddy sorry for the signal to noise ratio today ...
18:23 frettled PhatEddy: hmm?  Lots of signal here.
18:24 PhatEddy any objections to any of the three?
18:24 frettled masak: I don't think a rule that allows if, while, for etc. not to require parenthesis, but where loop does, where no whitespace is a syntax error for those control statements, yet is a requirement for method/function calls _is_ a syntax error, in any way could be called «simple»
18:25 frettled PhatEddy: The latter is perhaps a less than awesome error message?
18:25 masak frettled: it's because you're viewing it the wrong way. :)
18:25 frettled masak: if someone is viewing it the wrong way, it's most likely because it's not simple ;)
18:25 masak frettled: the rule is: "if there's no whitespace between the word and the parens, it's a function call"
18:26 frettled masak: plus sub rules describing when it's a list and when it's part of a control structure.
18:26 frettled masak: which is what's _really_ complicating the matter.  It would be far easier if there was no exception; that is, either () denotes a list or it denotes begin/end closure for arguments.
18:27 sri_kraih_ joined #perl6
18:27 masak frettled: not sure I follow you now.
18:27 masak what are those sub-rules you're referring to?
18:28 masak feel free to respond while I bike back home. :)
18:32 frettled phenny, tell masak if (…), while (…), for (…) is optional, loop (…;…;…) _requires_ whitespace and parentheses (but infinite loops don't)
18:32 phenny frettled: I'll pass that on when masak is around.
18:48 tak11 joined #perl6
18:50 masak joined #perl6
18:52 masak phenny, I know.
18:52 phenny masak: 18:32Z <frettled> tell masak if (…), while (…), for (…) is optional, loop (…;…;…) _requires_ whitespace and parentheses (but infinite loops don't)
18:52 masak frettled: yes. a moments thought will reveal why.
18:53 masak s/ts/t's/
18:54 frettled rakudo: sub foo ($a, $b?) { given $b { when 1 { say "1"; } default { say "Def." ~ $b; } } foo(4);
18:54 p6eval rakudo 09b954: OUTPUT«Confused at line 2, near "default { "␤in Main (src/gen_setting.pm:3469)␤»
18:54 masak frettled: missing semicolon.
18:55 frettled ah
18:55 frettled rakudo: sub foo ($a, $b?) { given $b { when 1 { say "1"; }; default { say "Def." ~ $b; } } foo(4);
18:55 p6eval rakudo 09b954: OUTPUT«Confused at line 2, near "foo(4);"␤in Main (src/gen_setting.pm:3469)␤»
18:55 frettled duh, again.
18:55 frettled rakudo: sub foo ($a, $b?) { given $b { when 1 { say "1"; }; default { say "Def." ~ $b; } }; foo(4);
18:55 p6eval rakudo 09b954:  ( no output )
18:55 masak silly p6eval...
18:56 frettled rakudo: sub foo ($a, $b?) { given $b { when 1 { say "1"; }; default { say "Def." ~ $b; } }; foo(1); foo(4);
18:56 p6eval rakudo 09b954: OUTPUT«Unable to parse block; couldn't find final '}' at line 2, near ""␤in Main (src/gen_setting.pm:3469)␤»
18:56 frettled aha, duh.
18:56 frettled rakudo: sub foo ($a, $b?) { given $b { when 1 { say "1"; }; default { say "Def." ~ $b; } } }; foo(1); foo(4);
18:56 frettled </spam>
18:56 p6eval rakudo 09b954: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤Def.␤Use of uninitialized value␤Use of uninitialized value␤Def.␤»
18:57 araujo rakudo: sub foo ($a, $b?) { given $b { when 1 { say "1"; }; } default { say "Def." ~ $b; } }; foo(4);
18:57 p6eval rakudo 09b954: OUTPUT«Confused at line 2, near "default { "␤in Main (src/gen_setting.pm:3469)␤»
18:57 araujo well
18:58 frettled Semicolon in wrong place and missing curly bracket before next-to-last semicolon.
18:58 mikehh rakudo (09b9540) builds on parrot r41074 - make test / make spectest (up to r28195) PASS - Ubuntu 9.04 amd64 (g++)
18:59 frettled masak: BTW, I understand why the loop construct needs to have something that «protects» the world from its internal semicolons.  But the difference in handling whitespace with parenthesis is still not what I'd call simple :)
19:01 frettled rakudo: sub foo ($a, $b?) { given $b { when 1 { say "One - 1"; }; default { say "Def." ~ $b; } } }; foo("a",1); foo("a",4);
19:01 p6eval rakudo 09b954: OUTPUT«One - 1␤Def.4␤»
19:03 araujo rakudo: sub foo ($a, $b?) { given $b { when 1 { say "One - 1"; }; default { say "Def." ~ $b; } } }; foo("a");
19:03 p6eval rakudo 09b954: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤Def.␤»
19:03 frettled rakudo: sub foo ($a is rw) { $a ~= "- OH HAI"; say $a; }; sub bar ($a) { foo($a); }; bar("HELO");
19:03 p6eval rakudo 09b954: OUTPUT«Cannot assign to readonly variable.␤in sub foo (/tmp/YiN2Zoqc61:2)␤called from sub bar (/tmp/YiN2Zoqc61:2)␤called from Main (/tmp/YiN2Zoqc61:2)␤»
19:04 masak joined #perl6
19:05 frettled Shouldn't that have worked?
19:06 masak frettled: um, in http://irclog.perlgeek.de/perl6/2009-09-06#i_1472085 that you sent me, Rakudo seems to be doing OK. it's Pugs throwing a fit, as far as I can see....
19:06 ruoso joined #perl6
19:07 frettled masak: 15:56 PhatEddy I sort of think pugs has the right idea here but am not sure where to check ...
19:08 frettled masak: I was wisely keeping my claptrap shut regarding the validity :)
19:10 masak joined #perl6
19:10 masak I'm barely connected today, it would seem. :/
19:11 frettled masak: I can't blame you, I'm not making it easy.  :d
19:11 frettled std: sub foo ($a is rw) { $a ~= "- OH HAI"; say $a; }; sub bar ($a) { foo($a); }; bar("HELO");
19:11 p6eval std 28195: OUTPUT«ok 00:04 40m␤»
19:12 frettled Okay, does that mean I can submit a rakudobug now? :D
19:12 masak no.
19:13 rblasch joined #perl6
19:13 masak you're modifying $a.
19:13 masak you're not allowed to do that.
19:13 moritz_ actually it should complain already at signature binding time
19:13 moritz_ ie during the dispatch
19:14 frettled Hrm, shouldn't std complain, then?
19:14 moritz_ no
19:14 moritz_ it'd need to execute the code to be able to complain
19:14 frettled rakudo: sub foo ($a is copy) { $a ~= "- OH HAI"; say $a; }; sub bar ($a) { foo($a); }; bar("HELO");
19:14 masak frettled: no, because it doesn't bind signatures...
19:14 masak anyway, about 'foo $x = 42', what I see happening is the assignment being made, and then the result being sent as an argument. not so strange, by me.
19:14 moritz_ today it's just a (smart) parser
19:14 p6eval rakudo 09b954: OUTPUT«HELO- OH HAI␤»
19:16 frettled rakudo: sub foo ($a is rw) { $a ~= " - OH"; say $a; }; sub bar ($a is rw) { foo($a); say "HAI"; }; bar("HELO");
19:16 p6eval rakudo 09b954: OUTPUT«HELO - OH␤HAI␤»
19:17 frettled rakudo: sub foo ($a is rw) { $a ~= " - OH"; say $a; }; sub bar ($a is rw) { foo($a); say $a ~ "HAI"; }; bar("HELO");
19:17 p6eval rakudo 09b954: OUTPUT«HELO - OH␤HELO - OHHAI␤»
19:17 frettled Aha.
19:18 frettled I didn't get that from reading S06; I saw that «is ref» was a way of saying that you pass by reference, but apparently, the default is to pass by reference.
19:18 frettled (if the value passed is a variable)
19:18 masak I don't think I'll care about staying online much longer. if anyone comes looking for me, I'll be offline tending to November.
19:19 moritz_ frettled: the default is to pass by read-only alias
19:20 frettled moritz_: yes, I saw that, but the use of «alias» wasn't something that triggered «that must mean reference» :)
19:21 moritz_ well, "reference" has a different meaning in Perl 5, so try to avoid that word, I think
19:21 frettled It's just a matter of my vocabulary not having a one-to-one mapping with that used in the synopses.
19:22 frettled moritz_: When I think of «pass by reference/value/name», I think of more classical definitions as I learned them sixteen years ago, so it's probably polluted.
19:22 moritz_ we really need better user space documentation.
19:23 frettled AFAICT, «pass by alias» works exactly like «pass by reference» would, except for the Perl 5 meaning of reference.
19:23 moritz_ right.
19:26 frettled I think it might be better to use more traditional computer science terms :)
19:28 jlmoko joined #perl6
19:59 asciiville For anyone interested, I just pushed Plan B xSQLite3 to github.com/asciiville/xSQLite3. I just built it on Ubuntu 9.04 Server and Cent OS 5.3 and it works, but it is still bleeding edge at this point. :)
20:00 moritz_ asciiville++
20:06 icwiener joined #perl6
20:19 ljuwaidah joined #perl6
20:19 ljuwaidah left #perl6
20:25 frettled moritz_: I've used today's learning to blog a bit, and if you (or anyone else) have any corrections, suggestions for improvements or whatever, please let me know (or comment there): http://howcaniexplainthis.blogspot.com/2009/09/print-and-log-in-perl-6.html
20:26 moritz_ frettled: "Contextual variables follow a lexical call path." s/lexical/dynamic/
20:27 frettled Thanks :D
20:30 jlmoko left #perl6
20:33 pmichaud back (briefly) from errands
20:36 frettled pmichaud++ for Rakudo day blog entry, that was really nice.
20:36 frettled (and it gave me something for Iron Man, haha :D)
20:37 moritz_ pmichaud: it would be nice if you could look at my recent p6c mail (split up compilation of the setting) in the next few days
20:37 pmichaud moritz_: will do
20:38 pmichaud moritz_: You missed option (4):  fix it so the   class Foo { ... };   syntax works
20:38 pmichaud (where the ... is literal here)
20:39 moritz_ pmichaud: that's also fine by me if you or jnthn can do it, but I don't think I can
20:39 pmichaud I'm looking to see where that syntax is defined again, though
20:40 pmichaud (in the synopses)
20:42 moritz_ S06:251, S03:@multiple
20:43 pmichaud it talks about ... for blocks there, but not for body-less class declarations
20:43 moritz_ grepping for 'yada' is simpler than grepping for '...' ;-)
20:43 moritz_ pmichaud: that's right - maybe we should ask for clarification from TimToady++
20:43 pmichaud istr there being a place in the synopses that explicitly said   "class Foo { ... };"  declared the symbol without requiring a later augment/is also
20:44 pmichaud anyway, if we can get "class Rat { ... };"  to work, then we can put that inside of Int.pm and others like it and not have to worry about the ordering
20:44 pmichaud (I think)
20:44 moritz_ that's right
20:45 pmichaud of the other 3 options, I'd go with #3 I think
20:46 moritz_ aye
20:46 sm` joined #perl6
20:49 frettled Hmm, S16:73 (or so) uses temp $*OUT - that's not valid anymore, is it?
20:50 moritz_ I think temp() is still specced, but NYI in rakudo
20:50 frettled Aha.
20:50 moritz_ though today you'd write that as my $*OUT = ... I think
21:05 kidd_ joined #perl6
21:07 frettled No, not quite.
21:07 frettled That doesn't restore scope.
21:07 frettled ouch, lousy phrasing.
21:07 timbunce joined #perl6
21:08 frettled What I meant was that $*OUT isn't restored when you return to the outer scope.
21:08 moritz_ it's not?
21:08 frettled Not in Rakudo today, at least.
21:08 moritz_ rakudo: my $*a = '3'; do { my $*a = 5; say $*a; }; say $*a;
21:08 p6eval rakudo 09b954: OUTPUT«5␤3␤»
21:10 frettled moritz_: but now you used a «my»
21:10 moritz_ 22:50 <@moritz_> though today you'd write that as my $*OUT = ... I think
21:10 frettled Ah, sorry, I think I'll go to bed, I missed your first «my».
21:10 moritz_ going to bed - not a bad idea
21:11 frettled I should've done it nearly two hours ago :)
21:11 frettled Good night!
21:11 moritz_ good night
21:18 literal will warnings be implemented as exceptions?
21:18 moritz_ aye
21:19 literal will a user be able to do something like "use warnings <FATAL>;" which will also apply to non-language warnings?
21:19 literal er... I mean :fatal of course.
21:19 moritz_ or maybe 'use fatal :warnings;'
21:19 literal yeah
21:19 moritz_ but I expect something along these lines, yes
21:25 sevvie joined #perl6
21:27 dalek rakudo: 205733f | moritz++ | build/PARROT_REVISION:
21:27 dalek rakudo: bump PARROT_REVISION to a value later than the pluggable_runcores merge
21:27 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/205733f972a021198510d58cdc45b83609a1107d
21:37 mikehh rakudo (09b9540) builds on parrot r41083 - make test / make spectest (up to r28195) PASS - Ubuntu 9.04 amd64 (g++)
21:41 masak joined #perl6
21:41 masak mberends: ping
21:43 japhb Any special incantation necessary to enable the Perl5 integration in Rakudo?
21:44 moritz_ japhb: you need to install blizkost
21:44 japhb moritz_, url?
21:44 japhb or 'use proto' ?
21:45 masak http://github.com/jnthn/blizkost/
21:45 moritz_ http://github.com/jnthn/blizkost/tree/master
21:45 masak japhb: I don't think proto lists blizkost, actually...
21:46 moritz_ rakudo: say 1 + eval('2+3', :lang<perl5>);
21:46 japhb OK, thanks
21:46 p6eval rakudo 09b954: OUTPUT«No applicable candidates found to dispatch to for 'infix:+'␤in Main (/tmp/kDXZ5PTnSu:2)␤»
21:46 moritz_ rakudo: say 1 + +eval('2+3', :lang<perl5>);
21:46 p6eval rakudo 09b954: OUTPUT«6␤»
21:46 masak jnthn++ # friendly and informative README file
21:47 japhb What is a "soft consonant"?
21:47 masak japhb: it's a slavic thing.
21:48 japhb Oh those crazy Slavs ...
21:49 masak japhb: if it's anything like Russian, it's not a "t" as it might be sounded in English, but more of a mixture between a "t" and a "d" (i.e. no aspiration), possibly with a barely sounded "s" after it.
21:49 japhb Interesting
21:49 masak phenny: tell mberends that I would be delighted if he could try and reproduce an issue I have with HTTP::Daemon right now. steps to reproduce are: check out latest versions of Druid, Web and H::D. fiddle PERL6LIB. run bin/web-druid. hit given URL. bam. error I get is in latest commit msg.
21:49 phenny masak: I'll pass that on when mberends is around.
21:50 Tene hi masak
21:50 masak Tene: hello, friend.
21:50 mberends masak: pong
21:50 phenny mberends: 21:49Z <masak> tell mberends that I would be delighted if he could try and reproduce an issue I have with HTTP::Daemon right now. steps to reproduce are: check out latest versions of Druid, Web and H::D. fiddle PERL6LIB. run bin/web-druid. hit given URL. bam. error I get is in latest commit msg.
21:50 japhb .oO( Is there a rule somewhere that romanization has to completely fail to capture the language nuances for people who don't *already* speak the language?)
21:50 masak Tene: how are the segfaults coming along?
21:50 Tene masak: the gf started work on the butterfly-winged female humanoid camelia.
21:50 Tene masak: I ran into a huge amount of family drama that has occupied almost all of my time.
21:50 arnsholt japhb: Well, there are two kinds of transcription
21:50 masak japhb: romanization is a projection, and projections are destructive by nature.
21:51 moritz_ masak++ # nice explanation
21:51 masak Tene: understood. I've been occupying myself in non-Web.pm ways too this weekend.
21:51 masak moritz_: thanks. are you able to attest to its veracity?
21:51 Tene I don't really have the mental energy left over to work on anything very taxing, sorry.
21:51 arnsholt The scholarly kind, which is essentially a one to one mapping of the writing system of the language onto the Latin alphabet (for example IAST for Devanagari)
21:52 japhb masak, While true, it seems doubtful that most romanization schemes have to project things *quite* so flat.  It's like choosing to project from 4 dimensions all the way to 2, instead of 3.
21:52 arnsholt The other kind is more aligned with how the text is read. For example when you transcribe consonant assimilation in Arabic
21:52 moritz_ masak: mostly, yes
21:52 masak Tene: no problem. as long as we're on the same page of what the next step is, we'll take it when the tuits are available.
21:53 japhb Tene, I am (among other things) working with your eval in NQP code today.  If/when it works for me, I'll let you know.
21:54 masak Wikipedia tells me I should use the term 'Palatalization'. http://en.wikipedia.org/wiki/Palatalization
21:54 Tene japhb: please feel free to harass me about anything.  I should be online all day today.
21:54 japhb Tene, OK, thank you
21:55 japhb arnsholt, thank you for the explanation
21:55 Tene masak: I'm going to try wrapping some other library and starting from scratch.  You have any preferences for non-mysql db software?
21:56 Tene I remember you mentioning sqlite?
21:56 masak Tene: that works. no real preference.
21:56 masak Tene: having _anything_ working from Rakudo will be a revolutionary thing.
21:57 arnsholt japhb: You're welcome. In short, transcription/transliteration is a really thorny problem. Especially when it comes to systems like Chinese and the stuff derived from it
21:57 japhb I thought someone got sqlite3 working?
21:57 arnsholt Or cuneiform, which is kind of weird as well
21:57 japhb coulda sworn I saw a u.p.o post about it
21:57 moritz_ japhb: yes, asciiville did
21:57 Tene oh, I remember someone mentioning that.
21:58 masak is there public runnable code somewhere?
21:58 moritz_ github.com/asciiville/xSQLite3
21:59 mberends masak: getting latest web, http-daemon, druid now...
21:59 Tene masak: looks parrot's SQLite3.pir file works.
22:00 Tene let's see why asciiville needed a C wrapper...
22:00 japhb nopaste?
22:00 masak mberends: my neighbournet is wonky-ish, so I might drop off without warning.
22:00 japhb oh, duh, topic
22:01 masak Tene: I hereby task you with managing the complexity of finding the best db solution for Web.pm, out of those that already exist and work. :)
22:01 KatrinaTheLamia joined #perl6
22:01 lisppaste3 japhb pasted "untitled" at http://paste.lisp.org/display/86672
22:01 japhb Tene, what am I doing wrong in the above paste?
22:02 Tene japhb: looks like there's no 'json' compiler that gets installed as a language.
22:02 Tene ls ~/parrot/lib/1.5.0-devel/languages/
22:02 Tene cardinal@  nqp/  parrot/  pct/perl6/pge/  tge/
22:03 japhb Tene, ah, so the failure is just in parrot's install code then ...
22:03 Tene no, nothing installs a JSON language.
22:03 Tene So, yes.
22:03 japhb bleah
22:03 Tene there's a JSON.pir installed in library/
22:04 japhb The downside of running from installed parrot is that it's easy to forget that the installed tree doesn't match the checkout ...
22:04 Tene there isn't a json language in the checkout, either.
22:04 japhb Tene, huh?  There is in mine ...
22:05 japhb $ ls parrot/compilers/json/
22:05 japhb JSON  JSON.pbc  JSON.pir  Makefile
22:05 Tene is that in the language search path?
22:05 masak mberends: random, disassociated thought about the upcoming proto reform: we should perhaps think a bit about how development of installed modules will work? (i.e. will the .pir files in the ~/.perl6lib dir take priority? and how to override that sanely?)
22:06 Tene japhb: no, that's not in the language search path.
22:06 Tene japhb: put it in runtime/parrot/languages/json/json.pir
22:06 KatrinaTheLamia joined #perl6
22:07 justatheory joined #perl6
22:08 rbaumer masak++ (and others?) # to get november test_wiki.sh running
22:09 masak rbaumer: right. I did that a few hours ago. forgot to alert you, sorry.
22:12 lisppaste3 tene pasted "masak++: this works" at http://paste.lisp.org/display/86673
22:12 masak xSQLite3 has now been assimi^W added to proto's projects.list.
22:12 masak Tene: that's great news. will you be here (my) tomorrow?
22:12 Tene When is that?
22:13 masak it's midnight now, so eight hours from now.
22:13 Tene Probably, unfortunately.
22:13 Tene I *should* be sleeping then, but I don't expect to be.
22:14 masak oki. I'll try that piece of code then and ping you when it doesn't work. :)
22:14 Tene masak: it works from ext/SQLite3/ in parrot's checkout
22:14 Tene I haven't checked to see if that's even installed.
22:14 Tene masak: I'll work on select and insert statements and such for now.
22:14 Tene 'night
22:15 masak Tene: no, it doesn't work from that dir on my box. :) getting "Null PMC access in get_pmc_keyed()"
22:16 masak Tene: excellent. keep up the good work. this will be great!
22:16 * masak &
22:17 Tene he didn't get my latest parrot commit before trying it. :)
22:18 KatrinaTheLamia joined #perl6
22:30 KatrinaTheLamia joined #perl6
22:32 mberends phenny, tell masak web-druid runs ok on Linux but web/make.log says "no rule to make target 'lib/Handler/HTTPDaemon.pir'": there is no Handler directory
22:32 phenny mberends: I'll pass that on when masak is around.
22:54 sevvie joined #perl6
23:05 asciiville joined #perl6
23:11 patspam joined #perl6
23:22 ihrd joined #perl6
23:22 ihrd left #perl6
23:25 kidd joined #perl6
23:31 sm` joined #perl6
23:48 drbean joined #perl6
23:58 Tene asciiville: Hi!
23:59 Tene asciiville: I've been working on using Parrot's SQLite3.pir from Rakudo.  I see that you had some kind of C wrapper around libsqlite.  I'm curious about why.

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

Perl 6 | Reference Documentation | Rakudo