»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:00
kst joined
00:02
Chillance left
00:03
Chillance joined
00:06
atrodo left
|
|||
thou | r: role Foo { method f () returns Int { !!! } }; class MyFoo does Foo { method f () { return 'howdy!' } }; my $foo = MyFoo.new; $foo.f.say; | 00:27 | |
p6eval | rakudo 341529: OUTPUT«howdy!» | ||
thou | is it possible to get an error when defining the MyFoo class this way, since method f() doesn't return an Int? | ||
00:28
M_o_C joined
|
|||
thou | r: role Foo { method f () returns Int { !!! } }; class MyFoo does Foo { method f () returns Int { return 'howdy!' } }; my $foo = MyFoo.new; $foo.f.say; | 00:28 | |
p6eval | rakudo 341529: OUTPUT«Type check failed for return value; expected 'Int' but got 'Str' in method f at /tmp/CimBTKO6rY:1 in block at /tmp/CimBTKO6rY:1» | ||
sorear | japhb: I'm pretty skeptical of that part of the spec, because comparing signatures for equality is Hard | ||
japhb: in particular, because many parts of signatures are actually Perl 6 expressions and testing equality of expressions puts us very close to undecidability | 00:29 | ||
00:34
benabik joined
|
|||
japhb | sorear, which part of what I said are you skeptical of? I'm curious where my thinking was broken. | 00:35 | |
sorear | , it's trivial with the method (just write a new multi method with the same signature and allow normal method overriding to work), but | ||
it's not *your* thinking I'm complaining about, it's @Larry | 00:36 | ||
japhb | Ah. | ||
sorear | although this might have been resolved and I just forgot | ||
japhb | I did gloss over the invocant part of the multi method signature, and of course where constraints .... | 00:38 | |
sorear | the types also have expression-nature | ||
multi sub foo(1) { ... } | |||
japhb | But really, the dispatcher "just" has to find a set of matching candidates and find the "better" one. You can DWIM with several tie-breaking rules before you decide it's undecidable and throw your hands up. | 00:39 | |
Which is to say I think this falls under "the general case is undecidable, but most cases aren't that general" | 00:40 | ||
(Even if you cover only a finite piece of an infinite problem space, if that finite piece happens to be where most programmers spend their time, you win. :-) | 00:41 | ||
00:42
tokuhiro_ joined
|
|||
japhb is strongly reminded of Nasrudin tales he read as a child ... | 00:45 | ||
00:50
dayangkun joined
00:53
M_o_C_ joined
00:54
benabik left
00:56
M_o_C left
01:01
replore_ joined,
M_o_C joined
01:02
M_o_C_ left
01:03
benabik joined
01:04
M_o_C left
01:07
whiteknight left
01:09
FROGGS_ joined,
scott_ joined
01:10
scott_ is now known as Guest47954
01:11
FROGGS__ left
01:12
hypolin joined
01:13
FROGGS__ joined,
FROGGS left
01:19
xinming_ joined
01:23
xinming left
01:25
benabik left
01:30
benabik joined
01:38
tokuhiro_ left
01:59
raiph joined
|
|||
japhb | tadzik, ping | 02:04 | |
02:19
replore_ left
02:20
xinming joined
02:21
replore joined
02:24
xinming_ left
02:26
bluescreen10 joined
|
|||
thou | r: my %pow2 = (1, 2, 4 ... 2**1024).pairs; %pow2<160>.say; | 03:06 | |
p6eval | rakudo 341529: OUTPUT«1461501637330902918203684832716283019655932542976» | ||
03:09
drbean left
03:15
drbean joined
03:21
xinming left
|
|||
raiph | moritz, masak, pmichaud, anyone. i'm feeling lazy in a perlish way. does gist.github.com/3662771 make sense to you? as a simple perl 6 script? | 03:28 | |
phenny: tell moritz irclog.perlgeek.de/perl6/2012-09-07#i_5968908 | 03:29 | ||
phenny | raiph: I'll pass that on when moritz is around. | ||
TimToady | r: my @pow2 = 1,2,4 ... *; say @pow2[160] | 03:34 | |
p6eval | rakudo 341529: OUTPUT«1461501637330902918203684832716283019655932542976» | ||
03:35
xinming joined
|
|||
sorear | raiph: the idea is reasonable but I have an (irrational?) dislike of systems that automatically make commits | 03:39 | |
raiph | sorear: hi. it's not automatic in a couple ways. maybe these make a difference for you. (more) | 03:41 | |
1. clicking pulls up a web form. one has to submit that web form. | 03:42 | ||
2. got to be logged in to github | 03:43 | ||
sorear | xsrf? | ||
raiph | sorear: right. i could well imagine i'm being too simplistic. | 03:47 | |
to avoid the x/y thing. i'm finding i'm repeatedly doing roughly the same sequence. | 03:49 | ||
involves the simple cut/paste and twiddling implicit in my gist | 03:50 | ||
sorear | do whatever is easiest for you | 03:58 | |
04:04
adu joined,
skids left
04:23
xinming left
04:25
xinming joined
04:26
Chillance left
|
|||
moritz | \o | 04:40 | |
phenny | moritz: 03:29Z <raiph> tell moritz irclog.perlgeek.de/perl6/2012-09-07#i_5968908 | ||
moritz | sorear: re why the german parliament asked me, there's a perl programmer in one of the working groups, and i happen to to know him a bit. He asked around on IRC for anybody willing to speak in front of the working group, and I volunteered. That's it. | 04:41 | |
(and I'm not the only one being asked, so it's about 10 out of 8e7) | 04:46 | ||
phenny: tell raiph you might be interested in github.com/moritz/ilbot/tree/summary | 04:48 | ||
phenny | moritz: I'll pass that on when raiph is around. | ||
sorear | ah. | 04:55 | |
raiph | moritz: perfect. fwiw now i'm thinking 1) annotate log and 2) parse/render an annotated log. | ||
phenny | raiph: 04:48Z <moritz> tell raiph you might be interested in github.com/moritz/ilbot/tree/summary | ||
05:01
bluescreen10 left
05:03
Celelibi left
05:05
replore left
05:12
kaleem joined
05:19
xinming_ joined
05:23
cognominal_ left,
xinming left
05:26
raiph left
05:35
dayangkun left
05:36
kaleem left
05:38
GlitchMr joined
05:39
popl left
|
|||
GlitchMr | feather.perl6.nl/~glitchmr/ | 05:47 | |
phenny | GlitchMr: 06 Sep 20:24Z <japhb> ask GlitchMr Was there ever a fix for the "Method 'seek' not implemented for type Socket in method send" bug that Net::IRC::Bot triggers? Or did you find a workaround for it? | ||
GlitchMr | I've feeling I shouldn't have fun with "touch" in UNIX | ||
Workaround? Yes. Use 2012.08 instead. | 05:48 | ||
05:48
dayangkun joined
05:55
erkan joined,
erkan left,
erkan joined
06:00
wtw joined
06:01
replore joined
06:02
lizmat left
06:04
lizmat joined
|
|||
tadzik | japhb: pong | 06:08 | |
06:10
dayangkun_ joined
06:13
dayangkun left
06:15
dayangkun_ is now known as dayangkun
|
|||
japhb | GlitchMr, you mean use 2012.08 instead of HEAD? | 06:18 | |
GlitchMr | Yes | 06:19 | |
Also, duckduckgo.com/?q=Str.chop | |||
japhb | tadzik, I was wondering if you had any documentation about what the structure of different Pod objects is expected to be. For example, why is a Pod::Block's content a twine? What exactly is the intent of a twine? | 06:20 | |
GlitchMr, I fixed that by using $line .= chomp; | 06:21 | ||
(If I'm thinking of the same parsing bug you are.) | |||
tadzik | japhb: Twine is Text Mixed With Objects | 06:22 | |
06:22
FROGGS_ left
|
|||
tadzik | the purpose of using this is for mixing Formatting Codes with plain text | 06:22 | |
06:22
FROGGS__ left
|
|||
tadzik | bbs, commute & | 06:22 | |
japhb | k | 06:23 | |
06:25
stepnem joined
|
|||
GlitchMr | Anyways, the module is now live, so I guess I can push my blog to server | 06:25 | |
06:27
replore left
|
|||
GlitchMr | glitchmr.github.com/ | 06:27 | |
Also, glitchmr.github.com/index.xml | 06:28 | ||
06:35
hoelzro|away is now known as hoelzro
|
|||
GlitchMr | oh wait | 06:36 | |
localhost:4000/ | |||
lolno | |||
I guess I've done something wrongly | |||
sorear | umyeah that link won't work for any of us | 06:37 | |
GlitchMr | I will fix it, ok? | ||
<link type="text/html" href="glitchmr.github.com/searching-in-p6...html"/> | 06:40 | ||
Good :) | |||
06:41
Edument joined
06:45
dayangkun left
06:47
dayangkun joined
07:03
FROGGS__ joined
07:04
FROGGS joined
|
|||
tadzik | japhb: back online | 07:06 | |
07:06
brrt joined
|
|||
thou | masak: ode-to-camelia.tumblr.com/post/3104...-in-perl-6 | 07:14 | |
tadzik | I just now noticed that it's "interactive fiction", not "iterative fiction". Suddenly it makes more sense | 07:24 | |
I thought it's something to generate prose | |||
07:25
Edument left
|
|||
FROGGS | gmorning | 07:25 | |
tadzik | hello | 07:26 | |
07:26
cognominal joined
07:28
hoelzro is now known as hoelzro|away
07:39
dayangkun left
07:41
thou left
07:45
dayangkun joined
|
|||
GlitchMr | Also, perlcabal.org/~glitchmr/ | 07:45 | |
sorear | o/ FROGGS | ||
GlitchMr | Fake directory because why not? | ||
huf | you mean a redirect? how novel... :) | 07:49 | |
hint: those are not directories. webservers fake it for you. | 07:50 | ||
GlitchMr | Well, technically directory exists | 07:53 | |
It's empty | |||
07:59
kresike joined
|
|||
kresike | good morning all you happy perl6 people | 07:59 | |
08:00
cognominal left
|
|||
GlitchMr | What is "use MONKEY_TYPING"? | 08:02 | |
moritz | it's what you do to indicate you'll be augmenting classes, or doing other nasty stuff with global side effects | 08:03 | |
GlitchMr | Why it has so ugly name? | 08:05 | |
moritz | because augmenting a class is ugly | ||
Woodi | hi today | ||
moritz | \o Woodi | 08:06 | |
Woodi | can M_T be disabled somehow ? eg. if I want some classes be not augmentable ? | 08:07 | |
moritz | 'use final;' is specced, but not yet implemented | 08:08 | |
sorear does not like 'use final' | 08:09 | ||
well, I think you mean 'use closed' | |||
but I don't like that either. | |||
huf | hmm, which animal is most likely to do everything properly? | 08:10 | |
sorear | at some point 'use closed; use final;' is going to be something that everyone puts into their main programs to get good performance | ||
GlitchMr | In JavaScript, you can use Object.seal() | ||
sorear | one of the Apocalypses made the point about things like EXTEND; | ||
GlitchMr | Or perhaps it was Object.freeze() | 08:11 | |
Or perhaps Object.preventExtensions() | |||
sorear | seal, freeze, and preventExtensions all do different things | ||
08:12
fhelmberger joined
|
|||
sorear | whoever wrote S12 was pretty adamant that Perl 6 will not have any explict way to mark a specific class a non-augmentable | 08:12 | |
GlitchMr | Those ES5 object methods in JavaScript are confusing | ||
sorear | which... well, Perl 6 may not have such a way, but Niecza is likely to :| | ||
here's an unportable extension which allows you to get acceptable runtime performance *without* whole-program compilation | 08:13 | ||
GlitchMr | Also, according to GitHub, S12 had 11 contributors | 08:14 | |
sorear | the specific part of S12 I'm complaining about comes from a commit in Nov 2008 where the synopses were imported... into subversion | 08:16 | |
I have no idea where they were hosted before that | |||
08:21
Patterner left
08:23
adu left
08:24
wtw left
08:25
wtw joined,
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
sorear | we can discuss my dislike of languages designed for whole-program optimization later. | 08:27 | |
sleep& | |||
Woodi | thanx for answers ppl :) at least I was not wanting/dreaming about something esoteric :) however no detailed use case yet... | 08:29 | |
08:30
simcop2387 left
08:33
simcop2387 joined
08:34
lizmat left
08:35
hlin_ joined
|
|||
Woodi | about my pure-perl redis module: s/bytes/chars/g and all tests passes. will update github soon. | 08:54 | |
is there something telling how many bytes Str have ? | 08:55 | ||
tadzik | r: "łąka".encode.bytes.say | ||
p6eval | rakudo 341529: OUTPUT«6» | ||
tadzik | ...6? | ||
oh, ok, 6 | |||
so: .chars for Str, .bytes for Buf | 08:56 | ||
Woodi | dzięki tadziku :) | ||
tadzik | nie ma za co :) | ||
Woodi | hmm, I think s/bytes/encode.bytes/ would do be better patch... | 08:58 | |
tadzik | I think so | ||
Woodi | and quite automagic :) | 08:59 | |
09:00
GlitchMr left
|
|||
Woodi drożdżówka | 09:00 | ||
09:00
GlitchMr joined
09:01
GlitchMr left
09:05
hlin_ left
09:10
hlin_ joined
09:17
hlin_ left
09:19
hlin_ joined
09:26
simcop2387 left
09:28
simcop2387 joined
09:34
Guest47954 left
09:35
dayangkun left
|
|||
Woodi | ..or maybe not so auto... | 09:35 | |
09:36
marmay joined
09:49
scott_ joined,
scott_ is now known as Guest45623
09:54
daxim joined
10:00
dayangkun joined
10:08
nwc10 left,
Guest45623 left
10:10
hypolin left
10:11
hlin_ left
|
|||
Juerd | moritz: You're running an apt-get upgrade on feather; could you please complete it so that I can use apt-get again? :) | 10:16 | |
sergot | hi o/ ! | 10:22 | |
10:22
snearch joined
|
|||
FROGGS | hi | 10:23 | |
tadzik | \o | ||
FROGGS | o\ | ||
tadzik | looks like you're shielding yourself from a snowball :) | ||
o\ *\o | 10:24 | ||
FROGGS | \o Sir, yes Sir! | ||
o\ | |||
o/ \o | |||
en garde! | |||
tadzik | o/ -o | ||
FROGGS | o-- \o | ||
tadzik | o-- ...\o/ | 10:25 | |
FROGGS | o~-o _ | ||
got ya! | |||
tadzik | o-- *\o | ||
oX \o | |||
haha, hit ya this time | |||
10:26
replore joined
|
|||
FROGGS | o--⊖.. | 10:27 | |
\o/ o. | 10:28 | ||
tadzik | quantum story | ||
FROGGS | ohh, would could play chess here: ♕♖♗ | 10:29 | |
tadzik | haha | ||
FROGGS | do you see it too? | ||
tadzik | yes | ||
FROGGS | now we need a perl6 chess bot ;o) | ||
tadzik | I could write one | ||
I did it for the Java assignment last sememster and no one beat it yet :) | 10:30 | ||
FROGGS | cool! | ||
tadzik | but that was Torus Chess | ||
FROGGS | whats that? | ||
tadzik | so the bot was the only "person" to wrap its head about wtf is going on | ||
long story short, it's the chess with noclip | |||
so you can go through walls | |||
the repo may be on bitbucket somewhere even, if you want to try it | |||
FROGGS | well, I'm not that good at chess | 10:31 | |
and not a Java pro even | |||
tadzik | neither am I | ||
but alpha-beta is not too hard to implement ;) | 10:32 | ||
FROGGS | if you wanna make a real chess game, that I would like to do it | ||
tadzik | that's gonna be slooow :) | 10:33 | |
FROGGS | not, should be fast enough | ||
no | |||
tadzik | it was funny how adding threading wasn't really effective, because a linear speed growth is just not enough to be worth the effort | ||
the complexity of looking up to nth move was something between O(shit) and O(mygod) | 10:34 | ||
FROGGS | well, it could be a 1 on 1 game, without AI | 10:35 | |
tadzik | yes | ||
moritz | Juerd: ok, I'm unblocking the upgrade now | 10:36 | |
sorry | |||
10:36
snearch left
|
|||
Juerd | moritz: Thanks :) | 10:36 | |
moritz | it's just a few hundred packages to update, so shouldn't take too long :-) | 10:37 | |
10:43
dayangkun left
10:46
crab2313 joined
10:58
fgomez joined
11:00
replore left
11:01
brrt left
11:17
Circlepuller_ joined
|
|||
moritz | Juerd: apt terminated now | 11:19 | |
11:19
marmay left
11:20
Circlepuller left
11:25
crab2313 left
11:33
tokuhiro_ joined
11:50
fgomez left
|
|||
sirrobert | hey | 11:50 | |
11:54
claes_ joined
|
|||
moritz | oh hai | 11:54 | |
11:54
claes_ left
12:07
GlitchMr joined
12:10
am0c joined
12:14
jaldhar left
12:17
fgomez joined
|
|||
sirrobert | huh | 12:37 | |
class A { method foo { say "foo" } }; A.new.new.new.foo; | |||
r: class A { method foo { say "foo" } }; A.new.new.new.foo; | |||
p6eval | rakudo 341529: OUTPUT«foo» | ||
sirrobert glances at JavaScript's prototypal inheritance... | 12:38 | ||
GlitchMr | Isn't .new in object instances a feature? | 12:39 | |
sirrobert | presumably =) | ||
I haven't seen that pattern before except in JavaScript | |||
GlitchMr | $ version->new(5.2.1)->new(2.5.3) | 12:40 | |
v2.5.3 | |||
This would be Perl 5 | |||
sirrobert | I wasn't quite counting P5 in this case because of it's object composition nature | 12:41 | |
at first glance I thought it might be a prototypal inheritance pattern | 12:42 | ||
but apparently it isn't | |||
r: class A { has $.n is rw = 5; }; my $a = A.new; my $b = $a.new; my $c = $b.new; $b.n = 3; say $a.n; say $b.n; say $c.n; | 12:43 | ||
p6eval | rakudo 341529: OUTPUT«535» | ||
[Coke] blearghs over his coffee. | 12:49 | ||
[Coke] wonders how common a name moritz is: imgur.com/a/09YRD | 12:51 | ||
moritz | [Coke]: neither too common nor too rare in .de | 12:53 | |
there's a famous piece of (IMHO horrible) children's literature "Max und Moritz" which means everybody has heard the name | |||
12:54
xinming_ left
|
|||
tadzik | that rings a bell | 12:55 | |
12:56
xinming joined
12:59
mattp_ left
13:03
mule joined,
mule left
|
|||
[Coke] opens a few nqp issue so they don't get lost in backscroll. | 13:04 | ||
moritz | [Coke]++ | 13:05 | |
13:05
hoelzro|away is now known as hoelzro
|
|||
[Coke] | I may myself have already forgotten one. hurm. | 13:06 | |
sirrobert | r: say "foo-bar" ~~ /\w+/ | 13:13 | |
p6eval | rakudo 341529: OUTPUT«「foo」» | ||
sirrobert | What should I replace \w with to match the whole "foo-bar"? | ||
is there an existing class that matches something like: alphas, nums, hyphens? | |||
r: say "foo-bar" ~~ /['-' \w]+/ | 13:14 | ||
moritz | r: say 'foo-bar' ~~ /<identifier>/ | ||
p6eval | rakudo 341529: OUTPUT«「-b」» | ||
rakudo 341529: OUTPUT«No such method 'identifier' for invocant of type 'Cursor' in regex at /tmp/ru_7mLIoib:1 in method ACCEPTS at src/gen/CORE.setting:10040 in block at /tmp/ru_7mLIoib:1» | |||
moritz | r: say 'foo-bar' ~~ /<ident>/ | ||
p6eval | rakudo 341529: OUTPUT«「foo」 ident => 「foo」» | ||
moritz | meh | ||
sirrobert: I don't think there's a built-in rule | |||
sirrobert | no problem | ||
r: say "foo-bar" ~~ /['-' \w]+/ | |||
p6eval | rakudo 341529: OUTPUT«「-b」» | ||
sirrobert | does [] not delimit char classes anymore? | ||
GlitchMr | No | ||
sirrobert | I should know this... heh | ||
GlitchMr | For that use <[]> | ||
[] works like (?:) from Perl 5 | 13:15 | ||
sirrobert | ohh | ||
r: say "foo-bar" ~~ /[<'-' \w>]+/ | |||
p6eval | rakudo 341529: OUTPUT«===SORRY!===Unrecognized regex metacharacter < (must be quoted to match literally) at line 2, near "'-' \\w>]+/"» | ||
GlitchMr | <[, not [< | ||
sirrobert | r: say "foo-bar" ~~ /<['-' \w]>+/ | ||
p6eval | rakudo 341529: OUTPUT«===SORRY!===Unsupported use of - as character range; in Perl 6 please use .. for range, for explicit - in character class, escape it or place as last thing at line 2, near "' \\w]>+/"» | ||
moritz | r: say 'foo-bar' ~~ / <[\w\-]>+/ | ||
p6eval | rakudo 341529: OUTPUT«「foo-bar」» | ||
sirrobert | heh | 13:16 | |
trying to learn to do stuff without escapes, but it's hard to remember the particulars =) | |||
moritz | well, in character classes -[]\ and .. have special meanings | ||
GlitchMr | Character classes aren't really Unicode friendly. | 13:17 | |
sirrobert | ok, thanks-- that helps a lot | ||
GlitchMr | r: say 'foo-bar' ~~ /<alpha>+/ | ||
p6eval | rakudo 341529: OUTPUT«「foo」 alpha => 「f」 alpha => 「o」 alpha => 「o」» | ||
GlitchMr | r: ('foo-bar' ~~ /<alpha>+/)<alpha>.perl.say | 13:18 | |
p6eval | rakudo 341529: OUTPUT«(Match.new(orig => "foo-bar", from => 0, to => 1, ast => Any, list => ().list, hash => EnumMap.new()), Match.new(orig => "foo-bar", from => 1, to => 2, ast => Any, list => ().list, hash => EnumMap.new()), Match.new(orig => "foo-bar", from => 2, to => 3, ast => Any,… | ||
GlitchMr | r: ('foo-bar' ~~ /<alpha>+/)<alpha>.say | ||
p6eval | rakudo 341529: OUTPUT«「f」 「o」 「o」» | ||
GlitchMr | r: ('foo-bar' ~~ /<alpha>+/)<alpha>.say | 13:19 | |
p6eval | rakudo 341529: OUTPUT«「f」 「o」 「o」» | ||
GlitchMr | oops | ||
I accidentally used UP arrow | |||
r: ('foo-bar' ~~ /<alpha+[-]>+/)<alpha>.say | |||
p6eval | rakudo 341529: OUTPUT«===SORRY!===regex assertion not terminated by angle bracket at line 2, near "+[-]>+/)<a"» | ||
GlitchMr | r: ('foo-bar' ~~ /<[-]+alpha>+/)<alpha>.say | ||
p6eval | rakudo 341529: OUTPUT«Any()» | ||
GlitchMr | r: ('foo-bar' ~~ /<[-]+alpha>+/).say | ||
p6eval | rakudo 341529: OUTPUT«「foo-bar」» | ||
Ulti | r: ('blargh[0]' ~~ /<[^]]>+/).say | 13:22 | |
p6eval | rakudo 341529: OUTPUT«===SORRY!===regex assertion not terminated by angle bracket at line 2, near "]>+/).say"» | ||
Ulti | r: ('blargh[0]' ~~ /<[^\]]>+/).say | ||
p6eval | rakudo 341529: OUTPUT«「]」» | ||
FROGGS | damn it, hacking in perl5 feels so unnatural now^^ | ||
Ulti | :/ | ||
r: ('blargh[0]' !~ /<[]]>+/).say | 13:23 | ||
sirrobert | heh nod | ||
p6eval | rakudo 341529: OUTPUT«===SORRY!===Unsupported use of !~ to do negated pattern matching; in Perl 6 please use !~~at /tmp/0zE6z4ijFE:1» | ||
Ulti | r: ('blargh[0]' !~~ /<[]]>+/).say | ||
p6eval | rakudo 341529: OUTPUT«===SORRY!===regex assertion not terminated by angle bracket at line 2, near "]>+/).say"» | ||
GlitchMr | ^ is now - | ||
If I remember correctly | |||
moritz | r: ('blargh[0]' !~ /<-[\]]>+/).say | ||
Ulti | ok :/ | ||
p6eval | rakudo 341529: OUTPUT«===SORRY!===Unsupported use of !~ to do negated pattern matching; in Perl 6 please use !~~at /tmp/p9KI4fXklQ:1» | ||
FROGGS | whats the goal? | ||
moritz | r: ('blargh[0]' =~ /<-[\]]>+/).say | ||
p6eval | rakudo 341529: OUTPUT«===SORRY!===Unsupported use of =~ to do pattern matching; in Perl 6 please use ~~at /tmp/Hhuj2Cv0EZ:1» | ||
Ulti | r: ('blargh[0]' !~~ /<[-]]>+/).say | ||
p6eval | rakudo 341529: OUTPUT«===SORRY!===regex assertion not terminated by angle bracket at line 2, near "]>+/).say"» | ||
moritz | r: ('blargh[0]' ~~ /<-[\]]>+/).say | ||
p6eval | rakudo 341529: OUTPUT«「blargh[0」» | ||
Ulti | why has regex changed so much? | ||
GlitchMr | Ulti: Because old syntax was ugly | 13:24 | |
moritz | lots of stuff to remember | ||
GlitchMr | And everything was so similar with (? syntax | ||
Ulti | but also ubiquitous and well understood | ||
moritz | so is perl 5 :-) | ||
sirrobert | Ulti: I think to make "regular" expressions into regular expressions. | ||
Ulti | character classes aren't even a perl thing thats in posix | ||
huf | Ulti: not really well understood | ||
every dialect is already weirdly and subtly different and people often dont understand what they're doing | 13:25 | ||
GlitchMr | What is difference between (?<=) and (?>) | ||
Regexpes in Perl 5 are rather... cryptic | |||
huf | much like every other dialect ;) | ||
Ulti | yeah but you've made what is standard in any regex implementation cryptic now | 13:26 | |
GlitchMr | Also, (?: ) was used often | ||
But it's also long | |||
So it was moved to [ ] | |||
moritz | I'm sure that if you start from zero, it's easier to learn perl 6 regexes than perl 5 regexes | ||
GlitchMr | (? was hack | 13:27 | |
Juerd | GlitchMr: (?>x) is a bit like [x]: and (?<=x) is like <after x> | ||
GlitchMr | Juerd: I know | ||
But when you see those first time, you could get feeling they are similar | |||
They aren't | |||
Ulti | r: ('blargh[0]' !~~ /<-[]]>+/).say | 13:28 | |
p6eval | rakudo 341529: OUTPUT«===SORRY!===regex assertion not terminated by angle bracket at line 2, near "]>+/).say"» | ||
Ulti | the minus comes before the [] | ||
GlitchMr | Actually, I have feeling it would be better if Perl 5 would use { instead (? | ||
But well, backwards compatibility | |||
{ was automatically escaped when it wasn't proper repetition operator | |||
instead of* | |||
Ulti | r: ('blargh[0]' ~~ /<-[]]>+/).say | 13:29 | |
p6eval | rakudo 341529: OUTPUT«===SORRY!===regex assertion not terminated by angle bracket at line 2, near "]>+/).say"» | ||
GlitchMr | But still, {:20} looks uglier than [20] in Perl 6 | ||
Ulti | r: ('blargh[0]' ~~ /<-[\]]>+/).say | ||
p6eval | rakudo 341529: OUTPUT«「blargh[0」» | ||
GlitchMr | But... (?:20) is more ugly than {:20} | ||
I don't know... | |||
Ulti | also why - and not ! does that have some other purpose? | 13:30 | |
GlitchMr | ! is assertion if I remember correctly | ||
<? and <! are assertions | 13:31 | ||
PerlJam | Ulti: character classes are more list sets and - is more like "set subtraction" | 13:32 | |
s/list/like/ | |||
arnsholt | Also, you can do things like <[a-z]-[aeiou]> | ||
moritz | Ulti: have you read S05? | ||
Ulti | ahhh ok | ||
that makes more sense | |||
moritz | arnsholt: <[a..z]-[aeiou]> | ||
arnsholt: common thinko :-) | |||
sirrobert | There's an error: Unable to parse blockoid, couldn't find final '}' at line 75, near "my @args =" | 13:33 | |
PerlJam | luckily perl 6 will tell you about it if you did that in code | ||
GlitchMr | Possibly you forgot semicolon? | ||
sirrobert | most of the time I encounter it is a missed semi-colon on the previous line. | ||
perhaps something like, "Are you missing a semicolon on the previous line?" | |||
just an idea =) | |||
GlitchMr | Well, Rakudo doesn't yet implement most helpful warnings | ||
moritz | sirrobert: STD has that error message, rakudo not yet :( | 13:34 | |
sirrobert | no rush =) | ||
Juerd | use warnings <helpful>; | ||
moritz | std: 12 | ||
p6eval | std b87ea13: OUTPUT«===SORRY!===Two terms in a row (previous line missing its semicolon?) at /tmp/OIxqx1OMvt line 2:------> <BOL>⏏2 expecting any of: POST infix or meta-infix infixed function postcircumfix postfix | ||
..postfix_prefix_meta_oper… | |||
GlitchMr | n: 12 | ||
p6eval | niecza v21-1-ga8aa70b: OUTPUT«===SORRY!===Two terms in a row (previous line missing its semicolon?) at /tmp/Qs51_aDsGO line 2:------> <BOL>⏏2Parse failed» | ||
GlitchMr | r: 12 | ||
p6eval | rakudo 341529: OUTPUT«===SORRY!===Confusedat /tmp/ryuF4wbzGr:1» | ||
GlitchMr | Niecza is better at error messages | ||
Currently | |||
arnsholt | moritz: Gah! Haven't been doing enough grammar stuff, apparently =) | ||
GlitchMr | (usually Niecza warnings are more helpful than what Rakudo says) | 13:35 | |
Ulti | I dunno Rakudo is confused cut it some slack | ||
Juerd | I *love* "My error message is better than yours"-arguments because they tend to really improve the user experience in the end :) | ||
But... if you think program $foo has bad error message, PHP will always be worse unless $foo eq PHP ;P | 13:36 | ||
Ulti | why not just make the error messages part of the spec | ||
Juerd | (Google for paamayim nekudotayim) | ||
GlitchMr | github.com/perl6/std/blob/master/STD.pm6#L6158 | ||
paamayim nekudotayim? | |||
I know worse stuff | |||
13:37
mucker joined
|
|||
Ulti | I dunno $foo eq C at runtime is p. bad | 13:37 | |
GlitchMr | glitchmr@strawberry ~> php -r'function blah(string $lol) {} blah("lol");' | ||
PHP Catchable fatal error: Argument 1 passed to blah() must be an instance of string, string given, called in Command line code on line 1 and defined in Command line code on line 1 | |||
paamayim nekudotayim isn't that bad with this | |||
Juerd | GlitchMr: Now try something with :: in it. "Unexpected T_PAAMAYIM_NEKUDOTAYIM" is one of my favorite examples of bad error messages. | ||
It's only slightly better than "Unknown error" | |||
GlitchMr | I know | ||
Try... | |||
empty(future); | 13:38 | ||
Ulti | Seg fault. | ||
GlitchMr | glitchmr@strawberry ~> php -r'empty(future);' | ||
PHP Parse error: syntax error, unexpected ')', expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in Command line code on line 1 | |||
Juerd | At least it says what it was expecting :) | ||
GlitchMr | It's PHP 5.4 | ||
They have added how token looks to errors | 13:39 | ||
Juerd | Finally! | ||
Ulti | I wonder if there are any languages who's error messages can be forced into valid lines of code in that language | ||
Juerd | Ulti: Javascript comes close with its automatic semicolon injection to repair broken code :P | ||
(Some go as far as having "no semicolons anywhere" in their code style guide...) | 13:40 | ||
sirrobert | I like the no-semicolon version | ||
13:40
skids joined
|
|||
GlitchMr | I actually write JavaScript without semicolons | 13:40 | |
sirrobert | me too | ||
GlitchMr | github.com/GlitchMr/python-format/...-format.js | ||
sirrobert | except the only place I use it is before scoping: | ||
;(function () { ... })() | |||
when I write a moudle | 13:41 | ||
moritz | well, it works fine... until it bytes you :-) | ||
sirrobert | module | ||
Juerd | moritz: Have you ever been glyphed? :D | ||
GlitchMr | Well.. technically instead of this semicolon you could use void | ||
So, void function (){}() | |||
It isn't that ugly (ok, it is) | |||
(it's probably worst abuse of useless keyword) | 13:42 | ||
moritz | Juerd: no, just char'red :-) | ||
GlitchMr | Guess how this token looks like: T_SR | 13:43 | |
13:44
benabik left
|
|||
GlitchMr | Also, PHP documentation is lol | 13:45 | |
www.php.net/tokens | |||
13:45
FROGGS__ left
|
|||
GlitchMr | "You're supposed to know what T_SR means." | 13:45 | |
13:45
FROGGS left,
FROGGS__ joined,
FROGGS joined
|
|||
GlitchMr | And of course, most pointless PHP feature ever | 13:45 | |
(unset) | |||
It works like void in JavaScript | 13:46 | ||
13:48
stopbit joined
13:49
am0c left
13:50
stopbit left
13:51
stopbit joined
13:53
stopbit left
13:54
stopbit joined
13:58
FROGGS__ left
13:59
FROGGS left
14:00
FROGGS__ joined
14:11
FROGGS joined
14:17
mucker left
14:22
mucker joined
|
|||
[Coke] | nqp: my %hash; %hash<a> = b; pir::delete__vPS(%hash, "a"); say(%hash); | 14:25 | |
p6eval | nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 2, near " b; pir::d"current instr.: 'panic' pc 19998 (src/stage2/gen/NQPHLL.pir:7314) (src/stage2/gen/NQPHLL.pm:325)» | ||
[Coke] | nqp: my %hash; %hash<a> := b; pir::delete__vPS(%hash, "a"); say(%hash); | ||
p6eval | nqp: OUTPUT«error:imcc:The opcode 'delete_p_s' (delete<2>) was not found. Check the type and number of the arguments in file '(file unknown)' line 146244228» | ||
[Coke] | how to specify a key parameter in nqp? | ||
nqp: my %hash; %hash<a> := b; delete %hash<a>; say(%hash); | 14:27 | ||
p6eval | nqp: OUTPUT«Hash[0x8feb944]» | ||
[Coke] | nqp: my %hash; %hash<a> := "b"; %hash<b> = "a"; delete %hash<a>; say(keys %hash); | ||
p6eval | nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 2, near " \"a\"; dele"current instr.: 'panic' pc 19998 (src/stage2/gen/NQPHLL.pir:7314) (src/stage2/gen/NQPHLL.pm:325)» | ||
[Coke] | nqp: my %hash; %hash<a> := "b"; %hash<b> := "a"; delete %hash<a>; say(keys %hash); | ||
p6eval | nqp: OUTPUT«0» | ||
[Coke] | nqp: my %hash; %hash<a> := "b"; %hash<b> := "a"; delete %hash<a>; say(%hash<b>); say (%hash<a>); | 14:28 | |
p6eval | nqp: OUTPUT«Confused at line 2, near "say (%hash"current instr.: 'panic' pc 19998 (src/stage2/gen/NQPHLL.pir:7314) (src/stage2/gen/NQPHLL.pm:325)» | ||
[Coke] | nqp: my %hash; %hash<a> := "b"; %hash<b> := "a"; delete %hash<a>; say(%hash<b>); say(%hash<a>); | ||
p6eval | nqp: OUTPUT«ab» | ||
[Coke] | also, why doesn't delete delete? | ||
moritz | nqp: my %hash; %hash<a> := 'b'; say(%hash) | 14:29 | |
p6eval | nqp: OUTPUT«Hash[0x92058f4]» | ||
moritz | nqp: my %hash; %hash<a> := 'b'; say(~%hash) | ||
p6eval | nqp: OUTPUT«Hash[0x98f3b44]» | ||
moritz | nqp: my %hash; %hash<a> := 'b'; say(+%hash) | ||
p6eval | nqp: OUTPUT«1» | ||
moritz | nqp: my %hash; %hash<a> := 'b'; nqp::deletekey(%hash, 'a'); say(+%hash) | 14:30 | |
p6eval | nqp: OUTPUT«0» | ||
moritz | [Coke]: this seems to have worked | ||
[Coke] | nqp: my %hash; %hash<a> := 'b'; nqp::deletekey(%hash, 'a'); say(%hash<a>); | 14:32 | |
p6eval | nqp: OUTPUT«» | ||
[Coke] | moritz++ | ||
14:33
raiph joined
|
|||
raiph | hi all. # ignore dwim please DWIM | 14:35 | |
14:35
PacoAir joined
14:36
bluescreen10 joined
14:39
FROGGS left,
FROGGS__ left
|
|||
moritz | sorear: at your convenience, could you please start dalek, or document how to do it? KTHX | 14:39 | |
14:39
FROGGS joined,
FROGGS__ joined
14:42
fhelmberger left
14:55
tokuhiro_ left
15:01
shinobicl joined
|
|||
sirrobert | anyone have experience with the SCGI module? | 15:06 | |
moritz nto | 15:07 | ||
*not | |||
15:20
jeffreykegler joined
|
|||
kresike | bye folks | 15:26 | |
15:26
kresike left
15:27
dayangkun joined
15:28
dayangkun left,
dayangkun joined
15:33
hoelzro is now known as hoelzro|away
15:38
jeffreykegler left
15:39
fgomez left,
FROGGS__ left,
FROGGS left
15:42
xinming left
|
|||
japhb | tadzik, I was thinking that in order to "design test" my factoring of the Pod::To::* space, I wanted to try doing Pod::To::Pod, which is to say, deep clone a Pod tree "the hard way". Which means I have to really know the expected structure of each Pod type, so that I can create tests that will find corner cases. :-) | 15:43 | |
15:44
xinming joined
15:47
jeffreykegler joined
15:55
domidumont left
16:06
GlitchMr left,
GlitchMr joined
16:07
replore joined
16:08
GlitchMr left
16:10
GlitchMr joined
16:13
jeffreykegler left
16:16
MayDaniel joined
|
|||
tadzik | hehe :) | 16:20 | |
sounds like a nice experience | |||
16:25
dayangkun left
16:34
flussence joined
|
|||
TimToady | rosettacode.org/wiki/Semordnilap#Perl_6 really makes the other languages look a little sick | 16:36 | |
GlitchMr | Other languages? | ||
That's D, Java and tcl... currently | |||
I'm going to have fun and do it in Python | 16:37 | ||
Also, "sigilless" ;) | |||
Isn't \ a sigil too? | 16:38 | ||
I would like to see my mots, but that probably would be too confusing | |||
TimToady | we would like to keep barewords as types in my declarations | 16:39 | |
I had a version that used constant, and then you can leave out the \ | 16:40 | ||
16:40
Celelibi joined
|
|||
TimToady | but I'm kinda liking the way that \ makes the declarations stand out to the eye when you want them to | 16:40 | |
16:40
xinming_ joined
|
|||
TimToady | (and no, \ is not a sigil, it's a declaration modifier like * or ! or ? | 16:41 | |
) | |||
colomon | TimToady++ | 16:42 | |
GlitchMr | perl6: my \variable = 42; \variable = 2 | 16:43 | |
p6eval | rakudo 341529: OUTPUT«Cannot assign to a non-container in block at /tmp/PR6gaB6gKR:1» | ||
..niecza v21-1-ga8aa70b: OUTPUT«Unhandled exception: Writing to readonly scalar at /tmp/akQdPrSdLn line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 4138 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4139 (module-CORE @ 571)  at /home/p6eval/niecza/lib… | |||
GlitchMr | Why I cannot do this? | ||
colomon | nr: my \variable = 42; variable = 2; | ||
GlitchMr | This sigilless style looks nice, but... | ||
p6eval | rakudo 341529: OUTPUT«Cannot assign to a non-container in block at /tmp/IBx5gKfJT8:1» | ||
..niecza v21-1-ga8aa70b: OUTPUT«Unhandled exception: Writing to readonly scalar at /tmp/vsFSeZtNfS line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4138 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4139 (module-CORE @ 571)  at /home/p6eval/niecza/lib… | |||
16:43
xinming left
|
|||
TimToady | because \ does not create a container, merely aliases a parcel (or something like 42 that can be its own parcel) | 16:44 | |
as such, you shouldn't use sigilless style unless you like immutable FP semantics | 16:45 | ||
rjbs | woah, there's a sigilless style? | ||
GlitchMr | Or... PHP | ||
ok, whatever | |||
PerlJam | Rakudo just needs to grow some sets for that one to work there too looks like | ||
TimToady | my \foo = stuff; is how you can do SSA-style in P6, basically | ||
rjbs | interesting. | 16:46 | |
TimToady | it says, I just want to give this intermediate result a name without creating a mutable container | ||
rjbs | foo then evaluates to a read-only item, basically? | ||
nod | |||
TimToady | so tres chic in FPland | ||
rjbs | right | ||
TimToady | and works nicely in this case | 16:47 | |
rjbs | That's cool. I need to rent a few more hours per week to write some more p6. | ||
PerlJam | oh, I guess Rakudo already has sets, but not ∈ | ||
16:48
Chillance joined
|
|||
TimToady | I think it's really cool to be able to just throw ∈ in there without a 'use' | 16:48 | |
GlitchMr | unicode: ∈ | 16:49 | |
TimToady | .u ∈ | ||
phenny | U+2208 ELEMENT OF (∈) | ||
GlitchMr | That would be 'in' in Python | ||
ok | |||
PerlJam | TimToady: why'd you use french anyway? | ||
GlitchMr | I'm trying to understand this code, so I will write it in Python | ||
TimToady | because 'mot' means 'word' in french, and 'tom' is 'mot'.flip, whereas 'word'.flip is not a word | 16:50 | |
PerlJam | ah. of course. | 16:51 | |
TimToady | mais oui! | ||
it's also part of the bit where I fool people into thinking I'm a linguist. :) | |||
16:52
mucker left
16:55
FROGGS joined,
FROGGS__ joined
|
|||
TimToady | and the ∈ is in there to fool people into thinking I'm a mathematician | 16:55 | |
GlitchMr | TimToady: gist.github.com/3667795 | 17:02 | |
Probably Python won't win with Perl 6 ;) | |||
TimToady | n: gist.github.com/3667795 | 17:06 | |
p6eval | niecza v21-1-ga8aa70b: OUTPUT«===SORRY!===Preceding context expects a term, but found infix = instead at /tmp/JtT8IbbZ7M line 4:------> dictionary ⏏= set(word.rstrip(os.linesep) for word iParse failed» | ||
TimToady | nope :) | ||
GlitchMr | This isn't Perl 6 | ||
It's Python | |||
rosettacode.org/wiki/Semordnilap#Python | |||
TimToady | I was trying to win with Perl 6 | 17:07 | |
GlitchMr | n: qx<win> | ||
p6eval | niecza v21-1-ga8aa70b: OUTPUT«Unhandled exception: System.ComponentModel.Win32Exception: ApplicationName='win', CommandLine='', CurrentDirectory='' at System.Diagnostics.Process.Start_noshell (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process) [0x00000]… | ||
GlitchMr | I guess that feather3 doesn't have Windows installed | ||
TimToady | win with win? | ||
GlitchMr | Win32Exception? | ||
Win32Exception on Linux? | 17:08 | ||
ok... | |||
I won 32 times | |||
17:08
jerome left
|
|||
TimToady | anyway, yes, I knew it was Python when I did that... | 17:08 | |
GlitchMr | I just have noticed something | 17:09 | |
I could change set(word.rstrip(os.linesep) for word in open('unixdict.txt')) to {word.rstrip(os.linesep) for word in open('unixdict.txt')} | |||
17:10
shinobicl left
|
|||
FROGGS | [::-1] reverses string? what the | 17:10 | |
GlitchMr | Now only if internet would work faste | ||
r | |||
FROGGS: well, technically it reverses sequences | |||
But string is also sequence | |||
mikemol | Hm. That task will come in handy in bobble. | ||
PerlJam | FROGGS: it gives the whole range stepping in increments of -1 (so backwards) | ||
FROGGS | PerlJam: thanks, understand | 17:11 | |
TimToady | one of the few ways in which Python is more like Lisp than Perl is. | ||
GlitchMr | Perhaps PHP will be better ;) | ||
In PHP, I can do $dictionary = file('www.puzzlers.org/pub/wordlists/unixdict.txt'); | 17:12 | ||
TimToady | there aren't terribly many PHP entries in RC; you should certainly add some | 17:13 | |
GlitchMr: and does that refetch it every time? | |||
17:13
ruoso left
|
|||
FROGGS .oO( thinks about a cool task to add ) | 17:17 | ||
TimToady | GlitchMr: also, if the RC task requests output, one should generally provide it | ||
GlitchMr | I end typing "my" in PHP | ||
lol | |||
FROGGS | well, I mix up perl5 and six every morning -.- | 17:19 | |
but it just takes the first "damn it" to get it right | |||
GlitchMr | Probably "$" confuses me | ||
And I want to predeclare because $ | |||
In Perl, I have to use "my" | 17:20 | ||
TimToady | I almost think that a Perl 6 syntax highlighter should give gather and take their own color | ||
17:20
ruoso joined
|
|||
TimToady | actually, I *do* think it | 17:21 | |
FROGGS | :o) | ||
so take is like push to the ref assigned by gather? | 17:22 | ||
TimToady | except there's no cat | ||
FROGGS | the animal? | ||
what cat? | |||
TimToady | answers.google.com/answers/threadview?id=62956 | 17:24 | |
FROGGS reads | 17:25 | ||
PerlJam wonders about schrodinger without the cat ... | |||
FROGGS | Einstein++ | 17:26 | |
geekosaur | he still has an equation. in fact THE equation | ||
FROGGS | PerlJam: you cant even say that there is a cat inside the box | ||
moritz | or not :-) | 17:27 | |
FROGGS | well, basically things that nobody can recognize doesnt exist | ||
moritz | how would you know? | 17:28 | |
[Coke] | like perl6. | ||
moritz | how could anybody know? | ||
PerlJam | "...inside the box is a vial of poison and no cat. So, the no cat is simultaneously dead and alive." | ||
TimToady | Like Yogi Berra, I've said many things that I never said. On the other hand, I've also said a good many things that I did say, and most of 'em aren't in quote files. | ||
PerlJam | If you had a life recording device then everything you say could be in quote files :) | 17:29 | |
GlitchMr | rosettacode.org/wiki/Semordnilap#PHP | 17:30 | |
PerlJam | The small talk you have with the dentist while dental instruments are in your mouth ... | ||
GlitchMr | It's still uglier | ||
I wonder why Perl 6 looks cleaner than this PHP code | |||
PerlJam | Whatever conversations you have with members of your church ... | ||
If you happen to talk in your sleep ... | |||
TimToady | This Was Your Life --Chick Publications | ||
FROGGS | GlitchMr: because you cant write nice code with php | ||
it will always look ugly | 17:31 | ||
rjbs | I recently threw out my college collection of Chick tracts. *sniff* | ||
FROGGS | but I dont know exactly why though | ||
GlitchMr | Perhaps... too many parenthesis? | ||
FROGGS | ya, maybe thats it | ||
GlitchMr | And too long function names | ||
array_fill_keys()? What? | |||
FROGGS | and long function names instead of operators | 17:32 | |
[Coke] hurls goo.gl/80zcA for a peek into the wallquotefile. | |||
GlitchMr | That would be map { $_ => 1 } @array in Perl | ||
17:32
Circlepuller_ left
|
|||
GlitchMr | Where 1 is value I use to fill | 17:32 | |
moritz | did you mean @arr X=> 1 ? | ||
PerlJam | [Coke]: ha! | ||
GlitchMr | Or that in Perl 6 | ||
I meant Perl | |||
17:32
Circlepuller_ joined
|
|||
GlitchMr | I know it's even easier in Perl 6 | 17:33 | |
moritz: also, this thing is hack | |||
FROGGS | at least shorter | ||
moritz | Perl 6 is just as much Perl as Perl 5 is | ||
GlitchMr | PHP doesn't have hashes | ||
s/hashes/sets/ | |||
So I have to use associative array instead of set | |||
In Perl 6, I can use set | |||
PerlJam | Why are atheists advertising on buses in the UK ? | ||
GlitchMr | Similarly in Python | ||
PerlJam | (and what are they advertising?) | ||
arnsholt | moritz: Where's you new $work, BTW? (If I may ask) | 17:34 | |
FROGGS | PerlJam: dunno, life assurances? | ||
PerlJam | GlitchMr: the dual use of "in" in the python solution I find interesting for some reason. | ||
[Coke] | PerlJam: news.bbc.co.uk/2/hi/uk_news/7813812.stm | ||
moritz | arnsholt: perl developer at noris.net | 17:35 | |
GlitchMr | PerlJam: "in" in "for" loops iterates | ||
PerlJam | GlitchMr: aye, I know. | ||
GlitchMr | Outside "for" loop, it's "contains" operator | ||
17:35
daxim left
|
|||
moritz | arnsholt: they have two big apps, "kunde" (english "customer"), which is ther command-line customer, domain, IP, password and whatever-administrative tool | 17:35 | |
GlitchMr | So, "ab" in "abc", 1 in [1, 2], "key" in {"key": "value"} | 17:36 | |
moritz | arnsholt: and a heavily patched OTRS | ||
GlitchMr | And the usage I have used in this case - "word" in {"set"} | ||
(except in this case set doesn't have "word") | 17:37 | ||
Perhaps you will find "not in" and "is not" operators more interesting | |||
17:39
Su-Shee joined
|
|||
Su-Shee | good evening. | 17:39 | |
PerlJam | GlitchMr: only if I can say: for word not in dictionary: ... ;-) | ||
moritz | \o Su-Shee | ||
GlitchMr | That would be syntax error | ||
FROGGS | o/ Su-Shee | ||
GlitchMr | Also, in Python you can do stuff like for something in something in something: | 17:40 | |
Except "in" returns "boolean", so this will always fail | |||
PerlJam is starting to think that GlitchMr is lacking in humor reflex. | |||
17:40
xinming joined
|
|||
arnsholt | moritz: Sounds good =) | 17:40 | |
FROGGS | GlitchMr: so you can do things that will always fail? | 17:41 | |
moritz | you can do that in every language | 17:42 | |
FROGGS | ya, I do that every day | ||
GlitchMr | moritz: well, you cannot do that in HQ9+ | ||
PerlJam | moritz: I bet we could design a language where you could not do something that will always fail. | ||
moritz | PerlJam: if it's not Turing complete, than that's easy | 17:43 | |
sorear | good * #perl6 | ||
o/ Su-Shee long time no see. | |||
17:43
xinming_ left
|
|||
PerlJam | Even if it's Turing complete is "easy" You just have to be careful about what "fail" means | 17:43 | |
TimToady | not halting is not failing :) | ||
sorear | moritz: Where would be a good place to document dalek starting? | ||
PerlJam | s/is/it's/ | ||
moritz | sorear: for example in mu/misc | ||
sorear: or on wiki.perl6.org | 17:44 | ||
FROGGS | hi sorear | ||
moritz wonders if Su-Shee promised him truffels for anything, but can't find it in the logs | 17:45 | ||
GlitchMr | glitchmr.pl/ also leads to my new site, because why not | ||
FROGGS | moritz: its doesnt exist either if you cant find it on the internet, or in the logs ;o) | ||
moritz | oh yes, found it after all: irclog.perlgeek.de/perl6/2011-07-26#i_4170037 | ||
GlitchMr | (why I bother making redirects) | 17:46 | |
sorear | I think they're spelled differently | ||
FROGGS | hmmm, phonetic search would be cool | ||
is there a (smart match) operator for this kinda stuff? that would be pretty cool | 17:47 | ||
moritz | FROGGS: no, but you could implement your own, of course | ||
FROGGS | like just comparing the consonants | ||
moritz | if $haystack ~~ fuzzy($needle) { ... } | ||
GlitchMr | I guess that {} is so overloaded that it simply cannot be set :) | 17:48 | |
sorear | How many consonants are there in Merijn? | ||
FROGGS | I thought we have already the full unicode range set to crazy operators, no? | ||
PerlJam | FROGGS: github.com/thundergnat/Text-Levenshtein/ | ||
FROGGS | PerlJam, ya, I know that from php | 17:49 | |
sorear: 3, no? | |||
sorear | bah. | 17:50 | |
it's 3, and I know that because Merijn told me | |||
FROGGS | who is it? | ||
sorear | but my point is that "just compare the consonants" depends on language info | 17:51 | |
Tux | |||
arnsholt | sorear: If you're Dutch, three, IIRC =) | ||
moritz doesn't count three consonants in "Tux" :-) | 17:52 | ||
TimToady | x is really ks | ||
FROGGS | there are four in Tuchs ;o) | ||
arnsholt | Sure there is. T, k and s =D | ||
FROGGS | really would be Tuchs in german | 17:53 | |
sorear | but /ch/ is one consonant, a voiceless palatal fricative | ||
moritz | or Tux :-) | ||
arnsholt | Well, ch is just a single consonant O:) | ||
FROGGS | sorear: O.o | ||
arnsholt | Mmmm. Phonetics | ||
moritz | ch like in 'fuchs' is really spoken like x | ||
erm, chs | |||
TimToady | except in Munich, where it's alveopalatal | 17:54 | |
FROGGS | okay, my wife nods, but she said its no consonant because its a fricative | ||
sorear | klaus fuchs? | ||
FROGGS | I guess you ppl understand what she is saying | ||
moritz | phenny: de en 'fuchs'? | ||
phenny: de en "fuchs"? | |||
phenny | moritz: "fox" (de to en, translate.google.com) | ||
TimToady | well, yes, but that's not how linguists define consonant | ||
arnsholt | FROGGS: I think she's confusing consonants and stops | ||
moritz | FROGGS: if you feel lost now, you're not the only one :-) | 17:55 | |
TimToady | vowel and consonant are culturally relative concepts, but generally fricatives would be considered consonants | ||
arnsholt | A consonant is anything that's not a vowel (modulo funny business with syllable-carrying liquids and some stuff) | ||
17:56
thou joined
|
|||
TimToady | but there's a fricative that can function as a vowel in English; psst! | 17:56 | |
PerlJam | arnsholt: The trick is picking out the vowels then. :) | ||
TimToady | and tricky it is | 17:57 | |
17:57
dalek joined,
ChanServ sets mode: +v dalek
|
|||
PerlJam always gets people on words with friends by using words where "w" is the vowel :) | 17:57 | ||
TimToady | how many syllables does "towel" have? | ||
arnsholt | Yeah. Syllables are hard | ||
TimToady | how about "owl"? | ||
in my dialect those rhyme | 17:58 | ||
but I still think of towel as 2 syllables, and owl as 1, go figure | |||
psychological poisoning from orthography, yum | |||
sorear | Tau el | 17:59 | |
Au el | |||
FROGGS | must be fun to study that | ||
PerlJam | TimToady: your pronunciation of "towel" is just wrong ;) | ||
sorear transposes to German orthography because eir knowledge of IPA vowels is so broken | |||
FROGGS | my wife studied russian an portuguese | 18:00 | |
TimToady | Linguistics is not fun to study if you're a dichotomist. Well, you might think it is, but you'll be wrong. | ||
18:01
BlueT_ left
|
|||
sorear | FROGGS: where are y'all from, geographically and linguistically | 18:01 | |
? | |||
arnsholt | When explaining to my girlfriend that part of what I was doing for my master's was essentially Aristotelian categorisation of words, the very first thing she said was "But Aristotelian categories don't work!" | 18:02 | |
Sums up a lot of linguistics quite nicely | |||
FROGGS | sorear: germany/german | 18:03 | |
18:05
sivoais left
|
|||
sorear | hrm, I need a p6wiki account | 18:05 | |
*punt* | 18:06 | ||
18:06
sivoais joined
18:09
BlueT_ joined
|
|||
FROGGS | there is a map somewhere? | 18:12 | |
moritz | not yet | 18:13 | |
18:13
larks left
|
|||
dalek | : b7b631f | sorear++ | misc/dalek-start.txt: Add documentation on starting dalek for moritz++ |
18:14 | |
18:14
xinming left
|
|||
moritz | sorear++ | 18:14 | |
18:16
xinming joined
|
|||
sorear notes that meRIJn is pronounced like the Belgian, vincent RIJmen | 18:16 | ||
[Coke] | data point: towel has one syllable and rhymes with owl. | 18:18 | |
TimToady | how 'bout "fire" | 18:21 | |
18:23
fgomez joined
|
|||
FROGGS | its the same for "like" | 18:23 | |
you dont speak the e | |||
TimToady | question is whether it's fie-er | ||
FROGGS | hmm, but fire _can_ has two syllables | ||
I guess thats one reason why it is so damn hard to do speech recognition | 18:25 | ||
18:26
fgomez left
|
|||
FROGGS | the other reason is that you have to know what the sentence mean when you just get the half | 18:26 | |
TimToady | here's another funny one: for the typical English speaker, "prints" and "prince" are pronounced identically, but have different numbers of consonants | ||
sorear | It is a fact not often recognized that no two humans speak the same language | ||
TimToady | sure, but my example is one that is largely agreed up by English speakers :) | 18:27 | |
sorear | TimToady: interesting, in my dialect "prints" has a stop in the middle and "prince" doesn't | ||
TimToady | they'll even convince themselves that they're saying them differently when they're not :) | ||
FROGGS | hehe | 18:28 | |
TimToady | you can't get from [n] to [s] without going through [t], in fact | ||
FROGGS | ya, thats right | 18:29 | |
even if you try, the tongue goes to the t, don't know how to tell in english | |||
TimToady | what happens is the internal cancelling that goes on all the time in everyone's brain | 18:30 | |
your brain actively ignores that [t] when you think you're saying "prince" | |||
FROGGS | ya, its about what you want and what you expect | ||
18:30
fgomez joined
|
|||
FROGGS | the brain does much of this stuff, in many situation | 18:31 | |
TimToady | so we say that those two words are etically identical, but emically different. | ||
FROGGS | like these illusion pictures, you see the one guy taller because your brain expect him to be because it thinks he is far way | 18:32 | |
s/way/away/ | |||
meh, I just cant even google these word | 18:33 | ||
ohh, found it | |||
18:39
xinming left
18:41
xinming joined
|
|||
sorear | FROGGS: Ames room | 18:48 | |
? | |||
en.wikipedia.org/wiki/Ames_room | 18:49 | ||
FROGGS | ya right | 18:51 | |
that video there is pretty cool | |||
yay, I optimized my game | 18:52 | ||
18:52
mcglk joined
|
|||
FROGGS | it was to slow so that you cant double click | 18:52 | |
19:05
cognominal joined
19:10
Circlepuller__ joined
19:13
Circlepuller_ left
19:15
Circlepuller joined
19:16
Circlepuller__ left
19:18
larks joined,
larks left,
larks joined
19:20
replore left
|
|||
pmichaud | [Coke]: (hash autoviv) -- I think jnthn++ decided not to implement hash autoviv in QAST. Whether or not it should be there is perhaps an open question. :-/ | 19:20 | |
well, I guess more directly it's a question of whether hash autoviv belongs in NQP as opposed to QAST. | 19:21 | ||
i.e., QAST doesn't need to support it directly, but NQP could certainly implement it. | |||
it's something I definitely should look into "how to implement", since some languages will want/need it. | 19:23 | ||
19:23
rhr_ left
|
|||
pmichaud | afk, kid pickup | 19:23 | |
19:25
stopbit left
19:26
M_o_C joined
19:28
stopbit joined
|
|||
moritz | I wonder if autoviv in NQP could be syntactic | 19:29 | |
pmichaud | it was before, yes. | 19:31 | |
TimToady | what's really going on with [nts] is that your tongue is already in the [t] position when you're saying the [n], but you are sending air through your nose, so there's very little back pressure. A fricative requires more pressure, so in order to pronounce [s] you must close your nasal opening. | 19:35 | |
when you do, you're by definition doing a [t] stop until the increasing pressure allow the [s] to start | |||
*allows | |||
coincidentally, you stop voicing with your larynx, but that's largely incidental, other than some additional downstream air pressure differential | 19:37 | ||
19:38
xinming_ joined
|
|||
TimToady | if English were not English, we might, in fact, analyze the [ts] as an affricate rather than as a stop followed by a fricative | 19:38 | |
but ts is unusual except in borrowed words like 'tsar' | 19:39 | ||
I am a linguist, but refuse to play one on TV. | 19:40 | ||
19:41
xinming left
|
|||
FROGGS | who asked you to play a linguist on tv? | 19:42 | |
TimToady | nobody; I didn't say I refused, past tense, but "I refuse", a timeless statement | 19:43 | |
FROGGS | klugscheisser *gg* (sorry too lazy to look it up) | 19:44 | |
so how come you think someone would ask you? cause if nobody would why do you think about refusing it | 19:45 | ||
damn it, my wife wrote the last three lines, she just doesnt know you ;o) | |||
she corrected me right now, I dont you you either, but I know who you are | 19:47 | ||
TimToady | I deny it. :) | ||
FROGGS | so you are some sort of nihilist? | ||
dont say no ;o) | |||
TimToady | I'm not myself; I only play myself on TV. | 19:48 | |
masak | good morning, #perl6 | ||
sorear | o/ masak | ||
FROGGS | hi masak | ||
masak | $employer took us to a beer sampling today. $employer++ | ||
sorear | FROGGS: were you (either of you) at yapc::eu 2012? | 19:49 | |
FROGGS | thats nice | ||
masak | tentative conclusion: beer is even better than I thought. :) | ||
FROGGS | sorear: I was, yes | ||
sorear: you too? | 19:50 | ||
19:50
sqirrel joined
|
|||
sorear | yes. | 19:50 | |
FROGGS | didnt read your name on a badge though :/ | ||
sqirrel, thats my wife \o/ | 19:51 | ||
sqirrel | hi all | ||
masak | hi sqirrel! | ||
welcome to #perl6 | 19:52 | ||
sqirrel | hi masak | ||
masak | rn: say "Niecza and Rakudo say hi, too! :)" | ||
p6eval | rakudo 341529, niecza v21-1-ga8aa70b: OUTPUT«Niecza and Rakudo say hi, too! :)» | ||
FROGGS | hehe | ||
sqirrel | hi bots *g* | ||
FROGGS | rpn: say 'hi' | ||
p6eval | rakudo 341529, niecza v21-1-ga8aa70b, pugs: OUTPUT«hi» | ||
masak | rpn: .say for 10 ... 0; say "liftoff!" | 19:53 | |
p6eval | rakudo 341529, niecza v21-1-ga8aa70b: OUTPUT«109876543210liftoff!» | ||
..pugs: OUTPUT«***  Unexpected "0" expecting operator at /tmp/DLg0rBNL8n line 1, column 17» | |||
FROGGS | *g* | ||
masak | hm, does '...' still mean '.. Inf' in Pugs? | ||
p: .say for 5... | |||
seems so. | |||
p6eval | pugs: OUTPUT«(timeout)567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | ||
masak | man, that was *ages* ago. | 19:54 | |
I only remember that because I read "Perl 6 and Parrot Essentials" at some point. ;) | |||
FROGGS | ya, thats like googling for specs, you find stuff from year 2k, you almost cant use it | ||
colomon | masak++ | ||
masak | I can't quite put my finger on what was less-than-good about using '...' for that, but I'm glad we changed it to what it means now. | 19:55 | |
sorear | FROGGS: I have a badge here "YAPC::Europe 2012 / Stefan O'Rear / sorear"... I tended to mostly hang around the folks from Perl | ||
colomon bought that book when it came out... | |||
masak | colomon: it was out of date even then ;) | ||
TimToady | either it's an infix without a right argument, which fouls up TTIAR self-clocking, or it's a postfix that can easily be confused with an infix | 19:56 | |
and it's no shorter than 5..* | |||
masak | heh, troo. | ||
sorear | pugs: 5 ... | ||
p6eval | pugs: ( no output ) | ||
masak | not sure how much we used '*' back then, though. | ||
TimToady | so, basically, it just a low-wattage feature, and we try to avoid those | ||
masak | for a sense of "we" which doesn't necessarily include me. | ||
FROGGS | sorear: got a picture somewhere on the web? | 19:57 | |
TimToady | we had not yet invented Whatever at that point | ||
masak | right. '*' was mostly (or fully?) syntactic. | ||
in my language I'm going to lean towards making some things syntactic that Perl 6 turns into values. I'm definitely gonna make junctions syntactic, for example :) | 19:58 | ||
TimToady | that approach can also easily produce low-wattage features :) | 19:59 | |
pmichaud | flickr has a picture of sorear++ at the Cafe Extrablatt :-) | 20:00 | |
sorear | I wasn't _trying_ to be the main attraction in that picture | 20:01 | |
I just don't like chairs, and happened to be facing the camera... | 20:02 | ||
pmichaud, do you have a link handy | |||
TimToady | darn paparazzi | ||
pmichaud | www.flickr.com/photos/claudio_ramir...846833182/ | ||
FROGGS | no way | 20:03 | |
you are that weird al guy? | |||
I'm sorry, but I like him very much | |||
so its some sort of complement | |||
masak wonders how often sorear has that similarity pointed out to him | 20:04 | ||
sqirrel | *lol* froggs showed that pic to me when he came back from yapc being very excited | ||
BinGOs | thanks I nearly spat beer all over my eeepc | ||
PerlJam | sorear doesn't look like Weird Al in that picture. | 20:05 | |
FROGGS | hi BinGOs | ||
BinGOs | helo | ||
FROGGS | samn, he's quit now xF3.xF2 | ||
masak | sorear: interestingly enough, I never caught on to you not liking chairs, despite having ample indications of that. | ||
TimToady | mirrors.develooper.com/perl/history...c/al_wall/ | ||
FROGGS | BinGOs: how is everything? | ||
pmichaud | yes, there's certainly ample precedence for weird al in the perl community :-) | 20:06 | |
BinGOs | it is all satifactorily in the right places | ||
masak | sorear: before I met you, I imagined that you looked like L in "Death Note", who also doesn't like chairs. in a sense. | ||
TimToady | but yeah, in some way sorear looks more like Weird Al than I do... | ||
pmichaud | I used to be mistaken quite frequently for John McEnroe... then (less fortunately) for Richard Simmons :-/ | ||
FROGGS | ya, Larry Wall and Weird Al... almost the same chars | ||
sqirrel | sorear hav you ever spoken to a therapist about not liking chairs? | 20:07 | |
PerlJam | Weird Wall? | ||
Larry Al? | |||
FROGGS | hehe | ||
masak | sqirrel: I don't like furniture in general, and I consider myself perfectly normal! | ||
FROGGS | lets get Weird Wall shirts!! | ||
pmichaud | I'm not a chair, but I sometimes play one on TV. | ||
FROGGS | and a Peril 6 on the back | ||
pmichaud | is a wall a type of furniture, ooc? ;-) | ||
PerlJam | pmichaud: You're still Gene Wilder for me :) | ||
masak | pmichaud: so, I heard the president of your country is invisible. | 20:08 | |
sqirrel | masak why dont you like furniture? i really do like my bed for instance | ||
TimToady | not in a snowstorm | ||
pmichaud | masak: only to one of our political parties | ||
masak | sqirrel: I threw out my bed in 2003. been sleeping on a mattress on the floor since, basically. | ||
pmichaud | (Gene Wilder)++ | ||
sqirrel | well a mattress somehow is furniture too, isnt it? | 20:09 | |
pmichaud | I'm still looking to acquire a Willy Wonka suit. | ||
FROGGS | masak: a mattress is this girl on a plain, right? | ||
masak | FROGGS: if that is a reference to something, the reference passed me by. | ||
PerlJam | masak: weird people always consider themselves normal! :) | ||
20:09
M_o_C left
|
|||
FROGGS | masak: ohh, thought it was a matelot, but thats on a ship -.- | 20:10 | |
btw, I had a glas of wine today | |||
pmichaud | it's too bad the convention occurred after the conference... I can imagine a *ton* of lightning talk material coming out of talking to an empty chair. :-P | ||
masak | PerlJam: perhaps I exaggerated a bit when I said I consider myself perfectly normal. it was hyp... hyperbole. | ||
sqirrel | i had two *g* | ||
masak | pmichaud: I wonder how Clint Eastwood and Steve Ballmer would get along. | 20:11 | |
diakopter | in darker environments I've several times been mistaken for John Mayer | ||
sqirrel | how dark diakopter? | 20:12 | |
thou | masak, hi! i blogged! comments on content or anything are welcome. ode-to-camelia.tumblr.com/ | ||
masak | thou++ | ||
sorear | back. | ||
pmichaud | masak: it worries me a bit that Chuck Norris has now entered the fray, too. 1/2 :-) | ||
diakopter | sqirrel: pretty dark.. coffee shop at night or night club | ||
TimToady | I'm weird, and I consider myself weird, but then I'm kinda weird that way... | ||
thou | i started using the internet at school in '93, and this is my first blog post i think. | ||
sorear | FROGGS: I did not quit, just messing with $dayjob stuff | ||
[Coke] | masak: I endorse your tentative conclusion but we need MOAR EVIDENCE. | 20:13 | |
masak | thou: looks very nice. to do the post full justice, I'll read it tomorrow when I'm more awake. | ||
sorear | I have never met Mr. Al Jankovich (sp?). I am not him, although I think he's a fine musician | ||
thou | masak, thank you! | ||
masak | thou: kudos for blogging! | ||
sorear | This is, in fact, the 3rd time I have been accused of looking like him | 20:14 | |
masak | also, nice blog name! | ||
sorear | When I was much much younger people used to say I looked like Harry Potter. I think Weird Al is quite a step up. | ||
masak | depends if you believe in magic. | ||
FROGGS | hehe | ||
sqirrel | rofl | 20:15 | |
FROGGS | well, I like both | ||
[Coke] | Yankovic, IIRC. | ||
thou | I regularly put UHF on my top-5 movie list | ||
FROGGS | (we are watching harry potter right now btw) | ||
thou | and i can't defend it rationally | ||
TimToady | Weird Al does not believe in magic, he *is* magic. | ||
FROGGS | he is | 20:16 | |
TimToady | Welll, and I guess he believes in himself. | ||
20:16
benabik joined
|
|||
thou | "I believe in swordfish" | 20:16 | |
sqirrel | thou its a great film how mor rational can a defending be? | ||
thou | sqirrel: yeah, you're right. it's a reflex in my mind because my wife doesn't get it at all :-) | ||
BinGOs | we don't need no stinking badgers | ||
FROGGS | "Wheel of fish" - no need to say more | 20:17 | |
thou | she does frequently say "what's in THE BOX!" | ||
not sure she remembers where it's from, though :-) | |||
TimToady senses a disturbance in the farce | |||
FROGGS | thou: NOTHING! | 20:18 | |
sqirrel | NOTHING!!!! | ||
FROGGS | YOU ARE SO STUPID | ||
thou | You so STUPID! | ||
PerlJam blames masak | |||
20:18
benabik left
|
|||
thou | also, whenever i smell the milk carton before pouring a glass, i think of weird al | 20:18 | |
sqirrel loves being with nerds whose seen the same films she did | |||
masak | PerlJam: whatever it was I did, I'm innocent. | 20:19 | |
FROGGS | You ever tried that vanilla wiener sandwich? | ||
sqirrel | froggs: more wine please | ||
FROGGS | its quiet good, but we dont get these sandwiches here in germany :/ | ||
PerlJam | after reviewing my scrollback, I retract my blame of masak and attach it to FROGGS | 20:20 | |
TimToady | the stress induces narclepsy in /me | ||
nap & | |||
FROGGS | ohh, I can live with that | ||
20:20
rhr joined
|
|||
masak | PerlJam: that makes more sense. as opposed to me, the innocent one, FROGGS is red-handedly guilty. | 20:21 | |
sqirrel | and red headed *gg* | 20:22 | |
sorry sense of humor left with third glass of wine... | |||
FROGGS | masak: you made a game lately? I've seen something on github I believe | 20:24 | |
masak | rn: my $sense-of-humor = 28; sub drink-wine { $sense-of-humor -= 10 }; drink-wine for ^3; say $sense-of-humor > 0 | ||
p6eval | rakudo 341529, niecza v21-1-ga8aa70b: OUTPUT«False» | ||
masak | FROGGS: I (re-) wrote an adventure game and blogged about it every day in July. | ||
[Coke] | pmichaud: since it's intentional, I'll change the code to manually setup those hashes. | 20:25 | |
FROGGS | its text only, right? | ||
[Coke] | Happy to clean it up later if that gets back into the language. | ||
PerlJam | masak: going to make that an annual tradition? (rewriting the same game over and over again) | ||
diakopter | masak: I'm curious. If you want to write the adventure game again again, but the requirement was to be as terse as possible.. in how many (normal length) lines do you think it could fit? | ||
masak | PerlJam: nah. | ||
diakopter: that seems an odd constraint. :) though I think it could be made quite short. | 20:26 | ||
diakopter: maybe, hm, 400 lines? | |||
PerlJam | sqirrel: wine makes you ginger (how's that for humor :) | ||
masak | that's including everything; code and data. | ||
PerlJam++ | 20:27 | ||
"wine offsets the body's humors" | |||
diakopter | masak: at a recruiting fair Google told me it's their constraint for nearly all the JS they host, hence the Closure compiler | ||
sqirrel | perljam...i dont get it | ||
masak | diakopter: aye. that's because JavaScript comes down the chimney, like Santa Claus. | ||
diakopter | 400? | ||
how many lines-ish was your June write | 20:28 | ||
July | |||
masak | diakopter: last year's was about 1k lines. this year's was about 2k lines. I think. | ||
this is without fact-checking, so take it with a grain of salt. | 20:29 | ||
FROGGS | masak: do you think about adding nice gfx stuff to it? | ||
raiph | . | ||
masak | the 400L estimate is basically guessing that I could compress the 1k lines down to 40% if I really wanted. | ||
FROGGS: no. | |||
raiph | hi all | ||
masak | raiph! \o/ | ||
FROGGS | hi raiph | ||
raiph | i'm confused about something on github | 20:30 | |
diakopter | masak: ha | ||
ok, I meant with drastic refactorings | |||
raiph | github.com/rakudo/rakudo/commit/d776f087d0 | ||
suggests jnthn removed qast from the roadmap | 20:31 | ||
20:31
replore joined
|
|||
raiph | clicking browse code from that commit leads to a 404 | 20:31 | |
masak | diakopter: I did use the length constraint when creating the Animal Farm game. I had 200 lines (for game logic and CLI) as a soft upper limit. | ||
20:31
MayDaniel left
|
|||
diakopter | ah | 20:32 | |
moritz | raiph: that's a github bug, IMHO | ||
masak | diakopter: you can see what the code looks like when I optimize for brevity: github.com/masak/farm/blob/master/farm.pl | ||
diakopter: that's still not *crazily* compressed. but it's not as verbose as I usually am either. | |||
it's more like, slightly terse. | 20:33 | ||
20:35
replore left
20:37
GlitchMr left
20:38
xinming joined
20:41
xinming_ left
|
|||
jnthn | evening o/ | 20:42 | |
masak | jnthn! \o/ | ||
sorear | jnthn! | 20:44 | |
jnthn | o/ | ||
FROGGS | hi jnthn | 20:49 | |
21:00
fgomez left
21:04
skids left
21:05
tokuhiro_ joined
|
|||
tadzik | good evening #perl6 | 21:07 | |
FROGGS | hi tadzik | ||
colomon | \o | ||
masak | tadzik! \o/ | 21:08 | |
tadzik | \o/ | ||
anyone having tiny, tiny screwdriver in handy? :) | |||
colomon | yes | ||
masak | tadzik: this sounds like the buildup for a joke. | ||
colomon | for certain definitions of tiny | 21:09 | |
tadzik | that's a dead phone joke | ||
masak | tadzik: x=- | ||
tadzik | :( | ||
21:09
fgomez joined
|
|||
masak | 'night, #perl6 | 21:16 | |
tadzik: hope things work out with your dead phone. | |||
tadzik | good knight masak | 21:18 | |
21:22
hoelzro|away is now known as hoelzro
21:25
cognominal left
21:32
gongyiliao left
21:37
bruges left
21:39
bruges joined
21:41
xinming left
21:43
xinming joined,
Circlepuller_ joined
21:45
Circlepuller left
22:12
raiph left
|
|||
sergot | pmichaud: thank you very much for comment! :) | 22:14 | |
pmichaud++ | |||
22:19
sqirrel left
22:22
hoelzro is now known as hoelzro|away
|
|||
diakopter | phenny: ask TimToady "you get a fail (note that failures are allowed to violate return type constraints)" - an optimizer can't inline hash lookups as native ints/nums then. ok | 22:31 | |
phenny | diakopter: I'll pass that on when TimToady is around. | ||
sorear | diakopter: remember that a type like Int includes '0 but True' and a type like Num includes val('0.1234567890123456789') with a bundled string value | 22:35 | |
diakopter | I didn't think I was talking about Int/Num | 22:36 | |
sorear | what were you talking about then? | 22:38 | |
diakopter | hashes of int/num | ||
sorear | I think it's already been established that failures cannot be treated as native types | 22:39 | |
failures exist in the intersection of all boxed types | |||
diakopter | I wasn't looking for anything to be established. | ||
other than in my own mind. | 22:40 | ||
I'm sorry if you thought I was trying to clarify the language for everyone | |||
22:40
bluescreen10 left
|
|||
diakopter | I ask TimToady because there's no inbox in phenny for "@Larry including all implementors" | 22:42 | |
sorear: do you see what I'm saying? My original question is here: irclog.perlgeek.de/perl6/2012-09-03#i_5957117 | |||
his response is here: irclog.perlgeek.de/perl6/2012-09-03#i_5957284 | 22:43 | ||
sorear: ok? | |||
am I still not allowed to ask the question? | |||
sorear: if you've decided I'm allowed to ask the question, would you like to answer it? | 22:45 | ||
sorear | diakopter: of course you're allowed to ask the question. | 22:47 | |
TimToady | to the first approximation, temporary values are all boxed types | ||
phenny | TimToady: 22:31Z <diakopter> ask TimToady "you get a fail (note that failures are allowed to violate return type constraints)" - an optimizer can't inline hash lookups as native ints/nums then. ok | ||
diakopter | ok. | 22:48 | |
22:48
skids joined
|
|||
TimToady | S02:719 kinda indicates this | 22:49 | |
and it's only storing into a storage location that can enforce throwing a failure that doesn't fit, I think | |||
S02:640 is trying to talk about that | 22:51 | ||
22:51
Circlepuller joined
|
|||
TimToady | of course, if the compiler can prove that the source and destination are both native, boxing/unboxing can be factored out | 22:51 | |
diakopter | if *all* temporary values are boxed, then a JIT of native operations is basically useless | 22:52 | |
TimToady | this is just the default; semantics may always be tweaked in a lexical scope | ||
diakopter | that's what I'm asking about - the source being the result of a int hash lookup | ||
- an optimizer can't inline hash lookups as native ints/nums then. ok | 22:53 | ||
okay, I see what you're saying now about factoring out | |||
diakopter rolls eyes at self <ugh> | 22:54 | ||
22:54
Circlepuller_ left
|
|||
sorear | the optimizer is allowed to look at a fetch from a native typed hash and say "this is either a native value or a Failure" | 22:54 | |
diakopter | how would that help the optimizer? | 22:55 | |
TimToady | the optimizer might find ways of cheating on it, if it has control of both ends | 22:56 | |
but you certainly need some way of indicating that a hash doesn't contain what you are looking for | |||
this is not someplace you want a semipredicate problem in the general case | 22:57 | ||
diakopter | don't we still have exists? | ||
TimToady | the internals could do something like Go does, with a separate status value | ||
the internals could even turn it into an exception and a try, I suppose | 22:58 | ||
anything's fair if you're cheating, as long as you're not caught :) | 22:59 | ||
diakopter | I don't know whether exists exists | 23:00 | |
TimToady | I mean, morals aside... | ||
:exists is officially a modifier on the subscripting operation | |||
23:00
Circlepuller_ joined,
Circlepuller left
|
|||
diakopter | ok | 23:01 | |
sergot | good night ! o/ | ||
sorear | the thing that really bugs me about p6 as a language for large programs is the fact that so much data is not available until main program CHECK time | 23:02 | |
TimToady | there may also be some special support for Nil as a very compact failure value (the OKness proposal considers failures to be Nil plus exception info) | ||
sorear | sub foo(Int $x) { my DateTime $y = $x } # can't carp at parse time because another module might define a class that 'is' both Int and DateTime | ||
TimToady | you keep making the argument for whole-program analysis and hating it :) | 23:03 | |
though that's not the only possible way to make things fast | 23:05 | ||
alternate compilations and hotpath analysis also can optimize this sort of thing on the fly | 23:06 | ||
druther keep the semantics simple for the user and torment the implementors here | 23:07 | ||
sorear | TimToady: as a user I want things that are broken to fail as soon as possible. | ||
not at link time | 23:08 | ||
TimToady | then you should be using Haskell instead :) | ||
diakopter | what's that language where everything is broken.. | 23:09 | |
sorear | C++? | 23:10 | |
TimToady | but to my mind the whole point of the single-dispatch system is to do late binding, not to prove correctness | ||
we have our functional dispatch for the things we have to know at compile time | |||
sorear | I'm also talking about gradual types here | ||
TimToady | there needs to be some slop here, or you're not very futureproof | 23:11 | |
you end up making up new names for what is essentially the same thing, if there's not enough slop | |||
Haskell tends to suffer from this | 23:12 | ||
you have to be able to name partial ideas without having the whole idea, and trust the future a little | 23:15 | ||
I do realize this seems a bit contradictory to "Perl must know exactly what language it is at every point." :) | 23:18 | ||
so I guess I'm arguing that some of this should be construed as intentional genericity, not accidental | |||
TimToady wonders what Shakespeare would say if you told him people would be setting Romeo and Juliet in a beach town of southern California someday... | 23:20 | ||
if I were him, I'd say, "Of course!" even if it was a lie. :) | 23:21 | ||
so I guess I'd just like to say I don't want Perl to become a brittle language | 23:22 | ||
TimToady gets off his soapbox, at least temporarily... | 23:23 | ||
diakopter | Shakespeare would first have to be taught extensively about southern California | 23:24 | |
23:24
tokuhiro_ left
|
|||
TimToady | and it's so hard to teach 400-year-olds anything... | 23:25 | |
23:25
tokuhiro_ joined
|
|||
diakopter | I wonder if his English sounded anything like our English | 23:26 | |
hm, I guess it wasn't *that* long ago | |||
23:29
Circlepuller joined
23:32
Circlepuller_ left
|
|||
sorear | consider the extent to which modern German sounds like modern English | 23:32 | |
then divide those differences by about 4 | |||
23:38
xinming_ joined
23:40
yarp joined
23:41
xinming left
|
|||
Juerd | I had weird screen(1) issues on feather. Perhaps they were related to the Debian upgrade that was done recently by moritz++ | 23:43 | |
Fortunately there's a nice tool, reptyr, that I could use to move irssi to a new screen session. In case you need it too, it's in ~juerd/reptyr. | 23:44 | ||
23:51
Circlepuller_ joined
23:54
Circlepuller left
|