»ö« | 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:02
Whiteknight joined
00:07
sm` left,
zpmorgan left
00:09
ihrd joined
00:13
rfordinal left
00:20
jauaor left
00:27
rdice left,
kothog joined,
quietfanatic left
|
|||
kothog | is there a git repository for perl6 somewhere? | 00:27 | |
TimToady | for rakudo | ||
00:27
TiMBuS joined
|
|||
kothog | TimToady: oh? | 00:28 | |
TimToady | hit "Download" on perl6.org and you should get to the rakudo page | ||
kothog | i see it. | ||
thank you! | |||
neat.. seemingly not much to it! i infer some effort is going elsewhere. Parrot? | 00:32 | ||
00:33
ihrd left
00:39
arnsholt_ joined
00:48
felipe left,
Gothmog_ left,
BinGOs left,
sm^^^ left,
shachaf left,
xinming left,
jrockway left,
ascent_ left,
carlin left,
spinclad left,
athomason left,
astinus left,
szbalint left,
baest left,
huf left,
edenc left,
TimToady left,
sunnavy left,
cookys left,
cosimo left,
Ryan52 left,
literal left,
IRSeekBot left,
c1sung left,
Tene left,
he_ left,
krunen left,
bigpresh_ left,
jantore left,
ruoso left,
Patterner left,
PacoLinux left,
araujo left,
lisppaste3 left,
pnu left,
gbacon left,
Dr_Sunglasses left,
yath left,
hatseflats left,
renormalist left,
bionoid left,
Juerd left,
kent\n left,
cxreg left,
Eevee left,
maja left,
rhr_ left,
arthur-_ left,
ilbot2 left,
frew_ left,
Aisling left,
charsbar left,
Woody2143 left,
michaelr left,
rapacity left,
r0bby left,
payload left,
leedo_ left,
synth left,
dukeleto left,
meteorjay left,
clkao left,
integral left,
Woodi left,
yves left,
blaze-x left,
gabiruh left,
kothog left,
garron left,
elmex left,
buu left,
rjh left,
Infinoid left,
christine left,
dmpk2k left,
solarion left,
rafl left,
japhb left,
mj41_ left,
ingy left,
orafu left,
jrtayloriv left,
hudnix left,
cotto left,
zostay left,
simcop2387 left,
dalek left,
wolverian left,
silug left,
stephenlb left,
justatheory left,
diakopter left,
jan_ left,
sri_ left,
nothingmuch left,
p6eval left,
frettled left,
jql left,
mtve left,
arnsholt_ left,
Whiteknight left,
mspauldi1g left,
alester left,
frederico left,
hcchien left,
kst left,
zev left,
avar left,
mdxi left,
KatrinaTheLamia left,
sjohnson left,
Intensity left,
lucs left,
pjcj left,
Grrrr left,
kcwu left,
tylerni7 left,
Rint left,
Matt-W left,
allbery_b left,
moritz_ left,
cls_bsd left,
mikehh left,
nbrown left,
cmv left,
drbean left,
hugme left,
buubot left,
Caelum left,
s1n left,
BooK left,
devin left,
pugs_svn left,
pmichaud left,
ezra left,
sbp left,
phenny left,
TiMBuS left,
Confield left,
NorwayGeek|Away left,
toyam_ left,
szabgab left,
[particle] left,
Helios- left,
kolibrie left,
Khisanth left,
omega left,
ewilhelm left,
nsh left,
JarJarBinks left,
frodwith left,
PerlJam left,
Maddingue left,
c9s left,
tomaw_ left
00:55
arnsholt left
00:59
diakopter joined,
maja_ joined,
arnsholt_ joined,
TiMBuS joined,
kothog joined,
sm^^^ joined,
mikehh joined,
ruoso joined,
payload joined,
mspauldi1g joined,
Confield joined,
nbrown joined,
tomaw_ joined,
cmv joined,
japhb joined,
leedo_ joined,
bigpresh_ joined,
NorwayGeek|Away joined,
synth joined,
mj41_ joined,
Eevee joined,
justatheory joined,
he_ joined,
dukeleto joined,
Patterner joined,
PacoLinux joined,
alester joined,
szabgab joined,
shachaf joined,
kent\n joined,
drbean joined,
ingy joined,
frederico joined,
orafu joined,
[particle] joined,
xinming joined,
hcchien joined,
jrtayloriv joined,
jrockway joined,
kst joined,
Dr_Sunglasses joined,
hudnix joined,
araujo joined,
jan_ joined,
meteorjay joined,
cotto joined,
ascent_ joined,
hugme joined,
irc.freenode.net sets mode: +o diakopter,
lucs joined,
zev joined,
zostay joined,
rhr_ joined,
clkao joined,
arthur-_ joined,
sri_ joined,
carlin joined,
avar joined,
Woodi joined,
integral joined,
simcop2387 joined,
ilbot2 joined,
spinclad joined,
frew_ joined,
Helios- joined,
athomason joined,
mdxi joined,
KatrinaTheLamia joined,
nothingmuch joined,
kolibrie joined,
Khisanth joined,
Aisling joined,
sjohnson joined,
Intensity joined,
charsbar joined,
yves joined,
blaze-x joined,
dalek joined,
felipe joined,
wolverian joined,
p6eval joined,
rapacity joined,
gabiruh joined,
pjcj joined,
Woody2143 joined,
astinus joined,
lisppaste3 joined,
garron joined,
pnu joined,
Gothmog_ joined,
Grrrr joined,
frettled joined,
elmex joined,
jantore joined,
kcwu joined,
cosimo joined,
edenc joined,
sunnavy joined,
cookys joined,
Ryan52 joined,
irc.freenode.net sets mode: +v p6eval,
IRSeekBot joined,
literal joined,
huf joined,
Tene joined,
c1sung joined,
szbalint joined,
baest joined,
TimToady joined,
BinGOs joined,
buu joined,
buubot joined,
gbacon joined,
krunen joined,
michaelr joined,
Caelum joined,
tylerni7 joined,
omega joined,
yath joined,
silug joined,
devin joined,
s1n joined,
jql joined,
hatseflats joined,
BooK joined,
Rint joined,
Matt-W joined,
ewilhelm joined,
nsh joined,
r0bby joined,
dmpk2k joined,
Infinoid joined,
rafl joined,
rjh joined,
solarion joined,
christine joined,
mtve joined,
allbery_b joined,
moritz_ joined,
cls_bsd joined,
sbp joined,
phenny joined,
pugs_svn joined,
irc.freenode.net sets mode: +ooov TimToady Matt-W moritz_ pugs_svn,
ezra joined,
pmichaud joined,
JarJarBinks joined,
PerlJam joined,
Maddingue joined,
c9s joined,
frodwith joined,
cxreg joined,
bionoid joined,
renormalist joined,
Juerd joined,
andreasg_ joined,
irc.freenode.net sets mode: +ooo pmichaud PerlJam Juerd,
nicomen joined,
jnthn joined,
Trey joined,
irc.freenode.net sets mode: +o jnthn,
s1n_mini joined
01:00
lisppaste3 left,
lisppaste3 joined
01:12
jauaor joined
01:20
orafu left
01:25
payload left
01:30
tak11 joined
|
|||
Tene | kothog: Yes, Rakudo is built on top of Parrot. | 01:38 | |
01:43
s1n_mini left
01:45
JimmyZ joined
01:48
dukeleto left
|
|||
dalek | kudo: 5d3d3a3 | pmichaud++ | Configure.pl: Add --optimize to default --gen-parrot build. |
01:53 | |
pugs_svn | r28351 | lwall++ | [S03] more clarifications of autogenerated generator functions, pmichaud++ | ||
02:08
tak11 left
02:12
payload joined,
tak11 joined
02:14
jaldhar joined
02:19
cognominal left,
cognominal joined
02:21
lisppaste3 left
02:22
lisppaste3 joined,
lisppaste3 left
02:24
lisppaste3 joined,
lisppaste3 left
02:28
lisppaste3 joined
02:44
dukeleto joined
02:46
dukeleto_ joined
03:11
dukeleto left,
dukeleto_ is now known as dukeleto
03:18
zerhash joined
|
|||
pugs_svn | r28352 | diakopter++ | [vijs] implement Int /, % (quotient, remainder) | 03:18 | |
diakopter | vijs: say 102987609812347098760129837021987103475138750 * 1230487130694871034374821979182735987249183791837461982374981732549876660918203 | ||
p6eval | vijs 28351: OUTPUT«126724928495117927075274915808067496423529452979087287709768611828950425207819615781549360513615359180398313258757825666250 time in interpreter: 0.021555 s» | ||
JimmyZ | wow, so super. | 03:27 | |
diakopter | heh | 03:29 | |
vijs: say 1230487130694871034374821979182735987249183791837461982374981732549876660918203 / 102987609812347098760129837021987103475138750 | 03:30 | ||
p6eval | vijs 28352: OUTPUT«11947914248490005806224210623590285 time in interpreter: 0.011124 s» | ||
diakopter | vijs: say 1230487130694871034374821979182735987249183791837461982374981732549876660918203 % 102987609812347098760129837021987103475138750 | ||
p6eval | vijs 28352: OUTPUT«65548383231064399784204749251026113133874453 time in interpreter: 0.011122 s» | 03:31 | |
diakopter | also, the libBigInt.js can convert to/from any radix | ||
thank you Tom Wu, wherever you are | 03:32 | ||
whoever wants to wire up the bases-other-than-ten radix integer instantiation in vijs... please feel free | 03:34 | ||
JimmyZ | vijs: say 1000000000 / 3.14 | 03:44 | |
p6eval | vijs 28352: OUTPUT«execute(): execute error: dec_number not yet implemented; srsly!!?!? at viv line 171.» | ||
diakopter | no decimals, nope. :D | ||
JimmyZ | vijs: say 1000000000 / 267 | ||
p6eval | vijs 28352: OUTPUT«3745318 time in interpreter: 0.010479 s» | ||
JimmyZ | a bit slow. | ||
diakopter | the parser is slow[er] :P | 03:45 | |
but yeah; without constant folding nor linear/dependent type constraint detection/derivation, using bigints for every integer is going to be slow :D | 03:46 | ||
almost done adding basic closures | 03:47 | ||
basic meaning parameter-les | 03:48 | ||
less | |||
and return-less ('cept for last statement-as-expression) | 03:49 | ||
03:56
synth left
04:08
justatheory left
04:11
ruoso left
04:28
tak11 left
|
|||
diakopter | closures working; will commit shortly | 04:38 | |
./viv --js -e 'my $b = 4; my $a=sub{ say $b }; $a(); $b++; $a();' | 04:39 | ||
4 | |||
5 | |||
tee hee | |||
Tene | :D | 04:40 | |
04:47
dukeleto left
|
|||
pugs_svn | r28353 | diakopter++ | [vijs] basic closures working (try this example): | 04:48 | |
r28353 | my $b = 4; my $a=sub{ say $b }; $a(); $b++; $a(); | |||
04:51
dukeleto joined
|
|||
diakopter | vijs: my $b = 4; my $a=sub{ say $b }; $a(); $b++; $a(); $b++; $a(); | 04:52 | |
p6eval | vijs 28352: OUTPUT«456 time in interpreter: 0.030608 s» | ||
diakopter | asleep& | 04:58 | |
05:04
sm^^^ left
05:11
jauaor left
05:14
masak joined
|
|||
masak | good morning, #perl6 | 05:15 | |
TimToady | o/ | 05:16 | |
05:16
cmv left
|
|||
masak | rakudo: .say for Nil | 05:23 | |
p6eval | rakudo 5d3d3a: OUTPUT«Nil()» | ||
masak submits rakudobug | |||
rakudo: my $a = 3/4; $a++ | |||
p6eval | rakudo 5d3d3a: OUTPUT«Method 'succ' not found for invocant of class 'Rat'» | ||
masak submits rakudobug | |||
carlin | rakudo: say sin(1/2^1/2); | 05:31 | |
p6eval | rakudo 5d3d3a: OUTPUT«maximum recursion depth exceededin method Num::Num (src/gen_setting.pm:1874)called from method Num::sin (src/gen_setting.pm:1852)called from Main (/tmp/m4YRgnHhMY:2)» | 05:32 | |
05:32
dukeleto left
|
|||
carlin | rakudo: say (1/2^1/2).sin; | 05:32 | |
p6eval | rakudo 5d3d3a: OUTPUT«one(0.479425538604203, 0.479425538604203)» | ||
masak | use.perl doesn't allow me to edit my own posts anymore. :( it doesn't give me an error, just an empty page. | ||
it's been like this for days. | 05:33 | ||
05:37
dukeleto joined
05:43
rfordinal joined
05:52
justatheory joined
05:53
justatheory left
|
|||
masak emails pudge | 05:53 | ||
05:54
JimmyZ left
06:04
rafl left,
rafl joined
06:13
NorwayGeek|Away left
06:18
sm` joined
06:21
rfordinal left,
rfordinal joined
06:38
NorwayGeek joined
06:39
rfordinal left
06:41
mberends joined
|
|||
moritz_ | \o/ | 06:41 | |
06:41
zamolxes joined
|
|||
mberends | yipee, --optimize in Parrot | 06:42 | |
06:42
zamolxes left
06:43
zamolxes joined
06:46
avuserow_ joined
|
|||
masak | what does it do? retract the flaps? | 06:50 | |
moritz_ | some of them | 06:51 | |
it basically passes -O2 to gcc | |||
masak | $gcc.oxygenate() | ||
pugs_svn | r28354 | lwall++ | [STD] catch attempt to declare symbol previously aliased into an outer scope | 06:52 | |
06:57
avuserow left
06:59
JimmyZ joined
07:04
rfordinal joined
|
|||
dalek | kudo: e52ed31 | moritz++ | src/setting/Rat.pm: .pred and .succ for Rat |
07:08 | |
masak | pudge++ fixed use.perl, yay | 07:14 | |
07:14
sm^^^ joined
|
|||
moritz_ | now if he also gave it a more modern layout... ;-) | 07:15 | |
TimToady | std: my $a = 1; do { say $a; my $a = 2; say $a } | 07:19 | |
p6eval | std 28354: OUTPUT«===SORRY!===Lexical symbol $a (from line 1) is already bound to an outer scope implicitly and must therefore be rewritten explicitly as OUTER::<$a> before you can unambiguously declare a new $a in the same scope at /tmp/yD9yNqSFNN line 1:------> my $a | ||
..=… | |||
pugs_svn | r28355 | moritz++ | [t/spec] tests for -- and ++ on Rats | ||
07:21
donaldh joined
07:23
ejs joined
|
|||
masak | moritz_: your "Rats and other pets" post was submitted to Reddit: www.reddit.com/r/programming/commen...ther_pets/ | 07:25 | |
07:25
sm^^^ left
|
|||
masak | the brainless commenters don't seem to have noticed it yet, though. but it's being re-tweeted in the Twitterverse. | 07:26 | |
masak gets vibes from Star Trek: "captain -- they're scanning us" | 07:27 | ||
moritz_ | wow, 8 up 4 downvotes | ||
I wonder how I could get so many downvotes for example on perlmonks | |||
07:28
sm^^^ joined
|
|||
masak | moritz_: you could extol the virtues of Python and Ruby :P | 07:29 | |
moritz_ | even that wouldn't bring me that many downvotes, if done in a technical manner | ||
I thought more about discriminating against black, disabled women or so :) | 07:30 | ||
07:31
sm` left
|
|||
masak | (from the "experiments you probably shouldn't make" department) | 07:32 | |
07:32
ejs1 joined
|
|||
moritz_ | curious thing, when I added these few tests in r28355, rakudo gave me "Could not find non-existent sub done_testing" at the very end | 07:32 | |
even though there are hundreds of tests in between, and it worked before | 07:33 | ||
masak | and you're sure you didn't accidentally spell it 'Sequel' or something? :) | 07:38 | |
moritz_ | well, I didn't touch it | 07:39 | |
that's where the wieredness comes in | |||
and I used ack to verify that the name is spelled the same in the test file and Test.pm ;-) | |||
07:39
ejs left
07:41
meppl joined
|
|||
masak | sounds like one of those things that would be hard to minimize. :/ | 07:44 | |
moritz_ | www.nytimes.com/2009/09/20/jobs/20pre.html # nice opinion/experience piece on pair programming | 07:47 | |
Matt-W | Interesting | 07:54 | |
07:57
PZt left
08:02
cmv joined
08:08
maja_ left,
cmv left,
hanekomu joined
08:22
NorwayGeek|Away joined,
NorwayGeek left
08:50
simcop2387 left
08:51
icwiener joined
09:01
sm^^^ left
09:07
ssm joined
09:17
cmv joined
09:38
NorwayGeek|Away left
|
|||
Matt-W | moritz_++ # blog post about Rats | 09:40 | |
09:48
pmurias joined
09:50
szabgab left
09:51
dakkar joined
|
|||
masak | the Twittersphere likes it too. | 09:53 | |
wait until they hear about our Cats! :) | |||
moritz_ | well, reddit doesn't seem to like it :-) | 09:56 | |
11 up votes 8 down votes | |||
Matt-W | DOWN?? | 09:57 | |
masak | that's Reddit for you. | 09:59 | |
10:04
JimmyZ left
10:06
simcop2387 joined
10:14
toyam joined
|
|||
Matt-W | guess so | 10:17 | |
hardly the cream of the internet | |||
carlin | A lolrat would have guaranteed upvotes on reddit | 10:21 | |
10:23
rblasch joined
|
|||
Matt-W | class LOLRat is Rat { }; | 10:24 | |
there | |||
done | |||
or maybe it needs a method Str { "LOL" ~ self.Rat::Str() } | |||
10:24
astinus left
10:39
payload left
10:46
toyam left
11:00
gabiruh left
11:12
szabgab joined
11:15
zamolxes left
|
|||
masak | rakudo: class LOLRat is Rat { method Str { 'LOL' ~ self.Rat::Str() } }; say LOLRat.new(:numerator(3), :denominator(4)) | 11:32 | |
p6eval | rakudo e52ed3: ( no output ) | ||
masak | moritz_: isn't it possible to increase the timeout interval a little on the server? | ||
11:34
Whiteknight joined
11:52
icwiener_ joined
11:56
icwiener_ left
|
|||
masak | huh. 0f1ede is a bit scary. | 11:57 | |
11:58
NorwayGeek joined
|
|||
pmurias | diakopter: how do i install v8? | 12:01 | |
moritz_ | masak: sure, you can do that if you want | 12:07 | |
12:07
icwiener left
|
|||
masak tries | 12:08 | ||
12:15
Dr_Sunglasses left
|
|||
masak moritz_ no, I give up. where's the evalbot located again? | 12:15 | ||
moritz_ | pugs/misc/evalbot/ | 12:16 | |
ack 'alarm|limit' | |||
masak | thanks. | ||
12:17
ruoso joined
12:19
payload joined
|
|||
pugs_svn | r28356 | masak++ | [evalbot] increased soft time limit from 8 to 15 seconds | 12:22 | |
r28356 | With a bit of luck, this will decrease the number of premature evalbot | |||
r28356 | killings we have seen lately. | |||
moritz_ | I'm also working on migrating evalbot to a better server that diakopter++ made available to me | 12:23 | |
which has 4 CPUs instead of one | 12:24 | ||
pugs_svn | r28357 | moritz++ | [evalbot] try to be smarter about rebuild parrot for rakudo | 12:28 | |
masak | heh. I dug into the history of the CPU limit: it used to be 15 until April, when moritz_ set it to the 'saner' value 4. then it was raised in June to 8. and now it's back at 15. | ||
moritz_ | -) | ||
s/^/:/ | |||
pugs_svn | r28358 | moritz++ | [evalbot] forgot to delete lots of old stuff | 12:30 | |
r28359 | moritz++ | [evalbot] another attempt... | 12:31 | ||
12:33
synth joined
|
|||
ruoso | Bom dia, #perl6 | 12:35 | |
masak | bom dia, ruoso! | 12:36 | |
rakudo: say $*IN.slurp().comb(/Land \s+ \w+ \s+ \w+/)>>.trans(/Land \s+ \w+ \s+/ => "").join(", ") | |||
p6eval | rakudo e52ed3: OUTPUT«Berge, Strome, Äcker, Dome, Hämmer» | ||
masak | hmm. | ||
12:37
zamolxes joined
|
|||
masak | rakudo: say $*IN.slurp().comb(/<?after Land \s+ \w+ \s+> \w+/).join(", ") | 12:37 | |
p6eval | rakudo e52ed3: OUTPUT«Berge, Strome, Äcker, Dome, Hämmer» | ||
masak | that's better. | ||
moritz_ | :-) | 12:38 | |
pmurias | ruoso: hi | ||
masak | rakudo: say $*IN.slurp.words.sort({-.chars})[0] | 12:39 | |
p6eval | rakudo e52ed3: OUTPUT«hoffnungsreich.» | ||
pmurias | ruoso: do you know how to link a .c file with an uninstalled perl? | ||
ruoso | hmm | 12:40 | |
I guess the core libs with XS do that | |||
masak | rakudo: say $*IN.slurp.words.grep(/^viel/).uniq.join(", ") | 12:41 | |
p6eval | rakudo e52ed3: OUTPUT«vielgerühmtes, vielgeprüftes, vielgeliebtes» | ||
12:41
Whiteknight left
|
|||
pmurias | ruoso: i knew how to do it, but i forgot the incantation :( | 12:41 | |
ruoso | pmurias, I think I never did that... but I guess the modules inside the p5 sources do that... | 12:42 | |
diakopter | pmurias: hi | ||
what os/arch | |||
pmurias | ruoso: what i want to is compile tests in t-smopp5 in the smopp5 repo | ||
diakopter: debian linux | |||
diakopter: hi | 12:43 | ||
ruoso | pmurias, I see... maybe it's better to ask #p5p | ||
masak | rakudo: say $*IN.slurp.comb.grep({$_ !~~ /\w/}).uniq.perl | ||
p6eval | rakudo e52ed3: OUTPUT«[" ", ",", "\n", "!", "."]» | ||
diakopter | pmurias: did you see the readme in perl6/js | 12:44 | |
check out the /bleeding_edge (or /trunk they're both very stable) branch from the v8 repo | |||
have scons & python 2.5 | 12:45 | ||
and g++ | |||
pmurias | diakopter: i saw the readme | ||
diakopter | pmurias: is your perl 64-bit or 32 | 12:46 | |
pmurias | i can built it with typing scons, but i don't know how to install it | ||
32-bit | |||
diakopter | copy or ln -s the libv8.a to /usr/local/lib/ | 12:47 | |
easiest | |||
pmurias | that could be put in the readme | ||
diakopter | then git clone the perl-v8 repo | ||
it's a few KB | |||
cd perl-v8 ; make -f bridge.mk | 12:48 | ||
perl Makefile.PL | |||
make && make test && make install | |||
diakopter pastes into README | 12:49 | ||
pmurias: if you want, you can build the v8 debugger/shell (called d8) with: scons d8 | 12:53 | ||
12:55
viklund left
|
|||
pugs_svn | r28360 | diakopter++ | [vijs] updated README with more V8/perl-v8 building instructions/hints | 12:55 | |
12:59
NorwayGeek left,
NorwayGeek joined
|
|||
cognominal | I want initial feedback on a potential new feature, conditional dereference for Perl 6 before/if I flesh it, write tests case, and send it to p6.language : gist.github.com/191045 | 13:00 | |
diakopter | pmurias: did perl-v8 work for you yet? moritz and I had trouble on 64-bit | 13:03 | |
ruoso | cognominal, I didn't quite get the feature... care to ellaborate a bit more? | ||
moritz_ | cognominal: I like the part about %thing?<foo>.other.methods aborting if %thing<foo> doesn't exist - not sure about how useful the rest is | 13:04 | |
if it doesn't exist, chances are that .other.methods throw an exception anyway | |||
cognominal | ok, so it is not utter rubish :) | 13:05 | |
ruoso | although the exception will be ".other not implemented in Object" | ||
moritz_ | ruoso: right | 13:06 | |
ruoso | but I'd rather have the "?" in the other side | ||
%thing<foo>?.other | |||
which also relates well with | |||
%thing<foo>.?other | |||
cognominal | ok | 13:08 | |
ruoso | "?." would fail if the left side is undefined | ||
although ".?" means "don't fail if the method doesn't exist" | |||
moritz_ | which kinda makes sense | 13:09 | |
the ? points to where things might not exist | |||
ruoso | so it probably makes sense to have it "!." instead | ||
%thing<foo>!.other.?method | |||
where we still could leave "?." to "silently stop if the left side is undefined | 13:10 | ||
13:10
PZt joined
13:12
frederico left
|
|||
cognominal | you meant in absence of dereferenced value, postfix ? means silent abortion and postfix ! means an exception? | 13:14 | |
ruoso | yes | ||
cognominal | I like that | ||
ruoso | it's not really postfix:<!> or <?> | ||
but it's a new "?." and "!." operator | |||
about ?? | |||
you don't need it | 13:15 | ||
because you can use the dot between them | |||
%foo!.<bar>!.<baz>!.<bla> | |||
%foo.<bar>.<baz>.<bla> is the same as %foo<bar><baz><bla> | |||
13:16
frederico joined
|
|||
cognominal | For the ?= , it makes sense to keep it prefix | 13:17 | |
ruoso | do you have an example for ?=? | ||
er.. "?=" ? | |||
If I get it right, the = metaop will work with ?. just as it works for . | 13:18 | ||
cognominal | problem of suffix ! is that it can be confused with a factorial | ||
ruoso | $a ?.= foo | ||
cognominal, it's not suffix | |||
and it's not just "!" | 13:19 | ||
it's infix:<?.> and infix:<!.> | |||
std: sub infix:<?.> {...}; sub infix:<!.> {...}; my $a; $a?.foo; $a!.bar; | |||
cognominal | rusoso, can you edit the git to your like? so I get what you say? | ||
p6eval | std 28360: OUTPUT«Undeclared routines: bar used at 1 foo used at 1ok 00:03 39m» | ||
masak | postcircumfix:<< < >? >> | ||
cognominal | ok, got it | 13:20 | |
I edit | 13:21 | ||
ruoso | std: my $a; $a .= foo; | ||
p6eval | std 28360: OUTPUT«ok 00:03 38m» | ||
ruoso | hmm... it seems STD special cases "." | ||
13:21
molaf joined
|
|||
cognominal | I am so happy to see that new syntax blends so easily in the langage | 13:22 | |
ruoso | std: sub infix:<?.> {...}; sub infix:<!.> {...}; my $a; $a?.<foo>; $a!.<bar?; | 13:23 | |
std: sub infix:<?.> {...}; sub infix:<!.> {...}; my $a; $a?.<foo>; $a!.<bar>; | |||
p6eval | std 28360: OUTPUT«===SORRY!===(Possible runaway string from line 1)Preceding context expects a term, but found infix < instead at /tmp/pp9Y0f6hu0 line 1 (EOF):------> <!.> {...}; my $a; $a?.<foo>; $a!.<bar?;⏏<EOL> expecting escapeFAILED 00:03 42m» | ||
std 28360: OUTPUT«ok 00:03 39m» | |||
ruoso | but I guess simply declaring the operator is not enough, because it will try to invoke sub bar in $a?.bar | 13:24 | |
we need to have the same magic the dotty has | |||
TimToady, is it possible to implement (without changing STD) an operator at the level of the dotty, that won't try to evaluate the left side before invoking it? as the above $a!.foo idea... | 13:26 | ||
hmm... dotty has its own multi token | 13:27 | ||
so it's not just a matter of declaring an infix op | 13:28 | ||
std: sub dotty:<?.> {...}; my $a; $a?.b | |||
masak | ruoso: by 'multi token', do you mean 'category'? | ||
p6eval | std 28360: OUTPUT«===SORRY!===Two terms in a row at /tmp/8mGF1R5saS line 1:------> sub dotty:<?.> {...}; my $a; $a?.⏏b expecting any of: POST bracketed infix infix stopper postfix postfix_prefix_meta_operator standard | 13:29 | |
..stopper statement modifier loop… | |||
13:29
abra joined
|
|||
ruoso | masak, yes | 13:29 | |
masak | ok. | ||
just trying to keep up. :) | |||
moritz_ | std: augment slang Main { token dotty:sym<?.> { <sym> } }; Int?.floor | 13:30 | |
p6eval | std 28360: OUTPUT«===SORRY!===Two terms in a row at /tmp/nZHvck9tLb line 1:------> n { token dotty:sym<?.> { <sym> } }; Int⏏?.floor expecting any of: POST argument list bracketed infix infix infix stopper postfix | ||
..postfix_prefix_meta_operator standar… | |||
jnthn | I'd expect you'd do it through dotty. | ||
But doesn't seem to work. :-/ | |||
masak | jnthn! | 13:31 | |
jnthn | masak! | ||
ruoso | I guess STD could add the same logic it does for infix:<foo> | ||
masak | jnthn: how's Asia? | ||
jnthn | masak: Pretty cool. :-) | ||
masak wants too | 13:32 | ||
jnthn | I've had really great weather most of the trip, but my last 3 days in Japan (yesterday, today and tomorrow) are all loads of rain. | ||
ruoso | TimToady, re-writing my earlier question... is it possible for STD to allow custom dotty ops the same way it does for infix/postfix/etc? | ||
masak | it's pretty cool here in Uppsala as well, but probably not in the same way. :( | ||
jnthn | masak: lol | ||
masak: I ate good Ramen toniht. | |||
*tonight | |||
masak | nice. | 13:33 | |
jnthn | Hakata is meant to be one of The Places to have that... | ||
masak | we've had very adequate sushi for lunch today. | ||
pmichaud | good morning, #perl6 | ||
jnthn | hi pmichaud | ||
masak | pmichaud: \o/ | ||
masak tries saying "Hakata" out loud | 13:34 | ||
jnthn | whoz op? | ||
masak: Me saying "Fukuoka" out loud was far worse, before I was told how to say it properly. | |||
masak | heheh. | ||
I guess, it's more like 'fook...' than 'fuck...' | 13:35 | ||
dang, we need to teach people IPA on a wider scale. :/ | |||
jnthn | It's kina fuck-ish, but I'd got it as fuk-u-o-ka (4 syllables) where as actually the "uo" are a dipthong-ish thingy. | 13:36 | |
Yeah, I keep meaning to learn IPA. | |||
huf | which is the most standard ascii encoding of IPA (or something similar)? | 13:37 | |
masak | our intro-Mandarin teacher just assumed everyone knew IPA. I wish more techers did that. | ||
huf: I've heard there's en.wikipedia.org/wiki/X-SAMPA | |||
huf: but I've never really tried it. I imagine it's parly painful. | |||
jnthn | masak: Where did you learn it? | 13:38 | |
huf | yeah, looks like it. but at least it works even w/o unicode | ||
jnthn | At school, or just by yourself for interest? | ||
ruoso tries, without success, to see where STD automatically registers sub infix:<bla> as a category:infix | 13:39 | ||
13:41
ejs1 left
|
|||
moritz_ | on the new evalbot server pugs, elf, rakudo, std and vijs work | 13:42 | |
mildew's error messages are... opaque to me | 13:43 | ||
13:44
JimmyZ joined,
ejs1 joined
|
|||
lisppaste3 | moritz_ pasted "mildew error message" at paste.lisp.org/display/87497 | 13:44 | |
ruoso | er... the paste is opaque to me now ;) | 13:45 | |
moritz_ | huh? | 13:46 | |
ruoso | moritz_, could you try pasting again? it appears blank to me | ||
moritz_ | that's LTA | ||
jnthn | mildew gives zen error messages? | ||
ruoso | LTA? | 13:47 | |
moritz_ | ruoso: nopaste.snit.ch/18022 | ||
jnthn | ;-) | ||
moritz_ | less than awesome | ||
cognominal | gist.github.com/191076 # new version, I don't understand the interest of gist because the last url does not show my update. | ||
*previous url | 13:48 | ||
moritz_ | did you update the previous gist? or did you make a new one? | ||
13:48
ejs1 left
|
|||
pmurias | diakopter: perl viv --js -e 'say 1' works here | 13:48 | |
diakopter | pmurias: yay | 13:49 | |
13:49
ejs1 joined
|
|||
ruoso | cognominal, again, I think that's not postcircumfix | 13:49 | |
pmichaud | I don't understand the use of the term "dereference" here | ||
ruoso | it's a dotty | ||
yeah... dereference is pointless in Perl 6 | |||
pmurias, would you help moritz getting the mildew evalbot up? | 13:50 | ||
cognominal | what is the word, then? | ||
diakopter | vijs: say 3333 + (2222 * 2) | ||
pmichaud | well, what is it doing? | ||
p6eval | vijs 28360: OUTPUT«7777 time in interpreter: 0.023457 s» | ||
diakopter | odd; somehow parentheses grouping magically works without me doing anything in vijs | ||
13:50
SmokeMachine joined
|
|||
ruoso | cognominal, it's simply a different dotty op that returns a failure or that actively raises an excception when the left side is undefined | 13:51 | |
diakopter | vijs: say 3333 + 2222 * 2 | ||
p6eval | vijs 28360: OUTPUT«7777 time in interpreter: 0.032286 s» | ||
ruoso | it's a kind of conditional method dispatch | ||
diakopter boggles | |||
cognominal | yes | ||
ruoso | cognominal, it's not specific to .<foo> or .[bar] | 13:52 | |
it applies to any value | |||
$a!.foo | |||
raises an exception if $a is undefined | |||
pmichaud | is it just changing the dispatch depending on the defined-ness of the invocant? | ||
ruoso | yes, "!." raises an exception if the invocant is undefined | ||
pmichaud | why does this need a special operator? | 13:53 | |
ruoso | convenience? | ||
pmichaud | seems like we should make the convenience more generic then, and not tied to dotty | ||
ruoso not really suggesting it to be actually core, but it certainly need to be possible to be implemente | |||
TimToady | how does it differ from '.'? | ||
pmichaud | right, that's what I'm curious about. | ||
ruoso | $a.?foo tries to dispatch a method foo | 13:54 | |
but $a might be defined or undefined | |||
$a?.foo will fail if $a is defined but doesn't implement foo | |||
TimToady | how does it differ from $a.foo | ||
ruoso | $a?.foo won't try to dispatch foo if $a is undefined | 13:55 | |
TimToady | also, you may not add a dotty beginning with something other than dot | ||
13:55
zamolxes left
|
|||
cognominal | I was thinking it in the contex of .[] and .{} with special action when the value does not exist. | 13:55 | |
pmichaud | this already exists: $a.?foo # doesn't dispatch foo if $a is undefined | ||
13:55
abra left
|
|||
cognominal | Apparently you are thinking it in a larger context where my propostion may not make any sense. | 13:55 | |
ruoso | pmichaud, er... it doesn't fail if $a doesn't have method foo | ||
pmichaud | which it probably doesn't, if it's undefined :) | 13:56 | |
ruoso | but if $a is undefined it will still try to invoke foo | ||
pmichaud, wrong... | |||
TimToady | note that dotty has to be unambiguous as both postfix and as a term | ||
ruoso | Object.?new | ||
this will successfully invoke method "new" on Object | |||
pmichaud | because method new is defined as method new(Object:B $x: ... ) | 13:57 | |
ruoso | hm? | ||
pmichaud | .new is allowed to be invoked on undefined objects | 13:58 | |
ruoso | rakudo: class Foo { method bar { say "Hello" } }; Foo.bar | ||
p6eval | rakudo e52ed3: OUTPUT«Hello» | ||
ruoso | rakudo: class Foo { method bar { say "Hello" } }; Foo.?bar | ||
pmichaud | Rakudo isn't a valid implementation. | ||
p6eval | rakudo e52ed3: OUTPUT«Hello» | ||
ruoso | pmichaud, but rakudo is right in that point | ||
pmichaud | Rakudo doesn't constrain its invocants at the moment. | ||
ruoso | but the constraint is in the other direction | ||
pmichaud | is it? What's the default :D/:U/:B flag for methods? | ||
TimToady | S12 currently has :A instead of :B | 13:59 | |
pmichaud | okay, :A then | ||
but what's the default for methods that don't explicitly declare the invocant? | |||
ruoso 'd guess :A | 14:00 | ||
pmichaud | anyway, "defined or fail" should probably be written as ($a // !!!) | ||
14:00
viklund joined
|
|||
ruoso | "A bare Int may default differently in different circumstances. In a variable declaration, :A is assumed, whereas in a formal parameter that is not an invocant, :D is assumed." | 14:01 | |
TimToady | I'd think :D would be a saner default most of the time, though it may depend on method/submethod | ||
ruoso | I think :A is a good default because it lefts :U and :D to when you need different implementations | 14:03 | |
pmichaud | I think :D is the saner default | ||
ruoso | so you can still call 1.new | ||
TimToady | I think :D is a good default if you refer to any attributes in the body | ||
pmichaud | when I write a method, I don't generally expect that method to be valid on the (undefined) type object | ||
TimToady | but it's too early in the morning for me to decide anything :) | 14:04 | |
pmichaud | for example, Rat.sin doesn't seem to make sense as :A | ||
moritz_ | pmichaud: only because it accessess attributes | ||
TimToady | anyway, if you guys want to define anything on the calling end, it should be a postfix, not a dotty | ||
pmichaud | agreed. the basic form would seem to be ($a // !!!) | ||
so perhaps something like postfix:</!> | |||
TimToady | and *certainly* not an infix | 14:05 | |
or postfix:<?> | |||
ruoso | can a postfix interrupt a statement? | ||
TimToady | probably with a lookahead <!before '?'> | ||
ruoso | $a?.b.c.d | ||
pmichaud | ruoso: sure, that just parses as ($a?).b.c.d | ||
TimToady | define what you mean by "interrupt a statement" | 14:06 | |
moritz_ | pmurias, ruoso: re-running the build script magically solved my problems with mildew | ||
ruoso | avoid invoking .b.c.d | ||
pmichaud | instead of "avoid invoking", how about "makes .b.c.d harmless"? | 14:07 | |
ruoso | hmm... that solves it as well | ||
14:07
ecooper joined
|
|||
moritz_ | maybe that problem (having an invocant chain where one might fail) should be solved with feeds instead | 14:07 | |
TimToady | similar to how subscripts propagate failure | ||
moritz_ gives TimToady cognitive dissonance | 14:08 | ||
pmichaud | in particular, with postfix:<?> one could write $a?.b?.c?.d | 14:09 | |
which handles the case of a method returning a failure object as well | 14:10 | ||
TimToady | but Failure will have very few methods defined on it anyway, and we should just make sure the original Failure doesn't get lost in the new dispatch | 14:11 | |
we need that for cascaded subscript sanity in any case | |||
14:12
ejs1 left
|
|||
TimToady | (which is a really good argument for *not* accessing stacked exceptions via .[] | 14:12 | |
14:12
ejs1 joined
14:14
Util joined
|
|||
TimToady | since @a[$b][$c][$d] doesn't want to mess up the failure if @a[$b] doesn't exist by calling [$c] or [$d] | 14:14 | |
also probably a good argument for limiting the namespace of methods available on Failures | 14:15 | ||
maybe make them all .Xfoo or some such | |||
pmichaud | TimToady: ooc, do you see Failure as more of a mixin role or as the type for most failure objects? | 14:16 | |
moritz_ | is Failure ~~ Any? | ||
pmichaud | s/type/base type/ | ||
moritz_ | if yes, it has loads of methods | 14:17 | |
TimToady | I suppose we could put Failure outside of Any alongside junctions | 14:19 | |
pmichaud | if we do that, it can't be passed to functions easily | ||
TimToady | not sure what the mixin model buys us either | ||
pmichaud | (unless they declare arguments as Object) | ||
moritz_ | unless undefined values are special-cased in type checks | ||
pmichaud | oh, correct, they are. | ||
except that above we just said that :D is assumed on non-invocant formal parameters :) | 14:20 | ||
moritz_ | in Eiffel there's a curious class for undef that notionally inherits from all existing classes | ||
TimToady | a bottom class | ||
moritz_ | right | 14:21 | |
TimToady | called _|_ in Haskell, I believe | ||
pmichaud | TimToady: (mixing class) I'm thinking of the case where we might want a Failure object that returns a value other than 0/""/false | ||
*mixin | |||
14:23
zaphar_ps joined
|
|||
pmichaud | I'm completely fine if we don't have such things... I was just curious if we did :) | 14:23 | |
TimToady | it seems like the choice is between sending an unexpected Failure down into a non-suspecting routine, vs dispatching to the wrong routine or no routine at all | ||
the latter seems slightly saner | |||
especially if we can usually get it to dispatch to no routine at all | |||
pmichaud | agree | ||
well, if arguments tend to default to :D then that would likely be the case | 14:24 | ||
TimToady | it would be corny if a Failure to produce a typeobject ended up invoking 'new' correctly anyway... | ||
s/correctly/successfully/ | 14:25 | ||
14:25
NorwayGeek is now known as NorwayGeek|Away
14:26
ejs1 left
14:27
KyleHa joined
|
|||
pmichaud | S02 says that Failure is a "non-instantiable role" | 14:27 | |
KyleHa | Maybe that means that when you try to make an instance of it, all you get is a Failure. | 14:28 | |
TimToady | not sure what the use case is for that, vs accidentally calling methods | ||
KyleHa :D | |||
ruoso | I guess the idea of $a?.foo would be in the line of magically adding a CONTROL block surrounding that statement... | 14:29 | |
TimToady | don't go there :) | 14:30 | |
14:30
jauaor joined
|
|||
pmichaud | if we're modifying a "statement", that sounds like a contextualizer of some sort | 14:30 | |
still, I agree with "don't go there" :) | |||
ruoso | will there be dragons? | ||
TimToady | there will be multiplied entities | 14:31 | |
maybe we should put Failure outside of Any for a while and see how it works out | 14:32 | ||
ruoso | ouch | ||
pmichaud | okay, I can certainly try it in Rakudo and see what happens. | 14:33 | |
[particle] | Failure is not an option? | ||
pmichaud | is Failure really a "non-instantiable role" as S02 says, or ... ? | ||
TimToady | that might be a useless generalization | ||
not sure | |||
pmichaud | okay | ||
Rakudo currently has it as a standard type | |||
(not a role) | 14:34 | ||
TimToady | so it wouldn't be hard to move outside of Any | ||
pmichaud | but our Failure handling is a bit "whatever worked at the time" as opposed to being cleanly designed | ||
14:34
ispy_ joined
|
|||
araujo | morning | 14:34 | |
TimToady | I'd like to know if there's any good use case for Failure ~~ Any | 14:35 | |
araujo increments one year from today | |||
14:35
ispy_ left
|
|||
TimToady | but at the moment it feels like junctions in wanting to subvert dispatch | 14:36 | |
14:36
Psyche^ joined,
avuserow_ is now known as avuserow
|
|||
TimToady | one could, I supposed, claim there's a tree of Failure types shadowing all the Any types... | 14:37 | |
would need a use case for that approach too | 14:38 | ||
pmichaud | well, since any container is effectively able to hold an (undefined) Failure, I'm not sure we need it. | ||
I suspect S04:1059 may be a fossil too (the part about "container whose type allow the Failure role to be mixed in") | 14:39 | ||
TimToady | iirc, we did that by morphing a Failure into a typeobject with the Failure mixin, or something like that | ||
so it still officially passes the type test of the container | 14:40 | ||
moritz_ | masak: ha, you can remove the ':by on ranges' from use.perl.org/~masak/journal/39597 :-) | ||
masak | I can indeed. :) | ||
TimToady | well, it's just deprecated so far | ||
masak | I'll update the post to that effect. | ||
14:40
nihiliad joined
|
|||
pmichaud | I'm thinking of incorporating 39597 into rakudo's ROADMAP | 14:41 | |
TimToady | but we'd better not remove it until someone implements ... *+0.02 | ||
pmichaud | well, Rakudo doesn't implement :by yet :) | ||
TimToady | ah, then it's pretty easy to remove it :) | ||
pmichaud | so it's not as if we're losing existing functionality :) | ||
14:41
JimmyZ left
|
|||
pmichaud | I was working a bit on lazy implementations last night | 14:41 | |
to get lazy ranges and lists | |||
(and IOs) | 14:42 | ||
masak | how'd it go? | 14:44 | |
pmichaud | it also occurs to me -- are closures in series only valid after an infix:<...> ? (more) | ||
i.e., what about something like | 14:45 | ||
1 ... *, 10, *+10, 100, *+100, 1000 | |||
TiMBuS | kil | ||
agh | |||
my gnome-do had died =/ | 14:46 | ||
14:46
dalek left,
dalek joined
|
|||
pmichaud | in other words, what happens if a rhs list happens to have a closure in a 2nd or later element? | 14:46 | |
14:47
rfordinal left
|
|||
pmichaud | or is "..." just a form of specialized comma that makes a list into a series? | 14:48 | |
TimToady | well, 1 ... *, 10 ... *+10, 100 ... *+100, 1000 seems more readable to me | ||
14:48
rfordinal joined
|
|||
TimToady | ... stands for (potentially) multiple omitted commas | 14:48 | |
pmichaud | okay, so my question remains then -- do we constrain the closures to immediately following infix:<...>, or can they occur anywhere in the series? | 14:49 | |
TimToady | and I kind feel like I don't want ... to have to look at every value in the right list | ||
I think if they're elsewhere in the list nobody will invoke them for you | |||
pmichaud | would it need to? I'd think it'd still be lazy | 14:50 | |
oh, okay | |||
I see what you mean | |||
14:50
mberends left
|
|||
TimToady | and it just seems like encouraging a less readable kind of ... | 14:50 | |
sometimes I think my life would be simpler if I decided things on principle rather than gut feelings :) | 14:51 | ||
pmichaud | it's a waterbed sort of "simpler", though | ||
TimToady | but then, we have a lot of those folks already... | ||
pmichaud | deciding things on principle just pushes the complexity into other areas of your life :) | 14:52 | |
TimToady | or other areas of other people's lives :) | ||
14:52
TiMBuS left,
Patterner left,
Psyche^ is now known as Patterner
|
|||
[particle] | *cough* implementors *cough* | 14:53 | |
TimToady | but really, it's more like I have too many principles that all fight with each other :) | ||
pmichaud | "You can't fight in here! This is the War Room!" (saw Dr. Strangelove again last night :-) | 14:54 | |
[particle] | maybe you need a superintent | ||
14:55
molaf left
|
|||
Woodi | but feeling in guts can be looked as intuition - intuition is based on unclear feeling that something is right and comes with years of experience | 14:56 | |
pugs_svn | r28361 | lwall++ | [STD] add warning comment to dotty section about starting with dot | 14:57 | |
Woodi | unclear becouse of dificulties like in researches | ||
TimToady | some of the hardest principles to grok are the ones that cause something to NOT be there | 14:58 | |
Woodi | TimToady: you mean p6 shouldn't have some nice functionalities ? :) | 15:04 | |
TimToady | yes, like the ability to parse everything with a Lisp parser :) | 15:05 | |
diakopter | principals, too | ||
Woodi | i'm sure somebody will implement that :) or just way to do something like that | 15:07 | |
TimToady | certainly, and I don't mind parsing *some* things with it, just not everything | ||
15:07
rfordinal left,
alester left,
alester joined
|
|||
Woodi | but priority is important principle | 15:08 | |
TimToady | it's just one principle | ||
do you always prioritize eating over sleeping or sleeping over eating? | 15:09 | ||
Woodi | but we do not live forever here... | ||
TimToady | you have to do both | ||
15:10
arnsholt_ is now known as arnsholt
|
|||
masak | this one is slightly challenging: twitter.com/offwhitemke/status/4173512015 | 15:10 | |
TimToady | so priorities must often give way to blance | ||
masak | I think the poster is well-informed, but wrong. | ||
TimToady | *balance | ||
moritz_ | masak: "release date: known" + link to Rakudo * announcement | ||
Woodi | agree, not many absolute principles | ||
pmichaud | the poster referred to the wikipedia article, which says "no known release date" | 15:11 | |
masak | moritz_: I'll try that. my only gripe with it is that it's 100% defensive, and 0% tongue-in-cheek. | ||
moritz_ | masak: or wait for better suggestions | ||
pmichaud | 3rd paragraph of the wikipedia article probably needs an update | ||
also, I'm wary of saying that Rakudo Star is the release date for "Perl 6" | |||
masak | same here. | ||
pmichaud | it's the release date for "a usable implementation of Perl 6" | ||
Woodi | btw. yesterday i noticed that rakudo is MUCH more ready then official web pages says... | 15:12 | |
masak | it is. | ||
I've been saying this for months! :) | |||
pmichaud | Woodi: I agree to some extent, but I haven't found the right phrasing yet | ||
some people won't consider it to be ready until there's a distribution with modules | |||
Woodi | sqlite3 works! | ||
TimToady | maybe we'll trick everyone in April and mark all the non-passing tests as "for 6.0.1 | ||
" | |||
Woodi | it's production ready :) | ||
pmichaud | +1 | ||
:-) | 15:13 | ||
masak | uhm. | ||
pmichaud | let's see where we are in February first :) | ||
TimToady | why I said "maybe" :) | ||
masak | :) | ||
pmichaud | If Rakudo is truly far enough along at that point, I have no problem with that plan :) | ||
anyway, we do need to update the wikipedia page | 15:14 | ||
TimToady | engineers always hedge their predictions so that they're never wrong :) | ||
masak | I care about attracting people, but I don't care much about a Perl 6 'release date' any more. | ||
15:14
ejs joined
|
|||
pmichaud | masak: agreed, although some people won't consider Perl 6 until there's a "release date" | 15:14 | |
as the tweet demonstrates | 15:15 | ||
Woodi | sometimes marketing approach is good :) however i near hate that approach | ||
masak | pmichaud: assuming the tweeter belongs to that group, I simply shouldn't reply. | ||
pugs_svn | r28362 | jimmy++ | [docs/zh-cn/syn]added S02-bits.pod which is a Chinese transcript for S02, just a start. | ||
TimToady | Woodi: balance is necessary there too | 15:16 | |
masak | but I can't help thinking that there's some possible reply that'll help him get a brighter view of Perl 6. | ||
moritz_ | are there any other great (non-software) projects without a release date? | ||
Woodi | "realease data" still can be unknown. just tell world that p6 work NOW | ||
pmichaud | it's hard to say where offwhitemke falls in that category | ||
however, offwhitemke is correct in that (according to wikipedia) we explicitly disclaim a release date | 15:17 | ||
and we probably need to do something about that | |||
masak | perpetual beta? :P | ||
pugs_svn | r28363 | jimmy++ | [docs/zh-cn/syn]changed S01.pod to S01-overview.pod | ||
Woodi | i gues perl1 was in use before 1.0... | ||
pmichaud | I think I have a potential tweet reply | 15:18 | |
masak | ah. someone replied: twitter.com/magnachef/status/4173914642 | ||
good reply. | |||
pmichaud | sent my replies | 15:20 | |
masak | pmichaud++ | 15:21 | |
15:25
cmv left
|
|||
Woodi | is it hard to autogenerate rakudo modules from C API ? for ncurses or openldap ? purpose: instant-available modules | 15:28 | |
moritz_ | Woodi: there's an NCI compiler for parrot that makes it quite easy to write NCI signatures... | ||
and once these are known, it's not hard to use from Rakudo | 15:29 | ||
but that NCI compiler is a bit bit-rotted and needs love | |||
diakopter | -\o/- | ||
Woodi | so anser is: it's done ? :) | ||
moritz_ | no. | ||
Woodi | k, understud | 15:30 | |
i will google for NCI compiler | |||
pmichaud | ick. attempted kidnapping at my son's school this morning. | ||
huf | whoa | 15:31 | |
was it one of the parents during a particularly horrid divorce? | |||
pmichaud | not likely | ||
TimToady | random, or estranged parent? | ||
pmichaud | random | ||
we know the kid who was attempted to be nabbed -- he's in my son's cub scout troop | |||
er, "pack" | |||
moritz_ | Woodi: nci_gen might be a good keyword | 15:32 | |
pmichaud | (in fact, his father is the scoutmaster for the pack) | 15:33 | |
15:34
JimmyZ joined,
elmex left,
elmex joined
|
|||
diakopter | pmichaud: how was it thwarted | 15:35 | |
pmichaud | the boy is in 4th or 5th grade, not too young, and from his cub scout training he probably knew what to do, broke away from the kidnappers and headed to a safe place | ||
(er, kidnapper, singular) | |||
huf | what did they want with the kid? ransom or unknown (possibly crazy person) | 15:36 | |
pmichaud | don't know | ||
something like this happened last year also | |||
diakopter | [OT] - would you go to work as a JS developer for a hi-tech company whose website says "Tuesday, September 22, 109" | 15:37 | |
huf | heh, you'd be the only js dev in the world | ||
but time travel is still cool :) | |||
pmichaud | diakopter: maybe ask them how they dealt with the "Year 100" problem. | 15:38 | |
avuserow | they still haven't fixed all those "2 digit year" versus "years since 1900" bugs on active websites? really? | 15:39 | |
diakopter | :) | ||
hence my question | 15:41 | ||
15:43
nihiliad left,
nihiliad joined,
nihiliad left
|
|||
ruoso can't quite get why people like printing the current date and time in websites... if that was the date and time the site was last edited, it would make any sense... | 15:44 | ||
s/any/some/ | |||
15:47
_jason9401 joined
|
|||
diakopter | it's javascript; just not updated for at least a decade. :) | 15:47 | |
15:53
rfordinal joined
16:05
_jason9401 left
|
|||
moritz_ | pmichaud: could you make the pugc-commit mailing list moderated only? | 16:19 | |
16:19
JimmyZ left
|
|||
pmichaud | sure | 16:19 | |
I thought it was moderated already | 16:20 | ||
guess not | 16:21 | ||
just a sec | |||
16:21
crythias joined
16:22
crythias is now known as OYSTR1
16:26
stephenlb joined
16:27
masak left,
KyleHa left
|
|||
pmichaud | moritz_: done, all messages (except those coming from pugs-commit on feather) are now moderated | 16:27 | |
moritz_: I've also given your account manager permissions to the list | |||
moritz_ | pmichaud: great, thanks | 16:30 | |
dalek | kudo: 84981fd | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 436 files, 15498 (71.4% of 21695) pass, 0 fail |
16:32 | |
pugs_svn | r28364 | moritz++ | [evalbot] use ~ instead of full path to file, and glob | 16:40 | |
16:53
justatheory joined,
justatheory left
|
|||
OYSTR1 | test | 16:56 | |
diakopter | OYSTR1: yes | 16:57 | |
OYSTR1: you must be a bot. around here bots get +v | |||
OYSTR1 | op me! | 16:58 | |
:P | |||
huf | bots getting smarter every day.... damn kids and their rollerboards! | 17:00 | |
stephenlb | heh | ||
OYSTR1 | I use a trikke. | ||
17:01
justatheory joined
|
|||
OYSTR1 | my friend told me his interpreter got changed to a compiler. That makes those infinite loops go that much faster! | 17:02 | |
diakopter | I meant pmurias made it embed the interpreter in emitted .html/js :P | ||
hugme: hug OYSTR1 | 17:03 | ||
hugme hugs OYSTR1 | |||
OYSTR1 | awe shucks. | ||
17:03
smash joined
|
|||
smash | hello everyone | 17:03 | |
diakopter | ho | 17:04 | |
I mean | |||
yo | |||
TimToady | hello smash, you wonderful person you! | ||
diakopter | or hi | ||
17:04
ChanServ sets mode: +v OYSTR1
|
|||
OYSTR1 | you've given a voice to my oystr. | 17:05 | |
diakopter | and then you went and shucked it | 17:06 | |
TimToady | OYSTR1: help | ||
OYSTR1 | Get::Shucked | ||
17:07
M_o_C joined
|
|||
OYSTR1 | ... help? You need help? I thought you were the author of your own fate. | 17:07 | |
diakopter | STD is fairly fatalistic, actually | 17:08 | |
or fatal | |||
OYSTR1 | especially gonorrhea | ||
TimToady | hopefully fatally attractive | ||
OYSTR1 | ooh... boiled bunnies. | 17:09 | |
17:09
ChanServ sets mode: -v OYSTR1
|
|||
TimToady | congratulations, you just passed the diakopter test | 17:09 | |
OYSTR1 | really? | 17:10 | |
diakopter | lol | ||
OYSTR1 | that's so cool because .. um. wait. why is that cool? | ||
TimToady | it means you might like butterflies | 17:11 | |
OYSTR1 | the test that I was to pass the diakopter test is a very good test to pass. | ||
why do you think I might like butterflies? | |||
diakopter | hrm | ||
TimToady | because you passed the test | ||
OYSTR1 | why did I pass the test? | ||
TimToady | why do you ask me why did you pass the test? | 17:12 | |
OYSTR1 | did you like for me to pass the test? | ||
diakopter | wget scripts.irssi.org/scripts/ban.pl | ||
oops, ww | |||
TimToady | yes, but only if you also like butterflies | 17:13 | |
OYSTR1 | what do you mean by oops? | ||
TimToady | I know what I mean when I say oops... | 17:14 | |
OYSTR1 | I don't like butterflies. | ||
moritz_ | then #perl6 is not the channel for you, I fear | ||
TimToady | well, you don't *actually* have to like them | ||
you only have to know how to be nice to them | |||
see perl6.org | |||
OYSTR1 | I think I must like parrots. | 17:15 | |
TimToady | you can say that again...awwwk | ||
OYSTR1 | I like awk. it is better than perl | ||
TimToady | now yer just bein' mean | 17:16 | |
OYSTR1 | that's what she sed | ||
TimToady | you should go over to the #awk6 channel | ||
OYSTR1 | why do they need to have a channel for awk? | 17:17 | |
diakopter | I don't know, why? | ||
why do they need to have a channel for awk who? | |||
TimToady | Radio! | ||
OYSTR1 | auks are members of the puffin family. | 17:18 | |
TimToady | you shouldn't believe everything you read | ||
OYSTR1 | pearls are just oyster vomit. | ||
except oysters can't vomit. | 17:19 | ||
TimToady | life is complicated | ||
diakopter | I thought they were oyster kidneystones | ||
OYSTR1 | so is perl. | ||
at least I don't have to eval awk | |||
I wonder if auks eat oysters. | 17:20 | ||
diakopter looks around for the real p6eval | |||
TimToady | are you evaling Perl 6? | ||
OYSTR1 | hot::sauce++ | ||
TimToady | preferably about 500,000 scovilles | ||
OYSTR1 | wimp | ||
habaneros and scotch bonnets, pleasse. | 17:21 | ||
TimToady | those are less than 500k | ||
generally | |||
17:21
soybean joined
|
|||
OYSTR1 | fair enough. | 17:22 | |
if it doesn't hurt coming out, it's not worth the hurt going in. | |||
TimToady | I am an expert on a lot of things, but not on Perl 6 | ||
to be an expert, you have to know where to go for the answers. | 17:23 | ||
OYSTR1 | wow. I know how to google. I must be an expert on everything. | ||
moritz_ | so who designs the designers? | ||
OYSTR1 | God is in the gasps. | 17:24 | |
TimToady | that fits with STD | ||
17:25
rblasch left
|
|||
TimToady | OYSTR1: would you like to help us gasp? | 17:26 | |
17:26
payload left,
justatheory left,
syntheticore_ joined
|
|||
OYSTR1 | Where shall I begin? | 17:26 | |
moritz_ | at the start | 17:27 | |
OYSTR1 | BEGIN{STD=0} | ||
TimToady | std: BEGIN{STD=0} | ||
OYSTR1 | END{print STD} | ||
p6eval | std 28364: OUTPUT«Undeclared names: BEGIN used at 1 STD used at 1ok 00:02 37m» | ||
avuserow | rakudo: undefine 1 | ||
p6eval | rakudo e52ed3: ( no output ) | ||
pugs_svn | r28365 | moritz++ | [evalbot] update config file | 17:28 | |
avuserow | std: BEGIN { say "hello, world" } | ||
17:28
justatheory joined
|
|||
p6eval | std 28364: OUTPUT«ok 00:04 37m» | 17:28 | |
avuserow | std: BEGIN{ say "hello, world" } | ||
p6eval | std 28364: OUTPUT«Undeclared name: BEGIN used at 1ok 00:04 37m» | ||
TimToady | std: BEGIN { constant STD = 0 } | ||
p6eval | std 28364: OUTPUT«ok 00:02 37m» | ||
17:28
p6eval left,
p6eval joined
|
|||
diakopter | bye bye p6eval | 17:28 | |
OYSTR1 | battery is dying | ||
diakopter | oh, wb p6eval | 17:29 | |
vijs: say 'hello' ~ ' world' | |||
moritz_ | the new, faster and better p6eval, except where buggy | ||
p6eval | vijs 28359: OUTPUT«hello world time in interpreter: 0.007606 s» | ||
ruoso | mildew: say "Hello" | ||
diakopter | SPEEDIER | ||
p6eval | mildew: OUTPUT«Hello» | ||
OYSTR1 | std: say "who has stds?" | ||
p6eval | std : OUTPUT«ok 00:03 95m» | ||
diakopter | pugs: die die 0 | ||
p6eval | pugs: OUTPUT«sh: /home/p6eval/pugs/pugs: No such file or directory» | ||
diakopter | std: die die 0 | 17:30 | |
p6eval | std 28359: OUTPUT«ok 00:01 95m» | ||
17:30
p6eval left,
p6eval joined,
p6eval left
|
|||
pugs_svn | r28366 | moritz++ | [evalbot] correct location of pugs binary | 17:30 | |
17:30
p6eval joined
|
|||
moritz_ | pugs: die die 0 | 17:30 | |
p6eval | pugs: OUTPUT«*** 0 at /tmp/LDSCif1OuH line 1, column 1 - line 2, column 1» | ||
TimToady | pugs: die die die !!! | 17:31 | |
p6eval | pugs: OUTPUT«***  Unexpected end of input at /tmp/Ypvb6NcEKb line 2, column 1» | ||
TimToady | pugs: die die die ... | ||
p6eval | pugs: OUTPUT«*** Cannot use this control structure outside a 'routine' structure at /tmp/IyInwo6zH3 line 1, column 13 - line 2, column 1» | ||
TimToady | snerk | ||
diakopter | heh | ||
TimToady | rakudo: die die die ... | ||
p6eval | rakudo 0eaf62: OUTPUT«Can't return outside a routinein Main (/tmp/rNkebgIc12:2)» | ||
diakopter | vijs: die die 0 | 17:32 | |
17:32
jaldhar left
|
|||
TimToady | this is wrong, you should be able to fail in Main | 17:32 | |
p6eval | vijs : OUTPUT« time in interpreter: 0.005670 s» | ||
TimToady | rakudo: fail "Phooey" | ||
p6eval | rakudo 0eaf62: OUTPUT«Can't return outside a routinein Main (/tmp/JbUE6hIqqz:2)» | ||
TimToady | LTA | ||
moritz_ | aye | 17:33 | |
diakopter | vijs: fail epic | 17:34 | |
p6eval | vijs : OUTPUT«Undeclared routine: epic used at 1execute(): execute error: terminator__S_Semi not yet implemented; srsly!!?!?last: argsT,T__terminator__S_Semi,_specific,prec,END,dba,assoc,TEXT,BEG,kind,WS,SYM,phase,postDo,eval_args,invoker,context at viv line 171.» | ||
TimToady | hey, it works! | 17:35 | |
diakopter | ha | ||
succeed epic | |||
vijs: succeed epic | |||
p6eval | vijs 28359: OUTPUT«Undeclared routines: epic used at 1 succeed used at 1execute(): execute error: terminator__S_Semi not yet implemented; srsly!!?!?last: argsT,T__terminator__S_Semi,_specific,prec,END,dba,assoc,TEXT,BEG,kind,WS,SYM,phase,postDo,eval_args,invoker,context at viv line 171.» | 17:36 | |
diakopter | what is the "used at 1" line 1? | ||
TimToady | maybe instead of die we should have contextualizers: "epic fail", and warn could be "pretend fail" or some such | 17:37 | |
diakopter | fake fail | ||
fast fail | |||
moritz_ | vijs: say 1;fail | ||
p6eval | vijs : OUTPUT«execute(): execute error: terminator__S_Semi not yet implemented; srsly!!?!?last: argsT,T__terminator__S_Semi,_specific,prec,END,dba,assoc,TEXT,BEG,kind,WS,SYM,phase,postDo,eval_args,invoker,context at viv line 171.1» | ||
TimToady | fakefail++ | ||
moritz_ | vijs: say 1; fakefail | ||
p6eval | vijs 28359: OUTPUT«Undeclared routine: fakefail used at 2execute(): execute error: terminator__S_Semi not yet implemented; srsly!!?!?last: argsT,T__terminator__S_Semi,_specific,prec,END,dba,assoc,TEXT,BEG,kind,WS,SYM,phase,postDo,eval_args,invoker,context at viv line 171.1» | ||
TimToady | then instead of "use fatal" it'd be "use epic" | ||
moritz_ | yes, line number | ||
17:39
OYSTR1 left
|
|||
TimToady | vijs: exit;fakefail;fakefail;fakefail | 17:39 | |
p6eval | vijs : OUTPUT«Undeclared routine: fakefail used at 2,3,4execute(): execute error: TypeError: Cannot read property 'length' of undefined at viv line 171.» | ||
pugs_svn | r28367 | lwall++ | [STD] make undefined message slightly L LTA | 17:42 | |
syntheticore_ | hello everybody | 17:43 | |
17:45
dbrock` joined
|
|||
syntheticore_ | i have a question regarding the spec of the Set class in S32 | 17:45 | |
it says: "A Set responds to hash operators as if it were a Hash of True." | |||
on the other hand it was said that Sets should compare their elements using === | 17:46 | ||
Hashes seem to use == for membership-testting | 17:47 | ||
so whats the right thing to do? | |||
TimToady | actually, they use eq by default | 17:48 | |
(Hashes) | |||
moritz_ | and eq and === are the same on Strings | ||
TimToady | but my %set{Any} should be using === | ||
syntheticore_ | ok, thanks for clearing that up | 17:49 | |
TimToady | so mutable objects stand as their own values, basically using their address as their identity | ||
syntheticore_ | the spec also says that pick() should pick keys with higher values more often. | 17:51 | |
Does this really mean the "values" of the actual keys? | |||
TimToady | when used on Bags | ||
no, the count of the how many copies there are in the bag of that item | 17:52 | ||
which is the hash value, not hte key | |||
you ++ the value when you add a member to the KeyBag, and -- it when you take it out | |||
it self-deletes when the value goes to 0 | 17:53 | ||
syntheticore_ | I was wondering, because the spec gives basically the same definition for pick() for both Bags and Sets | ||
TimToady | yes, but a set elements value is always 1 | ||
diakopter | vijs: my $a=sub{$a()};$a() | ||
TimToady | *element's | ||
p6eval | vijs 28359: ( no output ) | 17:54 | |
TimToady | so all the members of a set have equal probability | ||
diakopter | rakudo: my $a=sub{$a()};$a() | ||
p6eval | rakudo : OUTPUT«maximum recursion depth exceededin sub _block52 (/tmp/JyImFAPC7E:2)called from sub _block52 (/tmp/JyImFAPC7E:2)called from sub _block52 (/tmp/JyImFAPC7E:2)called from sub _block52 (/tmp/JyImFAPC7E:2)called from sub _block52 (/tmp/JyImFAPC7E:2)called from sub _block52 (/tmp/Jy… | ||
diakopter | vijs has no maximum recursion depth. is that bad? | ||
syntheticore_ | that's why I was confused ;) | ||
thnx | |||
TimToady | also assuming +True == 1 | 17:55 | |
diakopter | === ? | ||
TimToady | well, True == 1 too | 17:56 | |
moritz_ | rakudo: say +True === 1 | ||
p6eval | rakudo 0eaf62: OUTPUT«0» | ||
moritz_ | rakudo: say (+True) === 1 | ||
p6eval | rakudo : OUTPUT«0» | ||
moritz_ | rakudo: say ((+True) === 1) | 17:57 | |
p6eval | rakudo 0eaf62: OUTPUT«0» | ||
TimToady | rakudo: say +True | ||
p6eval | rakudo : OUTPUT«1» | ||
moritz_ | rakudo: say (+True).PARROT | ||
TimToady | O_o | ||
p6eval | rakudo 0eaf62: OUTPUT«Num» | ||
diakopter | vijs: say +True == 1 | ||
moritz_ | anyway, this is a bug | ||
p6eval | vijs : OUTPUT«execute(): execute error: undefined not yet implemented; srsly!!?!?last: termish0,1,2,phase,postDo,eval_args,invoker,context at viv line 171.» | ||
avuserow | why is there no version number sometimes? | ||
moritz_ | avuserow: after migrating p6eval to a different server the rakudo revision numbers were broken | ||
diakopter | also vijs | 17:58 | |
moritz_ | I just fixed it (hopefully) | ||
diakopter | during a snap.. | ||
TimToady | vijs: die;fakefail;fakefail;fakefail | ||
p6eval | vijs 28359: OUTPUT«Undeclared routine: fakefail used at 2,3,4execute(): execute error: TypeError: Cannot read property 'length' of undefined at viv line 171.» | ||
diakopter | vijs: you so speedy now | 17:59 | |
p6eval | vijs : OUTPUT«Undeclared routines: now used at 1 so used at 1 speedy used at 1 you used at 1execute(): execute error: terminator__S_Semi not yet implemented; srsly!!?!?last: | ||
..argsT,T__terminator__S_Semi,_specific,prec,END,dba,assoc,TEXT,BEG,kind,WS,SYM,phase,postDo,eval_args,invoker,contex… | |||
TimToady | std: die;fakefail;fakefail;fakefail | 18:00 | |
p6eval | std 28359: OUTPUT«Undeclared routine: fakefail used at 2,3,4ok 00:01 95m» | ||
diakopter | vijs: my $a = 33993993993939393993939399393939; my $b = 939393993939399393939399393999; say $a / $b; say $a % $b; | ||
p6eval | vijs : OUTPUT«36175810212121015812121021209975 time in interpreter: 0.016540 s» | ||
TimToady | ETOOIMPATIENT | ||
vijs: say pi | 18:01 | ||
p6eval | vijs 28359: OUTPUT«execute(): execute error: term__S_pi not yet implemented; srsly!!?!?last: noun__S_termT,T__term__S_pi,_specific,prec,END,dba,BEG,TEXT,kind,WS,SYM,phase,postDo,eval_args,invoker,context at viv line 171.» | ||
TimToady | hmm, STD ought to be inlining constants | 18:02 | |
diakopter | rakudo: my $a = 33993993993939393993939399393939; my $b = 939393993939399393939399393999; say $a / $b; say $a % $b; | ||
TimToady | NYI I guess | ||
p6eval | rakudo : OUTPUT«Assignment type check failed; expected Int, but got Numin sub Rat::block_69 (src/gen_setting.pm:1082)called from method Rat::new (src/gen_setting.pm:1092)called from sub infix:/ (src/gen_setting.pm:1168)called from Main (/tmp/1wlxkGB5Qm:2)» | ||
TimToady | vijs: constant pi = 3; say pi | 18:03 | |
p6eval | vijs 28359: OUTPUT«execute(): execute error: scope_declarator__S_constant not yet implemented; srsly!!?!?last: noun__S_scope_declaratorT,T__scope_declarator__S_constant,BEG,_specific,SYM,scoped,END,M,phase,postDo,eval_args,invoker,context at viv line 171.» | ||
18:03
snearch joined
|
|||
diakopter | phase,postDo,eval_args,invoker,context are each members the vijs interpreter trampoline/loop adds | 18:04 | |
I don't get that rakudo error msg | 18:07 | ||
what's with Rat::new | |||
rakudo: my $a = 33993993993939393993939399393939; my $b = 939393993939399393939399393999; say $a/$b; say $a % $b; | 18:09 | ||
p6eval | rakudo : OUTPUT«Assignment type check failed; expected Int, but got Numin sub Rat::block_69 (src/gen_setting.pm:1082)called from method Rat::new (src/gen_setting.pm:1092)called from sub infix:/ (src/gen_setting.pm:1168)called from Main (/tmp/CGX47Qf8hu:2)» | ||
moritz_ | diakopter: it autopromotes large ints to Num (or so), so the Int type check fails | 18:10 | |
18:10
Zloyrusskiy joined
|
|||
diakopter | oh | 18:10 | |
TimToady | doesn't do big Int yet | ||
diakopter | vijs: say 1+<1 | 18:11 | |
p6eval | vijs 28359: OUTPUT«1 time in interpreter: 0.008679 s» | ||
diakopter blinks | |||
oh, Multiplicative | 18:12 | ||
ok | |||
diakopter goes to make <+ work | |||
18:16
Util left
|
|||
pugs_svn | r28368 | diakopter++ | [vijs] implement infix__S_PlusLt | 18:16 | |
diakopter | vijs: say 1+<2, 1+<3 | 18:17 | |
p6eval | vijs : OUTPUT«48 time in interpreter: 0.011067 s» | ||
diakopter | vijs: say 1+<2, ' ', 1+<3 | 18:18 | |
p6eval | vijs 28359: OUTPUT«4 8 time in interpreter: 0.011898 s» | ||
diakopter | whee | ||
moritz_ | jivs: say -1 +< 2 | ||
vijs: say -1 +< 2 | |||
p6eval | vijs : OUTPUT«execute(): execute error: Symbolic_unary not yet implemented; srsly!!?!?last: eval_argsT,T__Symbolic_unary,BEG,kind,prec,arg,uassoc,END,dba,assoc,M,phase,postDo,eval_args,invoker,context at viv line 171.» | ||
moritz_ | vijs: say (0-1) +< 2 | ||
p6eval | vijs 28359: OUTPUT«-4 time in interpreter: 0.010970 s» | ||
diakopter doesn't know whether that's expected. | 18:19 | ||
diakopter just wires up the libraries | |||
moritz_ | rakudo: say (-1) +< 2 | ||
p6eval | rakudo : OUTPUT«-4» | ||
pmurias | diakopter: why not having a maximum recursion depth would be a bad thing? | 18:20 | |
diakopter | I dunno... I guess if each recursion takes a bit more memory, it'll run out eventually and the user will discover sometime there was an infinite recursion. | ||
TimToady | looks about right | 18:21 | |
I don't suppose you're doing anything like real multiple dispatch yet | 18:22 | ||
18:22
nihiliad joined
|
|||
diakopter | nope | 18:23 | |
18:23
hanekomu left
|
|||
diakopter | it doesn't even have an object/type model besides "p6var" (basically a slot in a context/scope/namespace that holds one of the other types, aka named/slotted reference), Int, p6sub, and Str | 18:25 | |
oh and p6array | |||
I just chose whatever name I fancied; it can be rechristened upon baptism | |||
assuming it comes back up... | |||
vijs: 'you so quick and dirty' | 18:27 | ||
p6eval | vijs 28359: OUTPUT« time in interpreter: 0.003139 s» | ||
pugs_svn | r28369 | diakopter++ | [vijs] implement shift right Int | 18:29 | |
diakopter cheats and manually svn updates p6eval | |||
moritz: just the js/ dir, I mean | 18:30 | ||
vijs: say 48+>2 | |||
p6eval | vijs : OUTPUT«12 time in interpreter: 0.008955 s» | ||
diakopter | vijs: say (0-1536)+>2 | 18:31 | |
p6eval | vijs 28359: OUTPUT«-384 time in interpreter: 0.010835 s» | ||
18:35
abra joined,
hanekomu joined
|
|||
diakopter | TimToady: to more fully answer your question, the "dispatch" is already a few tiers, so what's another few layers? :) | 18:35 | |
pmurias | diakopter: say 'hello world' doesn't work in vivjs? | 18:36 | |
diakopter | vijs: say 'hello world' | 18:37 | |
p6eval | vijs : OUTPUT«hello world time in interpreter: 0.005695 s» | ||
18:38
hanekomu left
|
|||
diakopter | pmurias: oh you mean locally for you? | 18:39 | |
pmurias | didn't update everything | 18:41 | |
18:41
rfordinal left
18:42
snearch left
|
|||
pugs_svn | r28370 | moritz++ | [evalbot] better diagnostics for non-existing revision files | 18:46 | |
18:46
p6eval left
18:47
p6eval joined
|
|||
moritz_ | vijs: say "hi" | 18:47 | |
p6eval | vijs 28359: OUTPUT«hi time in interpreter: 0.005720 s» | ||
18:47
moritz_ sets mode: +v p6eval
|
|||
moritz_ is really at loss why somtimes the revision number is missing, and sometimes it works | 18:48 | ||
d'oh. | |||
vijs: say 3 | |||
p6eval | vijs : OUTPUT«3 time in interpreter: 0.006779 s» | ||
18:53
p6eval left,
p6eval joined
|
|||
diakopter | vijs: say 3; | 18:53 | |
p6eval | vijs 28359: OUTPUT«3 time in interpreter: 0.006456 s» | ||
diakopter | vijs: say 3; | 18:54 | |
p6eval | vijs : OUTPUT«3 time in interpreter: 0.006981 s» | ||
18:55
kyle__ joined
18:56
rindolf joined,
p6eval left,
p6eval joined
|
|||
rindolf | Hi all. | 18:57 | |
moritz_ | vijs: 3 | ||
p6eval | vijs 28359: OUTPUT« time in interpreter: 0.003172 s» | ||
moritz_ | vijs: say 3 + 4 | ||
p6eval | vijs : OUTPUT«7 time in interpreter: 0.008535 s» | ||
pmurias | diakopter: i think we should have some tests for vivjs but i'm not sure where to put them | 18:58 | |
18:58
p6eval left,
p6eval joined,
KyleHa joined
|
|||
moritz_ | vijs: say 3 + 4 | 18:58 | |
diakopter | pmurias: I agree.. I'm still working on the Test.pm emulation | ||
p6eval | vijs 28359: OUTPUT«7 time in interpreter: 0.007776 s» | 18:59 | |
moritz_ | vijs: say 3 + 4 | ||
p6eval | vijs : OUTPUT«7 time in interpreter: 0.008368 s» | ||
18:59
ejs left
|
|||
diakopter | weird | 18:59 | |
18:59
Student joined
|
|||
moritz_ | vijs: say 3 + 4 | 18:59 | |
p6eval | vijs 28359: OUTPUT«7 time in interpreter: 0.019223 s» | ||
moritz_ | vijs: say 3 + 4 | ||
pmurias | diakopter: moving vivjs to it's directory instead of being a mode on top of vivjs might be a good idea | ||
p6eval | vijs : OUTPUT«7 time in interpreter: 0.008196 s» | ||
diakopter | moritz_: the file needs closed | ||
moritz_ | hm? | 19:00 | |
pmurias | diakopter: should i do it? | 19:01 | |
moritz_ can't parse that sentence | |||
TimToady | 2nd time through it reads second line of version file | ||
is what I think they mean | |||
pmurias | moritz_: which sentence? | ||
moritz_ | 20:59 <@diakopter> moritz_: the file needs closed | 19:02 | |
TimToady | s/needs/needs to be/ | ||
and reopened, presumably | |||
moritz_ | TimToady: uhm, I close it explicitly, and it's a lexical that stores the file handle anyway | ||
TimToady | just saying what I thought they meant | ||
moritz_ | ok | 19:03 | |
19:04
p6eval left
19:05
p6eval joined
|
|||
moritz_ | vijs: say 3 | 19:05 | |
p6eval | vijs 28359: OUTPUT«3 time in interpreter: 0.007034 s» | ||
moritz_ | vijs: say 4 | ||
p6eval | vijs 28359: OUTPUT«4 time in interpreter: 0.007086 s» | ||
19:05
KyleHa1 joined
19:06
Zloyrusskiy left
|
|||
TimToady | though that number seems about 10 back from head | 19:07 | |
std: nonesuch | |||
p6eval | std 28359: OUTPUT«Undeclared routine: nonesuch used at 1ok 00:01 95m» | ||
19:08
pmurias left
|
|||
TimToady | doesn't have my patch of 1.5 hours ago | 19:08 | |
19:11
ruoso left
19:14
icwiener joined
|
|||
moritz_ | std: nonesuch | 19:14 | |
p6eval | std 28370: OUTPUT«Undeclared routine: nonesuch used at line 1ok 00:01 95m» | ||
moritz_ | that's after a 'make snap' | 19:15 | |
TimToady | hmm | ||
cron failure? | |||
19:15
soybean left
|
|||
TimToady | or does p6eval fire that off? | 19:15 | |
moritz_ | cron | ||
ok, some paths were wrong in the cron tab | 19:16 | ||
19:18
ruoso joined
19:22
KyleHa left
19:28
syntheticore_ left,
justatheory left
19:32
abra left
19:37
justatheory joined
19:38
justatheory left
|
|||
diakopter | tell pmurias: sure, if you want... there will likely be additions/fixes to viv that need migrated over though | 19:38 | |
phenny: tell pmurias: sure, if you want... there will likely be additions/fixes to viv that need migrated over though | |||
phenny | diakopter: I'll pass that on when pmurias is around. | ||
19:39
BinGOs left,
BinGOs joined
19:41
molaf joined
19:46
smash left
19:49
icwiener left
19:51
icwiener joined
19:56
justatheory joined
19:59
nihiliad left
20:05
PZt left
20:10
dbrock` left
20:13
rindolf left
|
|||
pugs_svn | r28371 | fglock++ | [mp6] Javascript client-side compilation works | 20:16 | |
diakopter | std: nonesuch | 20:25 | |
p6eval | std 28370: OUTPUT«Undeclared routine: nonesuch used at line 1ok 00:01 95m» | ||
20:28
flavioglock joined
|
|||
diakopter | flavioglock: howdy | 20:29 | |
flavioglock | diakopter: hi! | ||
perlcabal.org/~fglock/perlito.html | |||
press "Execute" there | |||
moritz_ | flavioglock++ | 20:30 | |
flavioglock | does it work? | ||
20:31
ecooper left
|
|||
Tene | it works for me. | 20:31 | |
flavioglock | yay! | ||
diakopter | looks good in Google Chrome, though I can't clear the Output box | 20:32 | |
moritz_ | flavioglock: it seems that \n is ignored in the output | ||
and it doesn't seem to handle errors very gracefully | |||
flavioglock | no, it doesn't handle errors at all | ||
diakopter | flavioglock: disregard our gripes :D that's great | ||
flavioglock | cool - I'll try to blog something | 20:33 | |
moritz_ | flavioglock: and please tell us the URL | 20:34 | |
diakopter | flavioglock: if you want bigints see how I'm doing them in my little STD->JS interpreter vijs | ||
20:35
ruoso left
20:36
dakkar left
|
|||
flavioglock | diakopter: for now I just want it to be fast, in order to bootstrap in js; I'll add features later | 20:36 | |
diakopter | oh | ||
in case you're curious too, vijs uses perl (5) linked to Google's MIT-licensed JS engine "V8" | 20:37 | ||
flavioglock | nice - I'm using v8 at the command line too | ||
diakopter: this compiler can also execute in perl5 and in SBCL Lisp | 20:39 | ||
it could generate perl5 from the browser :) | |||
diakopter | neat... | 20:40 | |
IE can use Perl5 as a <script> engine with an IScript addin; I don't know about the other browsers | 20:41 | ||
OR | 20:44 | ||
you can swap out IE entirely, within IE: :) blog.chromium.org/2009/09/introduci...frame.html | |||
20:44
kyle__ left
|
|||
diakopter | flavioglock: I'm very curious what v8 bug it's working around? | 20:49 | |
20:52
jauaor left
|
|||
flavioglock | blog: use.perl.org/~fglock/journal/39664 | 20:53 | |
it seems v8 doesn't compile a 'method' until it compiles the function you are inside, | 20:54 | ||
adding the reference seems to fix it | |||
[particle] | diakopter: point of note, www.vijs.ca/ is the website for my favorite indian food on earth | ||
20:55
payload joined
|
|||
diakopter | ah, trick the JIT | 20:56 | |
flavioglock | diakopter: I didn't investigate much, because it worked :) | ||
diakopter | [particle]: well, it needs a different name | ||
my js interpreter, I mean | |||
er, Perl6 interpreter, I mean. | 20:57 | ||
pugs_svn | r28372 | moritz++ | [t/spec] fix a Rat test | ||
20:58
meppl left
|
|||
moritz_ | can anybody please check if the latest rakudo runs t/spec/S32-num/rat.t fine? | 20:58 | |
on my local machine it dies at the end with "Could not find non-existent sub done_testing" | |||
20:59
pmurias joined
|
|||
pmurias | flavioglock: hi | 20:59 | |
phenny | pmurias: 19:38Z <diakopter> tell pmurias sure, if you want... there will likely be additions/fixes to viv that need migrated over though | ||
pmurias | flavioglock: is mp6 bootstraped in js? | ||
flavioglock | pmurias: I didn't try yet, but it should work | 21:00 | |
I'll test tomorrow, I need to sleep | |||
pmurias | so how does perlito work? | ||
flavioglock | I used the perl5 compiler, with the js emitter | ||
21:00
molaf left
|
|||
flavioglock | the js compiler should compile itself, but I didn't try yet | 21:01 | |
pmurias | what's your plan for mp6? | 21:02 | |
21:02
icwiener left
21:03
dbrock` joined
|
|||
flavioglock | I have a precedence parser I need to merge in, and a few more backends I'd like to test | 21:03 | |
maybe merge some features back from kp6, later | 21:04 | ||
21:06
lmc joined
|
|||
flavioglock | pmurias: this is already big enough for a few weeks | 21:10 | |
21:18
iblechbot joined
|
|||
pmurias | what backend to plan on testing? | 21:22 | |
* backends | |||
s/to/do you | 21:23 | ||
moritz_ | rakudo: say <a b c>.join | ||
p6eval | rakudo 0eaf62: OUTPUT«abc» | ||
flavioglock | I worked a bit on Clojure and I also tried desugaring to execute on Rakudo | 21:24 | |
21:25
alester left
|
|||
flavioglock | rpython also looks interesting | 21:25 | |
diakopter | how about C#/DLR :) | 21:26 | |
moritz_ | rakudo: say 1/2 eqv 1/2 | 21:27 | |
p6eval | rakudo 0eaf62: OUTPUT«infix:<eqv> is only implemented for certain special cases yetin sub infix:eqv (src/gen_setting.pm:2073)called from Main (/tmp/KzOtmXVNGs:2)» | ||
flavioglock | C# would be nice to have, but I don't have an application for it - so I'm not much motivated | 21:28 | |
it has a low fun-factor | 21:29 | ||
diakopter | C# has perhaps a too-high fun-factor for me. | 21:30 | |
flavioglock | I experimented with modifying the v8 grammar to accept mp6 | ||
this has a high fun-factor, but it would be impossible to maintain across v8 releases | |||
too high? | 21:31 | ||
diakopter | yeah, as in, I can't afford it. :) | 21:34 | |
moritz_ | should 2, 4 ... *+2, 7 end in 6 or in 8? | 21:35 | |
pmichaud | should be 2, 4, 6, 7 | ||
moritz_ | pmichaud: thanks | ||
flavioglock | pmichaud: hi! | 21:37 | |
pmichaud | hello, fglock. nice work on perlito | ||
flavioglock | thanks :) | ||
moritz_ | and 1, 3 ... +2, -2 would be infinite, right? | ||
pmichaud | do you mean *+2 ? | 21:38 | |
or +2 | |||
moritz_ | *+2 | ||
pmichaud | I would take it to be 1, 3, -2 | ||
flavioglock | zzz & | ||
21:38
flavioglock left
|
|||
pmichaud | oh, wait | 21:38 | |
hmmm | |||
moritz_ | oh, uhm. | ||
pmichaud | yes: 1, 3, 5, 7, 9, ... | 21:39 | |
(infinite) | |||
21:42
PZt joined
21:43
PZt left
|
|||
moritz_ | currently trying to test and implement it... | 21:46 | |
the previous signature was (@lhs, Code $generator) | 21:47 | ||
now I added (@lhs, Code $generator, $limit?) | |||
$ ./perl6 -e '1, 2 ... *+2, 8' | 21:48 | ||
No applicable candidates found to dispatch to for 'infix:...' | |||
dalek | kudo: c584dc6 | moritz++ | src/setting/Operators.pm: remove some duplicate code in infix:<...> |
||
kudo: 0220cc2 | moritz++ | src/setting/Operators.pm: implement infix:<eqv>(Rat, Rat) |
|||
moritz_ | so, it builds a list of the RHS too, I assume | ||
so this is going to be ugly | 21:49 | ||
pugs_svn | r28373 | moritz++ | [t/spec] initial tests for series operator with limit | 21:50 | |
TimToady | I find the 2,4,6,7 semantics to be surprising | ||
I was thinking of the number as a pure limit, thrown away | 21:51 | ||
moritz_ | bs in, bs out ;-) | ||
the other logical thing to do would be to return 2, 4, 6, 8 | 21:52 | ||
TimToady | I think it's 2,4,6 | ||
moritz_ | ie take the first produced value for which the comparison has changed | ||
then our simple scheme won't work | 21:53 | ||
ie the "compare $first with $last, and keep going until $latest cmp $last is different" | |||
21:54
tak11 joined
|
|||
moritz_ | we'd have to special-case inclusion of $latest if $latest cmp $last == 0 | 21:55 | |
fine by me if specced | |||
TimToady | note the sample code in the spec essentially does that | ||
moritz_ | but means that 1, 1 ... $complicated_closure, 1 might not be consistent | ||
moritz_ looks at the spec again | 21:58 | ||
TimToady | it always quits on $new === $old as well as on equality | ||
moritz_ | what are !after and !before? | ||
TimToady | *inequality with endpoint | ||
!after is before or eqv | |||
in most number systems :) | 21:59 | ||
moritz_ | so it's $new cmp $old <= 0? | ||
TimToady | depends on the direction | ||
we could, I suppose write 1,2 ... $closure => $limit, 10, 11 etc. | 22:01 | ||
the pair kinda looks like "going to the limit" | |||
moritz_ | S03 has the example 'z' ... 'a' # z y x ... a | 22:02 | |
which multi should handle that? | 22:03 | ||
TimToady | ... is always two lists | ||
moritz_ | ok | ||
TimToady | or more, since it's list associative | ||
22:04
M_o_C left
|
|||
TimToady | so more like X or Z | 22:04 | |
22:04
kothog left
|
|||
moritz_ | so it doesn't really do "intelligent" multi dispatch, it just unpacks its arugment and tries to be smart with it | 22:04 | |
TimToady | yes | ||
but maybe we should have a way of combining the closure and the limit into a single argument, such as with pair notation | 22:05 | ||
moritz_ | it would emphasize that the end point is not always part of the result list | ||
TimToady | so it's clear the $limit isn't part of the next sequence unless the generator generates it | ||
but I was mostly assuming that people wouldn't write limits that don't match exactly, in which case maybe the comma reads better | 22:07 | ||
22:08
KyleHa1 left
|
|||
TimToady | or we find some way of hacking: 1,2,3 ... *+1 <= 10, etc. | 22:08 | |
moritz_ | 1,2,3 ... *+1 also * <= 10 | 22:09 | |
22:09
omega left
|
|||
TimToady glares suspiciously at a round hole and a square peg | 22:09 | ||
moritz_ | well... not really | ||
pugs_svn | r28374 | moritz++ | [t/spec] more series tests straight from the spec. | 22:10 | |
r28374 | | |||
r28374 | Also correct one test as clarified by TimToady++ on IRC | |||
22:10
omega joined
|
|||
moritz_ | it's still not quite clear to me how dispatch to ... works | 22:12 | |
it has to receive a raw capture and unpack that | |||
TimToady | or parcel | ||
moritz_ | but if it does, how can it know which parts are left of the first ..., and which parts are right of it? | 22:13 | |
japhb | I need a linguist's brain: What is the term for a type of test that is exploratory? The little scripts you write when you just want to see if something is feasible, and generally how you would do it, before you even start on the real prototype? 'Proof of concept' close, but I think of that as something used to prove some entire project is doable. I'm talking about some little piece of it. Like "How do I do async DNS lookups on this pl | ||
atform" when you're really writing a client app for some protocol. So far we in #parrot have come up with 'throwaway', 'scribble', and 'doodle'. Anything better? | |||
TimToady | one capture for each arg | ||
moritz_ | or is that handled by multidimensionality, which rakudo doesn't handle yet? | ||
ok | |||
TimToady | $cap ... $cap ... $cap | ||
well, a slurpy of captures, maybe we could force that for now | 22:14 | ||
moritz_ | so nothing I can implement in Rakudo today. Sigh | ||
TimToady | how does it do Z? | ||
rakudo: say 1,2,3 Z 4,5,6 | |||
p6eval | rakudo 0eaf62: OUTPUT«sh: ../p/bin/perl6: No such file or directory» | ||
moritz_ | probably wrong :) | ||
rakudo: say 1 | 22:15 | ||
p6eval | rakudo 0eaf62: OUTPUT«sh: ../p/bin/perl6: No such file or directory» | ||
TimToady | ... is the same precedence as Z | ||
japhb | Any ideas? TimToady, anything? | ||
TimToady | sec, brain still on ... | ||
22:15
iblechbot left
|
|||
japhb | ah | 22:15 | |
TimToady | probes | 22:16 | |
japhb | oooh | ||
I like that one. | 22:17 | ||
TimToady | depends on whether you're the prober or the probee | ||
japhb | heh | ||
And your particular predilections as well, I'd assume ... | |||
Anyway, I think that one will do nicely. Thanks, TimToady++ | 22:18 | ||
moritz_ | oh, it seems that infix:<Z> works pretty well in Rakudo, but it's a functionality not available from Perl6, only from PIR | ||
and I'm not going to write the series operator in PIR. That's way too painful :) | |||
rakudo: say 3 | 22:19 | ||
p6eval | rakudo 0eaf62: OUTPUT«3» | ||
TimToady | I guess rakudo needs parcels... | ||
moritz_ | aye | 22:20 | |
TimToady | or at least some way of turning an argument list into a scalar iterator | 22:21 | |
sjohnson | trusty $i variable | ||
TimToady | rakudo: say i | ||
p6eval | rakudo 0eaf62: OUTPUT«Could not find non-existent sub i» | ||
moritz_ | well, I hope that jnthn++'s grant proposal is going to be accepted | ||
TimToady | rakudo: constant i = 1i; say i | ||
p6eval | rakudo 0eaf62: OUTPUT«0+1i» | ||
moritz_ | we wants to redo signatures in Rakudo | 22:22 | |
(sorely needed) | |||
diakopter | std: selfsame | 22:23 | |
p6eval | std 28370: OUTPUT«Undeclared routine: selfsame used at line 1ok 00:01 95m» | ||
diakopter | std: nextsame | ||
p6eval | std 28370: OUTPUT«ok 00:01 95m» | ||
diakopter | std: samename | ||
moritz_ drifts off to bed | |||
p6eval | std 28370: OUTPUT«Undeclared routine: samename used at line 1ok 00:02 95m» | ||
22:34
ruoso joined
|
|||
ruoso | boa noite | 22:36 | |
jrtayloriv | Are each of the alternatives in this rule tested as if they have written before them? --> pastebin.ca/raw/1575841 ... that is, does :sigspace replacing whitespace with '<.ws>' immediately after the '|'? | 22:40 | |
s/they have/they have <.ws>/ | 22:41 | ||
So, for example, if I didn't want to allow a <list> with whitespace before it to match, would I have to do '|<list>' instead of '| <list>'? | 22:42 | ||
TimToady | that looks like it should be a token to me | 22:44 | |
and let the rule that calls it eat the spaces | |||
22:47
crythias joined
|
|||
crythias | perl6: say 3 | 22:47 | |
p6eval | elf 28374, pugs, rakudo 0eaf62: OUTPUT«3» | ||
jrtayloriv | TimToady, OK. So you are saying that if I wrote 's_expr' as a token which was called from 'rule TOP', then all of the whitespace that came before the <s_expr> would be eaten by TOP, so I wouldn't have to worry about them, correct? | ||
22:49
pmurias left,
crythias left
23:00
rhr joined,
SmokeMachine left
23:03
jauaor joined
23:05
rhr_ left,
frederico left
|
|||
TimToady | jrtayloriv: right, basically things tend to naturally fall into patterns that want to match ws and those that don't | 23:12 | |
though often a "token" will call a subrule that matches whitespace internally | 23:13 | ||
so parentheses will typically be a token, but call a subrule that matches whitespace around a subexpression. | |||
though of course Lisp has its own rules | 23:14 | ||
buu | * JOB DESCRIPTION: | 23:24 | |
jrtayloriv | TimToady, Thank you. | ||
buu | Whups. MT | ||
23:32
crythias joined
23:36
Limbic_Region joined
23:45
TiMBuS joined
23:46
frederico joined
23:49
frederico left
23:54
jrtayloriv left,
jrtayloriv joined
|