|
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:20
wayland_ left
00:22
elmex left
|
|||
| meppuru | good night | 00:25 | |
|
00:32
meppuru left
00:43
wknight8111 joined
01:02
nacho_ left
01:03
nacho__ left
01:11
nacho_ joined,
nacho__ joined
02:03
alc joined
02:09
nacho_ left
02:12
adc_Penner left
02:39
FurnaceBoy left
02:56
rhesa left
02:57
rhesa joined
02:58
eternaleye left
02:59
eternaleye joined
03:00
yahooooo3 joined
03:01
jiing__ joined,
[particle]1 joined,
[particle] left,
yahooooo left,
jiing_ left,
tewk left,
tewk joined
03:03
Bzek left
03:16
aindilis left
03:17
aindilis joined
03:19
rintaro joined
03:24
lambdabot joined
03:36
alester joined
03:50
bacek__ joined
03:52
bacek_ left
03:55
Psyche^ joined
03:59
wknight8111 left
04:07
Patterner left,
Psyche^ is now known as Patterner
04:09
aindilis left
04:18
eternaleye_ joined
04:19
aindilis joined
04:28
alester left
04:41
nacho__ left
04:46
z80ASM joined
04:48
eternaleye left
05:13
z80ASM left
05:27
tewk_ joined
05:41
tewk left
05:49
Bzek joined
06:59
iktome_ joined
07:00
adc_Penner joined
07:22
iktome_ left
07:33
DarkAkorn joined
|
|||
| DarkAkorn pokes moritz_ | 07:34 | ||
| him, or anyone else framiliar with the irclogbot around? | |||
|
07:40
pbuetow joined
07:41
kanru left,
kanru joined
07:47
bacek_ joined
07:48
bacek__ left
07:50
DarkAkorn left
08:16
eternaleye_ left,
bacek_ left
08:27
schmalbe joined
08:28
eternaleye_ joined
08:47
smtms left,
smtms joined
08:48
pbuetow left
08:51
bacek joined
08:53
eternaleye_ left
09:06
tcliou is now known as tcliou|away
09:09
riffraff joined
09:17
masak joined
09:18
adc_Penner left
09:22
Alias__ left
|
|||
| moritz_ | @tell DarkAkorn just ask your question, and stay around long enough to see the answer ;) | 09:25 | |
| lambdabot | Consider it noted. | ||
| masak | λ-bot! you're back! | 09:26 | |
|
09:28
tomyan joined
09:33
iblechbot joined
|
|||
| riffraff | hi | 09:44 | |
| masak | y0 | ||
|
09:44
ejs joined
09:49
smg left
09:51
zamolxes left,
zamolxes joined
10:03
zamolxes left
|
|||
| masak | r32205 is responsible for the new, unfortunate junction behaviour. | 10:07 | |
| it was created by bacek and committed by moritz_ | 10:08 | ||
| moritz_ | masak: feel free to revert it (and add a test case) | ||
| lambdabot | moritz_: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
| masak | its description is "Refactored Junction.pir.", which sounds about right | 10:09 | |
| bacek | masak: what the problem with junctions? | 10:11 | |
| masak | rakudo: say ("A" eq "A"|"B").perl | 10:12 | |
| p6eval | rakudo 32313: OUTPUT[any(Bool::True, Bool::False)] | ||
| masak | that's the problem. | ||
| bacek | masak: it's expected behaviour, AFAIU | ||
| masak | bacek: then I'm not surprized that you broke rakudo :P | 10:13 | |
| bacek: imagine that behaviour in an if statement | |||
| (which is exactly what happened in November) | |||
| bacek | pugs: say ("A" eq "A"|"B").perl | ||
| p6eval | pugs: OUTPUT[(Bool::False | Bool::True)] | ||
| moritz_ | masak: that's fine, but it should correctly collaps in boolean context | ||
| masak | ok, maybe | ||
| bacek | we just need additional development for junctions ;) | 10:14 | |
| masak | is there a reason for it not to collapse earlier? | ||
| moritz_ | perl6: say (? ("A" eq "A"|"B")).perl | ||
| p6eval | rakudo 32313: OUTPUT[any(Bool::True, Bool::False)] | ||
| ..pugs: OUTPUT[(Bool::False | Bool::True)] | |||
| ..elf 22847: OUTPUT[0] | |||
| moritz_ | masak: is there a reason to special-case some operators? | ||
| bacek | afk # will backlog | ||
| masak | moritz_: hm, maybe not. | 10:15 | |
| people can collapse explicitly if they want to. | 10:17 | ||
| moritz_ | that's the general idea of junctions, yes. | 10:18 | |
| masak | it's probable bacek's patch had other benefits that I'm not aware of | 10:20 | |
| but the fact that it broke this spectest which I haven't written should be considered serious enough to revert it. | 10:21 | ||
| s/written/written yet/ | |||
| masak writes the spectest | |||
|
10:23
alc left
10:32
rindolf joined
10:33
elmex joined
10:41
rindolf left
|
|||
| masak | rakudo: say (?any(Bool::True, Bool::False)).perl | 10:43 | |
| p6eval | rakudo 32314: OUTPUT[any("1", "0")] | ||
| masak | hm. something's still wrong. :/ | 10:45 | |
| moritz_ | masak: did you re-open the ticket in which bacek's patch was? | 10:48 | |
| masak | no, I didn't see any ticket number. | 10:49 | |
| still writing that test. | |||
| moritz_ | my bad, I forgot to mention it in the commit message ;/ | ||
| masak | happens to the best :) | 10:50 | |
| masak looks forward to the near future when VCSes and RT systems will grow closer to each other and even more automatic | |||
| moritz_ | a simple svn post-commit hook that scans for "closes RT #\d+" or "closes [perl #\d+]" and actually closes the ticket would b a start. | 10:53 | |
| pugs_svn | r22856 | masak++ | [S03-junctions/boolean-context.t] added test for collapsing of junctions in boolean context | ||
| masak | moritz_: aye. | ||
| & lunch | 10:54 | ||
|
10:54
masak left
|
|||
| moritz_ | masak: it's rt.perl.org/rt3/Ticket/Display.html?id=60168 | 10:58 | |
| lambdabot | Title: #60168: [TODO] handle Junction threading in dispatch code | 10:59 | |
|
11:03
penk joined
11:07
KidShenck joined,
orafu left
|
|||
| bacek | perl6: say ("A" eq "A"|"B").perl | 11:12 | |
| p6eval | elf 22847: OUTPUT[] | ||
| ..rakudo 32314: OUTPUT[Bool::True] | |||
| ..pugs: OUTPUT[(Bool::False | Bool::True)] | |||
| bacek | masak: it's bad idea to commit test that wrong and uncommit patch that's right :-/ | 11:13 | |
|
11:19
smg joined
|
|||
| bacek | perl6: say ?(Bool::True|Bool::False) | 11:21 | |
| p6eval | pugs: OUTPUT[any(VBool False,VBool True)] | ||
| ..rakudo 32314: OUTPUT[get_string() not implemented in class 'Junction'current instr.: 'print' pc 14833 (src/gen_builtins.pir:9120)] | |||
| ..elf 22847: OUTPUT[1] | |||
| bacek | perl6: if(Bool::True|Bool::False) { say "foo" } else { say "bar" } | 11:22 | |
| p6eval | elf 22847: OUTPUT[Parse error in: /tmp/0gn7I1EcOIpanic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: if(Bool::True|Bool::False) { sWHERE:/\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:76:in `scan_unitstopper' STD_red/std.rb:224:in `comp_unit' | ||
| ..STD_r... | |||
| ..pugs, rakudo 32314: OUTPUT[foo] | |||
|
11:24
zamolxes joined
|
|||
| bacek | perl6: say (Bool::True|Bool::False) eq 'Bool::False' | 11:31 | |
| p6eval | elf 22847: OUTPUT[] | ||
| ..pugs: OUTPUT[any(VBool False)] | 11:32 | ||
| ..rakudo 32314: OUTPUT[0] | |||
| bacek | perl6: say (Bool::True|Bool::False) eq 'Bool::True' | ||
| p6eval | elf 22847: OUTPUT[] | ||
| ..pugs: OUTPUT[any(VBool False)] | |||
| ..rakudo 32314: OUTPUT[0] | |||
| pugs_svn | r22857 | bacek++ | Removing wrong test | 11:40 | |
| bacek | perl6: say ~(Bool::True|Bool::False) | ||
| p6eval | pugs: OUTPUT[any(VStr "",VStr "1")] | 11:41 | |
| ..rakudo 32314: OUTPUT[get_string() not implemented in class 'Junction'current instr.: 'print' pc 14833 (src/gen_builtins.pir:9120)] | |||
| ..elf 22847: OUTPUT[Bool::Vs}we] | |||
| bacek | perl6: say ~((Bool::True|Bool::False) eq 'Bool::True') | 11:44 | |
| p6eval | elf 22847: OUTPUT[] | ||
| ..pugs: OUTPUT[any(VStr "")] | |||
| ..rakudo 32314: OUTPUT[0] | |||
|
12:01
zamolxes_ joined,
zamolxes left
12:07
zamolxes_ is now known as zamolxes,
zamolxes left
12:14
zamolxes joined
12:20
sri_kraih_ joined,
araujo left
12:22
Lorn joined
12:36
sri_kraih left
12:42
z80ASM joined
12:52
bsb left
12:59
araujo joined
13:07
cognominal left
14:04
penk left
14:08
orafu joined,
orafu left
14:12
cognominal joined
14:19
orafu joined
14:27
z80ASM left
14:36
tcliou|away is now known as tcliou
14:45
pedrob joined
14:50
ejs left,
ejs joined
15:01
alester joined
15:05
Gothmog_ left
15:09
Gothmog_ joined,
jsut|work left
15:10
ejs left,
sri_kraih_ left,
bacek left,
schmalbe left,
aindilis left,
lambdabot left,
yahooooo3 left,
szbalint left,
alech left,
Maddingue left,
audreyt left,
pedrob left
15:11
ejs joined,
sri_kraih_ joined,
bacek joined,
schmalbe joined,
aindilis joined,
lambdabot joined,
yahooooo3 joined,
szbalint joined,
audreyt joined,
alech joined,
Maddingue joined,
aindilis left,
aindilis` joined
15:18
rintaro left
15:27
cognominal_ joined
15:34
aindilis` left,
szbalint left,
bacek left,
ejs left,
yahooooo3 left,
schmalbe left,
alech left,
Maddingue left,
audreyt left,
sri_kraih_ left,
lambdabot left
15:35
aindilis` joined,
ejs joined,
sri_kraih_ joined,
bacek joined,
schmalbe joined,
lambdabot joined,
yahooooo3 joined,
szbalint joined,
audreyt joined,
alech joined,
Maddingue joined
15:42
zamolxes left
15:47
cognominal left
15:49
[particle] joined
16:04
jhorwitz joined
16:07
[particle]1 left
|
|||
| TimToady | Cute Trick of the Day: alias A and U to tryfile, and then just paste "svn up" output of t/ into the shell to syntax check all recent checkins :) | 16:11 | |
| moritz_ | nice, but also needs an alias for UU (at least in general) ;) | 16:13 | |
| TimToady | could just teach tryfile to read stdin and throw away leading svn info, since tryfile can now handle multiple parses | 16:14 | |
| moritz_ | is that more efficient than starting multiple times? | 16:16 | |
| and if yes, is Moose to blame? ;) | |||
| pugs_svn | r22858 | lwall++ | [tryfile] allow files specified by stdin, with knowledge of svn output | 16:18 | |
| r22858 | lwall++ | [STD] don't need inaccurate $COMPILING::LINE anymore | |||
| TimToady | Moose might be to blame for why it's leaking memory, which is the main problem with doing multiple parses in one process | 16:19 | |
| but it saves recompiling 1.8mb of Perl 5 code each time (well, each time except the first...) | 16:20 | ||
| moritz_ | decommute & | 16:21 | |
| TimToady | well, more like 2MB after you add in all the other modules | 16:22 | |
| 1.8 millibits isn't very big on its own :) | |||
|
16:23
masak joined
|
|||
| [particle] | i wonder what the physical size of a bit is nowadays compared to 20 years ago | 16:24 | |
|
16:25
z80ASM joined
|
|||
| [particle] | on magnetic storage, of course | 16:25 | |
|
16:31
hercynium joined
16:35
rindolf joined
16:38
meteorjay joined
16:42
ejs left
16:51
Exodist joined
16:53
lizsac left
16:57
justatheory joined
17:04
justatheory left,
justatheory joined
17:16
ruoso joined
17:33
zamolxes joined
|
|||
| ruoso | Hello! | 17:34 | |
| masak | y0 | ||
|
17:35
masak left
|
|||
| ruoso goes out for two days and have 600 emails to read... *sigh* | 17:36 | ||
|
17:38
zamolxes left
17:41
rindolf left
17:42
iktome joined
17:43
schmalbe left
17:47
pedrob joined,
iktome left
17:56
jauaor joined
|
|||
| jauaor | Hello | 17:56 | |
| moritz_ | hi | ||
| jauaor just notices a new perl6 is coming to life for next year | 17:58 | ||
| book* | |||
| moritz_ | which one? | ||
| moritz_ didn't hear of anything | |||
| jauaor | Beginning Perl 6 | 17:59 | |
| moritz_ | by whom? | 18:00 | |
| jauaor | www.amazon.com/Beginning-Perl-Novic...amp;sr=1-1 | ||
| lambdabot | tinyurl.com/6xfvkr | ||
|
18:00
z80ASM left,
adc_Penner joined
|
|||
| moritz_ wonders if James Lee hangs out here occasionally, and if yes, under which nick | 18:02 | ||
| ruoso admires brave people that publish a book hoping that we have a production-ready implementation in 3 months. | 18:03 | ||
| [particle] expects that date will be revised | 18:04 | ||
| jauaor just wonders if it is worthy buying considered the current state of the language | 18:06 | ||
| ruoso | jauaor, the spec is fairly stable... | ||
| so it's probably a good buy | |||
| jauaor | I see | ||
| ruoso | it might be a little frustrating that not all features will be available yet | 18:07 | |
|
18:07
tomyan left
|
|||
| moritz_ | heck, they can't even test 50% of their code examples | 18:07 | |
| jauaor | :-P | 18:09 | |
| jauaor will probably oder this one | |||
| pugs_svn | r22859 | ruoso++ | [mildew] it seems viv is keeping ws in the ast now... so lets just ignore it.. | 18:12 | |
| ruoso | is 'if' a topicalizer? | 18:16 | |
| moritz_ | ruoso: not unless you use 'if $expr -> $_ { .... }' | 18:17 | |
| ruoso | hmm... why would someone use '-> $_ ' if that is the default signature? | ||
| moritz_ | it's not, I think | 18:18 | |
| ruoso | hmm... ok... it's actually '$_ is rw = $OUTER::_' | ||
| moritz_ | otherwise {1;} would have arity 1 | ||
| ruoso | if it doesn't, it's wrong... | ||
| perl6: { $_.say }.("Hello World"); | 18:19 | ||
| p6eval | pugs, rakudo 32317: OUTPUT[Hello World] | ||
| ..elf 22847: OUTPUT[Parse error in: /tmp/Qmfo4ccnL4panic at line 1 column 10 (pos 10): Statement not terminated properlyWHERE: { $_.say }.("Hello World");WHERE: /\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:355:in `eat_terminator' STD_red/std.rb:269:in `block in | |||
| ..statem... | |||
| ruoso | pugs: { $_.say }.signature.arity; | ||
| p6eval | pugs: OUTPUT[*** No such subroutine: "&arity" at /tmp/qpTnDZBUAj line 1, column 1-27] | ||
| ruoso | pugs: { $_.say }.signature.perl; | ||
| p6eval | pugs: RESULT[":(\$_ is rw is ref)"] | ||
|
18:19
scrottie joined
|
|||
| moritz_ | afk | 18:20 | |
| ruoso | so, unless if EXPR POINTYBLOCK is a different statement_control | ||
| it should be consistent | 18:21 | ||
| either it is or it isn't a topicalizer | |||
| pugs: if "Hello World" { .say } | |||
| p6eval | pugs: OUTPUT[] | ||
| ruoso | rakudo: if "Hello World" { .say } | ||
| p6eval | rakudo 32317: OUTPUT[] | ||
| ruoso | ohkay... | ||
| it doesn't seem to be a topicalizer... | |||
| and it's probably better that way... otherwise for @foo { if .something { $_ is something different } } | 18:23 | ||
|
18:23
pedrob left
|
|||
| ruoso | @tell pmurias 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? | 18:26 | |
| er... lambdabot? | |||
| lambdabot | Consider it noted. | 18:28 | |
| ruoso | wow... 2 minutes delay | ||
|
18:30
AzureStone left
|
|||
| ruoso having a hard time understanding how viv returns "if" | 18:36 | ||
|
18:37
meppl joined
|
|||
| ruoso wonders what is viv's xblock and pblock | 18:39 | ||
| [particle] | pblock as in pointy block? | 18:41 | |
| no idea, just guessing | |||
|
18:44
azawawi joined
|
|||
| azawawi | hi | 18:44 | |
| ruoso | [particle], the most interesting part is that a xblock contains both the if expr and the block to execute if the condition is met | 18:46 | |
| the last being the so-called pblock | |||
| maybe it's something generic for statement_controls | 18:47 | ||
| I wonder if TimToady can shed some light... | |||
|
18:50
cognominal_ left
18:51
rindolf joined
18:57
jferrero joined
19:03
PZt joined
|
|||
| ruoso | hmmm... viv seems 'if True {...}' as 'if &True() {...}' | 19:09 | |
| is that expected? | |||
| TimToady | generically, Type() and Type arg are considered type coercions | 19:10 | |
| possibly we should restrict it to () forms so that enum values don't look for a following arg | 19:11 | ||
| (but I thought I'd done that already...) | |||
| azawawi | hi TimToady | 19:12 | |
| ruoso | hmm.. does that mean we need to have &True in the scope? | ||
| or is there some other magic here... | |||
| like trying to see if its a known type before trying to see if its a routine | |||
| s/its/it's/g | |||
| or maybe looking for a type after the lookup for the routine fails | 19:13 | ||
| TimToady | but anyway, it's parsing them all as functions currently, whether or not there are arguments expected | 19:14 | |
| ruoso | you mean it depends on the runtime state... | 19:15 | |
| TimToady | a constant is just a non-stateful 0-ary function anyway | ||
| ruoso | I might agree to that, but there's a difference in how things are handled in the lexical scope | ||
| does that mean that the types are also registered as a routine of the same name? | 19:16 | ||
| TimToady | essentially, yes | ||
| Int() is a function call that converts to type Int | |||
|
19:17
pbuetow joined
|
|||
| TimToady | but Int $x is a two-terms-in-a-row error | 19:17 | |
| because Int is a type | |||
| ruoso | hmm... I suppose we're going to catch that error by the fact that Int() signature is empty | 19:18 | |
| TimToady | it's not empty | 19:19 | |
| ruoso | it's not? | ||
| what is it then? | |||
| TimToady | Int($x) has to bind to something... | ||
| it won't bind to a 0-ary sig | |||
| ruoso | hmm... Int($x) and Int $x are not going to be parsed the same way? | ||
| TimToady | no, see token args | ||
| ruoso | ok... compilation depending on the runtime state ... | 19:20 | |
| TimToady | the parsing of types has always depending on predeclaratoin | 19:21 | |
| s/oi/io | |||
| ruoso | isn't that going to make it really hard to split compilation from runtime? | ||
| TimToady | declarations are not "run-time" in that sense | 19:22 | |
| only in the sense that all declarations run stuff in the compiler | 19:23 | ||
| ruoso | but potentially stuff in BEGIN will cause the same types of dependencies it does in p5 | ||
| TimToady | in theory, but not in practice | 19:24 | |
| pugs_svn | r22860 | ruoso++ | [mildew] starting the implementation of "if" | ||
| ruoso | TimToady, Is that just because you said so? meaning that we assume doing that kind of thing in BEGIN is subject to breakage... | 19:26 | |
| that actually makes sense... | 19:29 | ||
| that probably means that all values used in BEGIN should be serializable... | |||
| TimToady | BEGIN is like eval, its use is indication that there is some more specific mechanism missing; p6 attempts to supply those missing mechanisms | 19:30 | |
| ruoso | ok... so that also probably means we're going to have a "shared library compilation" mechanism... | 19:31 | |
| that includes dynamic linking of the dependencies... | 19:32 | ||
| TimToady | importation is now defined in terms of aliasing from subpackages representing export tags, for instance | 19:33 | |
| ruoso | my question is really on how the compiler creates the "bytecode" (or whatever) that represents that comp_unit... | 19:34 | |
|
19:34
cognominal joined
|
|||
| ruoso | does it assume you're going to discard any side-effects and just serialize the package ? | 19:34 | |
| TimToady | side-effects are not allowed in that sense | 19:35 | |
| ruoso | but can't really be prevented... | ||
| which mean that we can only ignore them | |||
| TimToady | there's this wonderful word used by the Ada spec: "erroneous" | ||
| that which is erroneous is wrong, but the compiler is not required to check for it | 19:36 | ||
| just "don't do that" | |||
| ruoso | ok... that brings us back to the "monkey patch" discussion | 19:37 | |
| TimToady | use one of the official polymorphism mechanisms instead | ||
| ruoso | what happens if a module modifies a global package in BEGIN? | ||
|
19:37
TJCRI joined
|
|||
| ruoso | do we just ignore it and serialize only its own package? | 19:37 | |
| TimToady | then the global package is modified, oh well | ||
| ruoso | right... in compile-time | ||
| but if that comp_unit is now compiled, | 19:38 | ||
| TimToady | then the changes are likely lost | ||
| ruoso | right... | ||
| so basically it serializes the package of that comp_unit | |||
| TimToady | we don't rely on globals nearly as much as some people seem to think | ||
| globals are really only for the run-time | 19:39 | ||
| ruoso | I know... I know... | ||
| TimToady | nearly everything else is either defined lexically or polymorphically | ||
| ruoso | my question is about what to do with the bad code | ||
| not how to write good code | |||
| TimToady | the compiler is allowed to warn if it notices things that it knows are wrong | 19:40 | |
| ruoso | it also seems to me that this requires that all aliasing should not be definitive in compile time | ||
| it should be a symbolic link, not a hard link... | |||
| TimToady | it's already that way for types within methods | 19:41 | |
| they are treated virtually | |||
| ruoso | right... but that applies for everything imported | ||
|
19:41
AzureStone joined
|
|||
| ruoso | not only types | 19:41 | |
| otherwise we have a "static link" | |||
| TimToady | has to be resolved at some point | ||
| ruoso | it just can't be at compile time... | 19:42 | |
| so we can draw the boundary of what's defined here | |||
| and what's defined outside | |||
| TimToady | we typically import into lexical or package scope, not global | ||
| ruoso | sure sure... | ||
| but even then... | |||
| if we're serializing the package... we have to serialize "a link to Foo", not recurse into serializing "Foo" itself | 19:43 | ||
| TimToady | gotcha | ||
| so either we hard link at INIT time or at START time (first use) | 19:45 | ||
|
19:45
Bzek left
|
|||
| TimToady | or are you suggesting even later than that, as in OO? | 19:45 | |
| ruoso | well... maybe that's something for optimizers | 19:47 | |
| we just assume it can only be done at INIT time onward | |||
| TimToady | we're kinda trying to nail down module APIs by version so that they're not too terribly mutable | ||
| the decision of which version to compile against is likely made at compile time, so we know exactly what set of symbols are available | 19:48 | ||
| ruoso | I wonder if we really want to make binary-depends like | ||
| because maintaining that requires a lot of effort | 19:49 | ||
| (as a sysadmin, I mean) | |||
| TimToady | big shops already manage multiple versions, and want things to stay the same after they're nailed down | ||
| ruoso | even if there isn't a versioned dependency in the source? | 19:50 | |
| TimToady | I'm saying we probably install a versioned dependency at compile time | ||
| ruoso | I know... I'm just wondering if that's really a good idea... | ||
| TimToady | we must at least record which version we compiled against | 19:51 | |
| ruoso | yes... recording is nice.. | ||
| but enforcing might just require useless recompilations | |||
| TimToady | the idea in p6 is that we never throw old versions away as long as anyone is using them | ||
| ruoso | that's pretty much how Debian manages binary dependencies | 19:52 | |
| TimToady | there could be a mechanism for tweaking the dependency and testing without recompilation, I suppose | ||
| on the assumption the api/semantics didn't change drastically | |||
| ruoso feels that we're going to end with a libtool-like versioning schema | 19:53 | ||
| TimToady | or pragmatically make "use" compile to a range of allowed linkages | ||
|
19:54
jferrero left
|
|||
| TimToady | I'd rather track too much information and then simplify than to make the p5 mistake of not tracking enough information and then not having it when you want it | 19:54 | |
| ruoso | libtool versioning works by you saying the max version of the API you support, the min version of the API and the revision | 19:55 | |
| azawawi has found a solution to make redspans consume less memory... testing... | |||
| ruoso | but that requires the maintainer of each library to be competent enough to understand when there's an ABI change... | ||
| and a lot of programmers doesn't realize when the ABI change... | 19:56 | ||
| and that's why we have so many segfaults in our world... | |||
| PerlJam | ruoso: have you ever used ruby gems? | 19:57 | |
| ruoso | nope | ||
| ruoso reading the user guide... | |||
| PerlJam | When you install a gem, it keeps previous versions around unless you've asked to remove them. This sounds quite a bit like what you guys are talking about for Perl 6 | 19:58 | |
| TimToady | we allow version ranges in the "use", but I'm not sure the ranges are so valuable after compilation time; p6 wants to allow multiple versions of the same name to run at the same time anyway, so the only reason to force a version is to manage an exclusive resource | ||
| and generally you want to split out the versioning of that resource into its own module anyway | |||
| PerlJam | I'm not sure how gems handle version freezing or when though | 19:59 | |
|
20:00
pedrob joined
|
|||
| ruoso | TimToady, the problem is not the explicit versioned depends in "use"... but the amount of bad handling in the module versioning itself... | 20:01 | |
| TimToady | p6 considers all versions installed into "the library" to be frozen. only your own personal modules are mutable | ||
| ruoso: "Doctor, it hurts when I do this..." | |||
| I think in the long run versioning has to be culturally enforced, though certainly tech can help or hinder that enforcement | 20:02 | ||
| ruoso | if a module maintainer doesn't handle the "this module implements versions from A to B" correctly, it's simply going to break badly | ||
|
20:02
REPLeffect joined
|
|||
| ruoso | that's why I'm not sure enforcing versioning by default is a good idea | 20:02 | |
| pugs_svn | r22861 | azawawi++ | [redspans] trees are now stored as action refs thus consuming far less memory. | ||
| PerlJam | ruoso: darwin will weed those out :) | 20:03 | |
| TimToady | darwin and a shotgun... | ||
| ruoso | or just give a lot of headache to sysadmins | ||
| I'm not saying I do know a better solution... | |||
| just trying to make it clear the problem.... | |||
| maybe someone comes up with a good idea to solve that... | 20:04 | ||
| TimToady | anyway, I think a good default is for the compiler to say, "I compiled against version X, so I want to run against version X if at all possible" | ||
| then it's the fault of whoever relaxes that policy :) | |||
| PerlJam | TimToady: and how would they say "...and use a newer version if available"? | ||
| TimToady | if we can give the module developer tools to measure divergence, maybe we can prevent some of the breakage | ||
| ruoso | measuring divergence is something missing in C development, for instance | 20:05 | |
| TimToady | but I think they don't already use the tools they have *cough*TAP*cough* | ||
| maybe only allow people to check in a new version if there's an increase in Kwalitee :) | 20:06 | ||
| ruoso | a lot of people rely on the linux distros to do that job | ||
| and a linux distro will always prefer the newest release... | 20:07 | ||
| (newest stable release, I mean) | |||
| TimToady | "You may not check this new version into the Standard Perl Library without adding at least one more test to your test suite." | ||
| ruoso | maybe we could have a tool that imported into the application test suite the test suites of its dependencies in that version | 20:08 | |
| then the test suite would test if the installed version still passes on that version's test suite | |||
| if it doesn't it probably isn't compatible | |||
| TimToady | we may have to insist that linux distributions don't update the Standard Perl Library per se, but install individual modules that are then inserted (and remember forever) according to Perl Policy | 20:09 | |
| *remembered | |||
| or at least until a GC run says that nothing on this machine uses the old version | 20:10 | ||
| PerlJam | It's the OS theory of perl libraries ... ring 0 == Standard Perl Library, ring 1 == vendor specific stuff, ring 2 == user specific stuff | ||
| (adjust the number as size of rings as appropriate) | 20:11 | ||
| :-) | |||
| TimToady | well, it's certainly the OS theory in the sense that once you install a system call with a particular api, you never remove that call | ||
| you might replace it with an emulation based on another call | |||
| PerlJam | Even DOS dropped support for DOS 1.0 at some point. | 20:12 | |
| ruoso sees the number of debian binary packages in the stratosphere with CPAN6... | |||
| TimToady | well, there's the likelihood of bundling of Perl distributions too | 20:13 | |
| PerlJam | ruoso: no, if the module is CGI (for instance), there's one binary that perhaps installs CGI 1.0 through CGI 4.5 or whatever | ||
| :-) | |||
| ruoso | TimToady, btw... have you ever seen the DistributionFormat proposal I started in the wiki? | ||
| TimToady | nope, that's far too practical for me to think about :) | 20:14 | |
| ruoso | PerlJam, yeah... maybe libcgi4.5-perl replaces libcgi1.0-perl | ||
| www.perlfoundation.org/perl6/index....tionformat | 20:15 | ||
| lambdabot | Title: DistributionFormat / Perl 6 | ||
| PerlJam | maybe libcgi4.5-perl includes libcgi1.0-perl (and then the binaries themselves just grow without bounds ;-) | ||
| ruoso | heh.. | ||
| pugs_svn | r22862 | azawawi++ | [STD_syntax_highlight] less memory usage... now works in < 512M ulimits | ||
| azawawi is generating another round of syntax highlighted htmls in far less memory... rx.t does not OOM | 20:18 | ||
| ruoso | well... as long as we don't choose the Java way (which is to include every library used inside every application distribution), I'm fine | ||
| [particle] | azawawi: is there a time tradeoff? | 20:19 | |
| PerlJam | ruoso: that should be an *option* I think. | ||
| ruoso | I'd rather support "static linking" | ||
| azawawi | [particle]: not much... used references instead of strings copies | ||
| PerlJam | (but certainly not the default :) | ||
| [particle] | ah, yes, references++ | ||
| do you throw them away as you go? | |||
| azawawi | Lesson of the day: Remember your 'references' ;-) | 20:20 | |
|
20:20
mberends_ joined
|
|||
| azawawi | [particle]: nop atm since i need them for --full-html mode | 20:21 | |
| [particle]: i think the main problem is that we were copying a lot of strings around vs arrays of hashed action name references for trees | 20:24 | ||
|
20:27
mberends_ left
|
|||
| azawawi the ETOOMUCHTIME script processed 60 tests so far... which is way too fast than before | 20:28 | ||
|
20:30
_Jedai_ joined
20:31
masak joined
|
|||
| azawawi | hi masak | 20:31 | |
| masak | azawawi: hi | ||
| azawawi | masak: im sorry i wasnt around; but the answer to your question is that did you 'make'? ;-) | 20:32 | |
| masak | azawawi: no, probably not | ||
| masak tries that | |||
| azawawi | masak: i think i should add a STD sanity check in ETOOMUCHTIME | 20:33 | |
| masak | aye. | 20:34 | |
| and a friendly instruction to people who don't know they should run `make` :) | |||
| masak found README | |||
| um. nvm. | |||
| azawawi: ok, so it turns out I don't have something called 'gimme5' | 20:35 | ||
| what do I do? | |||
| azawawi | masak: svn update? | 20:36 | |
| masak svn updates | |||
| but you might have misunderstood me. | |||
| it can't find the executable | |||
| [particle] | src/perl6/ | ||
| azawawi | r u in pugs/src/perl6? | ||
| masak | aah... | ||
| hold on, that's not the problem | 20:37 | ||
| it looks for perl in /usr.local/bin/perl | |||
| s/\./\// | |||
|
20:37
rdice joined
|
|||
| masak | I should make a symlink from there | 20:37 | |
| [particle] | stop waving that sword around | ||
| you need 5.10 btw | 20:38 | ||
| azawawi | 101 files and counting... | ||
| masak | uh oh | ||
| azawawi is going to cron automate it to run everyday on off-peak hours... | 20:39 | ||
| masak | sorry, installing 5.10 is too big a chore for me right now. | ||
| I should be toying with November :) | |||
| [particle] | then you need 6.0 ;? | ||
| ;) | |||
| azawawi | how is November these days? Any new features? ;-) | 20:40 | |
| masak | [particle]: you have no idea how much I need 6.0 ;) | ||
| azawawi: November has been in a phase of constant buildup since YAPC in August | 20:41 | ||
| not many new features, but a more straightened-out and less hackish core | |||
| something to build from | |||
| azawawi | does it have 3D wikis? ;-) | ||
| masak | azawawi: no, is that a feature request? :P | 20:42 | |
| azawawi | lol | ||
| masak | anyway, ask again by the end of this month. I've promised myself to fiddle a little with the project every day, so things are bound to happen. | 20:43 | |
| today, for example, is Skin Monday! | |||
|
20:44
pedrob left
|
|||
| azawawi | anyway we could run parrot code on as3 flash? | 20:44 | |
|
20:45
pedrob joined,
pedrob left,
Lorn left,
pedrob joined
20:48
|Jedai| left
|
|||
| masak | bacek: re "test that's wrong and patch that's right": sorry :/ all I can say is that it looked right here. I was even careful enough to check that the test passed without your patch and failed with it. apparently I screwed up somewhere along the way. | 20:52 | |
| bacek | masak: it passed in rakudo because of bug in rakudo | 20:58 | |
| pugs: say ~(Bool::True|Bool::False) | |||
| masak | bacek: now that's comedy. | ||
| p6eval | pugs: OUTPUT[any(VStr "",VStr "1")] | ||
| bacek | pugs: say (Bool::True|Bool::False) eq 'Bool::True' | 20:59 | |
| p6eval | pugs: OUTPUT[any(VBool False)] | ||
| bacek | pugs: say (Bool::True|Bool::False).perl eq 'Bool::True' | ||
| p6eval | pugs: OUTPUT[] | ||
| bacek | pugs: say (Bool::True|Bool::False).perl | ||
| p6eval | pugs: OUTPUT[(Bool::False | Bool::True)] | ||
| bacek | masak: see? | ||
| masak | bacek: I see, but I'm not sure I understand. | 21:00 | |
| junctions make my brain try to hurt in several ways at once. | |||
| bacek | ("A" eq "A"|"B").perl eq 'Bool::True' | ||
| this is wrong | |||
| masak | I believe you. why? | ||
| bacek | It's not expected behavior | ||
| masak | by me, it is. | 21:01 | |
| sorry for being stubborn. | |||
| bacek | because ("A" eq "A"|"B") is junction (True|False) | ||
| rhr | should be ("A" eq "A"|"B") === Bool::True | ||
| masak | bacek: yes. | ||
| bacek: I see what you mean now. | |||
| rhr | bacek: no, comparison ops collapse junctions | ||
| bacek | (True|False).perl can't be just 'Bool::True' | 21:02 | |
| masak | rhr: I have reason to believe they don't. | ||
|
21:02
rindolf left
|
|||
| rhr | no, testing the .perl is wrong | 21:02 | |
| bacek | pugs: say (Bool::True|Bool::False) === Bool::True | ||
| p6eval | pugs: OUTPUT[any(VBool False,VBool True)] | ||
| bacek | masak: anyway, why you need collapsing? | 21:03 | |
| masak | bacek: originally, because the lack of it made November fail | ||
| bacek | masak: you did something wrong. | ||
| masak | bacek: see the lower part of use.perl.org/~masak/journal/37787 | ||
| lambdabot | Title: Journal of masak (6289) | ||
| masak | bacek: preferably the code linked from there, too | 21:04 | |
| if that code was wrong, I'd very much like to know. | |||
| bacek | perl6: if (Bool::True|Bool::False) { say "foo" } else { say "bar" } | ||
| p6eval | elf 22847, pugs, rakudo 32319: OUTPUT[foo] | ||
| masak | it worked until your patch got in | ||
| bacek | this behavior wasn't changed by my patch | ||
| masak | bacek: but it was. | ||
| bacek | masak: prove it | 21:05 | |
| masak | bacek: have you read the code. | ||
| ? | |||
| bacek | small code will be enough | ||
| masak: whole November? no | |||
| masak | bacek: github.com/viklund/november/tree/43...ate.pm#L40 | ||
| bacek: it was linked from the blog post I just sent. | |||
| bacek: after your patch, it started dying with the error "Unrecognized directive: TMPL_VAR" | 21:06 | ||
| even though the test is for anything _except_ VAR, LOOP and IF | 21:07 | ||
| bacek | perl6: say ('a' ne 'a'&'b') | ||
| p6eval | elf 22847: OUTPUT[1] | ||
| ..rakudo 32319: OUTPUT[0] | |||
| ..pugs: OUTPUT[all(VBool False,VBool True)] | |||
| [particle] | lovely. | 21:08 | |
| masak | :) | ||
|
21:08
spx2 left,
Ehtyar left,
buu left,
zostay left,
buu joined,
spx2 joined,
zostay joined
|
|||
| masak | elf is definitely wrong here. | 21:08 | |
| bacek | rakudo is wrong too | 21:09 | |
| perl6: if (Bool::True&Bool::False) { say "foo" } else { say "bar" } | |||
| p6eval | pugs: OUTPUT[bar] | ||
| ..elf 22847, rakudo 32319: OUTPUT[foo] | |||
| masak | if pugs isn't right here, someone's have to explain it to me | ||
| s/'s/'ll/ | 21:10 | ||
| bacek | pugs right | ||
| TimToady | comparisons do not collapse junctions--only boolean contexts collapse | ||
| masak | rhr: told ya :) | ||
| bacek | perl6: if ('a' ne 'a'&'b') { say "foo" } else { say "bar" } | ||
| p6eval | pugs, rakudo 32319: OUTPUT[bar] | ||
| ..elf 22847: OUTPUT[foo] | |||
| masak | elf-- | 21:11 | |
| bacek: I feel I lost my track here a bit. did I successfully prove to you that your patch broke our app? | |||
| bacek | perl6: say ?(Bool::True&Bool::False) | 21:12 | |
| p6eval | rakudo 32319: OUTPUT[get_string() not implemented in class 'Junction'current instr.: 'print' pc 14833 (src/gen_builtins.pir:9120)] | ||
| ..elf 22847: OUTPUT[1] | |||
| ..pugs: OUTPUT[all(VBool False,VBool True)] | |||
| bacek | masak: $ ../../parrot perl6.pbc -e 'if (Bool::True&Bool::False) { say "foo" } else { say "bar" }' | ||
| foo | |||
| it's on my version. So, answer is "not" | |||
| masak | bacek: is that a yes? :) | ||
| ok. | 21:13 | ||
| bacek | I'll check what the heck is in "if" statement. Because it is bug in "if". | ||
| masak | bacek++ # solving the problem | ||
| bacek | masak: you can add more tests in S03-junction. Something like 'ok (Bool::True|Bool::False)' and 'ok !(Bool::True&Bool::False)' | 21:15 | |
| this will be helpful. | |||
| masak | bacek: will do. | ||
| bacek | TimToady: what is expected value of '?(a&b)'? Junction or bare bool? | 21:16 | |
| TimToady | I suspect you should also check for the pugs problem--the ? should probably just return False, not all(True,False), since it's converting to Bool | 21:17 | |
| hmm, I guess I just answered your question, kinda | 21:18 | ||
| bacek | TimToady: indeed ;) | ||
| TimToady | likewise true() | ||
| and ! | |||
| and not() | |||
| bacek | TimToady: what about ('a'|'b' eq 'b')? | 21:19 | |
|
21:20
ruoso left
|
|||
| TimToady | it's okay for that to return (True|False), I think; however ! and not are tests for True, not tests for False | 21:21 | |
| so not( 'a'|b' eq 'b') will always return False | |||
| bacek | TimToady: ok. Sound reasonable. | 21:22 | |
| TimToady | not is the absence of truth, not the presence of falsehood | ||
| [particle] | what is the sound of one op negating? | 21:23 | |
|
21:23
iblechbot left
|
|||
| TimToady | so if you know that 'a'|b' eq 'b' is in a boolean context, you can short circuit as soon as you've found a true | 21:23 | |
| bacek | masak: I found why "old" junctions works as you expected. Even error | ||
|
21:23
delrico joined
|
|||
| masak | bacek: errors seem to be the theme of the day. | 21:24 | |
| bacek | masak: I'll fix it later today. | ||
| afk # wake up kids for the school | |||
| TimToady | which gives the appearance that 'eq' is resolving it, even though it's really the boolean context | ||
| note that '(...) === Bool::True' is not itself a boolean context | 21:25 | ||
| so you can still test ('a'|'b' eq 'b') === False and get a true result | 21:26 | ||
| on the other hand, true('a'|'b' eq 'b') === False will be false | 21:27 | ||
| masak | I wish that would be enough for people to stop writing '=== True' when they mean ''. sadly, I don't think it will be. | ||
| pasteling | "azawawi" at 212.38.145.15 pasted "ETOOMUCHTIME sample output [it is fast ;-)]" (2298 lines, 77.9K) at sial.org/pbot/33025 | ||
| masak | azawawi++ | ||
| TimToady | maybe if we start carping about "Useless use of === True" :) | 21:28 | |
| masak | TimToady: yes, please do. and threaten to name names. :) | 21:29 | |
| azawawi | TimToady: Finally, rx.t didnt OOM when ulimited ;-) feather.perl6.nl/~azawawi/html2/S05.../rx.t.html | ||
| lambdabot | Title: ../../t/spec/S05-mass/rx.t | ||
| masak | azawawi: do "Failed tests" here mean that those files don't pass STD? | ||
| azawawi | masak: yeah, you can check the error on link... | 21:30 | |
| TimToady | hmm, last I checked everything in t/ passed | ||
|
21:30
mberends_ joined
|
|||
| masak | azawawi: since it's now fast, maybe you should change the script's intro message :) | 21:30 | |
| and perhaps the name. | |||
| azawawi | masak: it is not fast enough ;-) | ||
| masak | azawawi: good attitude. | 21:31 | |
| azawawi | TimToady: some fail like feather.perl6.nl/~azawawi/html2/S02...num.t.html | ||
| lambdabot | Title: Error, tinyurl.com/5kqtro | ||
| azawawi | TimToady: i get that "Malformed UTF-8 character" error on STD.pm on feather1 | 21:33 | |
|
21:33
nacho_ joined
|
|||
| TimToady | you probably need to install $src_text = Encode::decode('utf8', read_file($file) ); | 21:33 | |
| somewhere like I did in STD_syntax_highlight | |||
| azawawi | it is already there... strange | 21:34 | |
| TimToady | are you rereading the file somewhere else? | 21:35 | |
| azawawi | parseFile($file,...) | ||
| TimToady | that already does it too | ||
|
21:36
ab5tract joined
|
|||
| TimToady | in fact, these days Cursor carries both a utf-8 encoded string and an equivalent integer array from unpack("U*"...) | 21:36 | |
| since I'm in the process of switching over to an NFGish model for the lexer | 21:37 | ||
| and I plan to do away with TRE by use of integer tries and such | |||
| pasteling | "azawawi" at 212.38.145.15 pasted "STD_syntax_highlight "Malformed UTF-8 character" with STD.pm" (9 lines, 458B) at sial.org/pbot/33026 | 21:38 | |
| azawawi | TimToady: could u try that command on your laptop? | 21:39 | |
| it croaks after 14secs on feather1 | 21:40 | ||
| TimToady | what does "file STD.pm" say on your machine | ||
| azawawi | STD.pm: UTF-8 Unicode English text | 21:41 | |
| TimToady | that's fine. my command is still running without complaint | 21:43 | |
| azawawi | hmmm, then something here is broken... rm -rf perl6; svn update; nice make... | ||
| TimToady | finished, but the html files are in latin-1, not utf-8 | 21:45 | |
| moritz_ | probably missin a 'bindmode $out, ":utf8"' somewhere | 21:46 | |
| azawawi | moritz_: hi | 21:47 | |
| moritz_ waves vaguely to the channel and to azawawi | |||
| azawawi | TimToady: same thing, after doing all that... | ||
| azawawi wonders why this is happening only to his feather1 acct | 21:48 | ||
| pugs_svn | r22863 | azawawi++ | [STD_syntax_highlight] updated comments | 21:50 | |
| TimToady | /usr/local/bin/perl -v | 21:51 | |
| azawawi | This is perl, v5.10.0 built for i486-linux-gnu-thread-multi | ||
| TimToady | maybe some difference in File::Slurp? | 21:57 | |
| moritz_ | it works for me, also on feather1 | ||
| TimToady | are you running under a strange locale? | 21:59 | |
| azawawi is checking it | 22:00 | ||
| TimToady | the "locale" command should say | 22:01 | |
|
22:01
ryanc joined
|
|||
| pasteling | "azawawi" at 212.38.145.15 pasted "locale output" (15 lines, 263B) at sial.org/pbot/33028 | 22:02 | |
| TimToady | that's probably the problem | ||
| you need a .UTF-8 locale | |||
| moritz_ | why? I mean the normal Unicode stuff isn't locale dependent, is it? | 22:03 | |
|
22:03
iblechbot joined
|
|||
| TimToady | speaking as a cultural imperialist, I'm in en_US.UTF-8 | 22:03 | |
| azawawi | moritz_: what does 'locale' say at your feather1 acct? | ||
|
22:04
rdice left
|
|||
| TimToady | who knows what the C library pays attention to... | 22:04 | |
| moritz_ | azawawi: it's all en_US.UTF-8 | ||
| azawawi | moritz_: interesting | ||
| TimToady | but POSIX locale is notably UTF-8 hostile | ||
| iirc | |||
| azawawi | the question is how did that happen? ;-) | 22:05 | |
| moritz_ | did you ever set the locale? | ||
| azawawi | nop | ||
| moritz_ | the it happened because it's the default ;) | ||
| TimToady | my .bashrc contains: LANG=en_US.UTF-8 | 22:06 | |
| moritz_ | echo 'export LANG=en_US.UTF-8' >> .bashrc | ||
| azawawi | cool then we need a sanity check ;-) | ||
| TimToady | it's not clear that sanity has much to do with unicode... | 22:07 | |
| moritz_ | lol | ||
|
22:07
nacho_ left
|
|||
| azawawi testing it... | 22:07 | ||
| TimToady | 'course, he didn't say which boolean sense | ||
|
22:10
ab5tract left
22:11
TJCRI left
22:14
smg left
22:18
adc_Penner left
|
|||
| pugs_svn | r22864 | azawawi++ | [STD_syntax_highlight] :utf8 output | 22:19 | |
|
22:20
rhesa left
|
|||
| azawawi | perfect... it works, TimToady++, moritz_++ | 22:20 | |
| so should we check for this weird case or not? | 22:21 | ||
| azawawi is running ansi,simple/full htmls for STD.pm... | |||
| TimToady | maybe we should just force a utf8 locale if the current locale isn't, since p6 requires unicode | 22:22 | |
| TimToady now wonders what POSIX.UTF-8 would do... | 22:23 | ||
| probably form a miniature black hole... | 22:24 | ||
| lunch & | |||
| azawawi | im glad this is solved... no more OOMs, less memory footprint, and faster than before [next step a cron job] | 22:26 | |
| azawawi says 'time STD_syntax_highlight STD.pm' => real: 5m24.346s, user: 2m45.162s, sys: 1m21.769s | 22:28 | ||
|
22:30
jauaor left
|
|||
| azawawi | Done... enjoy. feather.perl6.nl/~azawawi/STD.pm/ | 22:31 | |
| lambdabot | Title: Index of /~azawawi/STD.pm | ||
| azawawi | moritz_: any ideas on other output formats? | ||
| moritz_ | azawawi: just an option to omit HTML header + footer (for inline inclusion in other HTML files) | 22:33 | |
|
22:34
avar left
|
|||
| azawawi | moritz_: you mean only no <html><head>s ? | 22:34 | |
| [particle] | ability to specify alternate css file :) | ||
| azawawi | [particle]: you can do that with --clean-html | ||
| [particle] | azawawi++ | 22:35 | |
| moritz_ | azawawi: and no <body> | ||
| azawawi | moritz_: and no css? | 22:36 | |
| moritz_ | azawawi: and no css | ||
| [particle] | that'd be my guess, no css | ||
| that's one step closer to proper integration with smartlinked spec | |||
| moritz_ mostly wants it for the code examples on perlgeek.de and perl-6.de | 22:37 | ||
| azawawi | --moritz-mode ? | 22:38 | |
| ;-) | |||
| [particle] | --html-snippet maybe? | ||
| moritz_ | --no-skeleton ? | ||
| azawawi | --inline-html? | 22:39 | |
| [particle] | i wonder what the output would look like in yaml | ||
| moritz_ | pretty boring, probably ;) | ||
| azawawi | does not make sense to generate a YAML from a syntax highlighter ;-) | 22:40 | |
| [particle] | it does if you want to generate html or pdf or ansi etc | 22:41 | |
| but, only if you want to serialize the intermediate data | |||
| azawawi is working on --no-skeleton switch | 22:43 | ||
| masak | ang, Cmd-Q is far too similar to Cmd-Tab... :/ | ||
| (luckily, just like Jesus, Firefox saves) | 22:44 | ||
| azawawi | oops, it is 12:43AM here... gonna sleep to go work &.. postponing tasks for tomorrow... | ||
| azawawi sleep.. cya & | 22:45 | ||
|
22:46
azawawi left
|
|||
| [particle] | syntax: [ !scope_declarator 'my', !ws ' ', !sigil '$', !variable 'foo', ... ] | 22:47 | |
| hrmm, methinks the green should be tied to 'ident' and not 'variable' in the css | 22:49 | ||
| param_vars don't show up properly otherwise | |||
|
22:59
avar joined
|
|||
| masak | perl6: my $a = 7.8; $a .= int; say $a | 23:00 | |
| p6eval | pugs, rakudo 32323: OUTPUT[7] | ||
| ..elf 22847: OUTPUT[Use of uninitialized value $_ in int at (eval 119) line 4.Undefined subroutine &GLOBAL::infix__46_61 called at (eval 119) line 4. at ./elf_f line 3861] | |||
| masak | approximately how long has rakudo had dotty methods? | ||
| moritz_ | all methods are dotty, aren't they? ;) | ||
| masak | moritz_: no, not really :) | 23:01 | |
| moritz_ | or do you mean mutators? | ||
| or with $_ as default? | |||
| masak | I mean the '.= method' syntax | ||
| ...and its corresponding semantics | |||
| moritz_ | quite long I think, because that was needed for the protoobject based OO model | 23:02 | |
| which jonathan implemented shortly be fore teh German Perl Workshop, so probably March. | |||
| masak | wonder what I meant by "We miss long dots, heredocs, and dot-assignment a bit." in my blog post about Rakudo stuff in August then. | 23:03 | |
|
23:03
Limbic_Region joined
|
|||
| moritz_ | long dots are $obj\ .method, right? | 23:04 | |
| masak | yes. we have them too, nowadays. | ||
| perl6: say $_\ .perl | |||
| p6eval | rakudo 32323: OUTPUT[undef] | ||
| ..pugs: OUTPUT[\undef] | |||
| ..elf 22847: OUTPUT[Parse error in: /tmp/OZqmmxEFs6panic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: say $_\ .perlWHERE:/\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:76:in `scan_unitstopper' STD_red/std.rb:224:in `comp_unit' | |||
| ..STD_red/std.rb:210... | |||
| moritz_ | masak: but for example the parsing for .[] subscripts is pretty new | ||
|
23:06
spx2_ joined
|
|||
| [particle] | well, if you're coming from perl 5 and implementing perl 6, it's not natural that @a[] is sugar for @a.[] | 23:06 | |
| so, .[] et al were likely just missed | |||
| masak: can you use =<> in rakudo now? | 23:07 | ||
| masak | [particle]: hold on. | ||
| moritz_ | if you implement Perl 6, you'd better know that @a[] is really a method call ;) | ||
| masak | [particle]: no. | ||
| [particle]: I mean, it parses. but it doesn't work. | 23:08 | ||
| [particle] | rats. | ||
| masak | there's a ticket about it somewhere. | ||
| [particle]: aye. | |||
| [particle] | ah, ok | ||
| well, allison's been working on the io branch, i should check it out | |||
| i have -n cmdline implemented, but it doesn't work due to =<> not working | |||
|
23:09
spx2 left
|
|||
| [particle] | so i'll just hold that patch in reserve | 23:09 | |
| and i won't bother with -p for now | |||
| masak | [particle]: ah, [perl #58524] | ||
|
23:16
elmex left
23:19
avar left
|
|||
| masak | [particle]: I look forward to -n and -p. will this still work with your patch? perl -ne '} print "$.\n"; {' | 23:24 | |
| (disregarding the fact that $. might be renamed in Perl 6. I mean the principle itself) | 23:25 | ||
| (and no, I don't know whether I really want a yes or a no as an answer to that question) | 23:26 | ||
|
23:28
alester left
23:35
bacek_ joined
23:39
avar joined
23:43
pedrob left
23:44
pedrob joined,
smg joined,
wknight8111 joined
23:46
pedrob left,
riffraff left
23:48
hercynium left
23:52
iblechbot left
23:56
pbuetow left
|
|||