perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | ~290 days 'til Xmas Set by mncharity on 6 March 2009. |
|||
00:00
ZuLuuuuuu left,
milton13 left
00:07
awarefish left
00:19
Whiteknight joined
|
|||
wayland76 | hi | 00:21 | |
diakopter | hi wayland76 | 00:22 | |
00:24
skids joined
00:30
frioux_ left
00:44
Coleoid joined
00:49
M_o_C left
00:58
Whiteknight left
|
|||
Coleoid | I'm trying to build Rakudo on my w32 box. Cygwin, Strawberry, git the source, but then 'perl Configure.pl' complains that 'parrot' is not a command. | 01:00 | |
I'm also trying and failing to build Parrot right now. Is a local Parrot build still a prereq for Rakudo? | 01:01 | ||
diakopter | you'll want to use the --gen-parrot option | ||
to Configure.pl | |||
it'll handle the parrot building for you | |||
Coleoid | Ah! Trying... | ||
diakopter | and the pathing will work out correctly | ||
(more importantly) | |||
01:02
Ariens_Hyperion left
|
|||
Coleoid | Thanks! The svn of parrot worked, but its build failed the same way it did for me earlier. Progress. | 01:06 | |
diakopter | how did the build fail | ||
Coleoid | It seems to feed sh a backslashed path to perl.exe. Message is: | ||
diakopter | oh; where did you get rakudo | 01:07 | |
Coleoid | Eek. | ||
Not my goal, there. | |||
diakopter | I mean, the latest rakudo shouldn't have that problem | ||
01:07
bacek_ joined
|
|||
diakopter | oh; you're on cygwin... I dunno if someone's tried it there... I've been trying it in strawberry/cmd.exe/msvc15 | 01:08 | |
Coleoid | My last pull was four, five hours ago? | ||
/usr/bin/sh: C:strawberryperlbinperl.exe: command not found | |||
diakopter | oh, hrm, you really don't want to use strawberry perl inside cygwin | 01:09 | |
01:09
Whiteknight joined
|
|||
diakopter | strawberry is built for cmd.exe | 01:09 | |
use the perl from cygwin | |||
Coleoid | Well, I'm in a straight dos box when I kick off make, but Configure seems to have snorted out the cygwin sh... | ||
diakopter | in your Cygwin.bat, it's a good idea to reset your PATH to something minimal | 01:10 | |
oh.. is it in your PATH? | |||
(odd...) | |||
(it shouldn't be, really) | |||
Coleoid | :D | ||
I'll check. | |||
diakopter | is sh in your %PATH% in cmd.exe I mean... cygwin stuff shouldn't be leaking out to cmd.exe | 01:11 | |
pwhich sh | |||
Coleoid | /usr/bin/sh | 01:12 | |
diakopter | then you're inside cygwin | ||
or at least sh | |||
Coleoid | Well, I've got cygwin in my path, but I'm not in bash or sh. | ||
diakopter | echo %PATH% | 01:13 | |
Coleoid | (kind of a bastardized setup...) | ||
diakopter | if you echo %PATH%... what happens | ||
Coleoid | PATH=C:\strawberry\c\bin;C:\strawberry\perl\bin;c:\cygwin\bin;c:\mingw\bin;C:\WINDOWS\system32;C:\WI | ||
NDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\CollabNet Subversion;C:\WINDOWS\Microsoft.NET\Framew | |||
ork\v2.0.50727;C:\Program Files\Microsoft Visual Studio 8\VC\bin;C:\Program Files\Microsoft Visual S | |||
tudio 8\Common7\IDE;C:\Program Files\jZip;C:\Program Files\TortoiseSVN\bin;C:\Program Files\ActiveSt | |||
ate Komodo Edit 5\; | |||
diakopter | heh, ok | ||
Coleoid | Er, I should probably find nopaste... | ||
diakopter | sial.org/pbot/perl6 | ||
pasteling | "Coleoid" at 76.248.70.52 pasted "path" (1 line, 419B) at sial.org/pbot/35380 | 01:14 | |
diakopter | well, regardless of pwhich returning forward slashed paths, (???) cygwin needs not to be in the PATH. | ||
if you want to build parrot/rakudo using cygwin's gcc, you need to be inside Cygwin.bat/bash | 01:15 | ||
Coleoid | Sorry, I did 'which', I hadn't heard of pwhich and thought you typoed. | ||
diakopter | ahhh; that explains it :) p(erl?)which comes with strawberry (and activeperl). | 01:16 | |
looks like you have VC | |||
Coleoid | Okay, so if I get it, | ||
diakopter | so you can try it in one or the other, but not some conflation | ||
Coleoid | Several paths should work. Cygwin with its own GCC, or Strawberry with its own GCC, or Strawberry with VC. | 01:17 | |
diakopter | I haven't been successful with strawberry/gcc | ||
Coleoid | Hm, okay. | ||
diakopter | (lately) | 01:18 | |
maybe someone else has | |||
Coleoid | diakopter, thanks for the help--got to take a pause and help get my son to bed. Back in a few, perhaps with a new wall recontouring my forehead. | 01:19 | |
diakopter | i'll nopaste my Cygwin.bat that cleans up the env | ||
pasteling | "diakopter" at 209.9.237.164 pasted "Cygwin.bat" (11 lines, 289B) at sial.org/pbot/35381 | 01:22 | |
diakopter | I reset the LIB and INCLUDE b/c in my outer/main environment they've got VC stuff. | 01:23 | |
and of course bash fixes up the PATH. | 01:26 | ||
01:44
alester joined
01:51
Whiteknight left
01:55
Coleoid left
01:57
cognominal left
01:58
dduncan left
02:03
cognominal joined
02:10
Coleoid joined
02:28
DemoFreak left
02:30
meteorjay left
02:31
meteorjay joined
|
|||
Coleoid | diakopter, after switching to bash via your cygwin.bat, and pulling in cygwin's make and svn, I get further. | 02:50 | |
The Parrot build fails in the ops2pm.pl step, complaining of unrecognized line. | 02:52 | ||
diakopter | nopaste more error? | 02:53 | |
pasteling | "Coleoid" at 76.251.82.128 pasted "ops2pm failure" (9 lines, 663B) at sial.org/pbot/35383 | ||
diakopter | see #parrot... | 02:54 | |
Coleoid | Will do. | ||
03:10
alester left
03:22
alester joined
03:29
awarefish joined
04:00
awarefish left
04:07
Sepheebear joined
|
|||
wayland76 | alester: I'm on IRC as well, just at the moment, and will check back later | 04:09 | |
alester | hey wayland | 04:10 | |
wayland76 | I've just sent you two e-mails. | ||
I'm planning to duck out and do some shopping and stuff, and be back in half an hour | |||
alester | I renamed your introduction to welcome | 04:12 | |
and that's gonna be the front | |||
04:12
Limbic_Region left
04:19
meppuru joined
|
|||
s1n | alester, i'd like to have contributor rights on the drupal page | 04:29 | |
alester | what's your rakudo.org file? | ||
s/file/name/ | |||
s1n | s1n :) | 04:31 | |
do you want help porting over the 101 stuff? | |||
alester | Sure. | 04:33 | |
04:34
meppl left
|
|||
alester | ok, done | 04:36 | |
s1n | alester: you have the 101 stuff for p5 in a repo, do you plan on doing the same for the rakudo/p6 stuff? | 04:41 | |
alester | Yes, it's in a repo, but I'm not sure what I wanana do | ||
s1n | let me know as soon as you know, i'd like to help with that effort | 04:43 | |
wayland76 | alester: Love your work :) | ||
alester | s1n | ||
s1n: JFDI | |||
s1n | huh? | 04:44 | |
alester | Pick some perl101 stuff and make pages for it. | ||
s1n | you don't want it as perldoc in a repo? | ||
alester | I dunno. | ||
it's all in code.google.com/p/perl101/ | |||
s1n | is there any sort of perldoc2drupal plugin? | ||
yeah but that's for p5 | |||
alester | right | 04:45 | |
But if you want to start yanking stuff from there, go to it. | |||
04:46
japhb joined
|
|||
s1n | okay, i'm having a hard time understanding how to make a page in drupal... | 04:46 | |
alester | "Create content" | ||
it's in the sidebar | |||
s1n | yeah i just saw that, great, i'm going to just start making some pages tomorrow (it's bedtime now) | 04:47 | |
alester | ok | ||
Just go make stuff | |||
and we can massage it later | |||
There's a whole taxonomy module for organizing pages and everything. | 04:48 | ||
s1n | want me to keep it in the same vein as the p5 version? | ||
alester | I don't know. Just do it. | ||
I'm pretty hands-off on this. :-) | |||
Whatever you think is best. | |||
My only suggestion is using markdown over HTML if possible. | 04:49 | ||
s1n | wasn't the p5 version your handywork? | ||
alester | yup | ||
and it's pod | |||
but I don't have a POD filter for Drupal. :-) | |||
s1n | and you don't care what happens with the p6 version? | ||
alester | I think it should be good and useful. | 04:50 | |
I don't have any ownership. | |||
s1n | okay, we'll see what the gods grant my tiny brain the power to create tomorrow :) | 04:51 | |
thanks again | |||
alester | Thank YOU for doing it. I'm glad we can all come together to work on this. | 04:55 | |
And it would be VERY helpful to get the perl101 examples into P6 | 04:56 | ||
05:06
justatheory left
|
|||
alester | git.rakudo.org is set up, but waiting for DNS propagation | 05:10 | |
wayland76 | Does anyone know what I should read to really get the hang of adverbs in P6? | 05:15 | |
diakopter | for hyperoperators, does [R*] (e.g. *) do a right fold? | 05:17 | |
wayland76 | diakopter: You mean meta-operators? | 05:20 | |
I think [R*] would do exactly the same thing as [*] | 05:21 | ||
diakopter | sorry, I meant reduction | ||
sure, for an operation that's normally commutative like * | 05:22 | ||
wayland76 | Were you thinking of something more like [R/] ? | 05:23 | |
Where / isn't commutative? | |||
diakopter | oh, it's already mentioned | 05:25 | |
wayland76 | $a = [/] 8, 4, 2; # $a = 1 | ||
diakopter: Oh, good :) | |||
diakopter | sort &[R<=>], @list # reversed, numerically | ||
wayland76 | Oh, I see. That &[] notation is pretty confusing :) | 05:28 | |
diakopter | std: [R/] 3,5,7 | 05:29 | |
p6eval | std 25731: OUTPUT«ok 00:02 36m» | ||
diakopter | ok, but does that give (3 / (5 / 7)) or (7 / (5 / 3) ? | ||
wayland76 | rakudo: [R/] 3,5,7 | 05:30 | |
p6eval | rakudo f6cdf9: RESULT«4.2» | ||
diakopter | (does it reverse the order of the operands to each operation, or does it reverse the list? | ||
heh | |||
wayland76 | rakudo: (3 / (5 / 7)) | ||
p6eval | rakudo f6cdf9: RESULT«4.2» | ||
wayland76 | rakudo: (7 / (5 / 3) | 05:31 | |
frooh | diakopter: I think that's the same thing... | ||
p6eval | rakudo f6cdf9: OUTPUT«Syntax error at line 1, near "(7 / (5 / "current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
wayland76 | rakudo: (7 / (5 / 3)) | ||
p6eval | rakudo f6cdf9: RESULT«4.2» | ||
diakopter | oh, so it is. | ||
frooh | rakudo: [~] <f r e w>; | ||
rakudo: [R~] <f r e w>; | |||
p6eval | rakudo f6cdf9: RESULT«"frew"» | ||
rakudo f6cdf9: RESULT«"werf"» | |||
wayland76 | werf :) | 05:32 | |
frooh | :-P | ||
diakopter | rakudo: [R^] 3,5,7 eqv [^] 3,5,7 | ||
p6eval | rakudo f6cdf9: OUTPUT«Statement not terminated properly at line 1, near "^] 3,5,7 e"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | 05:33 | |
frooh | rakudo: 1 eqv 1 | ||
p6eval | rakudo f6cdf9: OUTPUT«No applicable methods.current instr.: '_block14' pc 73 (EVAL_15:42)» | ||
frooh | it's not implemented yet | ||
diakopter | rakudo: ([R**] 3,5,7) eqv ([**] 7,5,3) | ||
p6eval | rakudo f6cdf9: OUTPUT«No applicable methods.current instr.: '_block14' pc 145 (EVAL_15:54)» | ||
frooh | rakudo: ([R**] 3,5,7) == ([**] 7,5,3) | 05:34 | |
p6eval | rakudo f6cdf9: RESULT«Bool::False» | ||
frooh | rakudo: (([R**] 3,5,7),([**] 7,5,3)) | ||
p6eval | rakudo f6cdf9: RESULT«[4.33765494809799e+105, 4747561509943]» | ||
frooh | interesting | ||
diakopter | rakudo: (([**] 3,5,7),([R**] 7,5,3)) | 05:35 | |
p6eval | rakudo f6cdf9: RESULT«[5.00315450989997e+16, Inf]» | ||
frooh | I think we are seeing a different issue | ||
diakopter | >googol | ||
frooh | rakudo: (([R**] 2,3,4),([**] 4,3,2)) | ||
p6eval | rakudo f6cdf9: RESULT«[262144, 4096]» | ||
frooh | well | ||
still wrong? | |||
diakopter | rakudo: (([R%] 2,3,4),([%] 4,3,2)) | 05:36 | |
p6eval | rakudo f6cdf9: RESULT«[0, 1]» | ||
diakopter | rakudo: (([R**] 2,3,4),([**] 4,2,3)) | 05:37 | |
p6eval | rakudo f6cdf9: RESULT«[262144, 4096]» | ||
diakopter | ok, yeah, R reverses the list.... | 05:38 | |
wayland76 | rakudo: [R~] <w a y l a n d>; | ||
p6eval | rakudo f6cdf9: RESULT«"dnalyaw"» | ||
frooh | rakudo: (1,2,3).reduce({ $^a + $^b }) | ||
p6eval | rakudo f6cdf9: RESULT«6» | ||
diakopter | but | ||
frooh | rakudo: (1,2,3).reduce({ "($^a + $^b)" }) | ||
p6eval | rakudo f6cdf9: RESULT«"((1 + 2) + 3)"» | 05:39 | |
frooh | hoho! | ||
that is cool | |||
diakopter | nice | ||
frooh | rakudo: (1,2,3).reduce({ $^b; $^a; "($^a + $^b)" }) | ||
p6eval | rakudo f6cdf9: RESULT«"((1 + 2) + 3)"» | ||
frooh | rakudo: (1,2,3).reduce({"($^b + $^a)" }) | ||
p6eval | rakudo f6cdf9: RESULT«"(3 + (2 + 1))"» | ||
05:39
justatheory joined
|
|||
diakopter | ok, now what if you want to swap the order of the operands for each operation | 05:40 | |
(using the reduction brackets) | 05:41 | ||
frooh | well | ||
05:41
justatheory_ joined,
justatheory left
|
|||
diakopter | std: R[R**] 2,3,4 | 05:41 | |
p6eval | std 25731: OUTPUT«############# PARSE FAILED #############Unable to parse subscript; couldn't find final ']' at /tmp/0O5xvKzAdP line 1:------> R[R**] 2,3,4 expecting any of: prefix or noun whitespaceFAILED 00:02 34m» | ||
frooh | I can't really do that with .reduce can I? | ||
diakopter | there you reverse them manually :P | ||
rakudo: (1,2,3).reduce({ "($^b + $^a)" }) | 05:42 | ||
p6eval | rakudo f6cdf9: RESULT«"(3 + (2 + 1))"» | ||
diakopter | oh wait | ||
no, that's correct | |||
that's what R should do inside [] to be consistent with its other usage | |||
frooh | yeah | 05:43 | |
05:43
WootKit joined
|
|||
diakopter | what should the syntax be to rfold then :) | 05:43 | |
R after the op? :) | |||
frooh | what is Rfold? | 05:44 | |
I've never heard of that | |||
diakopter | what it's doing now... xrl.us/beinxu | ||
05:44
justatheory_ left
05:45
justatheory joined
|
|||
diakopter | foldr, I meant (sleepy) | 05:46 | |
frooh | I'll read that later | 05:47 | |
thats a lot to read at 11:45 on a friday | |||
:-) | |||
diakopter | heh | ||
oooo gotta hit up Wendy's b4 it closes... oh, you're in CST like I | 05:48 | ||
frooh | haha, yep | ||
I thoguht it closes at 2? | |||
05:48
WootKit left
|
|||
diakopter | not in parts of town like *this* | 05:48 | |
frooh | hahaha, nice? | ||
(doubtful) | |||
diakopter | kidding; bbiab | 05:49 | |
frooh | rakudo: (1,2,3).reduce({ $^a + $^b }) | ||
p6eval | rakudo f6cdf9: RESULT«6» | ||
frooh | rakudo: my $block = {$^a + $^b}; (1,2,3).reduce($bloack) | 05:50 | |
wayland76 | rakudo: reduce(qw(w e i g h t)) | ||
frooh | rakudo: my $block = {$^a + $^b}; (1,2,3).reduce($block) | ||
p6eval | rakudo f6cdf9: OUTPUT«Scope not found for PAST::Var '$bloack' in current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)» | ||
rakudo f6cdf9: OUTPUT«No applicable methods.current instr.: '_block14' pc 112 (EVAL_16:51)» | |||
rakudo f6cdf9: RESULT«6» | |||
frooh | sorry | ||
rakudo: my $block = {$^a + $^b}; (1,2,3).reduce($block.perl) | |||
p6eval | rakudo f6cdf9: OUTPUT«No applicable methods.current instr.: 'parrot;P6metaclass;dispatch' pc 130 (src/classes/ClassHOW.pir:93)» | ||
diakopter | if only any binary function could be put in the reduce brackets... | ||
frooh | diakopter: I asked TimToady about that | ||
wayland76 | You're sorry? What about me? I confused your test wit hmy idiocy :) | ||
05:51
WootKit joined
|
|||
frooh | diakopter: he said that if you *really* want to do that you should make the funciton an op | 05:51 | |
and otherwise we use functions for functions and ops for ops | |||
you could do this :-) | 05:52 | ||
sub Rev ( $a, $b) { $b, $a} | |||
and then foo(Rev $bar, $baz)) | |||
05:53
sri_kraih joined
|
|||
diakopter | well, I'm assuming [R**] will change to mean binaryswap, not reversefirst | 05:53 | |
frooh | rakudo: (1,2,3).reduce({ $^a + $^b }) | ||
diakopter: agreed | |||
p6eval | rakudo f6cdf9: RESULT«6» | ||
frooh | if you wanted the latter you could do something like | ||
[op] @list.reverse | 05:54 | ||
right? | |||
rakudo: (1,2,3).reduce({"$^a + $^b"}) | 05:55 | ||
diakopter | rakudo: [**] (2,3,4).reverse | ||
rakudo: [**] (2,3,4).reverse() | |||
p6eval | rakudo f6cdf9: RESULT«"1 + 2 + 3"» | ||
frooh | ... | ||
p6eval | rakudo f6cdf9: RESULT«4096» | ||
frooh | rakudo: (1,2,3).reduce({"($^a + $^b)"}) | ||
diakopter | rakudo: [R**] (2,3,4) | ||
p6eval | rakudo f6cdf9: RESULT«"((1 + 2) + 3)"» | ||
rakudo f6cdf9: RESULT«262144» | |||
diakopter | ok, huh | 05:56 | |
frooh | rakudo: (2,3,4).reduce({$^a ** $^b }) | 05:57 | |
p6eval | rakudo f6cdf9: RESULT«4096» | ||
frooh | rakudo: (2,3,4).reduce({"($^a ** $^b)"}) | ||
p6eval | rakudo f6cdf9: RESULT«"((2 ** 3) ** 4)"» | ||
frooh | rakudo: (2,3,4).reduce({$^b ** $^a }) | ||
p6eval | rakudo f6cdf9: RESULT«262144» | ||
frooh | rakudo: (2,3,4).reduce({"($^b ** $^a)"}) | ||
p6eval | rakudo f6cdf9: RESULT«"(4 ** (3 ** 2))"» | ||
frooh | that really is not what I expect from reduce | ||
diakopter | oh! it did both | 05:58 | |
frooh | ? | ||
oh | 05:59 | ||
reverses the list AND reverses the op | |||
maybe the former is a product of the latter... | |||
05:59
WootKit left
|
|||
diakopter | rakudo: ((2,3,4).reduce({"($^b ** $^a)"}),(2,3,4).reduce({"($^a ** $^b)"}),(4,3,2).reduce({"($^b ** $^a)"}),(4,3,2).reduce({"($^a ** $^b)"}) | 05:59 | |
p6eval | rakudo f6cdf9: OUTPUT«Syntax error at line 1, near "((2,3,4).r"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
diakopter | rakudo: ((2,3,4).reduce({"($^b ** $^a)"}),(2,3,4).reduce({"($^a ** $^b)"}),(4,3,2).reduce({"($^b ** $^a)"}),(4,3,2).reduce({"($^a ** $^b)"})) | ||
p6eval | rakudo f6cdf9: RESULT«["(4 ** (3 ** 2))", "((2 ** 3) ** 4)", "(2 ** (3 ** 4))", "((4 ** 3) ** 2)"]» | ||
frooh | gnarly | 06:00 | |
diakopter | rakudo: ((2,3,4,5).reduce({"($^b ** $^a)"}),(2,3,4,5).reduce({"($^a ** $^b)"}),(5,4,3,2).reduce({"($^b ** $^a)"}),(5,4,3,2).reduce({"($^a ** $^b)"})) | ||
p6eval | rakudo f6cdf9: RESULT«["(5 ** (4 ** (3 ** 2)))", "(((2 ** 3) ** 4) ** 5)", "(2 ** (3 ** (4 ** 5)))", "(((5 ** 4) ** 3) ** 2)"]» | 06:01 | |
wayland76 | Ok, does anyone know how to add another adverb to a quote? | ||
Do we have to monkey-patch the Str object? | |||
frooh | rakudo: my @a = (2,3,4,5); my @b = @a.reverse; my $d = {"($^a ** $^b)"}; my $e = {"($^b ** $^a)"}; (@a.reduce($d),@a.reduce($e),@b.reduce($d),@b.reduce($e)) | 06:03 | |
p6eval | rakudo f6cdf9: RESULT«["(((2 ** 3) ** 4) ** 5)", "(5 ** (4 ** (3 ** 2)))", "(((5 ** 4) ** 3) ** 2)", "(2 ** (3 ** (4 ** 5)))"]» | ||
frooh | what is an adverb on a quote? | 06:04 | |
06:04
sri_kraih_ left
|
|||
frooh | rakudo: my @a = (1,2,3); my @b = @a.reverse; my $d = {"($^a / $^b)"}; my $e = {"($^b / $^a)"}; (@a.reduce($d),@a.reduce($e),@b.reduce($d),@b.reduce($e)) | 06:05 | |
p6eval | rakudo f6cdf9: RESULT«["((1 / 2) / 3)", "(3 / (2 / 1))", "((3 / 2) / 1)", "(1 / (2 / 3))"]» | ||
frooh | rakudo: my @a = (1,2,3); my @b = @a.reverse; my $d = {($^a / $^b)}; my $e = {($^b / $^a)}; (@a.reduce($d),@a.reduce($e),@b.reduce($d),@b.reduce($e)) | ||
p6eval | rakudo f6cdf9: RESULT«[0.166666666666667, 1.5, 1.5, 1.5]» | ||
frooh | you know what would be awesome? | 06:07 | |
a ~ metaop | |||
that would basically do "($^a $op $^b)" | 06:08 | ||
06:09
justatheory_ joined
|
|||
diakopter | what would that look like | 06:09 | |
frooh | maybe | 06:10 | |
[~+] (1,2,3) | |||
06:10
samlh left
|
|||
frooh | or [S+] (1,2,3) | 06:10 | |
diakopter: your rss feed has some doubles it looks like | 06:11 | ||
er | |||
Atom feed actually | |||
diakopter | which feed is my feed | ||
frooh | I figured that link that you sent earlier was yours | 06:12 | |
bartdesmet.net/blogs | |||
diakopter | ha; no | ||
that guy works for msft | |||
frooh | ah | ||
ok | |||
I don't like .net | 06:13 | ||
It | |||
's too...statically typed :-) | |||
diakopter | objects have a lifetime type, yeah, but syntax exists for auto-coercions (and auto-coercion/representation type factories) | 06:14 | |
frooh | you lost me | ||
area you talking about .net? | |||
or how it should be? | |||
diakopter | but when we're all supposed to be using SSA and/or immutable types AMAP.... :) | ||
.net | |||
frooh | SSA? AMAP? | 06:15 | |
I don't know these acronyms :-) | |||
diakopter | as much as possible? | ||
frooh | ah | ||
diakopter | static single assignment | ||
frooh | I can agree with that | ||
but .net and java just rub me the wrong way | 06:16 | ||
I've been using perl too long | |||
06:16
justatheory left
|
|||
diakopter | std: [++] 1 | 06:27 | |
p6eval | std 25731: OUTPUT«############# PARSE FAILED #############Unable to parse array composer; couldn't find final ']' at /tmp/IFaxNVf91Q line 1:------> [++] 1 expecting any of: noun prefix prefix or meta-prefix prefix_postfix_meta_operator whitespaceFAILED | ||
..00:02 35m» | |||
diakopter | well, that parse fail msg is imprecise | ||
sorta | |||
catch non-infix operators | 06:28 | ||
frooh | what exactly does X do? | 06:33 | |
rakudo: 1,2,3,4 X+ 3,4,5,6 | |||
p6eval | rakudo f6cdf9: RESULT«[4, 5, 6, 7, 5, 6, 7, 8, 6, 7, 8, 9, 7, 8, 9, 10]» | 06:34 | |
frooh | ah | ||
interesing | |||
<f r e w> X~ <a b c d> | |||
rakudo: <f r e w> X~ <a b c d> | |||
p6eval | rakudo f6cdf9: RESULT«["fa", "fb", "fc", "fd", "ra", "rb", "rc", "rd", "ea", "eb", "ec", "ed", "wa", "wb", "wc", "wd"]» | ||
frooh | nifty | ||
rakudo: <f r e w> X <a b c d> | |||
p6eval | rakudo f6cdf9: RESULT«["f", "a", "f", "b", "f", "c", "f", "d", "r", "a", "r", "b", "r", "c", "r", "d", "e", "a", "e", "b", "e", "c", "e", "d", "w", "a", "w", "b", "w", "c", "w", "d"]» | 06:35 | |
frooh | rakudo: <f r e w> R <a b c d> | ||
p6eval | rakudo f6cdf9: OUTPUT«Statement not terminated properly at line 1, near "R <a b c d"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
frooh | so we probably COULD make ~ a metaop | ||
diakopter | perlify? | ||
.perl | |||
frooh | I tried it | ||
rakudo: my $block = {$^a + $^b}; (1,2,3).reduce($block.perl) | 06:36 | ||
p6eval | rakudo f6cdf9: OUTPUT«No applicable methods.current instr.: 'parrot;P6metaclass;dispatch' pc 130 (src/classes/ClassHOW.pir:93)» | ||
frooh | rakudo: my $block = {$^a + $^b}; (1,2,3).reduce($block).perl | ||
p6eval | rakudo f6cdf9: RESULT«"6"» | ||
frooh | furthermore | ||
rakudo: my $block = {$^a + $^b}; $block.perl | |||
p6eval | rakudo f6cdf9: RESULT«"\{ ... }"» | 06:37 | |
diakopter | you'd want to wrap the whole thing in a sub | 06:38 | |
frooh looks into writing metaoperators... | 06:39 | ||
diakopter is late to Wendy's | |||
frooh | haha | ||
good luck | |||
06:42
bacek_ left
06:43
alester left
|
|||
frooh | rakudo: (2,3,4).reduce({"($^b ** $^a)"}) | 06:45 | |
p6eval | rakudo f6cdf9: RESULT«"(4 ** (3 ** 2))"» | ||
frooh | rakudo: (2,3,4).map({$_ * 2}).reduce({"($^b ** $^a)"}) | ||
p6eval | rakudo f6cdf9: RESULT«"(8 ** (6 ** 4))"» | ||
frooh | rakudo: (2,3,4).map({$_ * 2}).tap(say $_).reduce({"($^b ** $^a)"}) | 06:46 | |
p6eval | rakudo f6cdf9: OUTPUT«Use of uninitialized valueMethod 'tap' not found for invocant of class 'List'current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)» | ||
frooh | rakudo: (2,3,4).map({$_ * 2}).tap(say $_).reduce({"($^frew ** $^froo)"}) | ||
p6eval | rakudo f6cdf9: OUTPUT«Use of uninitialized valueMethod 'tap' not found for invocant of class 'List'current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)» | ||
frooh | rakudo: (2,3,4).map({$_ * 2}).reduce({"($^frew ** $^froo)"}) | ||
p6eval | rakudo f6cdf9: RESULT«"((4 ** 6) ** 8)"» | ||
frooh | rakudo: (2,3,4).map({$_ * 2}).reduce({$^froo;"($^frew ** $^froo)"}) | ||
p6eval | rakudo f6cdf9: RESULT«"((4 ** 6) ** 8)"» | ||
frooh | rakudo: (2,3,4).map({$_ * 2}).reduce({"($^frew ** $^froo)"}) | 06:47 | |
p6eval | rakudo f6cdf9: RESULT«"((4 ** 6) ** 8)"» | ||
frooh | rakudo: (2,3,4).map({$_ * 2}).reduce({"($^froo ** $^frew)"}) | ||
p6eval | rakudo f6cdf9: RESULT«"(8 ** (6 ** 4))"» | ||
frooh guesses that it's alphabetical | |||
rakudo: (2,3,4).map({$_ * 2}).reduce(sub ($froo, $frew) {"($froo ** $frew)"}) | |||
p6eval | rakudo f6cdf9: RESULT«"((4 ** 6) ** 8)"» | ||
frooh | PERFECT. | 06:48 | |
sub rev ($a,$b) {$b, $a}; rakudo: (2,3,4).map({$_ * 2}).reduce(sub ($froo, $frew) {"($froo ** $frew)"}) | 07:05 | ||
rakudo: sub rev ($a,$b) {$b, $a}; (2,3,4).map({$_ * 2}).reduce(sub ($froo, $frew) {"($froo ** $frew)"}) | 07:06 | ||
p6eval | rakudo f6cdf9: RESULT«"((4 ** 6) ** 8)"» | ||
frooh | rakudo: sub rev ($a,$b) {$b, $a}; (2,3,4).map({$_ * 2}).reduce(rev sub ($froo, $frew) {"($froo ** $frew)"}) | ||
p6eval | rakudo f6cdf9: OUTPUT«too few arguments passed (1) - 2 params expectedcurrent instr.: 'rev' pc 170 (EVAL_17:67)» | ||
frooh | rakudo: sub rev ($a,$b) {$b, $a}; (2,3,4).map({$_ * 2}).reduce(sub (rev $froo, $frew) {"($froo ** $frew)"}) | ||
p6eval | rakudo f6cdf9: OUTPUT«Malformed routine definition at line 1, near "(rev $froo"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
07:06
skids left
|
|||
frooh | rakudo: sub rev ($a,$b) {$b, $a}; (2,3,4).map({$_ * 2}).reduce(rev {"($froo ** $frew)"}) | 07:06 | |
p6eval | rakudo f6cdf9: OUTPUT«Scope not found for PAST::Var '$froo' in current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)» | ||
frooh | rakudo: sub rev ($a,$b) {$b, $a}; (2,3,4).map({$_ * 2}).reduce(rev {"($^a ** $^b)"}) | 07:07 | |
p6eval | rakudo f6cdf9: OUTPUT«too few arguments passed (1) - 2 params expectedcurrent instr.: 'rev' pc 170 (EVAL_17:67)» | ||
frooh | rakudo: sub rev ($a,$b) {$b, $a}; sub foo ($a, $b){"( $a + $b )"}(2,3,4).map({$_ * 2}).reduce(rev {"($^a ** $^b)"}) | 07:13 | |
p6eval | rakudo f6cdf9: OUTPUT«Statement not terminated properly at line 1, near "(2,3,4).ma"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
frooh | rakudo: sub rev ($a,$b) {$b, $a}; sub foo ($a, $b){"( $a + $b )"}(2,3,4).map({$_ * 2}).reduce(rev foo}) | ||
p6eval | rakudo f6cdf9: OUTPUT«Statement not terminated properly at line 1, near "(2,3,4).ma"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
frooh | rakudo: sub rev ($a,$b) {$b, $a}; sub foo ($a, $b){"( $a + $b )"}; (2,3,4).map({$_ * 2}).reduce(rev foo}) | ||
p6eval | rakudo f6cdf9: OUTPUT«Statement not terminated properly at line 1, near "(rev foo})"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
frooh | rakudo: sub rev ($a,$b) {$b, $a}; sub foo ($a, $b){"( $a + $b )"}; (2,3,4).map({$_ * 2}).reduce(foo(rev)}) | 07:14 | |
p6eval | rakudo f6cdf9: OUTPUT«Statement not terminated properly at line 1, near "(foo(rev)}"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
frooh | rakudo: sub rev ($a,$b) {$b, $a}; sub foo ($a, $b){"( $a + $b )"}; (2,3,4).map({$_ * 2}).reduce(foo(rev)) | ||
p6eval | rakudo f6cdf9: OUTPUT«too few arguments passed (0) - 2 params expectedcurrent instr.: 'rev' pc 175 (EVAL_17:66)» | ||
frooh | rakudo: sub rev ($a,$b) {$b, $a}; sub foo ($a, $b){"( $a + $b )"}; (2,3,4).map({$_ * 2}).reduce({foo(rev($a, $b))}) | ||
p6eval | rakudo f6cdf9: OUTPUT«Scope not found for PAST::Var '$a' in current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)» | ||
07:15
Nickname joined
07:17
justatheory_ left
|
|||
meppuru | good night | 07:19 | |
07:21
ejs joined,
bacek joined
07:22
meppuru left
|
|||
bacek | hi there | 07:29 | |
and good evening | |||
07:30
Nickname left
07:33
mberends joined,
Sepheebear left
|
|||
frooh | Where can I find information on looking at the AST? | 07:35 | |
07:36
Sepheebear joined
07:37
Tene joined
|
|||
wayland76 | frooh: I don't know, but if you get STD.pm, you can look at things that way | 07:38 | |
Or are you asking about quasiquoting or macros or something? | 07:39 | ||
bacek: hi :) | |||
diakopter | frooh: oh, the AST that STD/viv emits? | ||
bacek | hi wayland76 | ||
07:41
mberends left
|
|||
frooh | I don't really know | 07:41 | |
masak mentioned it in a post today | 07:42 | ||
rakudo: { 4 + 5}.viv | |||
p6eval | rakudo f6cdf9: OUTPUT«Method 'viv' not found for invocant of class 'Block'current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)» | ||
wayland76 | std: { 4 + 5}.viv | 07:43 | |
p6eval | std 25731: OUTPUT«ok 00:02 34m» | ||
wayland76 | Well, my guess is that he's using STD for that :) | ||
frooh | hm | 07:44 | |
rakudo can't use STD right? | 07:45 | ||
wayland76 | That's right | 07:47 | |
They will eventually | 07:48 | ||
but not yet | |||
frooh | right | ||
k, just making sure | |||
07:49
Tene_ left
|
|||
frooh | a package in perl6 is called a 'module' in code right? | 07:51 | |
frooh looks through november for hints | |||
wayland76 | What's a package? | ||
The perl 5 package had about 4 different meanings | 07:52 | ||
frooh | in perl5 you put package Foo; at the top of a .pm file | ||
wayland76 | If you mean what other languages call a class, then you want a class or a role | ||
frooh | I know it's a module | ||
well, I want something more generic | |||
that is | |||
a class that will never be instantiated | |||
wayland76 | I think package still works, but module also might work | ||
frooh | hm | ||
k | |||
wayland76 | Look in S02 under the heading "Mutable types" | 07:53 | |
Anyway, my xorg needs some more debugging, so I'm going to have to disappear for a while. But others will be around soon :) | 07:54 | ||
07:54
wayland76 left
|
|||
frooh | rakudo: rand(100).int | 08:03 | |
p6eval | rakudo f6cdf9: OUTPUT«too many arguments passed - 0 params expectedcurrent instr.: 'rand' pc 12251 (src/builtins/any-num.pir:106)» | 08:04 | |
frooh | rakudo: random(100).int | ||
p6eval | rakudo f6cdf9: OUTPUT«Could not find non-existent sub randomcurrent instr.: '_block14' pc 60 (EVAL_16:40)» | ||
frooh | rakudo: 100.random | ||
p6eval | rakudo f6cdf9: OUTPUT«Method 'random' not found for invocant of class 'Int'current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)» | ||
frooh | rakudo: random | ||
p6eval | rakudo f6cdf9: OUTPUT«Could not find non-existent sub randomcurrent instr.: '_block14' pc 53 (EVAL_16:38)» | ||
frooh | rakudo: rand | ||
p6eval | rakudo f6cdf9: RESULT«0.73274053174919» | ||
frooh | rakudo: (rand*1000).int | ||
p6eval | rakudo f6cdf9: RESULT«182» | ||
bacek | rakudo: (1..1000).pick | ||
p6eval | rakudo f6cdf9: RESULT«[116]» | 08:05 | |
bacek | rakudo: (1..1000).pick | ||
p6eval | rakudo f6cdf9: RESULT«[790]» | ||
frooh | that's right | ||
I'd forgotten about that | |||
(1..1000).pick[0] | |||
rakudo: (1..1000).pick[0] | |||
p6eval | rakudo f6cdf9: RESULT«302» | ||
bacek | rakudo: (1..10).pick(*) | ||
p6eval | rakudo f6cdf9: RESULT«[7, 8, 1, 3, 10, 4, 6, 5, 9, 2]» | ||
frooh | if I make a method with the same name as a builtin and I want to use that builtin in the method, how could I do that? | 08:09 | |
wait! | |||
I figured it out | |||
I put :: at the front | |||
bacek | indeed :) | ||
frooh | since I want the one in the Global namespacew | ||
08:13
jaldhar left
|
|||
frooh | is there a reason that when I do open(".tmp", :w) the file gets named IO<0x...> ? | 08:18 | |
nm, I was being silly | 08:23 | ||
08:25
smtms left
|
|||
frooh | rakudo: "fREW | 08:30 | |
p6eval | rakudo f6cdf9: OUTPUT«Syntax error at line 1, near "\"fREW"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
frooh | rakudo: "fREW".sub('R', 'T') | 08:31 | |
p6eval | rakudo f6cdf9: OUTPUT«Method 'sub' not found for invocant of class 'Str'current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)» | ||
frooh | rakudo: "fREW".subst('R', 'T') | ||
p6eval | rakudo f6cdf9: RESULT«"fTEW"» | ||
frooh | rakudo: "fREWR".subst('R', 'T') | ||
p6eval | rakudo f6cdf9: RESULT«"fTEWR"» | ||
frooh | rakudo: "fREWR".subst('R', 'T', :g) | ||
p6eval | rakudo f6cdf9: RESULT«"fTEWT"» | ||
frooh | rakudo: "fREWR".subst('R', 'RR', :g) | ||
p6eval | rakudo f6cdf9: RESULT«"fRREWRR"» | ||
08:44
wayland76 joined
|
|||
bacek | can someone merge #63634 and #62178? | 08:44 | |
wayland76 | rakudo: say "#63634" ~ " #62178" | 08:45 | |
p6eval | rakudo f6cdf9: OUTPUT«#63634 #62178» | ||
wayland76 | There we go :) | ||
Oh wait... :) | |||
frooh | :-) | ||
bacek | wayland76: merge! Not concatenate! | 08:46 | |
wayland76 | rakudo: merge "#63634", " #62178" | ||
p6eval | rakudo f6cdf9: OUTPUT«Could not find non-existent sub mergecurrent instr.: '_block14' pc 67 (EVAL_16:42)» | ||
wayland76 | Well, that's the answer, I guess :) | ||
frooh | rakudo: ("#63634".split('') Z "#62178".split('')).join | 08:47 | |
p6eval | rakudo f6cdf9: RESULT«"# # 6 6 3 2 6 1 3 7 4 8"» | ||
frooh | merged? | ||
bacek | rakudo: sub merge($a,$b) { $a=>1,$b=>1 }; say merge('#63634', '#62178') | ||
p6eval | rakudo f6cdf9: OUTPUT«#63634 1#62178 1» | ||
bacek | rakudo: sub merge($a,$b) { $a=>1,$b=>1 }; say merge('#63634', '#62178').perl | ||
p6eval | rakudo f6cdf9: OUTPUT«["#63634" => 1, "#62178" => 1]» | ||
bacek | rakudo: say ('#63634' | '#62178').perl | 08:48 | |
p6eval | rakudo f6cdf9: OUTPUT«any("#63634", "#62178")» | ||
bacek | merged! | ||
frooh | good job bacek++ ! | ||
08:49
DemoFreak joined
|
|||
bacek | wayland76: how things in Melbourne after earthquake? | 08:51 | |
wayland76 | What earthquake? | ||
:) | |||
Admittedly, I'm about 50km from Melbourne | |||
But I haven't noticed one. We don't usually get them in AU, due to lack of tectonic plate lines across the continent | 08:52 | ||
bacek | wayland76: I know :) | ||
wayland76 | Ah, I see the news says "Victoria's East" | 08:53 | |
Melbourne's suburbs stretch a long way east of Melbourne itself; presumably that's where it was felt | |||
Out where the bushfires are | |||
(bacek: I know you know this, but I figured some others might be interested) | 08:54 | ||
bacek | Last nail... Looks like someone hates Melbourne very much... | ||
frooh is interested | |||
bacek start thinking 'bout BBQ | |||
Oh. I'm out of beer... | 08:55 | ||
wayland76 | bacek: Not to commend his views, but you remember what Danny Nalliah said about the bushfires? | ||
bacek | No BBQ for me today... | ||
wayland76: no. | |||
wayland76 | bacek: Don't you have a 24x7 store? :) | ||
bacek | wayland76: are such things exists in Australia??? | 08:56 | |
wayland76 | Danny Nalliah basically claimed that God had been protecting Victoria (presumably from Satan) and stopped protecting it when the pro-abortion laws were passed | ||
bacek: Well, ok, but if I'd said an 18x6, would you have known what I meant? | |||
bacek | wayland76: size of screw??? | 08:57 | |
:) | |||
bacek found Danny Nalliah quote. ROTFL! | 08:58 | ||
frooh | rakudo: "s t a t i o n".comp | 09:03 | |
p6eval | rakudo f6cdf9: OUTPUT«Method 'comp' not found for invocant of class 'Str'current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)» | ||
frooh | rakudo: "s t a t i o n".comb | ||
p6eval | rakudo f6cdf9: RESULT«["s", "t", "a", "t", "i", "o", "n"]» | ||
frooh | rakudo: "s t a t i o n".comb('t') | ||
p6eval | rakudo f6cdf9: OUTPUT«Parameter type check failed for $matcher in call to combcurrent instr.: 'die' pc 16351 (src/builtins/control.pir:204)» | ||
09:03
Kimtaro left
|
|||
frooh | rakudo: "s t a t i o n".comb(/t/) | 09:03 | |
p6eval | rakudo f6cdf9: RESULT«["t", "t"]» | ||
frooh | rakudo: "s t a t i o n".split(/t/) | ||
p6eval | rakudo f6cdf9: RESULT«["s ", " a ", " i o n"]» | ||
frooh | rakudo: "s t a t i o n".split('t') | ||
p6eval | rakudo f6cdf9: RESULT«["s ", " a ", " i o n"]» | ||
09:05
M_o_C joined
|
|||
frooh | is reading from Standard In different in perl6? | 09:08 | |
wayland76 | Yes | ||
How did you expect to do it? | |||
frooh | that explains why it wasn't working | ||
the same as perl5 | |||
wayland76 | I can think of multiple ways to do it in P5 | ||
frooh | my $foo = <STDIN>; | 09:09 | |
wayland76 | can you give the line that does the actual reading? | ||
Ok, try <$*IN> instead | |||
my $foo = <$*IN>; | |||
frooh | same thing | ||
just ignores it | |||
bacek | rakudo: for =<$*IN> -> $line { say $line } | ||
p6eval | rakudo f6cdf9: OUTPUT«Method 'HOW' not found for invocant of class 'Iterator'current instr.: 'parrot;P6protoobject;ACCEPTS' pc 1300 (runtime/parrot/library/P6object.pir:675)» | ||
bacek | rakudo: for =$*IN -> $line { say $line } | 09:10 | |
frooh | man....now it's waiting | ||
bacek hides | |||
wayland76 | rakudo: while($foo = <$*IN>) { say $foo} | ||
frooh | rakudo: GAME OVER | ||
:-P | |||
wayland76 summon moritz_ :) | 09:11 | ||
frooh | haha | 09:12 | |
this is an awesome error: | |||
Method 'postcircumfix:{ }' not found for invocant of class 'Failure' | |||
I think rakudo just said: fREW, you failed. | |||
wayland76 | rakudo: say "hi" | ||
I think we infinite looped it :) | 09:13 | ||
frooh | it happens | ||
09:13
M_o_C left
|
|||
frooh | well, the for thing isn't working over here | 09:13 | |
but I haven't recompiled in a couple days | 09:14 | ||
so I'll try that | |||
wayland76 | The prefix:<=> doesn't work yet, I think | ||
(the iterator) | |||
frooh | it works for files | ||
wayland76 | Does it? | ||
frooh | yeo | ||
er | |||
yep | |||
wayland76 | Well, I'm wrong then :) | ||
frooh | I'm using it | ||
wayland76 | Anyway, the new STD handles are $*IN $*OUT and $*ERR | 09:15 | |
IIRC | |||
frooh | ok, well, it certainly seemed to work on the bot | ||
wayland76 | See S16 :) | ||
frooh looks | |||
too bad there aren't many examples | 09:17 | ||
maybe the tests will say something | |||
bleg | |||
getc | |||
wayland76 | Well, that gets a Unicode character though :) | 09:18 | |
frooh | yeah | ||
but imagine using it to read a whole file | |||
svn.pugscode.org/pugs/t/spec/S16-io/basic-open.t | |||
09:18
[particle]1 left
|
|||
frooh | that looks helpful | 09:18 | |
er | |||
except it's for opening a file... | |||
09:18
[particle] joined
|
|||
frooh | but it should theoretically work the same | 09:19 | |
09:19
ejs left
|
|||
frooh | :-( | 09:19 | |
wayland76 | Should, agreed :) | ||
frooh | no love | ||
it surprises me that it's easier to open a file than read from stdin | |||
but so it goes | |||
wayland76 | Anyway, I have to go away for an hour or so | 09:20 | |
frooh | ah | ||
I'm silly | |||
wayland76 | ? | ||
frooh | I was doing =$<$*IN> | 09:21 | |
you have to do | |||
=$*IN | |||
wayland76 | Ha! :) | ||
frooh | anyway | ||
probably talk to you tomorrow | |||
thanks for the help etc | |||
wayland76 | Oh, yeah, angle bracked notation died; sorry, I forgot :) | ||
no worries. See you then :) | |||
09:29
barney joined
09:31
WootKit joined
|
|||
frooh | rakudo: say "hello?" | 09:38 | |
:-( | |||
09:42
Kimtaro joined
09:53
WootKit left
09:56
M_o_C joined
10:24
pmurias joined
|
|||
wayland76 | someone has to ressurect the bot to make it happy | 10:39 | |
s/ressurect/resurrect/ | 10:40 | ||
pmurias | mildew: say "hi" | 10:49 | |
moritz_ | wayland76: I've delete the spam | 10:59 | |
thanks for notifying | |||
rakudo: say "alive" | 11:28 | ||
11:29
p6eval joined
|
|||
moritz_ | I don't know what's wrong, but I restarted the bot | 11:29 | |
perl6: say "alive" | |||
p6eval | elf 25731, pugs, rakudo f6cdf9: OUTPUT«alive» | ||
moritz_ | much better | ||
11:44
WootKit joined
11:45
WootKit left,
spx2 left
11:52
Ariens_Hyperion joined
11:53
mberends joined
12:02
baest joined
12:10
Ariens_Hyperion left
|
|||
moritz_ | rakudo: 3 eqv 3 | 12:12 | |
p6eval | rakudo f6cdf9: OUTPUT«No applicable methods.current instr.: '_block14' pc 73 (EVAL_15:42)» | ||
moritz_ | rakudo: say 3 eqv 3 | ||
p6eval | rakudo f6cdf9: OUTPUT«No applicable methods.current instr.: '_block14' pc 73 (EVAL_16:42)» | ||
moritz_ | rakudo: say (1 > 2).perl | 12:13 | |
p6eval | rakudo f6cdf9: OUTPUT«Bool::False» | ||
moritz_ | rakudo: class Int is also { method eqv(Int $other) { $other == self } }; say 1 eqv 2 | 12:14 | |
p6eval | rakudo f6cdf9: OUTPUT«No applicable methods.current instr.: '_block14' pc 73 (EVAL_20:42)» | ||
moritz_ | rakudo: class Int is also { multi method eqv(Int $other) { $other == self } }; say 1 eqv 2 | 12:15 | |
p6eval | rakudo f6cdf9: OUTPUT«No applicable methods.current instr.: '_block14' pc 73 (EVAL_20:42)» | ||
12:21
Ariens_Hyperion joined
12:26
Whiteknight joined
12:46
fridim_ joined
|
|||
pugs_svn | r25732 | moritz++ | [t] and [t/spec]: small improvements, mostly found by STD.pm | 12:58 | |
jnthn waves from the Ukrainian Perl Workshop | |||
moritz_ waves back | 12:59 | ||
jnthn | What's news? | ||
moritz_ | TimToady changed half of the specs ;-) | ||
jnthn has had dubious wifi and a power fail helping him stay offline... | |||
Meh, business as usual then. ;-) | |||
moritz_ | a bit more than usual | ||
result objects in match objects are now accessed differently | 13:00 | ||
with $<?> iirc | |||
and the invocant in captures changed a bit | |||
jnthn | Ah | ||
Ah, OK. | |||
moritz_ | and lists in item context promote to Capture now | ||
and are thus immutable | |||
jnthn | my $x = 1,2,3; # now $x is immutable? | ||
moritz_ | yes. | 13:01 | |
jnthn | ok | ||
None of that sounds *too* horrible...yet | |||
moritz_ | ruoso thinks otherwise (because smop did a lot of work on captures) | ||
oh, and it's now 'method !private' to declare private methods | 13:02 | ||
not 'my method ...' | |||
jnthn | Oh, OK | ||
I think both were spec before anyway? | |||
So it's just *removing* code for that one. | |||
moritz_ | only for roles | ||
jnthn | ok | ||
moritz_ | but it parses OK | ||
jnthn | what does my method mean now? | ||
That it's not also in the package? | 13:03 | ||
moritz_ | visibility limited to lexical scope | ||
jnthn | ok, makes sense. | ||
moritz_ | the default can now also be spelled as 'has method ...' | ||
jnthn | :-S | ||
Wait, so class foo { my method foo() { } }; foo.new.foo # fails? | 13:04 | ||
moritz_ | yes | ||
jnthn | hmm | ||
ok | |||
moritz_ | it did before as well | ||
jnthn | True, but it worked as foo.new!foo | 13:05 | |
IIRC | |||
moritz_ | but ... class foo is also { method bar { self!foo} } fails | ||
jnthn | OK | ||
Could be fun to get right with eval | |||
moritz_ | oh wait, that's 'augment class foo { ... }' now | ||
jnthn | ... | 13:06 | |
OK, I need to re-learn Perl 6. | |||
moritz_ | I told you there were quite some changes | ||
jnthn | I'm happy pretty much none of these changes affect things I've been explaining to people at conferences this year though..afaict. ;-) | ||
moritz_ | but they affect stuff that I write in articles | 13:07 | |
jnthn | aye | ||
:-| | |||
moritz_ | anyway, I hope I can get you and pmichaud to implement most changes that matter for me ;-) | ||
jnthn | you likely can | 13:08 | |
moritz_ | YaY ;-) | ||
jnthn | we'll probably allow a little for the dust to settle | ||
wolverian | does 'class Foo { }; { my method Foo::bar { say "hi" } Foo.new.bar }; Foo.new.bar' do what I want? (i.e. print "hi" once and then fail) | ||
jnthn | I wouldn't expect so | 13:09 | |
But I didn't read the updated spec yet. | |||
wolverian | although that's still sort of monkey patching--I'd rather have lexically scoped "does", so I can lexically make a class implement a role. | ||
(like haskell's type classes) | |||
moritz_ is very much attracted by some pancakes... must resist... can't... ;-) | 13:11 | ||
jnthn | just eat it. ;-) | ||
we had pizza delivered for workshop lunch :-) | 13:12 | ||
wolverian: I think you can declare a lexical class of the same name that is based on the current one but does the role. | 13:13 | ||
wolverian | that wouldn't affect values of that class I already have, would it? | 13:15 | |
jnthn | no | ||
since you're actually declaring a new class | 13:16 | ||
wolverian | that's not good enough for me :) | ||
jnthn | well, ain't you hard to please :-P | 13:17 | |
moritz_ | just implement 'use Haskell' in lexical scopes ;-) | ||
wolverian | I just want safe monkeypatching... | ||
jnthn | AFAICT you want to lexically monky-patch? | ||
A little like .Net extention methods? | |||
wolverian | right, except nominally with roles, so I don't have to do it method by method. | ||
jnthn | *monkey | ||
hmm | 13:18 | ||
well, I guess you could try monkey-patching the dispatcher ;-) | 13:19 | ||
as part of module Haskell ;-) | |||
It'd probably not be too hard...you could then delegate back to the usual dispatcher. | 13:21 | ||
Heh | |||
.wrap ClassHOW.dispatch | |||
That's sick. :-D | 13:22 | ||
ok I haz a talk now...maybe back later... | 13:33 | ||
13:43
abra joined
14:05
|jedai| is now known as jedai
14:15
parduncia joined
14:35
brunoV joined
14:37
meppl joined
14:54
Ariens_Hyperion left
14:56
braceta joined
15:01
AndyAway left
15:17
orafu joined
15:19
alester joined
15:20
abra left
15:23
Ariens_Hyperion joined
15:24
parduncia left
15:37
Chillance joined
15:38
Chillance left,
Chillance joined
15:51
Tene_ joined
15:57
orafu left,
M_o_C left,
barney left,
DemoFreak left,
sri_kraih left,
japhb left,
pugs_svn left,
moritz_ left,
szabgab left,
buubot left,
literal left,
ewilhelm left,
simcop2387 left,
Chillance left,
baest left,
frodwith left,
mj41 left,
mikehh left,
wayland76 left,
pjcj left,
PacoLinux left,
tarbo2 left,
[particle] left,
meteorjay left,
araujo left,
Tene_ left,
brunoV left,
Tene left,
lambdabot left,
awwaiid left,
kst left,
Sepheebear left,
Coleoid left,
elmex left,
zostay left,
AzureStone left
15:58
moritz_ joined,
Tene_ joined,
Chillance joined,
orafu joined,
brunoV joined,
baest joined,
M_o_C joined,
barney joined,
[particle] joined,
DemoFreak joined,
wayland76 joined,
Tene joined,
Sepheebear joined,
sri_kraih joined,
japhb joined,
meteorjay joined,
Coleoid joined,
awwaiid joined,
elmex joined,
lambdabot joined,
araujo joined,
literal joined,
pugs_svn joined,
ewilhelm joined,
simcop2387 joined,
buubot joined,
szabgab joined,
zostay joined,
pjcj joined,
frodwith joined,
PacoLinux joined,
mj41 joined,
AzureStone joined,
tarbo2 joined,
kst joined,
mikehh joined,
gravity joined,
kane_ joined,
cls_bsd joined,
PZt joined,
lisppaste3 joined,
cotto joined,
xinming_ joined,
pasteling joined,
allbery_b joined,
broquaint joined,
gfldex joined,
Helios joined,
irc.freenode.net sets mode: +o moritz_,
Maddingue joined,
szbalint joined,
Eevee_ joined,
buu joined,
IRSeekBot joined,
Grrrr joined,
PerlJam joined,
viklund joined,
idemal joined,
nikn joined,
gbacon joined,
scrottie joined,
ilbot2 joined,
yves joined,
cxreg joined,
f00li5h joined,
avar joined,
Aisling joined,
spinclad joined,
diakopter joined,
kcwu joined,
frobnitz joined,
mtve joined,
zev joined,
nipotan joined,
silug joined,
irc.freenode.net sets mode: +o PerlJam
16:02
NoirSoldats joined
16:03
Tene left,
Whiteknight left
16:05
wolverian joined
16:07
NoirSoldats left
16:08
NoirSoldats joined
16:14
NoirSoldats left
16:22
mikehh left
16:25
__felix__ joined
16:27
__felix__ left,
__felix__ joined
16:28
__felix__ left
16:29
hexmode joined
16:30
Ariens_Hyperion left
16:34
mikehh joined
16:40
zulon joined
|
|||
zulon | hi! | 16:41 | |
for a few months now I've been playing around with Haskell, and I'd want to know if features from it would be usable in Perl 6 | |||
is it possible to use roles like Haskell's classes ? | 16:42 | ||
are there any way to use algebraic data type easily ? | |||
is* | |||
is it possible to define a do-notation like Haskell's one, but for lists, maybes etc. (not IO) ? | 16:43 | ||
diakopter | well, Perl 6 isn't (by default) lazy (unless you deal in list context only I guess) or pure, so... | 16:44 | |
zulon | yes I know | 16:45 | |
but I'm not asking about lazyness | |||
diakopter | but why would you need a do notation? | ||
zulon | for many things | 16:46 | |
eg. computations that can fail, that can yield more than one result... | |||
and because timtowtdi :p | |||
TimToady | Perl generally prefers to build its monads into its objects; all objects are Maybe/Error already, for instance, unless subtyped to prevent that | 16:48 | |
that being said, all is fair in a lexical scope | |||
as long as it doesn't clobber other lexical scopes via spooky action at a distance | 16:49 | ||
zulon | hum | ||
so it is possible to define <- infix op and "programmable" semicolon ? | |||
TimToady | perl6: sub infix:<\<-> ($a,$b) { say "I'm a $a <- $b" }; 123 <- 42 | 16:51 | |
p6eval | rakudo f6cdf9: OUTPUT«Malformed routine definition at line 1, near "infix:<\\<-"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
..elf 25732: RESULT«» | |||
..pugs: OUTPUT«***  Unexpected "infix" expecting "=", subroutine parameters, trait or block at /tmp/2hwsTruUvT line 1, column 5» | |||
TimToady | std: sub infix:<\<-> ($a,$b) { say "I'm a $a <- $b" }; 123 <- 42 | ||
p6eval | std 25732: OUTPUT«ok 00:04 38m» | ||
TimToady | std: sub infix:<< <- >> ($a,$b) { say "I'm a $a <- $b" }; 123 <- 42 | 16:52 | |
p6eval | std 25732: OUTPUT«Bareword found where operator expected at (eval 154) line 22, near "q<< <- >>, }, 'RE_method'), }, 'RE'),};sub infix__S_500Lt_LtMinus_Gt__PEEK { $_[0]->_AUTOLEXpeek" (Might be a runaway multi-line <> string starting on line 17)############# PARSE FAILED | ||
..########... | |||
TimToady | heh | ||
diakopter | pugs might take that? | ||
TimToady | rakudo: sub infix:<< <- >> ($a,$b) { say "I'm a $a <- $b" }; 123 <- 42 | ||
p6eval | rakudo f6cdf9: OUTPUT«Malformed routine definition at line 1, near "infix:<< <"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
moritz_ | rakudo doesn't do custom ops yet | ||
TimToady | pugs: sub infix:<< <- >> ($a,$b) { say "I'm a $a <- $b" }; 123 <- 42 | ||
p6eval | pugs: OUTPUT«I'm a 123 <- 42» | ||
TimToady | there you go | ||
pugs: sub infix:«<-» ($a,$b) { say "I'm a $a <- $b" }; 123 <- 42 | 16:53 | ||
p6eval | pugs: OUTPUT«I'm a 123 <- 42» | ||
zulon | well I was not thinking about it this way but rather something like "mdo { $x <- 1 .. 10; return $x + 10 }" that would map (+10) over (1..10) | ||
TimToady | std: sub infix:«<-» ($a,$b) { say "I'm a $a <- $b" }; 123 <- 42 | ||
p6eval | std 25732: OUTPUT«ok 00:04 38m» | ||
moritz_ | zulon: you can write that as 'for 1..10 -> $x { ... }' already | ||
zulon | yes, but you can't use it for the Maybe monad for example | 16:54 | |
moritz_ | there's no explicit Maybe monad in Perl 6 | ||
but most things can be undef anyway | |||
16:55
nihiliad joined
|
|||
TimToady | perl6: say map {$_+10}, 1..10 | 16:55 | |
zulon | yes, but can you write something like "mdo { $x <- lookup ...; $y <- lookup ...; say "Found $x and $y" } | ||
p6eval | elf 25732: OUTPUT«Use of uninitialized value $_ in addition (+) at (eval 124) line 3.Undefined subroutine &GLOBAL::map called at (eval 124) line 3. at ./elf_h line 4372» | ||
..pugs, rakudo f6cdf9: OUTPUT«11121314151617181920» | |||
moritz_ | rakudo: my %h = ( a => any(3, 4) ); for %h.kv -> $k, $v { say "$k: {$v.WHAT}" }; | ||
p6eval | rakudo f6cdf9: OUTPUT«a: Inta: IntNo exception handler and no messagecurrent instr.: 'return' pc 16018 (src/builtins/control.pir:39)» | ||
16:56
slavik1 joined
|
|||
slavik1 | rofl | 16:56 | |
moritz_ | zulon: you can't write Haskell in Perl 6. But you can do similar stuff with similar idioms | ||
slavik1 | perl6: say "hello"; | ||
p6eval | elf 25732, pugs, rakudo f6cdf9: OUTPUT«hello» | ||
zulon | ok | ||
slavik1 | err, what's with the rakudo version? | 16:57 | |
rakudo: say "hello" | |||
p6eval | rakudo f6cdf9: OUTPUT«hello» | ||
diakopter | moritz_: TimToady will take that as a challenge... :P | ||
16:57
cspencer joined
|
|||
slavik1 | rakudo's version leaked out from 32 bits? heh | 16:57 | |
diakopter | chopped git revision hash? | ||
TimToady | I have plenty of challenges already, thank you... | ||
moritz_ | rakudo: my %h = ( a => any(3, 4) ); say %h<a>.WHAT; | 16:58 | |
p6eval | rakudo f6cdf9: OUTPUT«Junction» | ||
moritz_ | rakudo: my %h = ( a => any(3, 4) ); for %h.kv -> $k, Object $v { say "$k: {$v.WHAT}" }; | ||
p6eval | rakudo f6cdf9: OUTPUT«a: Junction» | ||
slavik1 | how come Larry isn't on this channel? where am I going to suggest default return values of 42? | ||
moritz_ | slavik1: he is ;-) | 16:59 | |
slavik1 | hmm, which one is he then? heh | ||
TimToady | zulon: but by default, Perl 6 optimizes for you not having to be a space alien | ||
zulon | ? | ||
TimToady | Haskell makes things easy for space aliens, not normal folk | ||
slavik1 | TimToady: is it any way possible to be able to get a stack trace of a running parrot vm? | ||
zulon | ah ok | 17:00 | |
slavik1 is kicking around an idea of a Perl6 Application Server ... | |||
TimToady | slavik1: you'd have to speak to the parrotfolk about that; I'm just a recovering linguist | ||
slavik1 | haha | 17:01 | |
also, any chance that rakudo could access the parrot vm to execute pbc? | |||
like and eval_pbc(); or something | |||
TimToady | ask pmichaud or jnthn | ||
slavik1 | ok | 17:02 | |
pmichaud, jnthn: please check and update :) | |||
and provide updation on the same ... | |||
TimToady | I know you can do inline PIR, so the answer is likely "yes" on some level | ||
17:02
zulon left
|
|||
slavik1 | TimToady: the idea is to have something for Parrot (Perl6, etc) what Weblogic/WebSphere does for Java | 17:03 | |
if that makes sense | |||
TimToady | haven't the foggiest idea what Weblogic/WebSphere do | ||
diakopter | slavik1: I think I did read that rakudo can load a pbc | ||
moritz_ | slavik1: I guess it's load_bytecode 'Filname.pbc' | ||
TimToady | I'm not a webbish person | 17:04 | |
slavik1 | TimToady: you can load balance a java application on a cluster of servers, etc. | ||
TimToady: it's like google's mapreduce type of thing | |||
TimToady | gotcha | ||
slavik1 | and afaik, Java is the only platform to have this | ||
17:05
ejs joined
|
|||
TimToady | but perhaps a bit less probabalistic than mapreduce? | 17:05 | |
slavik1 | right | ||
TimToady: weblogic and websphere also manage all the database connections for you, so your app does something like: weblogic.getdbconnection() and that's it | |||
the app never knows where the db is, nor how it actually connects, etc. | 17:06 | ||
TimToady | finally, a good use for network transparency :) | ||
slavik1 | and weblogic/websphere do that headache for your app as far managing it, testing the connection, creating new ones, reusing old connections | ||
oh, and you can reconfigure the db connection without any change to the app at all while it is running :) | 17:07 | ||
TimToady | so basically it's a kind of virtual server fronting a cluster | ||
slavik1 | yes | ||
diakopter | slavik1: .Net/IIS have those capabilities too... (fyi) also, you can build those kinds of distributed dependency layers in just about [grabbag of] language(s)/environment(s) | ||
TimToady | what does that have to do with logic or spheres, I ask myself... | ||
alester | The first rule of taking a database dump: nohup it. | ||
slavik1 | diakopter: but for Java, it is "already there"(tm) | ||
alester | The second rule of taking a database dump: Make sure there's room for it. | ||
slavik1 | haha | ||
alester: tough life of a dba? | |||
alester | ONly blew 2 hours. | ||
diakopter | (sigh) | 17:08 | |
slavik1 | alester: man screen ;) | ||
also a nice utility\ | |||
alester | I don't do screen. | ||
I just have never liked it. | |||
slavik1 | how come? :( | ||
screen is like nohup, only better | |||
alester | Just don't. It just doesn't fit how I work. | ||
slavik1 | I see | ||
cspencer | is the "steps to create a patch" the latest and greatest way of submitting patches to rakudo? i seem to remember there being some discussion on the list as to whether or not to use RT vs git's way of doing things... | ||
alester | I know what it is. I know why it is God's gift to programmers. It just doesn't fit me. | 17:09 | |
moritz_ | cspencer: it's probably not the latest and greatest | ||
slavik1 | sqlplus ftw? | ||
cspencer | moritz: alrighty then - was it hashed out on the list as to how to do it? | ||
moritz_ | cspencer: I think the currently recommended routine is to put all in a branch, and then squash it into a single commit | ||
cspencer: and then git-format-patch that single commit, and send it to RT | |||
diakopter | alester: but we all must convince others to use our chosen tools to feel justified in our own selections. | 17:10 | |
cspencer | moritz: ok...i'll check back into the archives and struggle with git a bit more then :) | ||
moritz_ | cspencer: more specifically, when you're done with $branch, git-checkout master; git-merge --squash $branch; git-commit -a | 17:11 | |
cspencer | moritz: thanks, noted! | 17:12 | |
slavik1 | jhowitz not around? | 17:13 | |
:( | |||
what's the command to leave someone a note/message? | |||
diakopter | @tell slavik1 like this | ||
lambdabot | Consider it noted. | ||
slavik1 | ty | ||
lambdabot | slavik1: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
pugs_svn | r25733 | lwall++ | [STD] detect <STDIN> and <> perl5os | 17:14 | |
17:19
skids joined
17:23
braceta left
17:27
wolverian left,
wolverian joined
17:34
Eevee_ left
17:37
mncharity joined,
DemoFreak left
17:38
slavik1 left
17:40
barney left
|
|||
pugs_svn | r25734 | putter++ | [elfparse] emit5.pm: fix a RATCHET typo/bug. | 17:40 | |
17:44
ejs left
17:46
sri_kraih left
18:05
fridim_ left
18:14
justatheory joined
18:16
justatheory left
|
|||
pugs_svn | r25735 | lwall++ | disallow bare <> as probable p5ism | 18:19 | |
r25736 | lwall++ | fix up occurrences of <> in the tests | 18:21 | ||
r25736 | lwall++ | improve <> error message slightly | |||
r25737 | moritz++ | [t/spec] more small improvements (STD++, TimToady++) | 18:22 | ||
18:24
kst left
|
|||
pmurias | diakopter: hi | 18:26 | |
diakopter | pmurias: hi | 18:31 | |
18:34
Psyche^ joined
18:35
pmurias left
18:36
pmurias joined
|
|||
pmurias | diakopter: is ironperl (or whatever Perl 6 on .net will be called) avalible somewhere public yet? | 18:36 | |
diakopter | pmurias: well, I have an (empty) git repo for it :) but no... perhaps today or tomorrow. I've been scared off from git the past week or two though! | 18:37 | |
pmurias | what are you writting it in? | 18:38 | |
diakopter | tycho | ||
it's a typeless, constructor-based language/interpreter that's written in C# and compiles to CIL. | 18:39 | ||
pmurias | url? | ||
diakopter | it's gpl2, btw. google tycho googlecode | 18:40 | |
moritz_ | code.google.com/p/tycho/ | ||
diakopter | yes | ||
pmurias | diakopter: and what are you compiling to? | 18:42 | |
moritz_ | from its description it looks like a mixture of lisp and PCT ;-) | ||
diakopter | it compiles to CIL (runs on mono, too) | ||
yeah, I'm swapping out the lexer/parser for a PEG engine, if only to parse STD/viv's emission! | 18:43 | ||
moritz_ | so you'll use STD? cool ;-) | ||
pmurias | diakopter: meant, what do you transform the STD parse tree to? | ||
diakopter | oh... commands to create constructors | 18:44 | |
all essentially lambda expressions | |||
the tycho api | |||
which can use all of the .net FCL (foundation class libraries) | |||
pmurias | diakopter: what i'm trying to determine if it would make sense to use the mildew AST instead of the STD/viv parse-tree | 18:46 | |
diakopter | it very well might... what kind of reduction(/expansion?) occurs to produce the mildew ast | 18:47 | |
pmurias | everything is translated to method calls | 18:48 | |
diakopter | perhaps nopaste an ascii example? | 18:49 | |
pmurias | it might be a bit smop oriented atm, but i can make nessary adjustments | ||
ok | |||
18:50
Patterner left,
Psyche^ is now known as Patterner
|
|||
pmurias | diakopter: you could try running perl mildew -Cdesugar (it does not require a compiled smop) | 18:52 | |
diakopter | also, the DLR might be part of the stack. not sure whether to compile to the C# DLR API or not.... | 18:53 | |
pmurias | what does the DLR provide? | 18:55 | |
18:55
brunoV left
|
|||
diakopter | pluggable runtime binding/dispatch engines | 18:56 | |
and pluggable type converter-generators | |||
and lexical scopes and symbol tables | 18:57 | ||
pmurias | one thing you should decide on is if you are going to implement full Perl 6 or just the things that map to .net nicely | 18:58 | |
diakopter | well, the reason I spent so long researching a ton of possible strategies was to find one that would enable the full implementation (eventually) without having to overlay/replace stuff | 18:59 | |
19:00
s1n joined
19:01
Util joined
|
|||
diakopter | and, I'm fairly confident that a Perl 6 object can be a CLR object, as well as routines corresponding to CLR methods (not necessarily attached to the same "type" as the object they're called on (for private dispatch and scope/namespace dispatch). | 19:02 | |
Util | rakudo: sub foo {say "Hi"} foo(); | ||
p6eval | rakudo f6cdf9: OUTPUT«Statement not terminated properly at line 1, near "foo();"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
moritz_ | the semicolon after } is only optional if followed by a line break | 19:03 | |
Util | Thanks moritz | ||
moritz_ | you're welcome | 19:04 | |
Util | rakudo: sub foo {say "Hi"}; foo(); | ||
p6eval | rakudo f6cdf9: OUTPUT«Hi» | ||
Util | rakudo: sub foo {say "Hi";} foo(); | ||
p6eval | rakudo f6cdf9: OUTPUT«Statement not terminated properly at line 1, near "foo();"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
cspencer | has the rakudo spectest suite be reorganized? | 19:05 | |
when i do a "make spectest", it complains about a lot of missing files.... | |||
(mostly in spec/S29-*) | |||
pasteling | "pmurias" at 78.8.208.43 pasted "sub {say "hello world"} - mildew ast in pretty printed format" (20 lines, 1.1K) at sial.org/pbot/35389 | 19:06 | |
pmurias | diakopter: there's a lot of smopism visible but i think i could easily make the ast much more generic | 19:08 | |
diakopter | oooooo | ||
this is great | 19:10 | ||
so, the builtins are the Perl6 metamodel? | |||
as well as the API on the interpreter, of course | 19:11 | ||
pmurias | that's the goal | ||
not having a additional layer | 19:12 | ||
diakopter | well, eventually :P | ||
pmurias | so mildew emits things like a call to &infix:<+> to add numbers instead of using an add opcode | 19:14 | |
diakopter: does ironperl run on mono? | 19:15 | ||
diakopter | I won't choose any components that don't work on mono... | 19:16 | |
and mono's goal is to run anything that it has the libraries for, and that the CLR can run, so they'd be very eager to fix any discrepancies | 19:17 | ||
pugs_svn | r25738 | moritz++ | [t/spec] unbreak a test for rakudo | ||
moritz_ | rakudo: say enum ('foo', 'bar') | 19:18 | |
p6eval | rakudo f6cdf9: OUTPUT«Could not find non-existent sub enumcurrent instr.: '_block14' pc 78 (EVAL_18:43)» | ||
moritz_ | rakudo: say enum Foo ('foo', 'bar') | ||
p6eval | rakudo f6cdf9: OUTPUT«Statement not terminated properly at line 1, near "('foo', 'b"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | 19:19 | |
diakopter | does mildew need changes for the latest invocation semantics? | 19:23 | |
19:24
Ariens_Hyperion joined
|
|||
cspencer | moritz: after doing all of the git squash stuff after i've made my changes, do I use "git diff" to output the patch and then submit that via RT? | 19:24 | |
pmurias | diakopter: one or two small changes | 19:25 | |
moritz_ | cspencer: you commit it to your git copy, and then run 'git-format-patch HEAD^' to get a patch that contains meta data (like commit message) | ||
cspencer | gotcha, thanks :) | ||
moritz_ | s/git copy/local git repo/ | ||
19:35
Eevee joined
19:39
Util left
19:44
PZt left
19:52
brunoV joined
20:28
pidus joined
20:37
DemoFreak joined
20:40
Helios left
20:42
Helios joined
|
|||
bacek | good morning | 20:55 | |
rakudo: say "Привет" | 20:57 | ||
p6eval | rakudo f6cdf9: OUTPUT«Привет» | ||
bacek | rakudo: "Привет" ~~ /(и)/; say $/ | 20:58 | |
p6eval | rakudo f6cdf9: OUTPUT«и» | ||
21:11
Helios left,
Helios joined
21:12
finchely joined
21:16
finchely left
21:30
Whiteknight joined
21:33
pmurias left
21:35
justatheory joined,
kst joined
|
|||
moritz_ | can I link to a subdirectory of a project on github, without chosing a specific revision? | 21:41 | |
bacek | github.com/bacek/rakudo/tree/master/src | 21:43 | |
WFM | |||
moritz_: btw, can you merge #62178 and #63634. 250 open tickets much better than 251 :) | 21:44 | ||
moritz_ | bacek: done | 21:52 | |
bacek | moritz_: thanks | ||
cspencer: you forgot vim modeline in any-list.pm. And there is bare tabs instead of spaces in it. | 21:55 | ||
still 251 tickets... | |||
cspencer | bacek: doh. sorry about that. i could have sworn tabs were getting converted to spaces, but i'll be sure to fix that. | 21:56 | |
bacek: would you like me to resubmit? | |||
bacek | cspencer: ask moritz_, I can't commit it anyway :) | ||
moritz_ | I think it's fine | 21:57 | |
cspencer | moritz_: okay, i'll make sure subsequent ones are fixed | ||
not being a vim user, i would easily forget such things as vim modelines :) | |||
moritz_ runs 'make spectest' | |||
cspencer: that's fine. Some vim user will add it | 21:58 | ||
aka me | |||
cspencer | moritz_: thanks :) | ||
moritz_ | running spectest now | 21:59 | |
21:59
ffbb joined
|
|||
bacek | yay. Almost all any-list.pir can be rewrited into Perl6 | 21:59 | |
cspencer | bacek: i've been chipping away at that for the last several weeks but getting my head wrapped around some of git took me a while to get to sending in a patch | 22:00 | |
bacek | git send-email --to=rakudobug@perl.org HEAD~1 | 22:02 | |
22:05
duke_leto joined
|
|||
pugs_svn | r25739 | hinrik++ | [util/perl6.vim] remove 'is instead' | 22:15 | |
bacek | rakudo: sub foo ($a,$b) { ... }; say foo.arity | 22:17 | |
p6eval | rakudo f6cdf9: OUTPUT«too few arguments passed (0) - 2 params expectedcurrent instr.: 'foo' pc 104 (EVAL_18:50)» | ||
moritz_ | bacek: &foo.arity | ||
bacek | rakudo: sub foo ($a,$b) { ... }; say &foo.arity | ||
p6eval | rakudo f6cdf9: OUTPUT«2» | ||
dalek | kudo: 7559fc9 | (Cory Spencer)++ | (3 files): Removed PIR of grep and replaced with P6 version. |
||
kudo: ed4cd14 | (Moritz Lenz)++ | src/setting/Any-list.pm: whitespaces and modeline in Any-list.pm |
|||
bacek | moritz_: thanks! | ||
moritz_ | cspencer++ | 22:18 | |
rakudo: (1..16).grep({next if $_ % 5 == 0; $_ % 2 == 0 }).perl | 22:19 | ||
p6eval | rakudo f6cdf9: OUTPUT«WarningWarningWarning» | ||
moritz_ | rakudo: say (1..16).grep({next if $_ % 5 == 0; $_ % 2 == 0 }).perl | 22:20 | |
p6eval | rakudo f6cdf9: OUTPUT«WarningWarningWarning[2, 4, 6, 8, 10, 12, 14, 16]» | ||
22:20
justatheory left
|
|||
moritz_ | rakudo: say (1..16).grep({last if $_ % 5 == 0; $_ % 2 == 0 }).perl | 22:20 | |
p6eval | rakudo f6cdf9: OUTPUT«WarningWarningWarning[2, 4, 6, 8, 10, 12, 14, 16]» | ||
moritz_ | in my local copy that prints [2, 4] | ||
which proves the worth of doing stuff in Perl 6 | 22:21 | ||
and the first one omits 10 | |||
moritz_ should write tests for that | |||
but not today | |||
cspencer | moritz: is "f6cdf9" the git version number? | 22:25 | |
moritz_ | cspencer: it's the first piece of the sha1 hash, yes | 22:26 | |
cspencer | were the warnings from the p6 grep version or the pir? | ||
moritz_ | from pir | ||
cspencer | ah ok, whew :) | 22:27 | |
moritz_ | and you see that the next() inside the grep didn't work with the pir version | ||
but it does with the Perl 6 version | |||
pugs_svn | r25740 | hinrik++ | [util/perl6.vim] add lift | ||
cspencer | ah ok :) | 22:29 | |
i didn't see that before | |||
moritz_ | rakudo: say (1..16).grep({last if $_ % 5 == 0; $_ % 2 == 0 }).perl | 22:30 | |
p6eval | rakudo f6cdf9: OUTPUT«WarningWarningWarning[2, 4, 6, 8, 10, 12, 14, 16]» | ||
moritz_ | not yet updated :/ | ||
22:34
kjwcode joined
|
|||
moritz_ | rakudo: say (1..16).grep({last if $_ % 5 == 0; $_ % 2 == 0 }).perl | 22:34 | |
p6eval | rakudo ed4cd1: OUTPUT«[2, 4]» | ||
22:34
explorer joined
|
|||
cspencer | there we go :) | 22:35 | |
kjwcode | rakudo: class Thingie { has $!foo is rw; method init { $!foo = "hi!"; } method greet { say $!foo; } } my $t = Thingie.new; $t.greet; | 22:36 | |
p6eval | rakudo ed4cd1: OUTPUT«Statement not terminated properly at line 1, near "method gre"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
moritz_ | kjwcode: you need ; after } unless there's a newline immediately after } | 22:37 | |
kjwcode | Aha -- that makes sense. Using rakudo (svn as of earlier today) doesn't do the right thing in full form, though -- it says I'm using an unitialised value. | ||
Well, I shouldn't say it doesn't do the right thing -- it doesn't work, but the bug could be in me. :) | 22:38 | ||
moritz_ | well, $!foo is uninitialized | ||
you don't call .init | |||
anyway, bed & | 22:39 | ||
kjwcode | Oh, that would certainly do it. I was using the spectest as a model, but now that you mention it I see $c.init(). | ||
Thank you, moritz_. | |||
22:41
duke_leto left
22:46
kjwcode left
22:55
mberends left
22:58
Sartak joined
23:05
explorer left
23:07
ZuLuuuuuu joined
|
|||
bacek | rakudo: my $e = -> { $^a+$^b*$^c }; say $e.arity | 23:19 | |
p6eval | rakudo ed4cd1: OUTPUT«Cannot use placeholder var in block with signature. at line 1, near "+$^b*$^c }"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
bacek | rakudo: my $e = sub { $^a+$^b*$^c }; say $e.arity | ||
p6eval | rakudo ed4cd1: OUTPUT«3» | ||
diakopter | @tell TimToady should [R**] reverse the list and then foldl with $^b ** $^a ..... or reverse the list and then foldl with $^a ** $^b (aka foldr)? seems to me to be consistent with the other usage of Rop it should just swap the operands of each operation, since for non-commutative binary operations there's a difference. Then I think a new syntax should be created if you want to reverse the list before a reduction operation... | 23:31 | |
lambdabot | Consider it noted. | ||
TimToady | I agree. | 23:35 | |
lambdabot | TimToady: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
diakopter | maybe [R**R] :? | 23:36 | |
or R[R**] | 23:37 | ||
dunno | |||
or even [RR**] | |||
since it's reversible.. | |||
RR would be redundant, so use it for something else :P | |||
oh, well that wouldn't work for just reverse-then-reduce | 23:38 | ||
TimToady | I should say, I agree with the first part, not the last | ||
diakopter | oh | ||
TimToady | it doesn't really need special syntax beyond an lreduce function | ||
if that | |||
diakopter | reduceR ? | ||
TimToady | whatever, [Rop] @list.reverse | 23:39 | |
23:40
sparc_ joined
|
|||
diakopter | rakudo(rakudobug;autospectest(TODO)): is(([R**] 2,3,4),262144) | 23:42 | |
sparc_ | is downloading parrot enough to get a latest perl6? | 23:53 | |
23:57
Limbic_Region joined
|