»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by Juerd on 28 August 2009. |
|||
00:00
drbean left,
M_o_C joined
00:05
drbean_ joined
|
|||
TimToady | masak: yes, it's known | 00:13 | |
00:13
masak left
00:18
alester left
00:26
_jaldhar left
00:27
_jaldhar joined
00:31
SmokeMachine left,
SmokeMachine joined
00:36
sparc left
00:38
synth^2 joined
00:40
drbean joined
00:46
drbean left
00:50
drbean joined
00:51
_jaldhar left,
jrtayloriv left
09:42
ilogger2 joined
09:57
clintongormley joined
10:14
_jaldhar joined
10:18
_jaldhar left,
clintongormley left
10:20
clintongormley joined
10:25
masak joined
|
|||
masak | good day, #perl6. | 10:25 | |
moritz_ | oh hai masak | 10:26 | |
10:26
Whiteknight joined
|
|||
rbaumer | anyone know why I get: ** (HyperWhatever) is not yet implemented at line 151, near "6);\n " when try to make november? | 10:27 | |
moritz_ | rbaumer: is that the full error mesage? no file name included? | 10:28 | |
ah, I see the error | |||
masak | cognominal: ping | ||
rbaumer: that was a bug I fixed the other day. try pulling. | 10:29 | ||
oh! I haven't even committed the change yet! :/ | |||
moritz_ | masak: there's map(**6) in lib/CGI.pm:151 | ||
adding whitespaces fixes that | |||
should I, or do you want to do it? | 10:30 | ||
masak | hold on a minute... | ||
10:31
_jaldhar joined
|
|||
masak | the bug is a collaboration between viklund and moritz_, so to speak. one was sloppy, and the other one strict. | 10:32 | |
moritz_ breaks stuff early | 10:34 | ||
10:34
masak left
|
|||
moritz_ | rakudo: say (2**3).WHAT | 10:34 | |
p6eval | rakudo 6e2104: OUTPUT«Int()» | ||
moritz_ | rakudo++ # just using Rats where appropriate got me rid of some floating point rounding errors in SVG::Plot | 10:36 | |
cognominal | masak? | 10:39 | |
rbaumer | moritz_: to fix I have to change map(**6) into map(* *6) ? | 10:46 | |
moritz_ | rbaumer: yes. But I hope that masak is going to push a fix soon | 10:48 | |
10:53
sharada joined
10:54
masak joined
|
|||
masak | rbaumer: sorry about the delay. I fell off the 'net. | 10:57 | |
rbaumer: the fix is pushed now. | |||
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++. | 10:58 | ||
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 | |
So I wait till you got your cleanup done... | |||
masak | rbaumer: good to know. I will try to reproduce that failure on my end. | 11:03 | |
moritz_ | I have to say that it's really fun to develop things on top of Rakudo | 11:31 | |
the supported syntax is already very expressive | |||
and most of my typos are reported at compile time, with accurate line numbers | |||
masak | moritz_: aye. but for an outsider, the error messages can still be fairly LTA sometimes. | 11:34 | |
moritz_ | masak: I know | ||
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:35 | |
11:36
szabgab joined
|
|||
masak | phenny: tell cognominal that I have built a simple Theseus maze solver in Perl 6. gist.github.com/181565 | 11:37 | |
phenny | masak: I'll pass that on when cognominal is around. | ||
11:46
icwiener joined
11:47
hugme joined
|
|||
masak hugs hugme | 11:47 | ||
moritz_ | masak: hugme now hugs people who are added to new projects, as you suggested | 11:48 | |
hugme: add masak to json | |||
hugme hugs masak. Welcome to json! | |||
masak | excellent. | ||
moritz_ bows | |||
masak | very in-character. | ||
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. gist.github.com/181565 | ||
moritz_ | masak++ # calling a variable $wtf in the last gist | ||
masak | cognominal: yes, please give it a test run if you want. | ||
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. | ||
moritz_: can it be turned off? is it a parameter? | 11:51 | ||
moritz_ | masak: it is off by default, only if you pass a list of URL they become links | 11:52 | |
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. | ||
still, I think I'll attempt to do that simulation. | |||
the interesting part might well be to collect and present the results sensibly. | |||
moritz_: sounds like a sane default. moritz_++ | 11:54 | ||
11:54
agentzh joined
|
|||
moritz_ | I wonder what to do next. Legend boxes? xy plots? | 12:00 | |
masak | implement something that scratches someone's itch. | 12:01 | |
& # changing location | 12:02 | ||
12:02
masak left
|
|||
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:06
agentzh left
|
|||
Juerd | Aren't most things that have an acquired taste bad for ones health? :) | 12:11 | |
12:15
szabgab left
12:20
agentzh joined
12:22
masak joined
12:29
ab5tract joined
12:46
M_o_C joined
12:49
szabgab joined,
agentzh1 joined,
agentzh left
12:50
alester joined
12:55
carlin joined,
ruoso joined
13:03
agentzh1 left
13:05
alester left
13:06
alester joined
13:08
RonOreck_ joined
13:11
alester left
13:14
_jaldhar left
13:16
Chillance joined
13:17
agentzh joined
|
|||
ruoso | Hello! | 13:17 | |
masak | ruoso: o/ | 13:18 | |
ruoso still impressed by sun's failure to see the relevance of closures | 13:19 | ||
13:20
pmurias joined
|
|||
pmurias | ruoso: hi | 13:20 | |
ruoso | hi pmichaud | ||
hi pmurias | |||
ruoso have just read masak's tweet and can't agree more | 13:21 | ||
13:21
_jaldhar joined
|
|||
masak | ruoso: :) | 13:21 | |
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.' | |||
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... | ||
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. | ||
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. | ||
pmurias | if the tab completion was order according the time one last said something it would solve most problems | ||
ruoso | pmurias, that's what emacs do | ||
it looks for the closest longest-token-match | |||
at the times I was programming in Java (using emacs, since I can't stand those things they call IDE) | 13:25 | ||
and I had situations like | |||
pmurias | ruoso: you don't like eclipse? | ||
ruoso | public method foo() throws NamingException, RemoteException, EJBException { | ||
I just needed to ) tM-/, M-/, M-/ | 13:26 | ||
pmurias, not quite... and the idea of having to press the "GC NOW" button seems disturbing | |||
pmurias never saw the "GC NOW" button | 13:27 | ||
ruoso | it comes with a plugin, I guess | ||
so you can keep the memory footprint under control | 13:28 | ||
otherwise it gets 1GB RAM quite easily | |||
13:28
agentzh left
|
|||
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... | ||
masak | perhaps some nice static analysis could solve that. | 13:29 | |
ruoso: I use Eclipse, and I manage the repository from the command line. | |||
ruoso | masak, mispellings where? | ||
masak | ruoso: in named params sent in to those two methods. | ||
ruoso | masak, well, that was around 2005, maybe things improved since | 13:30 | |
masak, ah... I see.. | |||
masak, well, | |||
it's not quite that liberal | |||
masak | ruoso: not saying it's easy, or fun. I still need to tell Eclipse to update manually. | ||
ruoso | it only sends to BUILD the attributes declared by that class | ||
masak, ahhh... so it's still the same mess... | 13:31 | ||
masak | ruoso: ah, interesting. | ||
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 | ||
masak, so, in theory, BUILDALL can detect attributes that were unused | |||
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 | |
ruoso: but in general, I agree that Eclipse is very framework-y and heavy. | |||
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) | ||
masak thought warnings pragramata were enabled by default in Perl 6 | 13:35 | ||
ruoso not sure | |||
pmurias | aren't additional named params ignored in methods | 13:36 | |
? | |||
ruoso | pmurias, good question... I don't recall | 13:37 | |
masak | pmurias: not ignored, but collected into a *%_. | ||
pmurias | that's what i meant | ||
ruoso | *if* you have that into your signature | ||
masak | no. | ||
pmurias | it's default | ||
masak | by default. | ||
it can be turned off, though. | |||
ruoso | if you have no signature, that is... | ||
pmurias | so you can add hints in your subclasses | ||
masak: how do you turn this off? | 13:38 | ||
masak | pmurias: by 'is hidden' or some such. | ||
it's in S12. I don't fully grok it. | |||
yet. | |||
13:38
alester joined
|
|||
pmurias | is hidden has additional meaning | 13:39 | |
ruoso | S06:1524 | 13:40 | |
masak, pmurias, ^ | |||
13:40
nihiliad joined
|
|||
ruoso | the default *@_, *%_ only appears when you declare the signature with placeholders | 13:40 | |
it is *not* added by default otherwise | |||
masak | that's for functions. | ||
ruoso | signatures work the same | 13:41 | |
masak | S12:1858. | ||
ruoso | for every routine | ||
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.' | ||
ruoso | hmm... is that new? | 13:42 | |
pmurias | that's old | ||
ruoso | interesting... i never noticed it | ||
masak | it's connected somehow to inheritance. | 13:43 | |
I think it's in light of inheritance that 'is hidden' makes sense, too. | |||
ruoso | masak, not to inheritance in the classical sense.. but in the nextsame sense | ||
masak | ah. well, I don't fully grok 'nextsame' either. | 13:44 | |
13:44
agentzh joined
|
|||
ruoso | masak, nextsame is the concept that replaces Aspect-Oriented-Programming | 13:45 | |
masak | o_O | ||
now, _that_ is news to me! | |||
ruoso | masak, take a look at how custom Action classes in catalyst work | 13:46 | |
masak | ok. | ||
ruoso | for instance Catalyst::Action::SOAP::DocumentLiteral | 13:48 | |
pmurias | isn't nextsame the same thing like SUPER? | 13:49 | |
ruoso | not really | ||
SUPER only follows in one direction | |||
nextsame follows the MRO as if the method was not found | |||
13:49
alester left
|
|||
masak | it's also used with .wrap, isn't it? | 13:53 | |
ruoso | .wrap is not OO | 13:55 | |
.wrap is functional | |||
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 | ||
add RI processing in the p5 build system? | |||
* RI DSL | |||
ruoso | masak, please ellaborate, I'm not getting what you mean... | 13:57 | |
pmurias, we don't need to, the p5sv ri is entirely built in SMOP land | |||
we just need to set the correct RI in the SV* | |||
pmurias, ah... wait... | 13:58 | ||
I see what your question means nwo | |||
yes... we need to add RI processing into the p5 build system | 13:59 | ||
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:00 | |
ruoso wonders if we refer to the same thing by .wrap | 14:01 | ||
masak | thing like $handle = &thermo.wrap( { callwith( ($^t-32)/1.8 ) } ); | 14:03 | |
ruoso | rakudo: { print "World" }.wrap: { print "Hello "; callsame; say "!" } | ||
p6eval | rakudo 6e2104: OUTPUT«Method 'wrap' not found for invocant of class 'Block'» | ||
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)» | ||
ruoso | rakudo: (sub { print "World" }).wrap: { print "Hello "; callsame; say "!" } | ||
p6eval | rakudo 6e2104: ( no output ) | ||
ruoso | masak, I think nextsame in that context is not really the same as nextsame inside a method call | ||
masak | ruoso: that was my point. | ||
and it's also currently what bewilders me about nextsame et al. | 14:05 | ||
I mean, it's very pretty that they get to share keywords like that, and it does make sense. | |||
but it makes it slightly harder to fully embrace the semantics of it all. | |||
ruoso | masak, they probably work the same way | 14:06 | |
because they're just raising control exceptions I guess | |||
14:06
agentzh left
|
|||
masak | but what if I wanted to do an MRO-style nextsame withing a wrapping block, for example? | 14:06 | |
I don't have an example ready, but I imagine something like that could occur. | |||
ruoso | masak, "Every Routine object", not every "Code" object | ||
masak | does that change matters? | 14:07 | |
ruoso | yeah... it's a different semantic barrier | ||
masak, ah wait.. | |||
ENOCOFEE | |||
masak, what do you mean MRO without OO? | 14:08 | ||
14:08
agentzh joined
|
|||
masak | ruoso: I don't. I though one might want to wrap a method or a submethod. | 14:10 | |
ruoso really needs cofee | |||
ok... | |||
IIRC, you use self.nextsame when using OO | |||
and plain nextsame when using non-OO | |||
no... that's not the case... | 14:11 | ||
ruoso just looking at S12 | |||
masak, ok... I think I got it | 14:12 | ||
the difference is in the dispatcher | 14:13 | ||
the dispatcher is the one placing the implicit CONTROL block to manage nextsame calls | |||
when you dispatch a method as a method, you're in the OO dispatcher | |||
and then you have OO semantics on nextsame | |||
pmurias | ruoso: we can set the RIs from an XS module can't we? | ||
ruoso | when you invoke a method as a routine, you're in the regular multi dispatcher | ||
pmurias, we can.... what do you have in mind? | 14:14 | ||
ruoso goes grab a coffee | |||
masak | ruoso: ah, ok. | ||
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:15 | |
ruoso | pmurias, we're already building a custom p5 | 14:19 | |
there's no gain in making it depend on later loading a XS module | |||
except for the "no need to hack the p5 build system" part | 14:20 | ||
ruoso .oO(thanks god for the domestic espresso machine) | 14:21 | ||
pmurias, but if you think that will make things easier in the start, feel free to do it | 14:24 | ||
pmurias, we could make all the "replace the message code by a fully-implemented one" in the XS | 14:25 | ||
14:30
agentzh left
14:31
frew_ joined
14:34
agentzh joined
|
|||
ruoso | after this discussion with masak I actually realized that SMOP won't be penalized to support nextsame | 14:40 | |
it's just that only full high-level objects will support it | |||
lower-level objects will simply fail if you try it | |||
since they don't have a high-level MRO | 14:41 | ||
what would be the name of the exception raised by nextsame/callsame/nextwith/callwith? | |||
TimToady, actually, is the idea of nextsame et al being handled by CONTROL sane? | 14:42 | ||
considering return is handled by CONTROL, it fits quite well | 14:43 | ||
14:45
icwiener left
|
|||
ruoso | thinking about nextsame, I think the capture sent to the current routine need to be available somehow | 14:46 | |
14:47
agentzh left
14:48
jan_ joined
|
|||
ruoso | hmm... I just realized S12 doesn't spec pluggable MRO | 14:52 | |
it would probably make sense to have a .^mro that returns an object that implements the mro algorithm, so you can replace it... | 14:53 | ||
14:53
ruoso left
14:54
ruoso joined,
Psyche^ joined
|
|||
ruoso | one interesting question is wether it is stored in the metaclass or in the type object... | 14:55 | |
putting in another way | |||
if you can customize the MRO for one specific type object, or just for every types of that metaclass instance | |||
14:58
frew___ joined
|
|||
ruoso lunch & | 15:01 | ||
15:04
bionoid joined,
leedo joined,
bionoid is now known as Guest98709,
alester joined
|
|||
pugs_svn | r28194 | colomon++ | [t/spec] Add tests to make sure Rats play nicely with Nums in basic arithmetic. | 15:05 | |
15:05
colomon joined
|
|||
pugs_svn | r28195 | colomon++ | [t/spec] Further rewriting of sine tests, and add cosine into the new scheme. | 15:06 | |
15:10
Psyche^ is now known as Patterner
|
|||
dalek | kudo: 09b9540 | (Solomon Foster)++ | src/setting/ (2 files): Provide Any.sin, Any.cos, Complex.sin, and Complex.cos. |
15:11 | |
colomon | rakudo: say 360.0.sin("degrees"); | 15:16 | |
p6eval | rakudo 6e2104: OUTPUT«-2.44921270764475e-16» | ||
15:16
Hale-Bopp joined
|
|||
frettled is rewriting his plog subroutine using contextuals, da-dum-dee-dah. :) | 15:16 | ||
colomon | pmichaud, moritz_: 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:18 | |
15:19
frew___ left
15:23
Hale-Bopp left,
colomon left
|
|||
frettled | Hmm, is anyone else getting the most recent (09b954…) version of rakudo to compile? | 15:24 | |
15:24
frew__ joined
|
|||
frettled tries a fresh «git clone» instead of updating with «git pull». | 15:27 | ||
15:27
timbunce joined
|
|||
carlin | frettled: worked fine here, using the recommended parrot version | 15:28 | |
frettled | (and a new Configure) | ||
carlin: okay, I probably fudged the build process, then. | 15:29 | ||
carlin | or I didn't clean everything out properly | ||
frettled | Using a fresh clone and fresh Configure ought to do the trick, then. | 15:30 | |
15:36
Hale-Bopp joined
|
|||
carlin | freshly built parrot worked too (ubuntu 9.04 x86_64) | 15:37 | |
frettled | Yep, it works now. Great. | 15:43 | |
frettled mumbles something about being a big clutz. | 15:44 | ||
rakudo: say Temporal.new().iso8601 | 15:45 | ||
p6eval | rakudo 6e2104: OUTPUT«Null PMC access in getprop()in Main (src/gen_setting.pm:3469)» | ||
15:45
PhatEddy joined
|
|||
carlin | rakudo: say Temporal | 15:46 | |
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. | ||
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,
abra left
15:51
abra joined
|
|||
frettled | rakudo: say Temporal.Time.new | 15:51 | |
p6eval | rakudo 6e2104: OUTPUT«Null PMC access in getprop()in Main (src/gen_setting.pm:3469)» | ||
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 | |
15:52
szabgab left
|
|||
p6eval | rakudo 6e2104: OUTPUT«Confused at line 2, near "(:date(\u200bTe"in Main (src/gen_setting.pm:3469)» | 15:52 | |
PhatEddy | perl6: sub foo($a) {say $a}; my $x; foo $x = 'hello' | 15:53 | |
15:53
charsbar joined
|
|||
p6eval | pugs: OUTPUT«*** Can't modify constant item: VBool True at /tmp/bsklU30S4X line 1, column 30 - line 2, column 1» | 15:53 | |
..elf 28195, rakudo 09b954: OUTPUT«hello» | |||
frettled | rakudo: Temporal::DateTime.new(:date(Temporal::Date.new(:year(2010), :month(4)))).say | 15:54 | |
p6eval | rakudo 09b954: OUTPUT«Use of uninitialized valueUse of uninitialized valueUse of uninitialized value» | ||
15:54
timbunce left
|
|||
frettled has confusd frettled regarding Temporal::DateTime. Again. | 15:55 | ||
PhatEddy | I sort of think pugs has the right idea here but am not sure where to check ... | ||
frettled | pugs: sub foo($a) {say $a}; my $x; foo ($x = 'hello') | 15:57 | |
p6eval | pugs: OUTPUT«hello» | ||
16:03
charsbar left
|
|||
pmurias | ruoso: wouldn't it depend on the metaclass, as the metaclass is the one which implements ^!dispatch? | 16:05 | |
16:08
charsbar joined
|
|||
PhatEddy | rakudo: sub foo($a) {say $a}; foo 'hello', 'goodbye' | 16:10 | |
p6eval | rakudo 09b954: OUTPUT«too many arguments passed (2) - 1 param expectedin sub foo (/tmp/lJ2eymXZLb:1)called from Main (/tmp/lJ2eymXZLb:2)» | ||
PhatEddy | ok ... | ||
rakudo: sub foo($a) {say $a}; my $x; foo $x = 'hello', 'goodbye' | 16:11 | ||
p6eval | rakudo 09b954: OUTPUT«hello goodbye» | ||
PhatEddy | still ok? | ||
perl6: sub foo($a) {say $a}; my $x; foo $x = 'hello', 'goodbye' | 16:12 | ||
p6eval | rakudo 09b954: OUTPUT«hello goodbye» | ||
..elf 28195: OUTPUT«hello» | |||
..pugs: OUTPUT«*** Can't modify constant item: VBool True at /tmp/Ws7rZj6WrW line 1, column 30 - line 2, column 1» | |||
16:15
tak11 joined,
ab5tract left
16:16
charsbar left
16:18
asciiville joined,
christine left,
christine joined
16:19
meppl joined
|
|||
carlin | std: sub foo($a) {say $a}; my $x; foo $x = 'hello'; | 16:22 | |
p6eval | std 28195: OUTPUT«ok 00:03 40m» | ||
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,
charsbar left
16:27
frew_ left
|
|||
frettled | std: sub foo($a) {say $a}; my $x; foo $x = 'hello', 'world'; | 16:30 | |
p6eval | std 28195: OUTPUT«ok 00:03 41m» | ||
PhatEddy | std: sub foo($a) {say $a}; my $x; foo 'hello', 'world'; | ||
p6eval | std 28195: OUTPUT«ok 00:03 41m» | ||
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)» | ||
frettled | If masak had been unidle, a rakudobug would have been submitted thrice already. ;) | 16:32 | |
16:32
payload joined
|
|||
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}" | ||
p6eval | rakudo 09b954: OUTPUT«September 2009» | ||
frettled | Aha. | ||
mberends | frettled: not the easiest API ;) | ||
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)» | ||
frettled | arghle. | ||
rakudo: my $dt=Time.localtime; say "{$dt.iso8601}" | |||
p6eval | rakudo 09b954: OUTPUT«Method 'localtime' not found for invocant of class ''» | ||
frettled | rakudo: my $dt=Time.time; say "{$dt.iso8601}" | 16:35 | |
p6eval | rakudo 09b954: OUTPUT«Method 'time' not found for invocant of class ''» | ||
frettled | (good) | ||
mberends | sorry, localtime NYI. zones, leap seconds and all that :/ | ||
frettled | rakudo: my $dt=Time.gmtime; say "{$dt.iso8601}" | ||
p6eval | rakudo 09b954: ( no output ) | ||
mberends | frettled: add a .date or .time after $dt | 16:36 | |
frettled | rakudo: my $dt=Time.gmtime; say "{$dt.date.iso8601}" | ||
p6eval | rakudo 09b954: OUTPUT«2009-09-06» | ||
frettled | rakudo: my $dt=Time.gmtime; say "{$dt.datetime.iso8601}" # ;) | ||
p6eval | rakudo 09b954: OUTPUT«Method 'datetime' not found for invocant of class ''» | ||
carlin | rakudo: class Foo {}; multi method Foo {}; | 16:37 | |
p6eval | rakudo 09b954: OUTPUT«push_pmc() not implemented in class 'NameSpace'» | ||
16:39
szabgab joined
|
|||
frettled | mberends: now if I only could convince rakudo to open a file for append, I'd be happy :D | 16:40 | |
mberends | frettled: is there no :a yet? gosh! | 16:41 | |
16:42
abra left
|
|||
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
|
|||
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 | ||
dukeleto gives /me a cookie | |||
16:45
charsbar joined,
charsbar left
|
|||
carlin | 'Night all | 16:46 | |
16:46
carlin left
|
|||
frettled | Huh, now it works. I wonder what… | 16:47 | |
mberends | rakudo: my $t=Time.gmtime; say "{$t.date} {$t.time}" | ||
p6eval | rakudo 09b954: ( no output ) | ||
16:48
charsbar joined
|
|||
mberends | rakudo: my $dt=Time.gmtime; say ~$dt.date | 16:50 | |
p6eval | rakudo 09b954: ( no output ) | ||
mberends | rakudo: say "I'm not dead yet!" | ||
p6eval | rakudo 09b954: OUTPUT«I'm not dead yet!» | 16:51 | |
pmichaud | good midday, #perl6 | ||
frettled | heh | ||
I think I may have a rakudobug regarding comments, I'll see if I can reproduce it. | |||
I was only going to write a simple blog entry. :D | |||
16:52
charsbar left
|
|||
ruoso | pmurias, you mean the MRO? it is implemented inside .^dispatch, not .^!dispatch | 16:52 | |
actually, it seems to be inside .^parent | |||
which is used by .^can, which, in turn, is used by .^dispatch | |||
pmichaud, have you backlogged from today? | 16:53 | ||
pmichaud, good midday, first ;) | |||
16:54
justatheory joined
16:55
charsbar joined,
charsbar left
|
|||
frettled | Phew, no rakudobug, phew, phew. | 16:56 | |
Just another possible one instead regarding file handles. :D | |||
frettled grabs some food before double-checking. | 16:57 | ||
ruoso | pmichaud, anyway, take a look at my wonderings about nextsame and control exceptions... | ||
pmichaud | back from backlogging. jnthn++ is the nextsame expert at the moment | 16:58 | |
but essentially I think that 'nextsame' does the same thing "under the hood" | |||
17:00
beggars joined
|
|||
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:01 | |
pmichaud | would seem possible, although it might reduce some opportunities for optimization | 17:02 | |
masak | frettled: here I am, un-idle. | ||
ruoso | but nextsame/callsame seems to require it... | ||
masak | frettled: could you please summarize for me what needs rakudobugging? | ||
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 | |
(if one plans to implement nextsame/callsame in perl 6, then yes, it's probably needs to be as you describe.) | |||
(but it also might be far slower for something that really needs to be fast.) | |||
ruoso | I see.. | 17:04 | |
I, in fact, tend to model things using Perl 6 semantics and optimize later | |||
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
|
|||
asciiville | masak: I live by that philosophy... | 17:05 | |
17:05
charsbar left
|
|||
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 nodein Main (src/gen_setting.pm:3469)» | ||
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 | |
vs callsame et al throwing an exception that is handled by the dispatcher (oo or multi) | |||
17:12
charsbar joined
17:13
charsbar left
|
|||
pmichaud | right now rakudo uses the first mechanism | 17:18 | |
ruoso | the semantics around it have some ramifications that need to be considered... | 17:20 | |
17:20
charsbar joined
|
|||
ruoso | method foo { nextsame; CONTROL { ... } } | 17:20 | |
pmichaud | yes. | 17:21 | |
ruoso | so I think it's time to ask TimToady about it... | 17:23 | |
;) | |||
moritz_ | asciiville: commenting on your blog fails with "invalid request" when javascript is disabled (no warning about that either) | 17:40 | |
PhatEddy | perl6: sub my { say 'hello'}; &my(); | 17:42 | |
p6eval | pugs, rakudo 09b954: OUTPUT«hello» | ||
..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 | |||
../home/evalenv/pugs/misc… | |||
17:44
sri_kraih left
|
|||
ruoso | mildew: sub my { say 'hello' }; &my() | 17:44 | |
p6eval | mildew: OUTPUT«hello» | ||
PhatEddy | std: sub my { say 'hello'}; &my(); | ||
ruoso | I guess if mildew could get into the perl6 eval list | ||
p6eval | std 28195: OUTPUT«ok 00:04 55m» | ||
moritz_ | mildew: say "foo".uc | 17:45 | |
17:45
sri_kraih joined,
gregoreee joined
|
|||
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 | ||
you need users. | 17:46 | ||
17:46
gregoreee left
|
|||
moritz_ | users who try to write applications in mildew, and kick your ass if you don't implement stuff like uc | 17:46 | |
ruoso | moritz_, well... at least it points the line and the file that needs to be patched ;) | 17:47 | |
moritz_ | yes, that's a good thing | 17:48 | |
and IMHO the reason why you don't have users is lack of publicity | 17:49 | ||
frettled | masak: irclog.perlgeek.de/perl6/2009-09-06#i_1472085 and onwards, see PhatEddy's attempts, and the tests against STD. | ||
17:50
Tene joined
|
|||
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:51 | |
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. | ||
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? | ||
lambdabot | Unknown command, try @list | ||
ruoso | that's my fault indeed.. | ||
PhatEddy | rakudo: &foo('abc') | ||
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
|
|||
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:54 | |
PhatEddy | Think I'll plan to submit rakudobugs on that last one and the 'Past::VAL' node one | 17:55 | |
masak | frettled: thank you. it's not that hard. :) | 17:56 | |
dukeleto | broken links on wikipedia about PGE: en.wikipedia.org/wiki/Parser_Grammar_Engine | 17:58 | |
PhatEddy | std: sub for($a) { $a }; &for('abc') { say 'a' } | 18:00 | |
p6eval | std 28195: ( no output ) | 18:01 | |
frettled | masak: hee-hee. | ||
Oh, I think I have that possible rakudo bug, BTW. | |||
This works: open($filename, :a); | 18:02 | ||
This does not work: open ($filename, :a); | |||
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 ( … | ||
p6eval | std 28195: OUTPUT«===SORRY!===Malformed my at /tmp/sD1LtI8x6G line 1:------> my ⏏abc() expecting any of: declarator multi_declarator scoped declarator typenameFAILED 00:02 36m» | ||
PhatEddy | So what does no output mean from std? | ||
frettled | std: sub for($a) { $a }; &for('abc') { say 'a' } | 18:04 | |
p6eval | std 28195: OUTPUT«===SORRY!===Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/AU3UHDz0PA line 1:------> sub for($a) { $a }; &for('abc') ⏏{ say 'a' } expecting any of: bracketed infix infix | ||
..stopper… | |||
frettled | PhatEddy: same as in rakudo; eval timeout, apparently. | ||
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)» | ||
PhatEddy | std: sub for($a) { $a }; for('abc') { say 'a' } | ||
p6eval | std 28195: OUTPUT«===SORRY!===for() interpreted as postdeclared function call at line 1; please use whitespace instead of parensUnexpected block in infix position (two terms in a row) at /tmp/6cY7cdrsNq line 1:------> sub for($a) { $a }; for('abc') ⏏{ say 'a' | ||
..}[0… | |||
PhatEddy | std: sub if($a) { $a }; | 18:06 | |
p6eval | std 28195: OUTPUT«ok 00:02 39m» | ||
PhatEddy | std: sub for($a) { $a }; | 18:07 | |
p6eval | std 28195: OUTPUT«ok 00:03 39m» | ||
lisppaste3 | frettled pasted "List vs. method arguments in Rakudo" at paste.lisp.org/display/86658 | 18:08 | |
18:09
justatheory left
|
|||
moritz_ | frettled: it's supposed to be like that | 18:09 | |
unlike Perl 5, whitespaces are used to disambiguate stuff | 18:10 | ||
frettled | or, in this case, to ambiguate stuff ;) | 18:11 | |
moritz_ | so you pass a list as the first positional parameter | ||
and open() treats it as a Str | |||
so it's as if you passed ~($filename, :a); | |||
as the only argument | |||
frettled | Yes, I understand what happens. | 18:12 | |
But then we also have the following, right? loop ($i = 0; $i < 10; $i++) | 18:13 | ||
18:14
alester left
18:15
payload left
|
|||
moritz_ | we do | 18:16 | |
which is kind of a fossile, IMHO | |||
frettled | M-hm. | ||
moritz_ | it's not a sub call, but a special syntax | ||
frettled | Yes, one that's shared with other control statement-like keywords, right? | 18:17 | |
It would be the same with if, while, for, … | |||
moritz_ | actually not | ||
if, while, for etc. don't require parenthesis | |||
loop does | |||
frettled | No, they don't require them, but they allow them? | 18:18 | |
moritz_ | they usually allow arbitrary expressions | 18:19 | |
which means also (...), if there's a space before it | |||
frettled | yep | 18:20 | |
PhatEddy | std: sub foo {say 'hello'}; foo() {} | ||
p6eval | std 28195: OUTPUT«===SORRY!===Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/Aff2ETdAZk line 1:------> sub foo {say 'hello'}; foo() ⏏{} expecting any of: bracketed infix infix stopper | ||
..standard st… | |||
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)» | ||
frettled | This has somehow escaped my attention earlier. I think it's a confusing and apparently inconsistent use of significant whitespace. | ||
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. | ||
PhatEddy | I think that would make on last rakudobug for today | ||
18:23
icwiener left
|
|||
PhatEddy | sorry for the signal to noise ratio today ... | 18:23 | |
frettled | PhatEddy: hmm? Lots of signal here. | ||
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» | ||
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. :) | ||
frettled | masak: if someone is viewing it the wrong way, it's most likely because it's not simple ;) | ||
masak | frettled: the rule is: "if there's no whitespace between the word and the parens, it's a function call" | ||
frettled | masak: plus sub rules describing when it's a list and when it's part of a control structure. | 18:26 | |
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
|
|||
masak | frettled: not sure I follow you now. | 18:27 | |
what are those sub-rules you're referring to? | |||
feel free to respond while I bike back home. :) | 18:28 | ||
18:28
masak left
|
|||
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:38
PhatEddy left
18:40
ruoso left
18:46
tak11 left
18:47
sri_kraih left,
sri_kraih_ is now known as sri_kraih
18:48
tak11 joined
18:50
masak joined
|
|||
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) | ||
masak | frettled: yes. a moments thought will reveal why. | ||
s/ts/t's/ | 18:53 | ||
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)» | ||
masak | frettled: missing semicolon. | ||
frettled | ah | 18:55 | |
rakudo: sub foo ($a, $b?) { given $b { when 1 { say "1"; }; default { say "Def." ~ $b; } } foo(4); | |||
p6eval | rakudo 09b954: OUTPUT«Confused at line 2, near "foo(4);"in Main (src/gen_setting.pm:3469)» | ||
frettled | duh, again. | ||
rakudo: sub foo ($a, $b?) { given $b { when 1 { say "1"; }; default { say "Def." ~ $b; } }; foo(4); | |||
p6eval | rakudo 09b954: ( no output ) | ||
masak | silly p6eval... | ||
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)» | ||
frettled | aha, duh. | ||
rakudo: sub foo ($a, $b?) { given $b { when 1 { say "1"; }; default { say "Def." ~ $b; } } }; foo(1); foo(4); | |||
p6eval | rakudo 09b954: OUTPUT«Use of uninitialized valueUse of uninitialized valueDef.Use of uninitialized valueUse of uninitialized valueDef.» | ||
frettled | </spam> | ||
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)» | ||
araujo | well | ||
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++) | ||
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 :) | 18:59 | |
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 - 1Def.4» | ||
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 valueUse of uninitialized valueDef.» | ||
19:03
masak left
|
|||
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
|
|||
frettled | Shouldn't that have worked? | 19:05 | |
masak | frettled: um, in 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 | |
19:06
ruoso joined
|
|||
frettled | masak: 15:56 PhatEddy I sort of think pugs has the right idea here but am not sure where to check ... | 19:07 | |
masak: I was wisely keeping my claptrap shut regarding the validity :) | 19:08 | ||
19:10
masak left,
masak joined
|
|||
masak | I'm barely connected today, it would seem. :/ | 19:10 | |
frettled | masak: I can't blame you, I'm not making it easy. :d | 19:11 | |
std: sub foo ($a is rw) { $a ~= "- OH HAI"; say $a; }; sub bar ($a) { foo($a); }; bar("HELO"); | |||
p6eval | std 28195: OUTPUT«ok 00:04 40m» | ||
frettled | Okay, does that mean I can submit a rakudobug now? :D | 19:12 | |
masak | no. | ||
19:13
rblasch joined
|
|||
masak | you're modifying $a. | 19:13 | |
you're not allowed to do that. | |||
moritz_ | actually it should complain already at signature binding time | ||
ie during the dispatch | |||
frettled | Hrm, shouldn't std complain, then? | 19:14 | |
moritz_ | no | ||
it'd need to execute the code to be able to complain | |||
frettled | rakudo: sub foo ($a is copy) { $a ~= "- OH HAI"; say $a; }; sub bar ($a) { foo($a); }; bar("HELO"); | ||
p6eval | rakudo 09b954: OUTPUT«HELO- OH HAI» | ||
masak | frettled: no, because it doesn't bind signatures... | ||
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. | |||
moritz_ | today it's just a (smart) parser | ||
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 - OHHAI» | ||
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 - OHHELO - OHHAI» | ||
frettled | Aha. | ||
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 | ||
(if the value passed is a variable) | |||
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:18
masak left
|
|||
moritz_ | frettled: the default is to pass by read-only alias | 19:19 | |
frettled | moritz_: yes, I saw that, but the use of «alias» wasn't something that triggered «that must mean reference» :) | 19:20 | |
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. | ||
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. | ||
frettled | AFAICT, «pass by alias» works exactly like «pass by reference» would, except for the Perl 5 meaning of reference. | 19:23 | |
moritz_ | right. | ||
frettled | I think it might be better to use more traditional computer science terms :) | 19:26 | |
19:28
jlmoko joined
|
|||
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. :) | 19:59 | |
moritz_ | asciiville++ | 20:00 | |
20:06
icwiener joined
20:19
ljuwaidah joined,
ljuwaidah left
|
|||
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): howcaniexplainthis.blogspot.com/200...erl-6.html | 20:25 | |
moritz_ | frettled: "Contextual variables follow a lexical call path." s/lexical/dynamic/ | 20:26 | |
frettled | Thanks :D | 20:27 | |
20:30
jlmoko left
|
|||
pmichaud | back (briefly) from errands | 20:33 | |
frettled | pmichaud++ for Rakudo day blog entry, that was really nice. | 20:36 | |
(and it gave me something for Iron Man, haha :D) | |||
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 | ||
moritz_: You missed option (4): fix it so the class Foo { ... }; syntax works | 20:38 | ||
(where the ... is literal here) | |||
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 | ||
(in the synopses) | 20:40 | ||
moritz_ | S06:251, S03:@multiple | 20:42 | |
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 '...' ;-) | ||
pmichaud: that's right - maybe we should ask for clarification from TimToady++ | |||
pmichaud | istr there being a place in the synopses that explicitly said "class Foo { ... };" declared the symbol without requiring a later augment/is also | ||
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 | ||
(I think) | |||
moritz_ | that's right | ||
pmichaud | of the other 3 options, I'd go with #3 I think | 20:45 | |
moritz_ | aye | 20:46 | |
20:46
sm` joined
|
|||
frettled | Hmm, S16:73 (or so) uses temp $*OUT - that's not valid anymore, is it? | 20:49 | |
moritz_ | I think temp() is still specced, but NYI in rakudo | 20:50 | |
frettled | Aha. | ||
moritz_ | though today you'd write that as my $*OUT = ... I think | 20:51 | |
21:05
kidd_ joined
|
|||
frettled | No, not quite. | 21:07 | |
That doesn't restore scope. | |||
ouch, lousy phrasing. | |||
21:07
timbunce joined
|
|||
frettled | What I meant was that $*OUT isn't restored when you return to the outer scope. | 21:08 | |
moritz_ | it's not? | ||
frettled | Not in Rakudo today, at least. | ||
moritz_ | rakudo: my $*a = '3'; do { my $*a = 5; say $*a; }; say $*a; | ||
p6eval | rakudo 09b954: OUTPUT«53» | ||
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 | ||
frettled | Ah, sorry, I think I'll go to bed, I missed your first «my». | ||
moritz_ | going to bed - not a bad idea | ||
frettled | I should've done it nearly two hours ago :) | 21:11 | |
Good night! | |||
moritz_ | good night | ||
literal | will warnings be implemented as exceptions? | 21:18 | |
moritz_ | aye | ||
literal | will a user be able to do something like "use warnings <FATAL>;" which will also apply to non-language warnings? | 21:19 | |
er... I mean :fatal of course. | |||
moritz_ | or maybe 'use fatal :warnings;' | ||
literal | yeah | ||
moritz_ | but I expect something along these lines, yes | ||
21:25
sevvie joined
|
|||
dalek | kudo: 205733f | moritz++ | build/PARROT_REVISION: bump PARROT_REVISION to a value later than the pluggable_runcores merge |
21:27 | |
21:31
rblasch left
|
|||
mikehh | rakudo (09b9540) builds on parrot r41083 - make test / make spectest (up to r28195) PASS - Ubuntu 9.04 amd64 (g++) | 21:37 | |
21:40
sharada left
21:41
masak joined
|
|||
masak | mberends: ping | 21:41 | |
21:42
asciiville left
|
|||
japhb | Any special incantation necessary to enable the Perl5 integration in Rakudo? | 21:43 | |
moritz_ | japhb: you need to install blizkost | 21:44 | |
japhb | moritz_, url? | ||
or 'use proto' ? | |||
masak | github.com/jnthn/blizkost/ | 21:45 | |
moritz_ | github.com/jnthn/blizkost/tree/master | ||
masak | japhb: I don't think proto lists blizkost, actually... | ||
moritz_ | rakudo: say 1 + eval('2+3', :lang<perl5>); | 21:46 | |
japhb | OK, thanks | ||
p6eval | rakudo 09b954: OUTPUT«No applicable candidates found to dispatch to for 'infix:+'in Main (/tmp/kDXZ5PTnSu:2)» | ||
moritz_ | rakudo: say 1 + +eval('2+3', :lang<perl5>); | ||
p6eval | rakudo 09b954: OUTPUT«6» | ||
masak | jnthn++ # friendly and informative README file | ||
japhb | What is a "soft consonant"? | 21:47 | |
masak | japhb: it's a slavic thing. | ||
21:47
sevvie left
|
|||
japhb | Oh those crazy Slavs ... | 21:48 | |
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 | ||
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. | ||
phenny | masak: I'll pass that on when mberends is around. | ||
Tene | hi masak | 21:50 | |
masak | Tene: hello, friend. | ||
mberends | masak: pong | ||
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. | ||
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?) |
||
masak | Tene: how are the segfaults coming along? | ||
Tene | masak: the gf started work on the butterfly-winged female humanoid camelia. | ||
masak: I ran into a huge amount of family drama that has occupied almost all of my time. | |||
arnsholt | japhb: Well, there are two kinds of transcription | ||
masak | japhb: romanization is a projection, and projections are destructive by nature. | ||
moritz_ | masak++ # nice explanation | 21:51 | |
masak | Tene: understood. I've been occupying myself in non-Web.pm ways too this weekend. | ||
moritz_: thanks. are you able to attest to its veracity? | |||
Tene | I don't really have the mental energy left over to work on anything very taxing, sorry. | ||
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) | ||
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 | ||
moritz_ | masak: mostly, yes | ||
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:52
tak11 left
|
|||
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:53 | |
masak | Wikipedia tells me I should use the term 'Palatalization'. en.wikipedia.org/wiki/Palatalization | 21:54 | |
Tene | japhb: please feel free to harass me about anything. I should be online all day today. | ||
japhb | Tene, OK, thank you | ||
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? | ||
I remember you mentioning sqlite? | 21:56 | ||
masak | Tene: that works. no real preference. | ||
Tene: having _anything_ working from Rakudo will be a revolutionary thing. | |||
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? | ||
arnsholt | Or cuneiform, which is kind of weird as well | ||
japhb | coulda sworn I saw a u.p.o post about it | ||
moritz_ | japhb: yes, asciiville did | ||
Tene | oh, I remember someone mentioning that. | ||
masak | is there public runnable code somewhere? | 21:58 | |
moritz_ | github.com/asciiville/xSQLite3 | ||
mberends | masak: getting latest web, http-daemon, druid now... | 21:59 | |
Tene | masak: looks parrot's SQLite3.pir file works. | ||
let's see why asciiville needed a C wrapper... | 22:00 | ||
masak | mberends: my neighbournet is wonky-ish, so I might drop off without warning. | ||
japhb | nopaste? | ||
22:00
KatrinaTheLamia left
|
|||
japhb | oh, duh, topic | 22:00 | |
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 | |
22:01
KatrinaTheLamia joined
|
|||
lisppaste3 | japhb pasted "untitled" at paste.lisp.org/display/86672 | 22:01 | |
japhb | Tene, what am I doing wrong in the above paste? | ||
Tene | japhb: looks like there's no 'json' compiler that gets installed as a language. | 22:02 | |
ls ~/parrot/lib/1.5.0-devel/languages/ | |||
cardinal@ nqp/ parrot/ pct/perl6/pge/ tge/ | |||
japhb | Tene, ah, so the failure is just in parrot's install code then ... | 22:03 | |
Tene | no, nothing installs a JSON language. | ||
So, yes. | |||
japhb | bleah | ||
Tene | there's a JSON.pir installed in library/ | ||
22:04
Whiteknight left
|
|||
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 | |
22:04
clintongormley left
|
|||
Tene | there isn't a json language in the checkout, either. | 22:04 | |
japhb | Tene, huh? There is in mine ... | ||
$ ls parrot/compilers/json/ | 22:05 | ||
JSON JSON.pbc JSON.pir Makefile | |||
Tene | is that in the language search path? | ||
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?) | ||
Tene | japhb: no, that's not in the language search path. | 22:06 | |
22:06
KatrinaTheLamia left
|
|||
Tene | japhb: put it in runtime/parrot/languages/json/json.pir | 22:06 | |
22:06
KatrinaTheLamia joined
22:07
justatheory joined
22:08
KatrinaTheLamia left
|
|||
rbaumer | masak++ (and others?) # to get november test_wiki.sh running | 22:08 | |
22:09
timbunce left
|
|||
masak | rbaumer: right. I did that a few hours ago. forgot to alert you, sorry. | 22:09 | |
22:11
icwiener left
|
|||
lisppaste3 | tene pasted "masak++: this works" at paste.lisp.org/display/86673 | 22:12 | |
masak | xSQLite3 has now been assimi^W added to proto's projects.list. | ||
Tene: that's great news. will you be here (my) tomorrow? | |||
Tene | When is that? | ||
masak | it's midnight now, so eight hours from now. | 22:13 | |
Tene | Probably, unfortunately. | ||
I *should* be sleeping then, but I don't expect to be. | |||
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 | ||
I haven't checked to see if that's even installed. | |||
masak: I'll work on select and insert statements and such for now. | |||
'night | |||
masak | Tene: no, it doesn't work from that dir on my box. :) getting "Null PMC access in get_pmc_keyed()" | 22:15 | |
Tene: excellent. keep up the good work. this will be great! | 22:16 | ||
masak & | |||
22:16
masak left
|
|||
Tene | he didn't get my latest parrot commit before trying it. :) | 22:17 | |
22:18
KatrinaTheLamia joined
22:22
KatrinaTheLamia left
22:30
KatrinaTheLamia joined
|
|||
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:52
pmurias left
22:54
sevvie joined
23:03
mberends left
23:05
asciiville joined
23:11
patspam joined
23:12
patspam is now known as patmadispam
23:21
kidd_ left
23:22
ihrd joined,
ihrd left
23:25
kidd joined
23:29
M_o_C left
23:31
sm` left,
sm` joined
23:48
drbean joined
|
|||
Tene | asciiville: Hi! | 23:58 | |
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. | 23:59 |