pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, elf: etc.) (or perl6: for all) | irclog: irc.pugscode.org/
Set by Tene on 29 July 2008.
00:01 masak left 00:03 pedrob joined 00:08 avar left 00:11 wayland76 joined
wayland76 Has anyone seen a USB version of the Space Cadet keyboard? 00:11
00:17 avar joined 00:28 avar left 00:33 fleebailey33 joined, avar joined 00:37 pedrob left, pedrob joined 00:46 pedrob left
meppl good night 00:46
00:48 meppl left 00:51 spx2_ left, spx2 joined
spx2 has anyone tried automating AJAX-pages for scraping with this for example htmlunit.sourceforge.net/ ? 00:53
lambdabot Title: HtmlUnit - Welcome to HtmlUnit
00:57 hercynium joined 01:10 alester joined, alester left 01:15 aindilis` is now known as aindilis 01:16 Limbic_Region left 01:17 ryanc left
wayland76 Not I (said the little ed hen) 01:19
(in response to spx2 01:20
bacek_ pugs: say one('a','b','c') eq 'a' 01:35
p6eval pugs: OUTPUT[one(VBool True)␤]
bacek_ pugs: if (one('a','b','c') eq 'a') say { "foo" } else { say "bar" }
p6eval pugs: OUTPUT[*** ␤ Unexpected "say"␤ expecting operator or bare or pointy block construct␤ at /tmp/T0q4P16ZR6 line 1, column 30␤]
bacek_ pugs: if (one('a','b','c') eq 'a') { say "foo" } else { say "bar" } 01:36
p6eval pugs: OUTPUT[foo␤]
bacek_ rakudo: if (one('a','b','c') eq 'a') { say "foo" } else { say "bar" }
p6eval rakudo 32323: OUTPUT[foo␤]
bacek_ pugs: say ~(one('a','b','c')) 01:39
p6eval pugs: OUTPUT[one(VStr "a",VStr "b",VStr "c")␤]
bacek_ pugs: say ?(one('a','b','c'))
p6eval pugs: OUTPUT[one()␤]
bacek_ pugs: say ?(one('a',Bool::True))
p6eval pugs: OUTPUT[one()␤]
bacek_ pugs: say ?(any('a',Bool::True))
p6eval pugs: OUTPUT[any(VBool True)␤]
01:41 Exodist left
bacek_ perl6: if (Bool::True&Bool::False) { say "foo" } else { say "bar" } 01:49
p6eval pugs: OUTPUT[bar␤]
..elf 22847, rakudo 32323: OUTPUT[foo␤]
bacek_ heh. nailed 01:50
01:54 eternaleye joined
bacek_ msg masak 'if (Bool::True&Bool::False) { say "foo" } else { say "bar" }' - root of almost all problems with Junctions... 01:55
perl6: my $j=Bool::True&Bool::False; while ($j) { say "foo"; $j = Bool::False }; say "bar" 01:59
01:59 [particle]1 joined
p6eval rakudo 32323: OUTPUT[foo␤bar␤] 01:59
..pugs: OUTPUT[bar␤]
..elf 22847:
..OUTPUT[foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo􏿽xE2􏿽x90
bacek_ elf--
02:05 alester joined, jhorwitz_ joined 02:06 alech_ joined 02:11 hercynium left, wknight8111 left, fleebailey33 left, jhorwitz left, szbalint left, bacek left, yahooooo3 left, alech left, Maddingue left, audreyt left, sri_kraih_ left, lambdabot left, aindilis left, jhorwitz_ is now known as jhorwitz, hercynium joined, fleebailey33 joined, wknight8111 joined, aindilis joined, sri_kraih_ joined, lambdabot joined, yahooooo3 joined, szbalint joined, audreyt joined, Maddingue joined, aindilis left, fleebailey33 left 02:12 szbalint left, szbalint joined, aindilis joined 02:13 sri_kraih_ left, sri_kraih joined 02:17 [particle] left 02:23 fleebailey33 joined 02:34 hercynium left 02:44 bacek_ left 03:07 jhorwitz left 03:20 wknight8111 left 03:28 Ontolog joined 03:49 Psyche^ joined 03:52 hercynium joined 04:07 Patterner left, Psyche^ is now known as Patterner 04:18 sri_kraih left 04:19 bacek joined 04:21 KidShenck left 04:31 Alias_ joined 04:43 z80ASM joined 04:48 FireMinion left 04:56 alc joined 05:07 adc_Penner joined 05:17 z80ASM left
wayland76 has not quit 05:23
05:26 adc_Penner left
TimToady @tell masak there will certainly be some method for asking an IO handle how many chunks it has returned. alternately, an input line could be decorated with some kind of chunk number property 05:26
lambdabot Consider it noted.
wayland76 TimToady!!! 05:28
(Sorry, I'm in a good mood :)
I'm working on a Perl keyboard layout
05:29 hercynium left
wayland76 So far, it seems the best way is to use two keyboards :) 05:29
:)
05:33 alc left 05:39 alester left
literal !#$%&*/()[]{}<> as home keys? 05:49
wayland76 No, that's the swearing keyboard :)
My basic idea at the moment is that you put one hand on each keyboard, and then have all the punctuation and stuff around the place 05:50
ie. all those perl unicode symbols
I want it to also appeal to a) programmers other than Perl, b) Mathematicians and Scientists (Greek letters and maths symbols), and c) people who write Western european languages :) 05:51
Oh, and leave room to have another language on there too, so that it can also appeal to Biblical scholars (already has Greek, and they can order the Hebrew option :) ) 05:52
literal all those Perl unicode symbols? 05:53
wayland76 rakudo: $fh = open("dev/null"); @lines = $fh.lines();
p6eval rakudo 32324: OUTPUT[No handler to delete.␤current instr.: 'parrot;PAST;Compiler;as_post' pc 6024 (src/PAST/Compiler.pir:1651)␤]
literal those aren't that many if I recall
wayland76 well, the << and >> anyway
05:53 justatheory left
wayland76 yeah, there aren't but if I also include the set operators, someone will no doubt make a module that uses them :) 05:53
literal on my layout it's just altgr+z(«) and altgr+x(») :P 05:54
wayland76 Also want an easy way to input unicode characters :)
literal set operators?
wayland76 literal: Well, not on my layout :)
literal have you tried a nodeadkeys variant? 05:55
that would surely have «» somewhere
wayland76 I had a look for the set operators. I always use a font named SimPL when hunting for mathematical operators 05:57
because it has them :)
Yeah, found the «» operators :)
On the [] keys :)
I made my own keyboard layout, so it has strange stuff on it :)
I'm trying to figure out if rakudo does IO.lines() yet 05:59
Do I have to use IO or something?
Don't worry, I worked around it :) 06:01
Is undef.++ going to be implemented eventually? 06:12
rakudo: $count++ 06:13
p6eval rakudo 32324: OUTPUT[No handler to delete.␤current instr.: 'parrot;PAST;Compiler;as_post' pc 6024 (src/PAST/Compiler.pir:1651)␤]
wayland76 rakudo: [1, 3, 2].sort() 06:15
p6eval rakudo 32324: RESULT[[1, 2, 3]] 06:16
literal rakudo: undef.perl
p6eval rakudo 32324: RESULT["undef"]
06:26 mberends_ left 06:28 justatheory joined 06:30 justatheory left 06:34 eternaleye left 06:57 jauaor joined 07:01 ashizawa joined 07:13 eternaleye joined 07:16 zamolxes joined 07:37 fronty joined 07:39 fronty left 07:40 fronty joined 07:45 fronty left 07:48 pbuetow joined 07:52 smg left 08:05 xinming_ joined 08:13 xinming left, elmex joined 08:14 jauaor left 08:16 araujo left 08:23 alc joined 08:26 pbuetow left 08:27 StephenPollei left 08:58 `nipra left 09:03 tomyan joined, zamolxes left 09:16 jferrero joined 09:20 schmalbe joined 09:21 Bzek joined 09:22 smg joined 09:34 ejs joined 09:35 alc left 10:06 spx2 left 10:08 spx2 joined 10:26 smg left 10:37 Ontolog left 11:45 hanekomu joined 11:56 smg joined 11:58 fleebailey33 left 12:06 iblechbot joined 12:11 araujo joined 12:19 fleebailey33 joined 12:25 sri_kraih joined 12:29 nipotan_ joined
pugs_svn r22865 | jnthn++ | [spectest] Some tests for smart-matching a regex against an array and a hash. 12:55
12:57 nipotan__ joined 13:07 ashizawa left 13:09 pmurias joined
pmurias @messages 13:09
lambdabot mncharity said 20d 19h 6m 26s ago: re mildew as duplication (last night), I was wrong. eg, elf doesn'
ruoso said 18h 41m 7s ago: how do you keep track of which mold frame registers you use? should it just generate a random name for them and expect a later optimization that would consolidate the
usage?
13:14 nipotan_ left
pmurias @tell ruoso i just use a register with a unique name, good register allocation in none-trivial and will be done by an optimalisation pass 13:14
lambdabot Consider it noted.
13:20 pmurias left
pugs_svn r22866 | jnthn++ | [spectest] Add test for anonymous enums. 13:21
13:24 schmalbe left 13:26 jferrero left
pugs_svn r22867 | jnthn++ | [spectest] Test for the case where a named enum has a single value, plus test export of declared enum values. 13:28
diakopter wayland76: space bar as modifier key? 13:42
14:01 Ontolog joined 14:17 adc_Penner joined 14:34 ejs left 14:36 ejs joined 14:39 pedrob joined 14:40 Exodist joined 14:52 Alias_ left 14:53 jhorwitz joined 15:01 broquaint left 15:08 pedrob left 15:19 Igno- joined 15:26 rindolf joined 15:34 nipotan__ left 15:39 aindilis left, audreyt left 15:42 Igno- left 15:43 aindilis joined 15:48 TJCRI joined 15:52 alc joined 16:12 alc left 16:23 justatheory joined, braceta joined, braceta left 16:24 azawawi joined
azawawi hi 16:24
pugs_svn r22868 | jnthn++ | [spectest] Unfudge a test that Rakudo now passes. 16:34
16:34 z80ASM joined 16:37 jhorwitz_ joined 16:44 smg left, schmalbe joined 16:49 alester joined 16:50 ejs left 16:55 jhorwitz left
pugs_svn r22869 | jnthn++ | [spectest] Some fudging/unfudging to add another test to Rakudo. 16:56
16:58 pmurias joined
pugs_svn r22870 | moritz++ | [t/spec] tests for @() context forcers, patch courtesy by rindolf++ 16:59
r22870 | moritz++ | (plus precedence corrections)
moritz_ svn-- 17:01
I just did a propset commit, and it failed because the server did not respond
now it says I have no local changes (ie another 'svn ci' does nothing)
17:03 ejs joined
pmurias svn is a bit strange ;) 17:04
17:05 hercynium joined
pugs_svn r22871 | moritz++ | [t/spec] fudge newly added tests 17:05
moritz_ pugs_svn: that's nicely phrased :) 17:06
erm, pmurias I meant
p<tab> isn't all that reliable ;)
17:08 rindolf left
[particle]1 it's never *your* fault, moritz, is it? :P 17:09
17:09 [particle]1 is now known as [particle]
moritz_ [particle]: oof course not. How could it? ;-) 17:09
ususally I write the first two letters of a name, and then press tab
(but that doesn't work with pm<tab>, because we have two pm<tab>s frequenting the channel) ;) 17:10
17:10 pmurias left, kisu left
moritz_ but in the case of svn, I fail to see how it could be my fault 17:11
17:15 meppl joined
meppl good evening 17:16
pugs_svn r22872 | moritz++ | [t/spec] fix bad plan in boolean-context.t
[particle] are there any expected spectest failures now, jonathan? 17:17
i'm seeing failures in S03-junctions/boolean-context.t
and -junctions/misc
hee, moritz++ 17:18
moritz_ the three failures in misc.t are because masak++ reverted some changes to rakudo without reverting the corresponding spectest changes
but since the reversion didn't fix what he thought it would, I'm not sure what to do - re-fudge the tests, or re-comit the changes? 17:19
[particle] ok, so i'll ignore those in my review of my local changes
if the reversion is a regression, it's not a proper reversion. revert it so we stop regressing.
:)
17:20 z80ASM left 17:22 ejs left 17:23 justatheory left
moritz_ [particle]: if you feel like you understand what's going on, revert the appropriate change ;) 17:23
or better, the inappropriate change ;) 17:24
[particle] :)
pugs_svn r22873 | azawawi++ | [STD_syntax_highlight] re-factored --simple-html for easier support of 17:27
r22873 | azawawi++ | [STD_syntax_highlight] future output formats
17:28 pedrob joined 17:29 REPLeffect left
[particle] t\spec\S12-class\namespaced...............................Method 'baz' not found for invocant of class 'Foo;Bar' 17:29
17:29 delrico left
moritz_ it works here (no local modifications) 17:30
17:35 sri_kraih left 17:36 cognominal left
pugs_svn r22874 | azawawi++ | [STD_syntax_highlight] more refactorings... --full-html and --simple-html 17:38
17:44 tomyan left
pugs_svn r22875 | azawawi++ | [STD_syntax_highlight] smaller code, refactored --ansi-text 17:45
r22876 | azawawi++ | [STD_syntax_highlight] more code cleanups 17:48
17:52 cognominal joined 17:59 ruoso joined, fridim_ joined, jferrero joined
ruoso Hello! 18:00
lambdabot ruoso: You have 1 new message. '/msg lambdabot @messages' to read it.
pugs_svn r22877 | azawawi++ | [STD_syntax_highlight] implemented --snippet-html. Enjoy ;-) 18:05
azawawi hi ruoso 18:06
*: any preference on how YAML is formatted from STD_syntax_highlight? 18:07
[particle] i prefer delimited over indented 18:08
but that may just be me 18:09
18:09 masak joined
azawawi [particle]: can u give me a more specific example? 18:09
hi masak
masak azawawi: hi azawawi 18:10
lambdabot masak: You have 1 new message. '/msg lambdabot @messages' to read it.
masak @messages
lambdabot TimToady said 12h 43m 22s ago: there will certainly be some method for asking an IO handle how many chunks it has returned. alternately, an input line could be decorated with some kind of chunk
number property
masak TimToady: yes, I assumed as much.
[particle] syntax: [ !scope_declarator 'my', !ws ' ', !sigil '$', !variable 'foo', ... ] 18:12
azawawi: i'm assuming the node types will be stored as yaml type info
oh, and btw your coloring misses param_var 18:13
18:14 smg joined, fridim_ left
pugs_svn r22878 | azawawi++ | [STD_syntax_highlight] better pod, added an explanation for redspans 18:15
18:16 cosimo left
azawawi [particle]: param_var, i dont see a css rule for it. 18:16
moritz_ that's why it's missing ;) 18:17
azawawi moritz_++
;-)
moritz_: --snippet-html is ready
moritz_ azawawi: nice ;) 18:18
azawawi moritz_: i wanted to rename it as --very-simple-html then i resisted the urge ;-)
moritz_
.oO( too simple html)
18:19
azawawi moritz_: it would be nice if we had a bot to 'highlight:' and send the output to sial.org 18:20
[particle] azawawi: a simple example like 'my $x; foo($x);' will show you the difference in highlighting between variables and param_vars
azawawi [particle]: i dont see a 'param_vars' from redspans 18:23
[particle] y/s// 18:24
pasteling "azawawi" at 212.38.153.104 pasted "redspans output for 'my $x; foo($x);'" (39 lines, 1.8K) at sial.org/pbot/33040 18:26
18:27 TJCRI left
azawawi [particle]: no param_var in previous pasteling... 18:27
[particle] silly me. sub foo($x) {...} 18:30
my $x; sub foo($x) {...} # to be precise
18:31 Jedai joined
TimToady I also noticed that method unitstop was highlighting unitstop as role unitstop instead of a method name. 18:33
18:42 stephenos joined 18:43 Bzek left 18:45 cathyal joined
pugs_svn r22879 | azawawi++ | [STD_syntax_highlight] param_var now works. [particle]++ 18:46
azawawi is running out from web-safe colors ;-) 18:48
TimToady I also tend to not like my quotes to be the same color as most everything else... 18:49
18:49 _Jedai_ left
masak
.oO( outstanding quotes )
18:49
18:49 REPLeffect joined
TimToady
.oO(in other words, most of my quotes are off color...)
18:50
masak :)
azawawi ;-)
TimToady well, to be more precise, my quoted strings. I don't actually care what color the quotes themselves are... 18:52
azawawi moritz_: regarding using STD_syntax_highlight over CGI; can we secure it by removing the 'lex' directory?
moritz_ azawawi: STD.pm doesn't work without lex/ 18:53
TimToady in theory, it could, but slowly
since it would have to regen in-core lexers every time
moritz_ don't think it's worth the trouble 18:54
TimToady maybe some way of having a read-only lex directory
ruoso TimToady, is there a way to output a frozen STD with its lex?
[particle] ala Storable?
ruoso yeah... maybe that...
TimToady not currently 18:55
and lex/ could still use about 100x of compression in any case 18:56
ruoso TimToady, thinking on a serialize format for STD is something that is going to be usefull in a near future
just like serializing any other type of package
TimToady I'll get a fair amount of compression when I give TRE the boot
azawawi listens carefully and drinks coffee... 18:57
18:57 pbuetow joined
TimToady certainly it will be to our advantage to have a version of STD that comes with common languages pre-lexed. 18:58
18:59 jferrero left
bacek pugs: if (none(Bool::True,Bool::False)) { say "foo" } else { say "bar" } 18:59
p6eval pugs: OUTPUT[bar␤] 19:00
bacek pugs: if (none(Bool::True)) { say "foo" } else { say "bar" }
p6eval pugs: OUTPUT[bar␤]
TimToady but at the moment, including the common lexers runs you about .5GB
[particle] eek!
TimToady and that's just disk space 19:01
well, a couple weeks ago it was about 4 GB, so we've got a 9x improvement already
and bzip indicates there's about 200x worth of redundant info there at the moment 19:02
most of it is there for the purpose of faking out TRE into working
azawawi moritz_: where can i find the code for various p6 bots? 19:06
moritz_ p6eval lives in misc/evalbot/ 19:07
polyglotbot (in #parrot) is a fork of that, I think
azawawi moritz_: thx 19:08
pugs_svn r22880 | jnthn++ | [spectest] Unfudge an enum test that we can now pass in Rakudo. 19:12
19:19 mberends_ joined 19:22 kisu joined 19:27 kisu left
pugs_svn r22881 | azawawi++ | [STD_syntax_highlight] implemented --yaml, [particle]++ 19:32
19:35 kisu joined 19:37 mberends left 19:42 jan_ left 19:44 jan_ joined 19:52 pedrob left
ruoso @tell pmurias with some help of #p5p people, I'm starting the p5 smopp5 branch in the gitorious public git hosting... gitorious.org/projects/smopp5 19:53
lambdabot Consider it noted.
19:54 sri_kraih joined 19:57 schmalbe left
masak pugs: say ?(Bool::True&Bool::False) 20:05
p6eval pugs: OUTPUT[all(VBool False,VBool True)␤]
masak ok, adding a test that checks against this (faulty) behaviour
would `ok ?(Bool::True & Bool::False) == Bool::False` cut it? 20:06
moritz_ I think so, yes
masak makes it so
moritz_ or ok ?(Bool::True & Bool::False) !~~ Junction
masak ooh
moritz_ if you wan tto be explicit 20:07
masak how about both?
moritz_ (many tests)++
masak 'xactly.
20:07 hanekomu left
azawawi @tell [particle] --yaml for STD_syntax_highlight is done 20:08
lambdabot Consider it noted.
masak perl6: say (!(Bool::True & Bool::False)).perl 20:09
p6eval elf 22847: OUTPUT[␤]
..pugs: OUTPUT[*** ␤ Unexpected " Bool"␤ expecting "::"␤ at /tmp/SDrlsBNFjq line 1, column 20␤]
..rakudo 32343: OUTPUT[all("0", "1")␤]
masak should the real answer be 'Bool::False'? 20:10
moritz_ no, Bool::True 20:11
masak still cannot reliably do junctive algebra in his head
pugs_svn r22882 | azawawi++ | [STD_syntax_highlight] print->say
r22882 | azawawi++ | [STD_syntax_highlight] an STD.pm sanity check [masak++]
20:11 pedrob joined
masak moritz_: because False&True collapses to False, which is then negated? 20:11
moritz_ masak: right
masak moritz_: because of all(), right. were it any(), the final answer'd been True, yes? 20:12
moritz_ masak: !any(1, 0) is 0
because ?any(1, 0) collapses to 1, and the ! negates to 0 20:13
masak moritz_: oh, of course.
I meant that, just confused myself on the way.
moritz_ I thought so, yes ;)
masak 谢谢。
interested follow-up question: when dealing with junctions, when can I _not_ be sure that if I do ?(...) I get one boolean reply and if I do !(...) I get the other? 20:17
I know we talked about this yesterday, but... I need the repetition. 20:18
pugs_svn r22883 | azawawi++ | [STD_syntax_highlight] ETOOMUCHTIME now checks your LANG variable for .UTF-8 suffix 20:19
azawawi is feeling bored ;-) 20:21
moritz_ azawawi: write more tests ;)
masak azawawi: check out November and try getting it running ;) 20:22
moritz_ masak: jonathan++ fixed precompiled modules today, at least one commit message said that...
masak moritz_: aye. means we can do a server upgrade again. 20:23
I haven't tried it yet. but if true, it's excellent news.
moritz_ oh, and Namespaces::With::Double::Colons should work again 20:24
masak low-hanging fruit for someone, then. patches welcome :)
(be sure to actually try running the wiki before sending the patch to the list.) 20:25
azawawi moritz_: how do i generate IRC colors that are reliable to work on most clients?
moritz_ azawawi: dunno. What do you need that for? 20:26
azawawi moritz_: for 'p6_hilite: my $foo = <a b c>;'
moritz_ azawawi: don't. please ;) 20:27
azawawi moritz_: why? ;-)
masak pugs: say (?(1&0)).perl
p6eval pugs: OUTPUT[(Bool::False & Bool::True)␤] 20:28
moritz_ azawawi: because colors are annoying, and should be the clients choice 20:29
pugs_svn r22884 | masak++ | [t/spec/S03-junctions/boolean-context.t]
r22884 | masak++ | * added tests checking for the following Pugs bug:
r22884 | masak++ | ** <masak> pugs: say (?(1&0)).perl
r22884 | masak++ | ** <p6eval> pugs: OUTPUT[(Bool::False & Bool::True)â¤]
r22884 | masak++ | * (should really collapse to Bool::False)
moritz_ whoops, some characters in masak++'s commit message totally borked irssi or screen 20:30
masak moritz_: it looks borked here too. 20:31
azawawi moritz_: hmmm... we can pasteling the result
masak moritz_: it was the ␤ char from the evaluation.
moritz_ azawawi: that's better 20:32
masak looks like the bot thinks it got latin-1, when it really got UTF-8
pugs_svn r22885 | moritz++ | [t/spec] fix smartlinks in angle-brackets.t 20:33
moritz_ masak: pugs_svn isn't utf-8 aware :(
masak so much potential for improvement everywhere...
moritz_ I tried to convert all the bots to plagger, but failed miserably 20:34
20:38 StephenPollei joined
azawawi moritz_: btw, i cant run evalbot on feather1 since it cant find some modules 20:39
moritz_ azawawi: evalbots don't belong on feather1
azawawi i know but i need to test it a bit on another channel... 20:40
azawawi promises to be careful ;-)
feather3? 20:41
moritz_ I don't care
azawawi ?
moritz_ I don't care which one
azawawi im gonna watch the elections now... sleep & 20:42
cya 20:43
masak azawawi: good night.
azawawi masak: what time is it on your timezone? 20:44
masak azawawi: almost ten in the evening.
21:44
azawawi 10:44 here
azawawi sleep & 20:45
20:45 azawawi left
moritz_ @tell azawawi all required modules are installed on feather1 now (for evalbot) 20:54
lambdabot Consider it noted.
20:59 ab5tract_ joined 21:05 smg left 21:11 pedrob left 21:22 iktome joined, pedrob joined 21:23 wayland76 left 21:45 jonathan1 joined 21:46 jonathan1 is now known as jnthn
jnthn hi all 21:46
for sub foo { return }
I'm thinking this returns an empty Capture.
I guess an empty Capture is considered false in boolean context. 21:47
Is it considered as defined, though?
say defined(foo()) # gives what?
masak jnthn: by my intuitive understanding of definedness, yes. is there a situation where 'false but defined' might break the Law of Least Astonishment? 21:50
moritz_ you know my opinion on that one ;)
masak moritz_: I don't. 21:51
jnthn masak: See rt.perl.org/rt3/Ticket/Display.html?id=58770
moritz_ masak: ah, you missed the discussion in #parrot. It's about a ticket I opened because I thought it should be undef 21:52
lambdabot Title: #58770: Bare return; should be undef
moritz_ this one ;)
masak hm, an empty list object is defined, an empty capture object is defined... why not an empty Capture object?
masak reads the ticket
moritz_ masak: because return; doesn't look like it returns anything defined
masak oh. yes.
ACK.
but it seems that a little of Least Astonishment is broken by either of the choices defined/undefined. 21:53
see my reasoning above.
moritz_ no, it only breaks consitency, not principle of least surprise ;) 21:54
jnthn S06 says that return preserves the capture of the arguments it is given.
masak is there a reason `return` should give an empty Capture, and not just undef?
I mean, it's given 0 arguments.
we can make that mean anything we want. 21:55
Hee, designing languages is fun! :>
moritz_ and hard. 21:56
masak no argument there.
diakopter masak: hahaha; good one. 21:57
masak diakopter: undef. 21:58
;)
diakopter heh
jnthn masak: The Spec says "The return function preserves its argument list as a Capture object,"
masak jnthn: but there is no argument list...
just `return`
jnthn No, that's just an empty argument list. 21:59
masak hokay.
jnthn sub foo() { ... }; foo;
or $obj.meth # empty list of arguments, same as $obj.meth()
I think elsewhere in Perl 6, no argument list is taken to be the same as an empty one. 22:00
masak wait a minute -- let's clear this up once and for all, just to be on the safe side
they're called 'argument' at the definition side, and 'parameters' at the call side of the method, right?
s/argument/arguments/
moritz_ jnthn: from the spec quote it seems more logical that it should be defined. But it doesn't feel right, IMHO ;)
masak it's certainly not in line with Perl 5 22:01
so it will astonish PerlFivers more than the Least Amount
though I guess we've never tried to astonish PerlFivers as little as possible anyway :) 22:02
TimToady eh, that's backwards, they're parameters on the definition side
and arguments on the call side 22:03
jnthn Yay, we haz TimToady!
TimToady: And the answer to the original question? ;-)
TimToady mmphph
masak TimToady: thank you. I can never remember, but will try from now on.
TimToady an empty capture does not automatically turn into an undef
masak then why is it called @ARGS ? :)
moritz_ masak: "formal parameters" sounds better than "formal arguments" ;) 22:04
jnthn TimToady: So "sub foo { return }; defined(foo()) # true ?
moritz_ masak: because it's the list of arguments?
masak moritz_: I don't think CS should have "what sounds better" as a guiding principle. :)
moritz_ masak: I know, but maybe it can help you remember
TimToady it's called @ARGS because it contains some, not because it are one 22:05
masak moritz_: might be because it's the list of arguments, yes. what would be a list of parameters in this case?
TimToady: makes sense.
the arguments are pulled through from the call side.
moritz_ masak: in Unix a program doesn't have a list of parameters.
TimToady jnthn: if you want a function to fail you should use fail 22:06
moritz_ masak: it should just die if it can't make sense of an argument list
masak moritz_: does that mean anything more than that the Unix tradition got the terms wrong?
moritz_: ah.
jnthn TimToady: I've not got a position on this, I just want to know what the correct semantics are. :-)
So the implementation can be correct.
TimToady well, it depends on what the context supplied by defined() is 22:07
masak doesn't really have a position either, but plenty of momentum 22:08
TimToady if it's looking for an item then it probably fails to bind at all
so the answer might be that defined() without args throws an exception
jnthn Ah, because we have a capture back and are trying to bind that capture to the signature of defined... 22:09
moritz_ and sub foo { return }; foo().defined?
TimToady or we can give a multi with 0 args and say it's undefined
22:09 eternaleye left
jnthn The second would sound more sensible to me. 22:09
22:09 jhorwitz_ left
TimToady well, more to the point is what we do with defined(@foo) and @foo.defined 22:09
I'd argue that in either case we're looking at the variable as an item 22:10
so the real question is what does item( () ) return
seems like I already decided this once 22:11
22:11 KidShenck joined
jnthn TimToady: And remind me what the answer was? 22:11
TimToady you're asking the senile member of the group to remember something? 22:12
22:13 adc_Penner left
TimToady in fact, this was discussed on p6l 22:14
22:15 eternaleye joined, wknight8111 joined 22:20 pedrob left 22:21 fleebailey33 left
TimToady and I think the real answer is that item( () ) returns Nil, which is a form of undef that returns () in list context :) 22:23
22:23 apeiron is now known as voteobama
TimToady basically () === Nil 22:23
whereas Object or Failure returns itself in list context 22:25
jnthn Ah, OK.
jnthn tires to make it fit into his head 22:26
TimToady would if fit better if we named it NothingToSeeHereMoveAlong instead?
jnthn :-P 22:27
masak JediMindTrick.
TimToady btw, the p6l thread was entitled: adverbial form of Pairs notation question 22:28
jnthn Thanks
TimToady though I think I said NIL in that thread
commuting & 22:29
spx2 hmm there's some nice stuff going on 22:33
I heard recently ActiveState and also BBC joined the advisory board of Parrot ?
is this to say that perl6 has more chances of coming out sooner than before ?
moritz_ finds it hard to judge the impact of these decisions 22:34
spx2 ok uhm... what is actually going on if those companies join an advisory board ?
Perl6 needs Parrot in order for the developers to code/test it... no ? 22:35
moritz_ I think most of all they publicly announce that they are interested in the parrot project
masak spx2: Rakudo needs Parrot, the other implementations mostly don't.
22:36 smg joined
moritz_ Perl 6 witout Parrot is possible, as pugs demonstrated. The question is how good, portable and fast it can be without. 22:36
wknight8111 the question is how good, portable, and fast it can be with parrot
masak that remains to be seen.
spx2 I am waiting for a version that comes out where I don't need to make distinctions between implementations or the need to know that a virtual machine Parrot exists 22:37
masak writing PIR is a remarkable experience, at least. feels like Perl assembler. it's easy to imagine Rakudo working well on top of that.
wknight8111 spx2: eventually you won't have to worry about the implementation, no 22:38
masak spx2: what do you mean? you can already do `perl6`.
wknight8111 but we aren't at that point yet, perl6 is mostly usable now, but with rough edges
22:38 iblechbot left, Chillance joined
moritz_ both rough and sharp edges :/ 22:39
spx2 masak: I want to write stuff with it that won't break due to "not yet implemented stuff" or "not enough tested stuff" (is this a lame excuse ?)
moritz_ and I want a ponie.
masak wknight8111: ah I see what you mean. well, with a good test suite, and a faithful "Perl Implementation" stamp of approval, you won't have to worry about implementations.
spx2: what was the latest Perl 6 feature you added to an implementation? :P 22:40
spx2 moritz_: give me your poine when you get it,I'd like to have it
masak: none , but I don't feel I need to add something in order to use perl6
22:40 zamolxes joined
wknight8111 spx2: you have three options: 1) Play around with what we have, 2) wait patiently for the rest, or 3) join the project and help us complete it! 22:40
moritz_ sadly it doesn't work that way
spx2 wknight8111: part 3 22:41
wknight8111 spx2++
spx2 wknight8111: sorry , I meant part 3 demands pretty much experience,not every newbie coming around saying "I want that toy" can really build it
masak spx2: no, you don't have to add something in order to use Perl 6. but sometimes it's actually easier to help implement something than to complain about missing features, I've found.
spx2 my <return> key is broken
wknight8111 when I was younger, I was told to "press alt+F4 to fix that" 22:42
I've never been cruel enough to give that advice myself
masak ah, the days when Alt+F4 actually quit Windows...
spx2 why exactly is this book out if perl6 is not yet finished ? I imagine only fools would buy that ...(or not ?) apress.com/book/view/1590598334 22:43
lambdabot Title: APRESS.COM : Beginning Perl 6: From Novice to Professional : 9781590598337
masak spx2: the Perl 6 Spec is fairly stable these days.
we're just waiting for the implementations to catch up :) 22:44
moritz_ spx2: people have been complaining about a lack of documentation. Rightly so.
22:44 spx2 left
wknight8111 yeah, documentation is one of those things I want to be working on more seriously 22:44
22:45 spx2 joined
moritz_ wknight8111: speaking of which, I've seen that you've written a (very short) intro to rules in one of the book chapters... 22:45
wknight8111: but the Perl 6 part already has a whole chapter on it..
wknight8111 yeah, just trying to keep things standard, no idea whether my ideas are right or wrong
22:46 gabiruh joined
moritz_ wknight8111: did you just forget about that? or is that duplication intentional? 22:46
wknight8111 intentional
moritz_ (it's horribly out of date, and needs more work, but it's a starting point for sure)
ok
spx2 oh you people must be working on compilers etc...surely you have written expression evaluators ? 22:48
how does one treat unary operators when writing a infix->postfix and afterwards shunting yard rpn evaluator ? 22:49
wknight8111 i've written some very painful expression calculators
at least, painful for me
moritz_ has written Math::Expression::Evaluator ;)
but I've never bothered with rpn
spx2 recursive descent ? 22:50
moritz_ yes
works with less theory ;)
22:54 Limbic_Region joined
spx2 moritz_: so you read something in particular for the "theory" or examples 23:01
23:02 kst joined
spx2 for example I found a nice description of recursive descent in bjarne stroustrup "the c++ programming language" and also kernighan ritchie "the c programming language" 23:02
moritz_ spx2: I read compilers.iecc.com/crenshaw/. Before I thought that compilers were scary magic. After that I decided to write at least an interpreter ;) 23:03
lambdabot Title: Let's Build a Compiler
moritz_ spx2: it's a bit out of date, but IMHO still interesting
(and yes, I built an interpreter for a nearly usable, turing complete language shortly afterwards)
23:05 [particle] left
moritz_ anyway, I'm off to bed now 23:05
masak g'night. 23:06
spx2 same 23:07
23:12 nacho_ joined 23:18 Alias_ joined 23:24 zamolxes left 23:26 [particle] joined 23:33 nipotan_ joined 23:34 nipotan_ left 23:35 bacek_ joined 23:39 hercynium left 23:41 FurnaceBoy joined
masak @tell moritz_ languages/perl6/tools/update_passing_test_data.pl starts funny: "This tool runs the same test that C<make spectest> would, except those that C<make spectest> runs." (in other words, it does nothing?) 23:43
lambdabot Consider it noted.
23:43 jauaor joined
[particle] masak: i have a feeling someone did a s/spectest_regression/spectest/g in langugaes/perl6/ and didn't review the changed docs 23:50
lambdabot [particle]: You have 1 new message. '/msg lambdabot @messages' to read it.
[particle] @moosages
lambdabot azawawi said 3h 41m 17s ago: --yaml for STD_syntax_highlight is done
[particle] \o/
23:50 gabiruh left
masak [particle]: clbuttic mistake. www.codinghorror.com/blog/archives/001176.html 23:50
lambdabot Title: Coding Horror: Obscenity Filters: Bad Idea, or Incredibly Intercoursing Bad Idea ...
23:53 ab5tract_ left, Exodist left, eternaleye left 23:56 eternaleye joined, masak left