»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by lichtkind on 5 March 2010. |
|||
00:06
mjk joined
00:09
quietfanatic left
00:12
snarkyboojum left,
lest_away is now known as lestrrat
00:14
snarkyboojum joined
00:17
mjk left
|
|||
lichtkind | thanks | 00:18 | |
00:19
meppl left
00:38
payload joined
|
|||
cj | can someone recommend a book or document on compiler engineering? | 00:39 | |
m-locks | A. Aho, R. Sethi, J. Ullman: Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1986. | 00:42 | |
cj | thanks, m-locks | ||
m-locks | np | ||
diakopter | cj: PLP3 (Programming Language Pragmatics 3rd edition) | 00:44 | |
cj | m-locks: you prefer the first edition? | ||
diakopter | five stars | ||
cj | thanks, diakopter :) | ||
m-locks | they seem to have lotsa additional materials, PLP CD and stuff | 00:46 | |
00:48
kfo left
00:56
colomon joined
00:58
xabbu42 left
01:01
snarkyboojum left
01:11
payload left
|
|||
colomon | rakudo: my Int $x = Mu; | 01:11 | |
p6eval | rakudo b348b3: OUTPUT«Type check failed for assignmentcurrent instr.: '&die' pc 16803 (src/builtins/Junction.pir:347)» | ||
01:16
jaldhar left
|
|||
pugssvn | r29950 | colomon++ | [t/spec] Fudge S14-roles/basic.t (some very disturbing errors here). | 01:19 | |
01:19
jaldhar joined
01:22
wknight8111 joined
01:24
lestrrat is now known as lest_away
|
|||
pugssvn | r29951 | lwall++ | [S32/IO.pod] put back :s, remove :z, :T, :B, :M, :A, :C | 01:42 | |
r29951 | note that these all end up calling methods on IO, not strings | |||
01:48
dual left
|
|||
k23z__ | can I get a rakudo commit bit ? | 01:48 | |
I'm wsdookadr on github | |||
dalek | kudo: 974d9a8 | (Solomon Foster)++ | t/spectest.data: Turn on S14-roles/basic.t. |
01:49 | |
diakopter | k23z__: I think they want an individual to build up a history of submitting good patches before one gets one of those | 01:50 | |
k23z__ | ah ok sorry | ||
can I write some tests for Perl6 ? | |||
01:50
quietfanatic joined
|
|||
diakopter | yes :) | 01:50 | |
you can have a commitbit to pugscode | 01:51 | ||
k23z__ | what tests could I write and what would I need ? (I have a compiled rakudo right here) | ||
diakopter | if you don't have one already | ||
the tests are stored in pugscode svn | |||
re "what tests could I write", that's a difficult question | 01:52 | ||
it requires a certain familiarity with the language, or a precise reading of the Synopses (the language specification) | 01:53 | ||
really, both | |||
colomon | Though you don't need to read the full spec, by any means -- just find a nice corner of it. | ||
diakopter | and a knowledge of how the test suite is organized, so you can determine that the feature for which you're considering writing tests hasn't already been thoroughly covered. | 01:54 | |
k23z__ | do you have guides for new devs ? | 01:58 | |
so the road is read the synopsis, the perl6 book on github -> write tests ? | 02:00 | ||
diakopter | depends from where you're coming, and where you think you're going. :D (what languages you've used previously; what kinds of software you expect to write) | ||
Perl 5 experience might help; it might not. The changes/additions (from 5->6) are numerous and varied in size (small,large) enough that existing Perl knowledge might hinder, since it might be more difficult to keep the languages distinct in your mind. | 02:02 | ||
that's the case for me, anyway. It seems that those who have a thorough mastery of Perl 5 have a much easier time keeping them straight than someone like me, who isn't a Perl 5 expert. | 02:04 | ||
TimToady | we all already know where Perl 5 ought to be different :) | 02:05 | |
course, there are still parts of Perl 6 that ought to be different (I'm looking at you IO.pod) | 02:07 | ||
diakopter | k23z__: msg TimToady with your desired username & email address for pugscode svn (if you don't already have an account and you want to commit to the spec/testsuite) | 02:08 | |
I seem to have forgotten my commitbit password, otherwise I would add it | 02:09 | ||
02:10
wknight8111 left
|
|||
TimToady | do you still have a mail account at veradox? | 02:11 | |
02:14
_jaldhar joined
|
|||
diakopter | ohhh that's the username | 02:14 | |
02:18
jaldhar left
|
|||
diakopter considers how to design an API for codegen routines that generate codegen routines | 02:26 | ||
02:31
lue joined
|
|||
lue | oi! | 02:32 | |
02:33
lichtkind left
|
|||
lue | ...chirp | 02:43 | |
colomon | hey all. | ||
PerlJam | greetings colomon | 02:44 | |
lue | hello o/ | ||
colomon | submethods.t defines two classes in a... closure? in braces. | ||
lives_ok { | |||
class Foo { has $.foo_build; submethod BUILD() { $!foo_build++ } } | |||
class Bar is Foo { has $.bar_build; submethod BUILD() { $!bar_build++ } } | |||
}, "class definitions were parsed/run/compiled"; | |||
when the tests try to use those classes, they're not there. | 02:45 | ||
any clue if they should be? Or are they local to those brackets? | |||
lue | maybe because it's contained in the braces. That's my first guess :) | ||
PerlJam | classes used to be package-scoped and I think they're lexical by default now. | ||
colomon | (If I take the braces away, the next twenty tests run fine...) | ||
PerlJam | (check the spec obviously :) | 02:46 | |
02:46
szabgabx left
|
|||
PerlJam | oh no, they're still package scoped (or should be) | 02:48 | |
S12:109 | |||
02:50
chenfengyuan joined
|
|||
diakopter | std: package bar { class baz { class foo { }; say foo; }; say foo; } | 02:50 | |
p6eval | std 29951: OUTPUT«Undeclared routine: 'foo' used at line 1ok 00:01 105m» | ||
02:50
chenfengyuan left
|
|||
diakopter | chenfengy didn't like what p6eval had to say | 02:50 | |
lue | how would you tell if a number is odd or even? | ||
02:50
szabgabx joined
|
|||
m-locks | even: number % 2 == 0 | 02:51 | |
TimToady | % or !% | ||
colomon | PerlJam: adding our doesn't even help. | ||
diakopter | TimToady: see p6eval above | ||
(I don't know whether that's correct) | 02:52 | ||
lue | rakudo: say 15 % 2 == 0 | ||
p6eval | rakudo 974d9a: OUTPUT«0» | ||
colomon | rakudo: { class Foo { method bar() { say "bar"; }; }; }; my $a = Foo.new; $a.bar | ||
PerlJam | lue: you monkey patch .odd and .even methods :) | ||
p6eval | rakudo 974d9a: OUTPUT«Could not find non-existent sub &Foocurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
TimToady | rakudo: say 15 !% 2 | ||
p6eval | rakudo 974d9a: OUTPUT«Confused at line 11, near "say 15 !% "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | those are supposed to exist!? | ||
TimToady | alpha: say 15 !% 2 | 02:53 | |
p6eval | alpha 30e0ed: OUTPUT«0» | ||
diakopter | alpha: say 15 % 2 ?? "odd" !! "even" | 02:54 | |
TimToady | class foo is visible only inside baz | ||
p6eval | alpha 30e0ed: OUTPUT«odd» | ||
diakopter | oh | ||
PerlJam | Hmm. .odd is actually mentioned in S04:332 | ||
lue | alpha: say 15.odd | ||
TimToady | std: package bar { class baz { class foo { }; say foo; }; say baz::foo; } | ||
p6eval | alpha 30e0ed: OUTPUT«Method 'odd' not found for invocant of class 'Int'in Main (file src/gen_setting.pm, line 324)» | ||
std 29951: OUTPUT«ok 00:01 105m» | |||
PerlJam | I guess I'm not the only one who channels his inner ruby programmer occasionally. | ||
TimToady | std: package bar { class baz { class foo { }; say foo; }; say bar::baz::foo; } | ||
p6eval | std 29951: OUTPUT«ok 00:01 105m» | 02:55 | |
diakopter | std: package bar { { class foo { }; say foo; }; say foo; } | ||
p6eval | std 29951: OUTPUT«ok 00:02 105m» | ||
03:02
stephenlb left
03:03
new_perl6_hacker joined
|
|||
TimToady | it's quite ironic that when an Olympic skier falls on the course, it's called DNF | 03:04 | |
m-locks | haha | ||
03:05
lest_away is now known as lestrrat
|
|||
new_perl6_hacker | How does rakudo diffrentiate between a $string = "some string" and $code = "Code inside a string" | 03:05 | |
m-locks | well gotta sleep, gn y'all | ||
colomon | o/ | 03:06 | |
new_perl6_hacker | @m-locks its morning here | ||
k23z__ | !tell garu test | ||
m-locks | it's 5am, about my bedtime ;P | ||
new_perl6_hacker | Good night | ||
TimToady | I have to get up at 5am to see if I'm in a panel discussion... | ||
Tene | new_perl6_hacker: rakudo does not differentiate at all. Strings are strings, and there's no type for "a string that happens to incidentally look like Perl 6 code". | 03:07 | |
m-locks | yoink -> | ||
colomon | new_perl6_hacker: but if you have { } inside a double-quote string, it is executed and the result inserted into the string. | ||
PerlJam | new_perl6_hacker: what makes you think rakudo does differentiate those things? | ||
colomon++ ah, good point | 03:08 | ||
lue | I was going to program a little something featured in today's XKCD comic (xkcd.com/710/), but I think programming .odd and .even first'd be more fun | ||
(and in P6 this time) | |||
new_perl6_hacker | @PerlJam how will then find what methods I can invoke on strings and what methods I can invoke code objects | ||
Tene | lue: make sure you generate graphviz output so you can graph your results. :) | 03:09 | |
new_perl6_hacker: the same way you discover what methods you can invoke on any type. | |||
PerlJam | rakudo: "string".^methods.sy | ||
er ... | |||
rakudo: "string".^methods.say | |||
p6eval | rakudo 974d9a: ( no output ) | 03:10 | |
rakudo 974d9a: OUTPUT«maximum recursion depth exceededcurrent instr.: 'perl6;Seq;!fill' pc 13790 (src/builtins/Multi.pir:22)» | |||
Tene | rakudo: {say "hi"}.^methods.perl.say | ||
p6eval | rakudo 974d9a: OUTPUT«maximum recursion depth exceededcurrent instr.: 'perl6;Seq;!fill' pc 13790 (src/builtins/Multi.pir:22)» | ||
Tene | ah, looks like that's broken ATM | ||
alpha: {say "hi"}.^methods.perl.say | |||
p6eval | alpha 30e0ed: OUTPUT«[{ ... }, { ... }]» | ||
PerlJam | heh | ||
Tene | anyway, it's in the class. | ||
lue | graphviz...? | ||
PerlJam | alpha: "String".^methods.say | ||
p6eval | alpha 30e0ed: | ||
..OUTPUT«sprintfScalarComplexStrpredsuccencodeperlACCEPTSWHICHatanminacosmaxbytesevalchopsinrindextanhIntvaluesasinhacosechabsendceilingp5chompkeyskvfloorasechordcapitalizepickroundevalfileintsplitmatchacoshwordsp5choplcjoinsinhcotanacotanatan2reducesrandtrimasecreversecotanhisapolar:d:eucf… | |||
PerlJam | alpha: "String".^methods.join(" ").say | 03:11 | |
p6eval | alpha 30e0ed: OUTPUT«encode succ WHICH ACCEPTS perl sprintf Scalar Complex Str pred map :d cis :e :f log sech log10 min rand max :l truncate bytes sort sin sqrt asin Int cosh :s grep asinh acosech abs end uc ceiling p5chomp samecase floor substr asech ord round flip does int split match acosh | ||
..acosec wo… | |||
Tene | lue: graphviz.org/ | ||
lue: a simple text format for describing and rendering graphs. | |||
03:12
athenot left
|
|||
new_perl6_hacker | And I will be able to execute that as &"string" or $string = "some code" ; &$string | 03:12 | |
TimToady | not like that | 03:13 | |
Tene | lue: upload.wikimedia.org/wikipedia/comm...0-no27.svg looks like it was generated with graphviz. | ||
new_perl6_hacker: if you have code in a string that you want to execute, you'll need to use the 'eval' function, which invokes the compiler on the text. | |||
TimToady | you have to work harder to do symbolic lookups in Perl 6 | ||
but then there's no strict refs anymore | 03:14 | ||
new_perl6_hacker | Then all strings must ideally have 'eval' invokable on them | 03:15 | |
TimToady | eval is never ideal :) | ||
lue | Tene: aah. I thought you were talking about P6 testing results :) | ||
Tene | new_perl6_hacker: That's completely true, in exactly the same way as "all files can have the perl6 compiler run on them" | 03:16 | |
new_perl6_hacker | @tene , @TimToady thanks, got it now | 03:17 | |
lue .oO(bah. I wish I could upload whatever to wordpress.com . That'd make my life easier...) | |||
Tene | new_perl6_hacker: No problem. Was there a specific task you were trying to perform or problem you were trying to solve, or just general curiosity? | 03:18 | |
new_perl6_hacker | I was looking at metaprogramming aspects | ||
reflection basically | 03:19 | ||
PerlJam | alpha: my @a = "a".."z"; @a."join"(" ")."say" # :) | ||
p6eval | alpha 30e0ed: OUTPUT«a b c d e f g h i j k l m n o p q r s t u v w x y z» | ||
new_perl6_hacker | But the example quoted by PerlJam earlier didn't show a 'eval' method, is that in the base class of string | 03:20 | |
Tene | You keep talking about classes. It's a function, not a method. | 03:21 | |
PerlJam | new_perl6_hacker: What other languages are you familiar with? | ||
new_perl6_hacker | Ruby and Python | ||
colomon | Tene: I think we added an eval method a while back, too. | 03:22 | |
PerlJam | I was getting a strong ruby vibe from you :) | ||
03:22
mj41_ joined
|
|||
PerlJam | (either that or smalltalk or something, but those are rared) | 03:22 | |
er, rarer | |||
03:23
mj41 left,
mj41_ is now known as mj41
|
|||
new_perl6_hacker | I think I'm getting confused, because I'm thinking everything from OOperspective . | 03:23 | |
colomon | rakudo: "say 'hello'".eval | ||
p6eval | rakudo 974d9a: OUTPUT«hello» | ||
PerlJam | alpha: "blah".^methods.map(*.name).sort.join(" ").say | 03:24 | |
p6eval | alpha 30e0ed: OUTPUT« :d :e :f :l :s ACCEPTS Array BUILD BUILDALL CREATE Capture Complex Hash Int Iterator PARROT REJECTS Scalar Scalar Str Str WALK WHENCE WHERE WHICH WHICH abs acos acosec acosech acosh acotan acotanh asec asech asin asinh atan atan2 atanh bless bytes can capitalize ceiling chars | ||
..cho… | |||
PerlJam | alpha: "blah".^methods.map(*.name).grep({ $_ ~~ /^e/ }).join(" ").say | ||
p6eval | alpha 30e0ed: OUTPUT«encode eval elems evalfile exp end eigenstates» | ||
PerlJam | there you go | 03:25 | |
Tene | alpha: say "foo".^can('eval') | 03:26 | |
p6eval | alpha 30e0ed: OUTPUT«eval» | ||
Tene | alpha: say "foo".^can('eval').WHAT | ||
p6eval | alpha 30e0ed: OUTPUT«» | ||
PerlJam | hmm | 03:28 | |
why did WHICH appear in the list twice? | |||
and Scalar and Str | |||
lue | there's a WHENCE option? (001 ! | 03:30 | |
rakudo: say 4.WHENCE | |||
p6eval | rakudo 974d9a: OUTPUT«» | ||
PerlJam | lue: WHENCE autovivifies an object | 03:31 | |
it's a closure from whence the object cometh | |||
lue | 'tis a closure whencefrom thy object cometh. (Old English translation free of charge :D ) | 03:34 | |
new_perl6_hacker | :) just got a feeling that all programs(The mail program) go into a eval function inside the compiler. | 03:36 | |
*The main program* | 03:37 | ||
Tene | That's right. | ||
The compiler reads the program text into a string, invokes the compiler on it to get back a Code object, and then invokes that Code object. | |||
new_perl6_hacker | This is great, so we basically have a compiler which we can use any where inside our program. This is a killer feature :) | 03:38 | |
lue | Our main goal is having the P6 interpreter run itself (be written in P6 code). | 03:40 | |
The key, IMO, is recursive definition :) | |||
TimToady | well, it was a killer feature in Perl 3 or so | ||
colomon | and in Lisp, Ruby, etc. | 03:41 | |
still, it's an awesome feature. | |||
TimToady | but usually it's an escape valve indicating a missing feature elsewhere | ||
we treat BEGIN the same say | 03:43 | ||
03:43
Sarten-X joined
|
|||
PerlJam | Why do we think all languages must be self-describable? | 03:44 | |
TimToady | and eval, in general, opens you up to all sorts of security problems, just like SQL injection | ||
xkcd.com/327/ | 03:46 | ||
lue | TimToady: love that one :) | 03:48 | |
TimToady | PerlJam: we don't, just the good ones. | 03:49 | |
I blame Gödel... | |||
PerlJam | and Escher and Bach ;) | ||
lue | Don't forget Thought. That guy takes forever to figure things out. :) | 03:50 | |
.xkcd(fun with chess: xkcd.com/249/) | 03:52 | ||
rakudo: say chr(0xFDD0) | 03:54 | ||
p6eval | rakudo 974d9a: OUTPUT«» | ||
lue | .u � | ||
phenny | U+FFFD REPLACEMENT CHARACTER (�) | ||
PerlJam | you could do a good meta comic on photoshopping the chess board in that one | ||
TimToady | don't photoshop the chess board, just photoshop me into xkcd :) | 03:55 | |
lue | WIN! (quick, somebody get Larry's head off of Yahoo Images!!!) | 03:57 | |
colomon | Woah, I knew the Gathering was in process, but I didn't know someone had already taken Larry's head! | 03:58 | |
lue | xkcd.com/365/ yet another conference the poor guy can't go to :) | ||
03:59
rgrau left
|
|||
lue | I think XKCD ought to do a comic about Perl for once (with guest appearance by TimToady of course :) ) | 04:01 | |
colomon | what do you mean "for once"? There are at least two classic comics about Perl. | ||
I have the t-shirt for one... | 04:02 | ||
PerlJam | colomon: yeah, but one of them is called "lisp" | ||
lue | I honestly cannot remember if there werl Perl comics on XKCD :) | ||
s/werl/were/ | |||
colomon | xkcd.com/224/ | 04:03 | |
xkcd.com/208/ | |||
new_perl6_hacker | If an exception happen inside an eval, should the main program see it? | 04:04 | |
TimToady | no, it's trapped in $! | ||
lue | according to number 224, Larry has tight (if possibly indirect) connections with God (all hail!) | 04:06 | |
04:06
rv2733 left
|
|||
lue | .xkcd(xkcd.com/18/ we need more of these jokes) | 04:07 | |
lue will paste a bunch of xkcd comic links to pastebin instead of flooding the channel | 04:09 | ||
lisppaste3 | lue pasted "XKCD comic links" at paste.lisp.org/display/95996 | 04:21 | |
04:22
justatheory left
04:23
mj41 left,
mj41_ joined
04:24
mj41_ is now known as mj41
|
|||
lue | heelooo-oooh | 04:42 | |
04:44
rv2733 joined
04:45
abra joined
04:46
lestrrat is now known as lest_away
|
|||
lue | saluton? Hello? Bonjour? anyone? | 04:56 | |
TimToady is hiding behind a cricket | 04:59 | ||
lue | ah, that's where you are. | 05:01 | |
05:11
quietfanatic_ joined
|
|||
new_perl6_hacker | What is the maximum value of anything Inf can hold? | 05:12 | |
diakopter | -Inf | ||
TimToady | how much memory do you have? | 05:13 | |
05:13
quietfanatic left
|
|||
new_perl6_hacker | :) | 05:13 | |
lue | rakudo: say 0..3; say [0,3]; say [0,4) | ||
diakopter sprixels along | |||
p6eval | rakudo 974d9a: OUTPUT«Confused at line 11, near "say [0,4)"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | .oO(interval notation would be interesting for the "official P6 module" (as well as set-builder, possibly)) |
05:14 | |
TimToady | no need | ||
0..^4 is already there | |||
and doesn't use up two (count 'em *two*) brackets | 05:15 | ||
lue | ah well, that's why I didn't say "...interesting project for implementation in Rakudo" :) | ||
TimToady | mathematicians do many unforgiveable things as far as computers are concerned, and that's one of 'em | 05:16 | |
lue | rakudo: say 0..Inf | ||
p6eval | rakudo 974d9a: ( no output ) | ||
lue | rakudo: say 0..^Inf | ||
p6eval | rakudo 974d9a: ( no output ) | 05:17 | |
TimToady | rakudo: say (0..Inf).batch(10) | ||
p6eval | rakudo 974d9a: OUTPUT«Method 'batch' not found for invocant of class 'Range'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
TimToady | rakudo: say (0..Inf).iterator.batch(10) | ||
p6eval | rakudo 974d9a: OUTPUT«0123456789» | ||
TimToady | oughta do that automatically, methinks | ||
rakudo: say (0...*).batch(10) | 05:18 | ||
p6eval | rakudo 974d9a: OUTPUT«0123456789» | ||
TimToady | that one works | 05:19 | |
lue | I can't help but think about the possibility of built-in SDL/OpenGL support (thru Parrot). The upside is that it'd be a MAJOR perk over other languages. | ||
The downside is probable bloatedness | |||
new_perl6_hacker | diakopter why does perlcabal.org/~fglock/perlito.html give an error message to say 'hello,word!'; | 05:20 | |
japhb | lue: OpenGL support is just waiting on Tene to reenable the 'use OpenGL:from<parrot>;' notation (lost during the branch switch). kthakore++ is working on SDL | 05:21 | |
lue | \o/ Get ready for the flood of awesome (no doubt to be recorded by XKCD ;) ) | 05:22 | |
Tene | japhb: I've currently got nothing scheduled tomorrow. I'll try to fit it in then. | ||
japhb: although I should probably also look at the pcc refactor branch. | |||
japhb | Tene, \o/ | ||
aww. I hate tuit conflicts. :-/ | 05:23 | ||
lue | I got a Norweigan Blue Parrot for the occasion (of OpenGL/SDL implementation) :) | 05:24 | |
japhb | :-) | ||
Tene | japhb: with any luck, I'll feel conflicted and not work on either of them. :) | ||
japhb | :-P | ||
lue | Beautiful plumage, the Norweigan Blue. | 05:25 | |
japhb | Just to make you feel guilty, I'm writing WebGL code in JavaScript, because I can't have my OpenGL in Perl 6. | ||
That reminds me, I need to throw some tuits at plumage | |||
lue | Tene: if you don't work on anything parrot-related (due to conflict), then you're the pet shop owner :) | 05:26 | |
05:38
gfx joined
|
|||
new_perl6_hacker | Is perlcabal.org/~fglock/perlito.html the sprixel project? | 05:44 | |
TimToady | no | 05:46 | |
lue | goodbye, see you during the hackathon tomorrow | 05:49 | |
06:08
athenot joined
06:12
perlster joined
06:15
perlster left
06:30
quietfanatic_ left
06:33
quietfanatic joined
06:42
athenot left
07:05
arlinius left,
szabgabx left
07:24
aesop left
07:38
new_perl6_hacker left
07:53
uniejo joined
|
|||
uniejo | All Perl6 speaks today are moved into room 4A16 | 07:54 | |
07:55
aesop joined
08:06
abra left
08:07
gfx left
08:10
jonasbn joined
08:16
new_perl6_hacker joined
08:41
meppl joined
08:43
iblechbot joined
09:06
Su-Shee joined
09:17
krakan left
09:18
uniejo left
09:20
uniejo joined
|
|||
k23z__ | err .. | 09:32 | |
room 4A16 ? | |||
09:33
kfo joined
09:35
arlinius joined
|
|||
arnsholt | k23z__: That's where we are, yes | 09:35 | |
The Copenhagen hackathon =) | 09:36 | ||
Su-Shee | good morning | 09:37 | |
arnsholt | 'morning Su-Shee | ||
k23z__ | hmm | 09:38 | |
09:40
iblechbot left
09:45
cotto left
09:51
mberends joined
|
|||
jonasbn | k23z__: where are you at? | 09:52 | |
k23z__: did you make it here or do you require guidance? | 09:53 | ||
mberends | heehee, the Copenhagen Perl 6 Hackathon has a good turnout, about 25 people :-) | ||
jnthnandmasakbot++ is giving what would have been moritz_++'s grammar and regex talk | 09:56 | ||
Su-Shee | 25 people? nice. you can do a lot with 25 people in 48 hours. | 09:57 | |
mberends | Yet Another Example of JIT talk preparation | ||
baest | :) | 09:58 | |
jonasbn | Su-Shee: we are not contribution right now, we are in the brainwash phase | ||
contributing even | |||
10:00
cotto joined,
xabbu42 joined
10:04
payload joined
10:05
rv2733 left
|
|||
Su-Shee | well I hope you've got fun and it's a great weekend. :) | 10:08 | |
mberends | :) | 10:09 | |
k23z__ | jonasbn: sorry for confusing you, I am not there , I am maybe 2000km away | 10:18 | |
10:21
rv2733 joined
10:26
orafu left,
orafu joined
10:30
new_perl6_hacker left,
pochi left
10:32
eternaleye left
10:35
lest_away is now known as lestrrat
10:42
eternaleye joined
10:47
fridim joined
10:48
xinming_ joined
10:51
krr joined
10:52
xinming left
10:56
uniejo left
|
|||
jonasbn | ah | 10:57 | |
hehehe | |||
lisppaste3 | baest pasted "Patch which ensures === returns bool not int" at paste.lisp.org/display/96001 | ||
10:57
jonasbn left
|
|||
baest | based on github.com/rakudo/rakudo/commit/d4b...55845517e5 and github.com/rakudo/rakudo/commit/fd2...7e10487525 | 10:58 | |
10:59
fod joined,
fod left
|
|||
mberends | nom & | 11:02 | |
11:03
mberends left
11:06
Su-Shee left
11:12
z3ndrag0n joined
11:30
kidd joined
11:36
payload left
11:43
uniejo joined,
cognominal left,
snarkyboojum joined
11:46
fridim left
11:49
Su-Shee joined
11:51
clintongormley joined
11:56
snarkyboojum_ joined
11:57
snarkyboojum left,
snarkyboojum_ is now known as snarkyboojum
11:59
krr left
12:03
masak joined
|
|||
masak | oh hai from Copenhagen, #perl6! | 12:03 | |
arnsholt | Oh hai from the next row, masak! | ||
12:04
quester joined,
mberends joined
|
|||
masak | mberends: lol I can see you both on- and offline! :D | 12:05 | |
jnthn++ is on now, by the way. | |||
giving his famous "solved in Perl 6" talk. | |||
mberends | masak: stop chattering and pay attention to the talk! | 12:06 | |
masak obliges :) | 12:07 | ||
12:07
cognominal joined,
payload joined
12:08
payload left
|
|||
Su-Shee | oO(live from the benches in copenhagen.. ;) | 12:09 | |
12:09
payload joined
|
|||
arnsholt | Su-Shee: Peanut gallery, more like ;) | 12:09 | |
pugssvn | r29952 | mberends++ | [docs/talks/p6.imp.2010.03.odp] slides of "Perl 6 Implementations in March 2010" from the Dutch Perl Workshop and the Copenhagen Perl 6 Hackathon 5th and 6th March 2010 (OpenOffice Presentation format) | 12:10 | |
ned | so jealous. | 12:13 | |
colomon | o/ | 12:23 | |
12:30
wknight8111 joined
|
|||
quester | rakudo: augment class Int { method even { ? ( self % 2 ) } }; 42.even.say; | 12:33 | |
p6eval | rakudo 974d9a: OUTPUT«Method 'even' not found for invocant of class 'Integer'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
quester | rakudo: augment class Integer { method even { ? ( self % 2 ) } }; 42.even.say; | ||
p6eval | rakudo 974d9a: OUTPUT«Can't augment something that doesn't existcurrent instr.: 'perl6;Perl6;Grammar;add_name' pc 34122 (src/gen/perl6-grammar.pir:242)» | ||
quester wonders what class 42 really is... | 12:34 | ||
masak | my talk is online now. it's linked at the bottom of feather.perl6.nl/~masak/ | 12:35 | |
thanks to all the people on the channel who helped yesterday with the slides :) | 12:36 | ||
mberends | rakudo: say 42.WHAT # for quester | ||
p6eval | rakudo 974d9a: OUTPUT«Int()» | ||
colomon | rakudo: say PARROT(42) | 12:37 | |
p6eval | rakudo 974d9a: OUTPUT«Integer» | ||
colomon | rakudo: say PARROT(1+41) | ||
p6eval | rakudo 974d9a: OUTPUT«Integer» | ||
arnsholt | Ah, there are some issues with augmenting classes that come from Parrot, no? | ||
colomon | Might be more accurate to simple say there are issues with classes that come from Parrot. | 12:39 | |
I don't know if the augmenting is bad too or just a window into the problems. | |||
masak | the latter, methinks. | 12:40 | |
quester | mberends, colomon, masak: I think I've seen augments in some of the Rakudo internals. Hmm... can anyone suggest a good way of converting Integer to Int offhand? | 12:41 | |
masak | quester: what you're seeing is some kind of Parrot/Rakudo discrepancy that shouldn't really be visible. | 12:42 | |
colomon | rakudo: say pir::box__PI(42) | ||
p6eval | rakudo 974d9a: OUTPUT«42» | ||
colomon | rakudo: say PARROT( pir::box__PI(42)) | 12:43 | |
p6eval | rakudo 974d9a: OUTPUT«Integer» | ||
colomon | blast, that doesn't help. | ||
quester | rakudo: pir::box__PI(42).perl.even.say; | ||
p6eval | rakudo 974d9a: OUTPUT«Method 'even' not found for invocant of class 'String'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
quester ...String...? | 12:44 | ||
colomon | .perl returns Str | ||
well, String maybe. | |||
you're finding all the cracks this morning. | |||
quester | colomon: Thank you. Brain fail. | ||
colomon | and my fuddled brain isn't remembering how to work around them. | ||
masak | quester: 'String' is also a Parrot type. | 12:45 | |
quester | rakudo: "42".even.say; | 12:46 | |
p6eval | rakudo 974d9a: OUTPUT«Method 'even' not found for invocant of class 'Perl6Str'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
12:46
iblechbot joined
|
|||
quester | masak: Isnt Perl6Str supposed to be, um... hiddien away inside of Rakudo, too? | 12:47 | |
uniejo | rakudo: say (+pir::box__PI(42)).WHAT | ||
quester | s/hiddien/hidden/ | ||
p6eval | rakudo 974d9a: OUTPUT«Num()» | ||
masak | quester: yes, I think so. | ||
quester: sometimes error messages leak through. | |||
colomon | rakudo: say PARROT(42.Num.Int) | 12:48 | |
p6eval | rakudo 974d9a: OUTPUT«Int» | ||
colomon | aha! | ||
rakudo: augment class Int { method even { ? ( self % 2 ) } }; 42.Num.Int.even.say 41.Num.Int.even.saty | 12:49 | ||
p6eval | rakudo 974d9a: OUTPUT«Confused at line 11, near "42.Num.Int"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
masak | copypaste fail. | ||
colomon | rakudo: augment class Int { method even { ? ( self % 2 ) } }; 42.Num.Int.even.say; 41.Num.Int.even.say; | ||
p6eval | rakudo 974d9a: OUTPUT«01» | ||
TimToady | good morning | ||
colomon | So augment works, but .even is backwards. | ||
TimToady: o/ | |||
TimToady | who's winning? | ||
pmichaud | hello, #perl6 | 12:50 | |
colomon | \o | ||
masak | pmichaud! \o/ | ||
TimToady | hah, I beat pmichaud | ||
quester | colomon: Thank you. Err... yes, that would be another brain failure on my part, sorry... | ||
masak | pmichaud, TimToady: all the peeps here say OH HAI | ||
you'll soon be on-screen, I expect. | |||
pmichaud | OH HAI PEEPS! | ||
TimToady | OH HAI PEEPS!!! | ||
pmichaud | (hah, I beat TimToady) | 12:51 | |
TimToady | hah, beat pmichaud++ again on !!! | ||
masak | :) | ||
jnthn | oh hai | ||
masak | not on-screen yet. :) | ||
TimToady | aww | ||
masak | now! | ||
colomon | oh, no, am I going to have to behave this morning? | ||
pmichaud | OH HAI PEEPS!!! | ||
masak | *lol* | ||
colomon | o/ | ||
jnthn | :-) | ||
masak | so in a sense, we're a lot more than three people who are able to answer panel questions... | 12:52 | |
TimToady | but correctly, that's another matter... | ||
masak | *lol* twitter.com/Jippi/status/10071258756 | 12:55 | |
12:55
jonasbn joined
|
|||
jonasbn | twitter.com/Jippi/status/10071258756 | 12:55 | |
argh masak beat me to it | 12:56 | ||
TimToady | Perl 6 is trying to beat everyone to everything, more or less... | ||
jonasbn | so actually the only scary thing is the high chance of success | 12:57 | |
pmichaud | I _wish_ that were the only scary thing :) | 12:58 | |
TimToady | jnthn++ is always scary | ||
jnthn | ..compliment? :-) | 12:59 | |
.oO( well, at least I got karma... ) |
|||
masak | jnthn++ # scary! | ||
mberends | jnthn ~~ scary # True | 13:00 | |
TimToady | rakudo: say "scary" but True | 13:01 | |
p6eval | rakudo 974d9a: OUTPUT«No applicable candidates found to dispatch to for 'infix:<does>'current instr.: 'infix:<but>' pc 226837 (src/gen/core.pir:2921)» | ||
TimToady | alpha: say "scary" but True | ||
p6eval | alpha 30e0ed: OUTPUT«The but operator can only be used with a role or enum value on the right hand sidein Main (file <unknown>, line <unknown>)» | ||
TimToady | well, at least it's a different error now... | ||
or, maybe, it was a different error then... | 13:02 | ||
colomon | Ah, Bool's not an Enum yet because Enums don't actually work yet, right? | 13:06 | |
masak | when I write 'our sub foo', the scope of the parameters in the signature of foo is a global scope rather than a lexical scope, yes? | ||
TimToady | uh, no | ||
only 'foo' is aliased | |||
masak | so, how about this? | 13:07 | |
rakudo: my $a = 1; sub foo() { my $a = 2; our sub bar($x where $a) { say $x } }; bar(1); bar(2) | |||
p6eval | rakudo 974d9a: OUTPUT«1Constraint type check failed for parameter '$x'current instr.: 'bar' pc 255 (EVAL_1:102)» | ||
TimToady | looks like it's getting the wrong $a to me | 13:09 | |
masak submits rakudobug | |||
TimToady | ($a isn't a parameter though) | ||
pmichaud | sub foo() { my $a = 2; our sub bar($x where $a) { say $x } }; bar(2); | 13:10 | |
rakudo: sub foo() { my $a = 2; our sub bar($x where $a) { say $x } }; bar(2); | |||
p6eval | rakudo 974d9a: OUTPUT«Symbol '$a' not predeclared in barcurrent instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
pmichaud | looks like the where clause is attached to the wrong outer scope | ||
TimToady | it does at that | ||
13:11
Zn4rK joined
13:12
kidd left,
kfo left
|
|||
TimToady | std: sub foo() { my $a = 2; our sub bar($x where $a) { say $x } }; bar(2); | 13:12 | |
p6eval | std 29952: OUTPUT«ok 00:01 109m» | ||
TimToady | STD might actually be looking up $a starting inside the inner sub's scope | 13:13 | |
in fact, it has to, in case it's an earlier parameter | |||
masak | nod. | ||
TimToady | std: sub foo() { my $a = 2; our sub bar($x where $x) { say $a } }; bar(2); | ||
p6eval | std 29952: OUTPUT«ok 00:01 107m» | 13:14 | |
pmichaud | I think that rakudo somewhat gets that right already | ||
masak | a parameter list actually introduces a lot of small nested scopes, doesn't it? | ||
pmichaud | rakudo: sub foo($a, $x where $a) { say $x; }; foo(2,2); | ||
p6eval | rakudo 974d9a: OUTPUT«2» | ||
pmichaud | rakudo: sub foo($a, $x where $a) { say $x; }; foo(2,3); | ||
p6eval | rakudo 974d9a: OUTPUT«Constraint type check failed for parameter '$x'current instr.: 'foo' pc 181 (EVAL_1:77)» | ||
TimToady | so it sounds like it's splitting a hair that doesn't need splitting | 13:15 | |
pmichaud | it's just that the scope of the parameter block ends up with the wrong outer, I think | ||
TimToady | I don't have a parameter block, I just use the one that will end up inside {} | ||
Zn4rK | hej niklas | ||
TimToady | scared me, thought it was christmas already | 13:16 | |
frettled | Now that's worrysome. | ||
13:17
frettled sets mode: +o masak
|
|||
masak | jnthn++ mberends++ # you are so awesome | 13:17 | |
pmichaud agrees with masak++ | |||
TimToady | *++ | 13:19 | |
masak | std: *++ | ||
p6eval | std 29952: OUTPUT«ok 00:01 104m» | ||
TimToady | rakudo: say grep *++, 1,2,3 | ||
p6eval | rakudo 974d9a: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&die' pc 16803 (src/builtins/Junction.pir:347)» | ||
masak | that's correct, no? | 13:20 | |
TimToady | rakudo: my @foo = 1,2,3; say grep *++, @foo | ||
p6eval | rakudo 974d9a: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&die' pc 16803 (src/builtins/Junction.pir:347)» | ||
colomon | wait, did that whatever just form a closure in Rakudo? | ||
TimToady | maybe not | ||
pmichaud | no, it's attempting to increment the Whatever constant :-) | ||
TimToady | rakudo: say (*++).WHAT | ||
p6eval | rakudo 974d9a: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&die' pc 16803 (src/builtins/Junction.pir:347)» | ||
pmichaud | rakudo: say (*).WHAT; | ||
TimToady | I think the answer is no | ||
p6eval | rakudo 974d9a: OUTPUT«Whatever()» | ||
pmichaud | rakudo: say (*).succ | 13:21 | |
p6eval | rakudo 974d9a: OUTPUT«!whatever_dispatch_helper» | ||
colomon | rakudo: say (*+1).WHAT | ||
p6eval | rakudo 974d9a: OUTPUT«Method 'Num' not found for invocant of class 'Block'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» | ||
pmichaud | (no, we aren't doing whatever closures just yet) | ||
TimToady | alpha: say (*++).WHAT | ||
p6eval | alpha 30e0ed: OUTPUT«Block()» | ||
TimToady | alpha: my @foo = 1,2,3; say grep *++, @foo | ||
p6eval | alpha 30e0ed: OUTPUT«123» | ||
TimToady | alpha: my @foo = 1,2,3; say grep ++*, @foo | 13:22 | |
p6eval | alpha 30e0ed: OUTPUT«123» | ||
TimToady | alpha: my @foo = 1,2,3; say map ++*, @foo | ||
p6eval | alpha 30e0ed: OUTPUT«111» | ||
TimToady | er... | ||
masak | it's not forming a closure. | ||
that's the whole explanation. | |||
TimToady | alpha: my @foo = 1,2,3; say map +*, @foo | ||
p6eval | alpha 30e0ed: OUTPUT«123» | ||
TimToady | well, gee, the spec generalized it to all unaries and binaries, what, a whole week ago. why isn't it done yet? esp in alpha, that had a month head start... | 13:24 | |
masak | :) | ||
std: * ?? * !! * | |||
p6eval | std 29952: OUTPUT«ok 00:01 105m» | ||
TimToady | but not to ternery :) | ||
colomon | TimToady: should that be all binaries excepting the Range constructors? | ||
TimToady | all ops except those that declare they will do it themselves | 13:25 | |
which Range will | |||
colomon | How do you declare that? | ||
TimToady | proto infix:<..> ($min, $max) is like(Whatever-and-stuff) {...} | 13:26 | |
where "stuff" is WhateverCode | |||
:) | 13:27 | ||
Zn4rK | niklas jag tror i mxE5ste gxE5 | ||
masak | Zn4rK: fel kanal? | ||
TimToady | S02:936 | ||
TimToady wonders if 'fel' is related to olde english 'fell', as in 'a fell beast' | 13:29 | ||
masak checks | |||
'fell' comes from Goth 'falljan', 'to cause to fall'. | 13:30 | ||
oh wait. | |||
that's the verb. | |||
TimToady | to cause jan to fall :) | 13:31 | |
masak | the adjective comes from Old French, nominative of 'felon', wicked. | ||
frettled | masak: so that fell was a FAIL :) | ||
pmichaud | 'felon' vs. 'fallen', I wonder? | ||
TimToady | which might still be related to "fallen" if you go back | ||
where's my AmHer... | |||
masak | Swedish 'fel' ultimately comes from French 'faute', so seemingly not related. | 13:32 | |
arnsholt | Yeah, Norwegian "feil" is ultimately connected with Latin fallere | ||
masak | we also have a verb, 'att fela', meaning 'to err'. | 13:33 | |
colomon | TimToady++ | ||
masak | so it seems to have more to do with failure than falling. | ||
arnsholt | I think the f in falljan would have a different reflex in its Latin cognate | ||
frettled | Rewind: maybe I should've said «that was a fell fel fail» | ||
masak | frettled: :) | ||
so, actually, Lolnglish is sort of reviving the Swedish 'fel' through its 'FAIL'. they even have the same etymological roots. | 13:34 | ||
TimToady | felon was "yellow" or "bile" in I-E | ||
masak | that's wicked, for sure. | 13:35 | |
jnthn | Grr. :-/ So Rakudo won't build on Win 7. :-( | ||
(segfault when loadlib-ing dynops from a PBC...) | |||
colomon | TimToady: back to the whatever closures... if I say something like $a = *+3; $b = $a+2 is that expected to leave $b with { $_ + 5 } effectively? | 13:36 | |
TimToady | good question | 13:37 | |
quester | Well, if you're done with the fell fel fail, I'm going to eat. I'm longing for some imitation Vietnamese noodle soup, off fo' faux pho &. | ||
TimToady | I dunno | 13:38 | |
masak | quester: :) | ||
colomon has been dreaming about math on closures for about ten months now.... ;) | |||
TimToady | 'course, 'round here people pronounce it Vietnamese, which doesn't rhyme | 13:39 | |
13:41
quester left
|
|||
TimToady | if we did, we'd probably have to make Whatever a kind of junctional, outside-of-any type | 13:43 | |
pmichaud | well, that was the reason Rakudo originally came up with WhateverCode -- so that (*+3)+2 would still produce a code object of some sort. | 13:44 | |
TimToady | but instead of autothreading, autocurry | ||
yes, but without writing out the actual subs | |||
13:45
iblechbot left
|
|||
TimToady tries to grok * + (1|2) | 13:45 | ||
masak | o.O | 13:46 | |
pmichaud | alpha: my $a = * + (1|2); say $a(3); | 13:47 | |
p6eval | alpha 30e0ed: OUTPUT«any(4)» | ||
masak | hm. | ||
pmichaud | hm. | ||
TimToady | hm! | ||
hm? | |||
colomon | huh? | ||
pmichaud | alpha: my $a = 3 + (1|2); say $a; | ||
p6eval | alpha 30e0ed: OUTPUT«any(4, 5)» | ||
pmichaud | well, alpha sees * + (1|2) as a junctional dispatch | 13:48 | |
so I'm not sure what ends up in $a | |||
alpha: my $a = * + (1|2); say $a.WHAT; | |||
p6eval | alpha 30e0ed: OUTPUT«Junction()» | ||
pmichaud | so, $a ends up as a junction of WhateverCode, I guess. | 13:49 | |
TimToady | .(3) oughta autothread over that, ya'd think | ||
jnthn | Aye, it'd auto-thread. | ||
13:50
kfo joined
|
|||
TimToady wonders whether Whatever and WhateverCode are really strange parametric junctions... | 13:52 | ||
13:52
Zn4rK left
|
|||
TimToady | what's my brane doing all over the room in bits? | 13:53 | |
masak | we're simultaneously praising and hating {*} and #= right now in Copenhagen... | 13:54 | |
TimToady | #= is already dead, as far as I'm concerned | ||
masak | it's still in S05. | 13:55 | |
pmichaud | yes, it doesn't get used much anymore | ||
jonasbn | that would be undead then | ||
TimToady | hmm | ||
pmichaud | we could likely de-huffmanize #= now that it's less common | ||
masak | yes, please. | ||
pmichaud | i.e., put any parameters as part of the {*} token. | ||
s/parameters/arguments/ | 13:56 | ||
pugssvn | r29953 | lwall++ | [S05] kill {*} and #= | ||
masak | \o/ | ||
pmichaud | oh, is {*} gone? | ||
that may end up being... unfortunate. | 13:57 | ||
although I guess one can always do a direct closure instead. | |||
jnthn | ...grr, that's a pain. | ||
TimToady | the presence of {*} almost always indicates the need to refactor | ||
jnthn | You get away with it in STD because you only care about parsing, not actually Doing Stuff. :-) | ||
TimToady | STD hasn't used {*} for months | ||
masak | TimToady: I like it when you use that kind of phrase ('$X indicates the need to refactor'). there's really no good response to it :) | 13:58 | |
jnthn | We may be able to find another way... | ||
pmichaud | jnthn: we already have another way | ||
TimToady | well, we can still have an action call, but {*} #= won't be it, I suspect | ||
jnthn | pmichaud: well, yes, but I'm lazy :-) | ||
TimToady | see <O()> | ||
oh, I had a problem with <O()> last night, thinking about default parse rules | 13:59 | ||
suppose we make the body of a proto be the default | |||
we get | |||
proto token infix is binary is defequiv(%additive) { <sym> <O(|%additive)> } | |||
masak | 'defequiv'? | 14:00 | |
TimToady | but then the O is wrong if they 'is equiv' it | ||
that's redundant, if we put the <O> | |||
proto token infix is binary { <sym> <O(|%additive)> } | |||
or | |||
proto token infix is binary is defequiv(%additive) { <sym> <O(*)> } | |||
colomon | jnthn: any luck with Hash attributes? | ||
jnthn | colomon: I need to fix Rakudo building here before I can do much :-( | 14:01 | |
TimToady | but still not sure that the body of the proto is the right place for a default "is parsed" | ||
it's a *handy* place tho | |||
jnthn | (Get a segfault) | ||
colomon | jnthn: oh noes! | ||
masak | std: ?( $*RIGHT === $*HANDY ) | 14:02 | |
14:02
new_perl6_hacker joined
|
|||
p6eval | std 29952: OUTPUT«ok 00:01 108m» | 14:02 | |
masak | new_perl6_hacker: welcome back! | ||
14:02
martinro joined
|
|||
masak | martinro: hey :) | 14:02 | |
TimToady | s/new/newish/ | ||
new_perl6_hacker | thanks, I was there this morning ... | ||
colomon | jnthn: I've been messing around a bit with the class and role tests a bit, and there are all sorts of weird little bugs... | ||
jnthn | colomon: Yes. | 14:03 | |
There's a reason a bunch of S12-foo are still commented out. :-) | 14:04 | ||
colomon | jnthn: but I won't bug you with them until you've got a Rakudo build again. :) | ||
jnthn | Yeah...the issue is...nasty. | ||
OH!! | 14:05 | ||
colomon | The problem is you're using Windows? :) | 14:06 | |
masak | colomon: how intolerant! :) | ||
jnthn | IIUC, the problem is that a realloc call is made...and the return value is ignored. | ||
*sigh* | |||
masak | jnthn: so freed memory space is subsequently overwritten? | 14:07 | |
colomon | that seems like a bad thing on any platform? | ||
jnthn | well, the point ain't updated to the new location | ||
colomon: Yes, it is. | |||
C writing fail. | |||
re-compiled Parrot now...maybe it's fixed it. | 14:08 | ||
jnthn crosses fingers | |||
masak | he actually crossed them, too. | ||
colomon | masak: For the record, Windows machines were my primary computers from 1995-2008. But I hated Vista so much I decided to get my first Mac... | ||
jnthn | omg, I think it helped... | 14:09 | |
14:09
new_perl6_hacker left
|
|||
jnthn | colomon: I just stuck with XP. :-) | 14:09 | |
(Until Win7 arrived) | |||
masak | colomon: Software sucks. | ||
arnsholt | jnthn: I knocked on wood earlier today. It triggered my segfault again =) | 14:10 | |
14:10
Patterner left
|
|||
TimToady | my problem on the proto body is that we also currently write the <infix> dispatch using the same name, so we'd essentially be ignoring the given body and substituting the dispatcher, and only using the proto body for the generic 'is parsed' | 14:10 | |
jnthn | OK, I have a patch that fixes my build. I can haz a productive again. | 14:11 | |
colomon | \o/ | ||
TimToady | jnthn++ has a fail fail | ||
14:12
Psyche^ joined
|
|||
masak | no, a fail fail isn't the same thing as fixing something. | 14:12 | |
14:12
Psyche^ is now known as Patterner
|
|||
TimToady | does that make it a fail fail fail? | 14:12 | |
masak | the fail had a fail, possibly. | ||
jnthn | Well, it does now fail to fail. | ||
masak | How much fail would a fail fail fail, if a fail fail could fail fail? | 14:13 | |
TimToady | cheezburgerz | ||
speaking of which, the sky is starting to get light here | 14:14 | ||
m-locks | we needs a LOL version of perl, like that lolpython | ||
masak | didn't quietfanatic do an NCI in Perl 6 at one point? | ||
TimToady: not much of a panel going on here, I'm afraid. | 14:15 | ||
TimToady | yeah, I saw they took the slot for something else | ||
masak | mostly a kind of newbie tutorial. | ||
pmichaud | (newbie tutorial) +1 | ||
TimToady | ISFINE | ||
pmichaud | that was what I had been planning for my slot anyway | ||
masak | right now jnthn++ and mberends++ are doing the best to scare the newbies away by explaining their scary/awesome NCI code. :) | 14:16 | |
m-locks | heh | ||
TimToady | was planning to spend the weekend several TZ to the east of here anyway, so as not to miss all the hackathon | ||
pmichaud | same here | ||
(still planning to do that) | |||
TimToady | luv 2 scare dey little newbies way | 14:17 | |
m-locks | i've been translating those tutorials moritz__ and lichtkind have written, at least i can read them quite easily | ||
colomon | I ended up with a very busy day scheduled for tomorrow, alas -- playing music for two church services in the morning, GMing in the afternoon. | ||
TimToady | yes, well, I can read Russian till the time comes to understand it | 14:18 | |
jnthn | It wasn't scary, it was just beautifully terrifying. | ||
arnsholt | That NCI stuff was very, very cool | ||
14:19
new_perl6_hacker joined
|
|||
TimToady | I'm only playing for one, but I play twice as loud, since I'm the drummer. | 14:19 | |
pmichaud | Much of Perl 6 is beautifully terrifying. See also "Camelia". | ||
arnsholt | Hehe | ||
new_perl6_hacker | perlcabal.org/syn/S17.html will there be support for event like activities on files and sockets etc | ||
TimToady | I'd be terrified if I met a butterfly with a 3 meter wingspan... | ||
or was it 5? | 14:20 | ||
pmichaud | 3, last I heard. | ||
masak | TimToady: 5 feet, perhaps? | ||
TimToady | mebbe she grew | ||
she's young, after all | |||
colomon | TimToady: I was asked to play a drum (bodhran) for this as well, and had to point out that I don't own one and don't know how to play it, either. :) | ||
jnthn | Parrot r44705 fixes a nasty Rakudo-build segfault. | 14:21 | |
But doesn't seem to hit many people. | |||
(You usually luck out.) | |||
TimToady | colomon: just play it like a conga | ||
colomon | jnthn: should we bump parrot in rakudo, then? | ||
jnthn | colomon: Can do, or can wait for the next reason to bump. | 14:22 | |
Doesn't see to hit anyone else. | |||
14:22
PacoLinux left
|
|||
colomon | TimToady: I can't really properly play conga, either. Though I did pretend to play quad toms in high school. | 14:22 | |
jnthn | Also I didn't check that no other Parrot changes cause breakage. | ||
masak | jnthn: s/Thought/Thou/. otherwise, nice message :) | ||
hm. s/Though/Thou/, I mean. | |||
jnthn | oh crap | ||
I'm tired! :-) | |||
colomon | I can try bumping parrot here, mostly just watching the boy on a Saturday morning. | ||
new_perl6_hacker | perlcabal.org/syn/S17.html will there be support for event like activities on files and sockets etc???? | 14:23 | |
TimToady | my boy don't take much watchin' anymore | ||
he'll proably sleep the night through, and then some... | |||
b | |||
baest | rakudo: use Test; my @a = 2,3; is(@a, (3, 2)) | 14:24 | |
p6eval | rakudo 974d9a: OUTPUT«not ok 1 - # got: [2, 3]# expected: (3, 2)» | ||
baest | rakudo: use Test; my @a = 2,3; is(@a, (2, 3)) | ||
p6eval | rakudo 974d9a: OUTPUT«not ok 1 - # got: [2, 3]# expected: (2, 3)» | ||
colomon | uh, that's weird | ||
14:24
borup joined
|
|||
colomon | Parrot revision r44705 required (currently r44371) | 14:24 | |
To automatically checkout (svn) and build a copy of parrot r44705, | |||
try re-running Configure.pl with the '--gen-parrot' option. | |||
Or, use the '--parrot-config' option to explicitly specify | |||
the location of parrot_config to be used to build Rakudo Perl. | |||
baest | yeah, I thought so :) | ||
TimToady | rakudo: use Test; my @a = 2,3; is(@a, [2,3]) | 14:25 | |
p6eval | rakudo 974d9a: OUTPUT«ok 1 - » | ||
14:25
jferrero joined
|
|||
colomon | that's what I get when I run perl Configure.pl --gen-parrot | 14:25 | |
baest | TimToady: yes, I guessed that, but I've seen several test in spectest which does the is(@a, (2,3) style | 14:26 | |
masak | baest: it's the difference between a Seq and an Array, I think. | ||
TimToady | probably from back when lists promoted to arrays | ||
baest | ok, so that should be change in the tests, right? | 14:27 | |
TimToady | yeah, unless we change our minds again :) | ||
masak | lists don't promote to arrays? | ||
pmichaud | all of the list/array/iterator/seq stuff is "up in the air" at the moment, I think. | 14:28 | |
well, not *all*, but a lot. | |||
masak | happy juggling. | ||
pmichaud | at the moment, parcels promote to Seq | ||
(in item conetxt) | |||
jnthn | colomon: Got example to hand of the has %.foo issue? | ||
TimToady | S03:3105 | ||
grr | |||
pmichaud | my $a = (1,2,3); say $a.WHAT; | ||
TimToady | S02:3105 | ||
pmichaud | rakudo: my $a = (1,2,3); say $a.WHAT; | ||
TimToady | sb Seq | ||
p6eval | rakudo 974d9a: OUTPUT«Seq()» | ||
colomon | rakudo: class A { has %.foo; }; my $a = A.new; | 14:29 | |
p6eval | rakudo 974d9a: ( no output ) | ||
pmichaud | rakudo: my $a = (1,2..5,3); say $a.WHAT; | ||
p6eval | rakudo 974d9a: OUTPUT«Seq()» | ||
colomon | rakudo: class A { has %.foo; }; my $a = A.new; say $a.foo.WHAT | ||
p6eval | rakudo 974d9a: OUTPUT«Method 'WHAT' not found for invocant of class 'Hash'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
colomon | jnthn: there you go | ||
pmichaud | I think likely a BUILD issue | ||
TimToady | WHAT! | ||
jnthn | > class A { has %.foo; }; my $a = A.new; say $a.foo.WHAT | ||
Hash() | 14:30 | ||
Fixed...spectesting. | |||
masak | jnthn++ | ||
jnthn is back in the saddle! | |||
TimToady | no, that one is ++jnthn | ||
masak | :) | ||
colomon | ye-haw! | ||
TimToady | now fix the rest of 'em before we ask :P | ||
masak hasn't gotten into the habit of giving prefix karma yet | |||
when's --ircnick applicable? | 14:31 | ||
jnthn | When I made the silly bug in the first place. :-) | ||
masak | jnthn: no, it must be before something. | ||
TimToady | I think it has to be a spec error | 14:32 | |
masak | making a silly bug in the first place merits a jnthn-- | ||
jnthn | :-P | ||
I'll try and be more perfect. | |||
I blame my lapse on insufficient pivo. | |||
masak | there is no 'try'... and no 'more perfect' either :P | 14:33 | |
TimToady | --gen-parrot | ||
masak | :) | ||
jnthn | rakudo: try { more perfect }; say "see?" | ||
p6eval | rakudo 974d9a: OUTPUT«see?» | ||
masak | ++jnth :) | ||
*jnthn | |||
TimToady | um | ||
std: try { more perfect }; say "see?" | 14:34 | ||
p6eval | std 29953: OUTPUT«Undeclared routines: 'more' used at line 1 'perfect' used at line 1ok 00:01 107m» | ||
jnthn | Yeah, we don't warn yet on undefined routines. | ||
masak | I won't report that. | ||
jnthn | ...becuase you already did last week? :-) | ||
masak | quite possibly. | 14:35 | |
jnthn | :-P | ||
masak | I don't know anymore! the RT is too big! | ||
TimToady | well, now, whose fault is that? | ||
masak | when I said I'd deluge you with tickets, I expected you all to frigth back! | ||
pmichaud | 14:31 <jnthn> When I made the silly bug in the first place. :-) | ||
masak: I did close a few tickets last week :) | 14:36 | ||
masak | ++pmichaud | ||
TimToady is trying to figure out how to frigth | |||
masak | hm, I guess that's for future ticket closing. | ||
TimToady: it's related to how babby is formed. | |||
TimToady | oh, okay | ||
pmichaud | anyway, I'm hoping we can close some tickets over the next couple of hackathon days :) | ||
jnthn | I'm truly sorry for your lots | 14:37 | |
masak | jnthn: 'truely' :) | ||
TimToady | chroolie | ||
jnthn | ...ok, now I don't know which is the lol spelling and which is the English. | ||
masak | who does? :) | ||
jnthn | Ceiling cat. | ||
baest | rakudo: my @a; say @a.list | ||
p6eval | rakudo 974d9a: OUTPUT«Null PMC access in elements()current instr.: 'perl6;SeqIter;get' pc 13979 (src/builtins/Routine.pir:113)» | ||
masak submits rakudobug | 14:38 | ||
jnthn | oh no, not that bug. | ||
TimToady gives jnthn++ another no so he can have noes | |||
masak | *lolland* | ||
14:39
jonasbn left
|
|||
jnthn | colomon: yay, patch works | 14:39 | |
I gotta go finish moving house now...will push, maybe you can enable some spectests. | |||
masak | rakudo: my @a = 1, 2, 3; say @a.list | ||
p6eval | rakudo 974d9a: OUTPUT«123» | ||
colomon | I'm spectesting the new parrot now... but I had to blow away my parrot directory to get --gen-parrot to work with it! | ||
masak | rakudo: my @a = 1; shift @a; say @a.list | ||
p6eval | rakudo 974d9a: OUTPUT«» | ||
colomon | jnthn++ | 14:40 | |
mberends | travel Copenhagen -> Lund -> Copenhagen & | ||
14:40
TimToady sets mode: +vv buubot dalek,
TimToady sets mode: +vv ilogger2 IRSeekBot,
TimToady sets mode: +vvv lisppaste3 p6eval phenny
|
|||
pmichaud | .list is still suspect-ish | 14:40 | |
14:40
mberends left
|
|||
colomon | Does it work? Should it exist? What should it do? ;) | 14:40 | |
pmichaud | exist, yes. | ||
it basically returns the "list" form of the invocant | 14:41 | ||
its exact specification and implementation need some rethinking | |||
I'm likely to work on that today. | |||
colomon | pmichaud++ | ||
pmichaud | (unless other events here overtake me again, as they did yesterday) | ||
jnthn | pushed | ||
gone | |||
o/ | |||
masak | o/ | 14:42 | |
14:42
masak left
|
|||
colomon | \o | 14:42 | |
TimToady | o\ | ||
dalek | kudo: 8505d39 | Worthington@.(none)++ | src/builtins/Mu.pir: Fix has %.noms. |
14:43 | |
14:44
IllvilJa left,
robertml joined
14:45
new_perl6_hacker left
|
|||
colomon | Nice author name there... | 14:46 | |
pugssvn | r29954 | baest++ | Put list inside [] to do array comparison | 14:47 | |
r29955 | baest++ | Put list inside [] to do array comparison, fix error in test which was chop readonly string and fudge an empty array test | 14:48 | ||
14:53
martinro left
|
|||
baest | colomon: do you remember yesterday, your change regarding returning Bool in ===, I've noticed that you didn't update Num. Also there was a minor thing with the syntax, so here's a patch if you want it: paste.lisp.org/display/96001 | 14:55 | |
colomon | baest: fixing it for the other types as well? | 14:57 | |
baest | colomon: yes, I only found it for str, int and num | ||
colomon | rakudo | ||
rakudo: say 4 === 5 | 14:58 | ||
p6eval | rakudo 974d9a: OUTPUT«0» | ||
colomon | rakudo: say (4 === 5).WHAT | ||
p6eval | rakudo 974d9a: OUTPUT«Bool()» | ||
14:58
IllvilJa joined
|
|||
baest | rakudo: say (4.0 === 5.0).WHAT | 14:59 | |
p6eval | rakudo 974d9a: OUTPUT«Bool()» | ||
baest | weird | ||
colomon | give me a minute here, and I'll see what I can do. | ||
14:59
PacoLinux joined
|
|||
dalek | kudo: 43f5a52 | (Solomon Foster)++ | build/PARROT_REVISION: Bump parrot. |
15:00 | |
baest | colomon: of course, the other part is '&prefix:?' instead of 'prefix:?' which I could see in Str that was the preferred version | ||
colomon | I don't know the status of the leading &, but it definitely needs to be prefix:<?> now, I think... | 15:01 | |
pmichaud | any instances of 'prefix:?' are wrong and should be removed asap. | 15:02 | |
baest | colomon: I'm not sure, but I just figured the other way around because of: github.com/rakudo/rakudo/commit/fd2...7e10487525 | ||
colomon | Indeed. | ||
hmmmm.... | 15:03 | ||
pmichaud | if you want to call the prefix:<?> function from PIR, it's "&prefix:<?>" | ||
anything else is likely bogus. | |||
(same for other operators -- ampersands and angles are required) | |||
colomon is trying to get the === test file up and running again... | 15:05 | ||
rakudo: say 1 !=== 4 | 15:06 | ||
p6eval | rakudo 974d9a: OUTPUT«Confused at line 11, near "say 1 !==="current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
baest | general question. If i have a minor patch should a post to a pastebot, push it to a clone on github or some other way | ||
colomon | pmichaud: any reason !=== can't just be not === ? | ||
pmichaud | that works for now; normally !op is meta | ||
TimToady | that's what the metaop is supposed to do | ||
colomon | !!!! | 15:07 | |
I didn't realize ! was a meta op | |||
pmichaud | it is. | ||
we haven't implemented that in rakudo yet | |||
so in the meantime we've just created them explicitly as we need them | |||
colomon | permission to do that in this case? | 15:08 | |
pmichaud | sure, that's fine. | ||
TimToady | S03:3927 | ||
colomon thinks ! sounds like meta op LHF.... | |||
pmichaud | it shouldn't be too bad; we already have the op= metaops. | 15:09 | |
15:09
martinro joined
|
|||
TimToady | rakudo: say 1,2 X 3,4 | 15:11 | |
p6eval | rakudo 974d9a: OUTPUT«Confused at line 11, near "say 1,2 X "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
TimToady | rakudo: say 1,2 Z 3,4 | 15:12 | |
p6eval | rakudo 974d9a: OUTPUT«1324» | ||
TimToady | odd that X isn't there but Z is | ||
rakudo: say 1,2 X+ 3,4 | 15:13 | ||
p6eval | rakudo 974d9a: OUTPUT«Confused at line 11, near "say 1,2 X+"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
colomon | TimToady: my fault, I guess. | ||
I wanted Z, so I made it happen. | |||
TimToady | what, for implementing Z | ||
: | |||
:) | |||
colomon | :) | ||
15:13
krr joined
|
|||
colomon | okay, I've got !=== working here, which makes S03-operators/value_equivalence.t run, but it still has a 3 fails. | 15:15 | |
=== doesn't work on array references right now. (err, test says array, actually is probably a Parcel? | 15:16 | ||
) | |||
my @a = (1,2,3); | |||
no, I guess that's an Array. | |||
arnsholt | What's the procedure for bringing back test files? | 15:17 | |
I've found a file that can be brought back, as long as a couple of tests are marked TODO | |||
colomon | mark 'em todo and bring 'em back! | ||
pmichaud | ...array reference? | ||
arnsholt | colomon: Righties | 15:18 | |
colomon | my @a = (1,2,3); | ||
my @b = (1,2,3); | |||
ok (\@a === \@a), "=== on array references (1)"; | |||
ok (\@b === \@b), "=== on array references (2)"; | |||
both those fail | |||
pmichaud | the correct term is now "capture" | ||
(I think) | |||
colomon | arnsholt: todo tests which are running are much more valuable than tests that aren't running. | 15:19 | |
15:19
m--locks joined
|
|||
arnsholt | Indeed. The correct procedure is putting "#?rakudo todo" above the ok/is call, no? | 15:20 | |
colomon | with a reason, if possible | ||
#?rakudo todo 'scalar reference equivalence' | |||
arnsholt | Yeah, pondering that now | ||
colomon | for instance. | ||
15:21
martinro left
|
|||
pugssvn | r29956 | colomon++ | [t/spec] Fudge value_equivalence.t. | 15:21 | |
baest | colomon: ok, and after a patch is created what is the best way to post it? I have 2 files ready for bringing back along with a minor change | 15:22 | |
arnsholt | Do I have to call make spectests to do the fuding of the spectests? | ||
colomon | patch to the tests or patch to rakudo itself? | ||
baest | colomon: rakudo, I committed the test before | 15:23 | |
tests | |||
colomon | pmichaud: what is the preferred way of receiving Rakudo patches? | ||
pmichaud | rt | ||
colomon | you can send them to rakudobugs.... | ||
that is, rt. | |||
baest | pmichaud, colomon: thanks | ||
:) | |||
will do | 15:24 | ||
pmichaud | afaik, wiki.github.com/rakudo/rakudo/steps...te-a-patch is still valid. | ||
(if not, it needs to be updated) | |||
steps 4-6, anyway. | 15:25 | ||
steps 1-3 aren't required | |||
actually, just 4 and 6 | |||
baest | pmichaud: sorry, I forgot about that page | 15:26 | |
pmichaud | the main item is that we'd like commits to be squashed (easier to review), and that it go to RT so it can be tracked. | ||
avar | Why are you recommending that commits be squashed instead of people working on topic branches? Then you can just review the branch as is without destroying commit information | 15:30 | |
People can also just send in "please review x..y" | 15:31 | ||
pmichaud | reviewing a branch is hard | ||
avar | why? you just diff / log from where the branch diverged to where its head is at now | ||
pmichaud | I have to pull the branch | ||
then do the diff | 15:32 | ||
also, I'm not sure that the individual commits are that important | |||
at any rate, this is the process we're using for now and I'm not in a rush to try to learn a new one until after April | |||
also, with "please review x..y", there's no record of the patch should it be not applied (and the github account and/or branch disappears) | 15:34 | ||
dalek | kudo: ab3f44b | (Solomon Foster)++ | src/ (2 files): Quick implementation of !===. (Should be a meta op, but this will work for now.) |
||
kudo: 7882db4 | (Solomon Foster)++ | t/spectest.data: Turn on S03-operators/value_equivalence.t. |
|||
pugssvn | r29957 | colomon++ | [t/spec] Defudge passing tests. | 15:35 | |
15:35
Psyche^ joined
15:37
Patterner left,
Psyche^ is now known as Patterner,
martinro joined
|
|||
baest | hmm git format-patch doesn't do anything.... | 15:39 | |
colomon | should have made a file | ||
you might need to tell it what commits go into the patch, though. | |||
arnsholt | Hmm. Does Test.pm in the new master have todo? | ||
pmichaud | I'm pretty sure it does/must. | 15:40 | |
arnsholt | Then I'm doing something wrong | ||
baest | colomon: yes, git format-patch -M 054b1b6d602c823b318f81e473f6fde5f12becf6 does nothing even though I can see the commit with git log | 15:41 | |
15:41
jferrero left
|
|||
arnsholt | nm. Think I found it | 15:41 | |
colomon | baest: last time I did it, I used git format-patch -1 | ||
15:41
m--locks left
|
|||
baest | colomon: wheee, success, thanks! | 15:42 | |
pmichaud | afk for a bit | ||
15:43
m6locks joined,
simcop2387 left
|
|||
arnsholt | I had no reason in the todo fudge, which resulted ins a no-arg call to todo | 15:44 | |
Which isn't allowed, apparently | |||
15:46
payload left
|
|||
pugssvn | r29958 | arnsholt++ | [t/spec] Fudged two tests in S06-traits/is-rw.t | 15:46 | |
arnsholt | There. Now someone with the privs can bring S06-traits/is-rw.t back in spectest.data | 15:47 | |
colomon | arnsholt: give me a min... | ||
pugssvn | r29959 | colomon++ | [t/spec] Add a bunch of tests to make sure === and !=== return Bool. | 15:49 | |
15:49
synth left
|
|||
dalek | kudo: 28f5203 | (Solomon Foster)++ | t/spectest.data: Turn on S06-traits/is-rw.t. arnsholt++. |
15:52 | |
cognominal | Performing 'gmake realclean' ... | 15:57 | |
Makefile:3660: compilers/imcc/Rules.mak: No such file or directory | |||
gmake: *** No rule to make target `compilers/imcc/Rules.mak'. Stop. | |||
...on Snow Leopard | |||
when running perl Configure.pl --gen-parrot on a fresh rakduo | |||
15:58
jferrero joined
|
|||
pugssvn | r29960 | colomon++ | [t/spec] === tests on Rat and Num. | 15:58 | |
colomon | cognominal: is that latest? | ||
and fresh fresh? I got that something like that when I tried updating, but when I blew away the parrot directory --gen-parrot worked fine for me. | 15:59 | ||
cognominal | ok, will do a rm --rf rakudo/parrot | ||
arnsholt | Is there any particular reason why there are two files named pi.t? | 16:01 | |
They do almost the same thing, too | 16:02 | ||
colomon | arnsholt: no idea. | ||
colomon is startled to see that there already was a !=== implementation, which couldn't possibly have been running thanks to the lack of !=== in the grammar.... | 16:05 | ||
cognominal | thx colomon | 16:12 | |
it works | |||
colomon | \o/ | 16:13 | |
16:14
payload joined
16:17
payload1 joined
16:24
xabbu42 left,
snarkyboojum_ joined
|
|||
pugssvn | r29961 | colomon++ | [t/spec] Unfudge test that now works. | 16:25 | |
dalek | kudo: ba6cd4e | (Solomon Foster)++ | src/builtins/ (2 files): Change === on Num to return Bool, and clean up === on Int. baest++ |
16:26 | |
16:26
simcop2387 joined,
snarkyboojum left,
snarkyboojum_ is now known as snarkyboojum
16:27
wknight8111 left
16:29
jmarti joined,
Trashlord left
16:32
krr left
|
|||
m6locks | oh, i didn't know linus torvalds created git | 16:41 | |
nice | |||
TimToady | we all have our faults | 16:42 | |
16:44
simcop2387 left
|
|||
m6locks | ...but it's not compiling on that shell box :( | 16:45 | |
16:47
abra joined
16:48
simcop2387 joined
16:50
justatheory joined
|
|||
arnsholt | S02-literals/quoting-unicode.t can be brought back without changes | 16:54 | |
quietfanatic | phenny: tell masak It wasn't so much of an NCI as a wrapper around Parrot's NCI, combined with a C parser that figured out the hard stuff for you. | ||
phenny | quietfanatic: I'll pass that on when masak is around. | ||
16:55
abra left
16:56
Trashlord joined
|
|||
quietfanatic | phenny: tell masak Except that the parser wasn't very good and there weren't any better ones I could use. | 16:56 | |
phenny | quietfanatic: I'll pass that on when masak is around. | ||
arnsholt | rakudo: my $a = 3; say "$a".WHAT; | 16:57 | |
p6eval | rakudo ba6cd4: OUTPUT«Int()» | ||
arnsholt | Known issue or new? | ||
lue | oh hello there | 17:04 | |
Trashlord | hi | 17:05 | |
quietfanatic | alpha: Q:PIR{$P0 = loadlib '/usr/lib/libcrypt.so'$P1 = dlfunc $P0, 'crypt', 'ttt'set_hll_global ['Link';'C';'NCI'], '$crypt', $P1}; &C::crypt = sub ($p1, $p2) {$Link::C::NCI::crypt($p1, $p2)}; say C::crypt('Password', '$1$Salt'); | ||
p6eval | alpha 30e0ed: OUTPUT«$1$Salt$3By6sIxwjQONPKbAQWYfQ1» | ||
17:05
simcop2387 left
|
|||
lue | .hack(And our total this hour is.... $3000000 worth of bug fixes!) | 17:06 | |
pugssvn | r29962 | arnsholt++ | [t/spec] Fudged a test in S02-literals/string-interpolation.t | 17:09 | |
arnsholt | S02-literals/string-interpolation can be brought back as well now | 17:10 | |
colomon | arnsholt++ | ||
arnsholt | I'm digging to see if I can find out why the failing test fails, but it'll probably take a while to figure out | 17:11 | |
TimToady | rakudo: my $a = 3; say (~$a).WHAT | ||
p6eval | rakudo ba6cd4: OUTPUT«Str()» | ||
arnsholt | Funky | 17:12 | |
TimToady | interestingly, had the same bug in Perl 5 once upon a time | ||
you implement interpolation with infix:<~>, but forget the degenerate case | |||
colomon | arnsholt: running spectest with those files turned on, will push as soon as it passes. :) | ||
arnsholt | Spiffy | ||
TimToady | er, not Perl 5, Perl 1 or so... :) | 17:13 | |
lue | I am going to be in a whirlwind of coding, I can tell. | ||
17:13
simcop2387 joined
|
|||
lue | And I'm ready, with multiple-tabbed Konsole, Kate, Konversation... and Firefox. | 17:13 | |
TimToady | um, are any of those coding tools? | 17:14 | |
lue | not specifically designed for it, but it's all I need for the hackathon :) | ||
I have The Guide in one tab of Firefox, and I know where my towel is. I'm ready! | 17:15 | ||
TimToady | depending on your location, the main thing you need for this hackathon might be an alarm clock :) | ||
uniejo | Just make it a location aware alarm clock. F.ex. phone with gps. | 17:17 | |
lue | I don't need an alarm clock (and a location aware one'd be useless). I'm currently in the publishing corporations of Ursa Minor Beta :) | 17:18 | |
(ANFSCD) I'm assuming .even and .odd are actual methods for numbers (it makes an appearance in the spec after all) | 17:21 | ||
baest | rakudo: [4, 3, 1].grep(* > 2); | 17:22 | |
p6eval | rakudo ba6cd4: OUTPUT«Method 'Num' not found for invocant of class 'Block'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» | ||
baest | is that the correct syntax for it, though? | ||
colomon | baest: I think yes, but * > 2 is NYI. | 17:23 | |
dalek | kudo: c054780 | (Solomon Foster)++ | t/spectest.data: Turn on S02-literals/string-interpolation.t and S02-literals/quoting-unicode.t. arnsholt++ |
||
baest | colomon: ok, so no rakudobug for this? | ||
colomon | baest: it's a well-known issue. | 17:24 | |
TimToady | lue: there are no .even/.odd methods | ||
colomon | rakudo: [4, 3, 1].grep({ $_ > 2 }).perl.say | ||
p6eval | rakudo ba6cd4: OUTPUT«GatherIterator.new()» | ||
colomon | rakudo: [4, 3, 1].grep({ $_ > 2 }).batch(10).perl.say | ||
p6eval | rakudo ba6cd4: OUTPUT«(4, 3)» | ||
TimToady | there are already lots of ways to spell even and odd in Perl | ||
lue | aw. I was hoping almost (then why is it in a code example in the spec?) | ||
TimToady | $x % 2, $x +& 1 | 17:25 | |
rakudo: say 3 % 2, 3 +& 1 | |||
p6eval | rakudo ba6cd4: OUTPUT«11» | ||
TimToady | there's two different odd functions | 17:26 | |
colomon | wasn't there also ?% or something? | ||
TimToady | !% 2 is even | ||
rakudo: 3 !% 2 | |||
p6eval | rakudo ba6cd4: OUTPUT«Confused at line 11, near "3 !% 2"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
TimToady | but nyri | 17:27 | |
alpha 3 !% 2 | |||
alpha: 3 !% 2 | |||
p6eval | alpha 30e0ed: ( no output ) | ||
TimToady | alpha: say 3 !% 2 | ||
p6eval | alpha 30e0ed: OUTPUT«0» | ||
lue | alpha: say 4 !% 2 | 17:28 | |
p6eval | alpha 30e0ed: OUTPUT«1» | ||
17:29
jagd joined
|
|||
lue | ah, so 1 if even, 0 if odd? | 17:29 | |
TimToady | !% means "is not indivisibly by" | ||
s/y/e/ | |||
17:29
martinro left
|
|||
lue | alpha: say 5 !% 3; say 6 !% 3; | 17:29 | |
TimToady | or "does not have a remainder" | ||
p6eval | alpha 30e0ed: OUTPUT«01» | ||
17:30
dual joined
|
|||
betterworld | I'd say !% means "*is* divisible by" ;) | 17:30 | |
TimToady | it means "is divisible by!" | ||
lue | that seems easy to program in (away!) | 17:31 | |
betterworld | oh, I did not see the "in" ;) | ||
colomon | lue: the tricky bit is that all the !op operators are supposed to be generated automatically. | 17:33 | |
TimToady | not exactly | ||
it's a higher-order function | |||
colomon | "generated automatically when needed" ? ;) | ||
TimToady | so they don't need to be generated, just composed with 'not' | ||
likewise (we hope) for all the other metaops | 17:34 | ||
we can't generate XRS[!%]= in advance | |||
(and we might add a Z for zipwith) | |||
colomon | TimToady: don't show XRS[!%]= to the doubting Thomases, or we will be universally reviled... | 17:36 | |
TimToady | so anyway, the code emitter just has to turn the base op into &infix:<op> or whatever, and then pass it to the right higher-order function (reduce, zip, not, whatever) | ||
colomon | TimToady: though if it were that easy, I'd already have done it for a bunch of those.... :) | ||
lue wants to work on something :/ | 17:38 | ||
TimToady | put STD's metaop parsing into rakudo | ||
(just kidding...kinda) | |||
lue | metaops do not exist at all then :) | 17:39 | |
TimToady | alpha: say 3 R/ 30 | 17:40 | |
p6eval | alpha 30e0ed: OUTPUT«10» | ||
TimToady | R/ is pronounced "goes into" :) | ||
lue | any value to metaops, and do they exist in other languages? I have never had to use them, obviously :) | 17:41 | |
colomon | pmichaud implied I ought to be about to handle !op... | ||
lue: metaops are a huge slice of awesome. | 17:43 | ||
lue | I have never heard of them in any other language, which is why I don't know. :) | ||
colomon | Well, the most widely spread one we have is op= | ||
17:44
nihiliad joined
|
|||
colomon | That's in most C-family languages. | 17:44 | |
lue | what's the most `omniscient' kind of operator? | ||
colomon | I'll leave that to the theologians. | 17:45 | |
17:47
uniejo left
|
|||
lue | .hack(how many people at Copenhagen now?) | 17:47 | |
colomon | TimToady: any hints on how to find the op= rule in STD.pm? | 17:48 | |
TimToady: never mind! | |||
errr... maybe? | |||
TimToady | it's handled specially in STD, actually, at the end of infixish | 17:49 | |
line 3172 or so | |||
colomon | danke! | ||
TimToady | but it's the only one that is handled after the fact | 17:50 | |
colomon | do you call it infix_postfix_meta_operator like Rakudo does? (sorry, refreshing pugs directory tree takes a long time...) | ||
TimToady | for the others, see things like token infix_prefix_meta_operator:sym<!> { | ||
lue | .oO(o hell, firefox froze on perlcabal again :( ) |
17:51 | |
colomon | lue: use chrome for perlcabal. seriously | ||
TimToady | i've never had trouble with ff on perlcabal, fyi... | ||
memory issue? | |||
17:52
uniejo joined
|
|||
lue | colomon:Well, I want to use chrome, but unsure of it being available in the Fedora/PPC repos | 17:52 | |
colomon | TimToady: I don't know, but I was seeing it as well when I used Firefox for getting the synopses. Loading pages could take half a minute, and freeze all of Firefox in the process. uuuuugly. | ||
lue | TimToady: PPC G3 Pismo (less that 1GHz if I remember), 384 MiB RAM (twice that swap space) | ||
I know it must be an issue with all the iframes and my memory though :) | 17:53 | ||
TimToady reminds himself that the Cray-1 ran at only .1 GHz | |||
17:54
masakmoritzmbere joined
|
|||
lue | point one Giga-Hertz! wow. | 17:54 | |
masakmoritzmbere | this is the masak-moritz-mberends mechbot, stopping by. | ||
TimToady | hibot! | ||
lue | masakmoritzmberends --masak="awaken" | 17:55 | |
masakmoritzmbere | lue: I am awake, all three of us. | ||
arnsholt | masakmoritzmbere: Oh hai | ||
Were you guys heading out for dinner at some point? | |||
masakmoritzmbere | arnsholt: mberendsbot and masakbot just found moritz, and we immediately joined together into a grander structural unit. | ||
arnsholt: yes. spicy food. | 17:56 | ||
moritz__ | re | ||
TimToady | couldn't you just be m*bot or some such | ||
17:56
masakmoritzmbere is now known as masakmberends
|
|||
moritz__ | shouldn't it be m.*bot? :-) | 17:56 | |
masakmberends | oh, moritz__ fell off. | ||
colomon | (spicy food)++ | ||
masakmberends | arnsholt: anyway, you're welcome to be assimilated, and we'll create a spicyfood-eating mechbot of five. | 17:57 | |
17:57
jmarti left
|
|||
lue | colomon: unless you can point me to Chrome for Linux/PPC that I don't have to compile, I'm staying with firefox :) | 17:58 | |
arnsholt | masakmberends: Spicy food sounds excellent. When and where? | ||
masakmberends | arnsholt: dunno yet. | ||
somewhere spicy. possibly Indian. | |||
pugssvn | r29963 | moritz++ | [t/spec] unfudges for rakudo | ||
r29964 | moritz++ | [t/spec] re-fudge quoting.t for rakudo | |||
r29965 | moritz++ | [t/deprecated-syntax.pod] undef is gone | |||
masakmberends | would be a definite plus if it's within the Copenhagen area. | ||
pugssvn | r29966 | moritz++ | [t/spec] enhance precedence.t, and fudge for rakudo | 17:59 | |
TimToady | oh, I was going to suggest one here | ||
colomon | moritz++ # yow! | ||
moritz__ | colomon: 10 hours worth of train travel :-) | ||
colomon | and git svn, eh? | ||
borup | masakmberends: there arent that many indian places in copehagen | 18:00 | |
uniejo commits to food ;-) | |||
lue | colomon: don't recommend what I'll never be able to use :D | ||
masakmberends | borup: any suggestions for other spicy/good food? | ||
18:00
wolf2k_ubuntu joined
|
|||
borup | masakmberends: would japanese work | 18:00 | |
dalek | ok: 41c5229 | moritz++ | src/regexes.pod: [regex] minor grammar fix |
18:01 | |
ok: bd06566 | moritz++ | src/operators.pod: New chapter on operators (work in progress) |
|||
ok: bf30c2b | moritz++ | docs/announce/2010-03: [docs] stub announce for 2010-03 release |
|||
ok: 3e7d952 | moritz++ | src/regexes.pod: [regex] impmrove description of rindex(); also comment on the editorial note by chromatic++ |
|||
masakmberends | borup: for the masak part of the mechbot, it would, yes. | ||
colomon | Clearly moritz__ needs to take more 10 hour train trips... | ||
lue | o noes the flood again!! | ||
18:02
Grimnir_ joined
|
|||
Grimnir_ | OH HAI | 18:02 | |
TimToady | OH HAI OH | ||
lue | OHIO | ||
masakmberends | E I E I O | ||
18:02
moritz__ is now known as moritz_
|
|||
borup | masakmberends: uniejo suggests wagamama | 18:02 | |
TimToady | OH HAI OH GOES EYE MOOSE | ||
borup | masakmberends: very close to the main station | ||
masakmberends | borup: the whole bot agrees: Japanese is a fine choice. | ||
borup: excellent. | 18:03 | ||
18:03
wknight8111 joined
|
|||
lue | nihongo? excellent choice | 18:03 | |
(to lazy to fiddle with char map/input method) | |||
uniejo | www.wagamama.dk/locations/map | ||
dalek | kudo: 14a83eb | moritz++ | t/spectest.data: more passing test files |
||
TimToady | cut and paste this: 日本語 | ||
Grimnir_ | you gotta love utf8-able terminals | 18:04 | |
TimToady | well, really, にほんの食べ物 | ||
lue | (must message Fedora to support UTF8 in their tty's... note to self) | ||
jnthn | masakmberends: oh hai...where is located the bot? :-) | ||
jnthn did find his room :-) | |||
lue | jnthn! o/ | ||
Grimnir_ | I was at a few perl 6 speaks today. it looks like a very interesting language | ||
masakmberends | jnthn: room 420. | ||
jnthn | aww...Japanese, not Indian? :-/ | 18:05 | |
OK, coming :-) | |||
Grimnir_ | what are the possibilites for parallel computing and the like? what can perl6 do? | ||
k23z__ | wow, do you guys all day go to workshops and stuff like that ? | ||
I'm at home, I even took a nap | |||
18:05
masakmberends is now known as masak
|
|||
lue | And flood the IRC with short messages | 18:05 | |
k23z__ | lue: me ? | ||
lue | and masak is back in full glory! | ||
masak | \o/ | ||
phenny | masak: 16:54Z <quietfanatic> tell masak It wasn't so much of an NCI as a wrapper around Parrot's NCI, combined with a C parser that figured out the hard stuff for you. | ||
masak: 16:56Z <quietfanatic> tell masak Except that the parser wasn't very good and there weren't any better ones I could use. | |||
TimToady | Grimnir_: mostly just made sure that it's easy to express various sorts of parallelism naturally, and then let the computer figure it out | ||
masak | jnthn: oh, so your room existed in the territory but not on the map? | 18:06 | |
moritz_ | Grimnir_: I think not much is implemented, but there are lots of possibilities; threads, events, object pipes, hyper operators and so on | ||
18:06
masak left
|
|||
TimToady | various constructs make various promises about not-caring about interactions | 18:06 | |
Grimnir_ | TimToady: what does that mean? the code has to let the computer figure out | ||
lue | k23z: _we_ flood the irc with messages (I'm not there physically, but in spirit) | ||
moritz_ | k23z__: I spent 10.5hrs on the train today to get to the workshop | ||
TimToady | hyperops are basically vector ops | ||
feed operators are pipes | |||
Grimnir_ | I would suggest to do a CSP-implementation or very similar in perl6. that would be awesome | ||
TimToady | junctional logic can be evaluated in any order | ||
18:06
masak joined
|
|||
lue | .hack(And the total this hour is.... £3 worth in bug fixes ($32839423492 worth in the US)) | 18:07 | |
masak | you guys should see me and moritz_ right now. :) 15 minutes after we meet, we're sitting side by side, IRC-ing. :P | ||
lue | :) | ||
Grimnir_ | it would be cool if it would support it with a pretty nice syntax | ||
18:07
akl left,
akl joined
|
|||
lue | (I got japanese input working once, what happened to it...) | 18:07 | |
TimToady | rakudo: say (1,2,3) »+« (4,5,6) | 18:08 | |
p6eval | rakudo c05478: OUTPUT«Confused at line 11, near "say (1,2,3"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
TimToady | alpha: say (1,2,3) »+« (4,5,6) | ||
p6eval | alpha 30e0ed: OUTPUT«579» | ||
arnsholt | masak: Has the collective reached a decision re: fud? | ||
masak | do I have everyone's permission to stir up a potential hornet's nest? | ||
(don't ask to ask...) | |||
arnsholt: are you coming by? | 18:09 | ||
lue | hornet nest taken. masak cries. hornet nest given back. all is well. (that's a YES :) ) | ||
arnsholt | masak: I wouldn't mind coming by | ||
There are signals that usually mean I should eat soon =) | 18:10 | ||
Grimnir_ | perl6: say ("hello world") | ||
p6eval | elf 29966, pugs, rakudo c05478: OUTPUT«hello world» | ||
arnsholt | And I thought hornets' nests were your job? ;) | ||
colomon | rakudo: say "hello world" | ||
p6eval | rakudo c05478: OUTPUT«hello world» | ||
masak | alpha: class A { has @.b; }; say A.new(b => [1,2,3]).b.perl | ||
p6eval | alpha 30e0ed: OUTPUT«[[1, 2, 3]]» | ||
TimToady | Grimnir_: your parens were not function call parens, unlike in perl 5 | 18:11 | |
masak | ok, so the hornet's nest is that I really don't like the double [] here. :( | ||
I've been talking to jnthn about it most of the afternoon. | |||
he's quite good at explaining that I'm wrong. | |||
I'm mostly being stubborn. | |||
lue | neither TimToady. I remember him confusing them with the purpose of the «» brackets | ||
(the outer [] anyway) | |||
masak | arnsholt: come over, then! | 18:12 | |
moritz_ | arnsholt: so, was that a "yes" to coming? | ||
Grimnir_ | at the perl6 speak today I didn't see any "\n", does that mean "say" automatically writes a newline? | ||
TimToady | yes | ||
it's strange, but it's one of the most used functions in p6 | |||
arnsholt | masak/moritz_: On my way then. Be there soonish | ||
masak | Grimnir_: as does Perl 5.10, incidentally. | ||
++arnsholt | |||
arnsholt | I'll SMS masak when I'm in the neighbourhood | ||
masak | oki | ||
Grimnir_ | is there a normal print function in perl6 too? | 18:13 | |
TimToady | yes | ||
rakudo: print "foo" | |||
p6eval | rakudo c05478: OUTPUT«foo» | ||
Grimnir_ | ok, that's why | ||
uniejo | rakudo: class Food {sub eat {}}; Food.new().WHERE.say | ||
p6eval | rakudo c05478: OUTPUT«47750022470056» | ||
Grimnir_ | I haven't used any of the special perl 5.10 features, it seems | ||
TimToady | rakudo: say "foo" | ||
p6eval | rakudo c05478: OUTPUT«foo» | ||
TimToady | note the  character there | ||
should be a little NL or some such | 18:14 | ||
18:14
martinro joined
|
|||
TimToady | if your terminal does utf-8 right | 18:14 | |
lue | say creates a \n automagically, and print doesn't. That's it. | ||
TimToady | that's what? | ||
colomon | TimToady: any notion what the O() should be for infix_prefix_meta_operator? | ||
Grimnir_ | perl6: @test@.say | ||
masak | TimToady: am I unreasonable in thinking that .new(:b[1,2,3]) should initialize to just one layer of array? | 18:15 | |
p6eval | rakudo c05478: OUTPUT«Confused at line 11, near "@test@.say"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
..elf 29966: OUTPUT«Parse error in: /tmp/fAERKl76hspanic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: @test@.sayWHERE:/\<-- 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:in | |||
..`_UNI… | |||
Grimnir_ | ach | ||
p6eval | ..pugs: OUTPUT«***  Unexpected "@." expecting "::" Variable "@test" requires predeclaration or explicit package name at /tmp/NHJqMu8t1L line 1, column 6» | ||
Grimnir_ | perl6: "test".say | ||
p6eval | elf 29966, pugs, rakudo c05478: OUTPUT«test» | ||
Grimnir_ | nice | ||
lue | sorry TimToady. that's $_ [ :) ] | ||
TimToady | lol | ||
masak: it seems to me that it's a binding, not an assignment | |||
masak | TimToady: yes. | 18:16 | |
TimToady | so no, it's not unreasonable :) | ||
18:16
martinro left
|
|||
masak | TimToady: but jnthn++ says that binding isn't the right thing for obj init, in general. | 18:16 | |
TimToady | otoh, jnthn may be right about the OO semantics :) | ||
masak | because it creates a rift in timespace, basically. | ||
18:17
simcop2387 left
|
|||
k23z__ | moritz_: wooo.. | 18:17 | |
moritz_: that's commitment man | |||
TimToady | otgh, maybe it copies in values but [...] is an object, so gets the same one | ||
masak | YES! | ||
whatever that means, I'm for it! | 18:18 | ||
18:18
k23z___ joined
|
|||
Grimnir_ | I loved the quicksort example in Perl6. is perl6 in general that cool? | 18:18 | |
18:18
uniejo left
|
|||
TimToady | no, usually it's cooler :P | 18:18 | |
masak | Grimnir_: much cooler. | ||
18:18
k23z___ left
|
|||
Grimnir_ | cooler? that's very cool | 18:18 | |
TimToady | picnic cooler, even | ||
colomon | which quicksort? was it jnthn's new version? | 18:19 | |
Grimnir_ | it was the one, jnthn showed at open source days today, yes | ||
colomon | ah, that's indeed a very sweet little piece of code. | ||
Grimnir_ | even though the pivot should be taken at random :) | ||
you could do it with one parameter | 18:20 | ||
TimToady | without looking, I assume it's taking hte first elem as the pivot | ||
moritz_ | rakudo: say (1, 2, 3).max | ||
colomon | Grimnir_: please don't encourage TimToady to figure out how to make that a part of the language.... | ||
p6eval | rakudo c05478: OUTPUT«3» | ||
Grimnir_ | colomon: it's so simple it's not important :) | ||
rakudo: say (1,2,3).pick | |||
TimToady | we could .pick a random pivot though, which would work better for a presorted list on average | ||
p6eval | rakudo c05478: OUTPUT«2» | ||
Grimnir_ | rakudo: say (1,2,3).pick | 18:21 | |
p6eval | rakudo c05478: OUTPUT«2» | ||
TimToady | or .pick(3).mid | ||
Grimnir_ | rakudo: say (1,2,3).pick | ||
p6eval | rakudo c05478: OUTPUT«1» | ||
Grimnir_ | rakudo: say (1,2,3).pick.mid | ||
p6eval | rakudo c05478: OUTPUT«Method 'mid' not found for invocant of class 'Integer'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
moritz_ | rakudo: say max(1..5) | ||
p6eval | rakudo c05478: OUTPUT«-Inf» | 18:22 | |
Grimnir_ | rakudo: say (1,2,3).mid | ||
p6eval | rakudo c05478: OUTPUT«Method 'mid' not found for invocant of class 'Parcel'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
colomon | I was just going to say, what's .mid? (I mean, I think I understand the meaning, but.... | ||
TimToady | rakudo: say [max](1..5) | ||
p6eval | rakudo c05478: OUTPUT«Not enough positional parameters passed; got 0 but expected at least 1current instr.: 'max' pc 239375 (src/gen/core.pir:6883)» | ||
colomon | rakudo: say max(1..5) | ||
p6eval | rakudo c05478: OUTPUT«-Inf» | ||
TimToady | wants a closure first | ||
Grimnir_ | alpha: say (1,2,3).mid | ||
p6eval | alpha 30e0ed: OUTPUT«Method 'mid' not found for invocant of class 'List'in Main (file src/gen_setting.pm, line 324)» | ||
colomon | WTF? | ||
masak submits rakudobug for max(1..5) | |||
TimToady | there is no mid | ||
moritz_ | mid soooo reminds me of QBasic | ||
18:22
iblechbot joined
|
|||
TimToady | but if there were, it would be between min and max :) | 18:22 | |
moritz_ | (where it took the function of substr()) | ||
colomon | rakudo: (1..5).max.say | ||
p6eval | rakudo c05478: OUTPUT«5» | 18:23 | |
TimToady | rakudo: (1..5).minmax | ||
p6eval | rakudo c05478: ( no output ) | ||
TimToady | rakudo: (1..5).minmax.say | ||
p6eval | rakudo c05478: OUTPUT«15» | ||
TimToady | rakudo: (1..5).minmax.average :) | ||
p6eval | rakudo c05478: OUTPUT«Confused at line 11, near "(1..5).min"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | 18:24 | |
TimToady | rakudo: (1..5).minmax.sum.say | ||
p6eval | rakudo c05478: OUTPUT«Method 'sum' not found for invocant of class 'Parcel'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
lue | TimToady: you put a smiley in the code with average :) | ||
masak | alpha: (1..5).minmax.sum.say | ||
p6eval | alpha 30e0ed: OUTPUT«Method 'sum' not found for invocant of class 'List'in Main (file src/gen_setting.pm, line 324)» | ||
masak | TimToady: should there be a .sum method? | 18:25 | |
colomon | no. | ||
moritz_ | please not | ||
just like .max is superfluous | |||
masak | is not! :) | ||
moritz_ hits masak | |||
lue | rakudo: say (1..5).minmax.average | ||
p6eval | rakudo c05478: OUTPUT«Method 'average' not found for invocant of class 'Parcel'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
masak slaps moritz_ with a seasoned trout | |||
moritz_ ducks deep, so that masak hits mberends | 18:26 | ||
masak | mberends: sorry! :/ | ||
lue | masak: use this herring! (I need it back afterwards to cut down a tree) | ||
masak | lue: this herring is damaged. | ||
I can't use it. | |||
TimToady | if it's bleeding, it might be a red herring | 18:27 | |
masak .oO( use Herring; ) | |||
colomon | my wife dreams of making an album of all herring songs... | ||
Grimnir_ | lol | ||
masak | colomon: but would that really be worth herring? | 18:28 | |
lue | This halibut is good enough for Jehovah! Take it masak! | ||
moritz_ | stackoverflow.com/questions/2374251...kudo-perl6 | ||
18:28
athenot joined
|
|||
TimToady | the scales would be in tuna, I suppose | 18:28 | |
colomon is experiencing pun-lock | 18:29 | ||
masak: it would be if I were playing bass | |||
masak | :) | ||
TimToady | they make me sing bass, but I'm really a barracuda | 18:30 | |
18:30
simcop2387 joined
|
|||
lue | colomon: if your album is good enough, you might become a starfish! | 18:30 | |
.oO(fish puns are about as fun as cheese puns) |
|||
TimToady | er | ||
colomon | hey, my crazy hacked rakudo compiled! | 18:32 | |
TimToady | put it on ice, and ship it | 18:33 | |
colomon | > say 1 !&& 3 | ||
Could not find non-existent sub &infix:<> | |||
TimToady | well of course you couldn't find it--it's non-existent, duh! | 18:34 | |
you should look for an existent sub | |||
colomon | but also note how it is &infix:<> -- the nothing operator! | ||
TimToady | std: 1 !&& 3 | 18:35 | |
p6eval | std 29966: OUTPUT«ok 00:01 107m» | ||
TimToady | hmm, thought that one was too fiddly | ||
lue | alpha: multi sub infix:<>{say "oh hello";}; say 54 #this is 5 <nothing> 4 | ||
p6eval | alpha 30e0ed: OUTPUT«54» | ||
lue | alpha: multi sub infix:< >{say "oh hello";}; say 5 4 #this is 5 <nothing> 4 | ||
p6eval | alpha 30e0ed: OUTPUT«Confused at line 10, near "4 #this is"in Main (file <unknown>, line <unknown>)» | ||
TimToady | or not iffy enough | ||
lue | alpha: multi sub infix:< >($a,$b){say "oh hello $a and $b";}; say 5 4 | 18:36 | |
p6eval | alpha 30e0ed: OUTPUT«Confused at line 10, near "4"in Main (file <unknown>, line <unknown>)» | ||
lue | alpha: multi sub infix:< >($a,$b){say "oh hello $a and $b";}; say 5 4; | ||
p6eval | alpha 30e0ed: OUTPUT«Confused at line 10, near "4;"in Main (file <unknown>, line <unknown>)» | ||
masak | lue: two terms in a row. 5 4. | ||
TimToady | std: multi sub infix:< >($a,$b){say "oh hello $a and $b";}; say 5 4; | ||
p6eval | std 29966: OUTPUT«===SORRY!===Two terms in a row at /tmp/n8HbYo9IDp line 1:------> a,$b){say "oh hello $a and $b";}; say 5 ⏏4; expecting any of: bracketed infix infix or meta-infix statement modifier loopFAILED 00:01 109m» | ||
masak | even STD.pm agrees with me. | 18:37 | |
lue | what the heck does two terms in a row mean? | ||
TimToady | it means there's no such thing as a null infix operator in Perl 6 | ||
lue | That's why I tried a space :) | 18:38 | |
TimToady | it won't let you | ||
diakopter | std: multi sub infix:<\ >($a,$b){say "oh hello $a and $b";}; say 5 \ 4; | ||
p6eval | std 29966: OUTPUT«Bareword found where operator expected at (eval 246) line 24, near "q<\>, }, 'RE_method'), }, 'RE_ast'),};our $CATEGORY = 'infix';sub infix__S_500__PEEK { $_[0]->_AUTOLEXpeek" (Might be a runaway multi-line <> string starting on line 17)Can't create infix:sym<\ | ||
..… | |||
masak | lue: space is usually not significant. | ||
TimToady | it if it could, I wouldn't tell you how | ||
18:38
rv2733 left
|
|||
diakopter | wheh | 18:38 | |
lue | alpha: multi sub circumfix:<jnthn jnthn>($a){say "do something with $a";}; jnthn 42 jnthn | 18:39 | |
p6eval | alpha 30e0ed: OUTPUT«do something with 42» | ||
lue | (still thinking of the omnisub :D ) | ||
TimToady | because it's very, very, very, very important to Perl 6 to know whether it's expecting a term or an infix | ||
diakopter | TimToady: Bareword found where operator expected | ||
TimToady | so it can catch most errors | ||
colomon | > say 3 !&& 3 | 18:40 | |
Could not find non-existent sub &infix:<&&> | |||
that's a bit better.... | |||
TimToady | except for the double negative :) | ||
maybe we could add in a "noway, nohow" | 18:41 | ||
colomon | TimToady: I think we can take for granted that my work on Rakudo's grammar will not fix Parrot's weird error messages. :) | ||
diakopter | std: multi sub infix:<\ >(){} | ||
p6eval | std 29966: OUTPUT«Bareword found where operator expected at (eval 246) line 24, near "q<\>, }, 'RE_method'), }, 'RE_ast'),};our $CATEGORY = 'infix';sub infix__S_500__PEEK { $_[0]->_AUTOLEXpeek" (Might be a runaway multi-line <> string starting on line 17)Can't create infix:sym<\ | ||
..… | |||
TimToady | I'm just gonna keep carping till someone does... | ||
colomon doesn't think he has a commit-bit for Parrot... | |||
masak | TimToady: I'm with you. | 18:42 | |
masak never says no to a good carp | |||
moritz_ | colomon: you can still submit patches :-) | ||
TimToady | diakopter: I'm ignoring you. :) | 18:44 | |
18:44
szabgabx joined
|
|||
k23z__ | <kbsmasher> I have tried: __asm { nop } but it didn't do anything. | 18:44 | |
18:44
IllvilJa left
|
|||
lue | I'm going to log out for a moment, to enable japanese input. | 18:45 | |
TimToady | japanese input, yum | ||
18:45
lue left
|
|||
TimToady | quick, talk about lue | 18:45 | |
diakopter | bleh | ||
TimToady | or make a cheese pun | 18:46 | |
masak | TimToady: even if you /ignore diakopter, you will see the STD.pm output he produces. :) | ||
colomon | > say 4 !&& 4 | ||
Could not find non-existent sub &infix:<sol&&> | |||
Aha! | |||
TimToady | yes, well, add_macro is all chewing gum and bailing wire, and I don't feel obligated to make it a real thing just yet | ||
masak | why would anyone be chewing bailing wire? | 18:47 | |
TimToady | and I'm not /ignoring him, just ignoring him. :) | 18:48 | |
diakopter thought it was baling wire | |||
masak | /oh | ||
it's whaling wire, actually. | |||
TimToady | okay, it's kleenex and scotch tape then. | ||
Grimnir_ | what's scotch tape? | 18:49 | |
18:49
simcop2387 left
|
|||
diakopter | a trademarked brand of 3M | 18:49 | |
jnthn | The stuff that doesn't hold the universe together. | ||
masak | Grimnir_: en.wikipedia.org/wiki/Scotch_Tape | ||
colomon | Grimnir_: sellotape | ||
18:50
lue joined,
simcop2387 joined
|
|||
Grimnir_ | oh, that's just called tape in danish | 18:50 | |
masak | wagamama, here we come! | 18:51 | |
18:51
masak left
|
|||
colomon | > say 4 !&& 5 | 18:51 | |
Could not find non-existent sub &infix:<sol!&&> | |||
yay! | |||
lue | 風の楽土 (I hope I wrote winds of rakudo correctly!) | ||
colomon: the sun is nonexistant? Noes! | |||
TimToady | that's more like rakudo of wind | 18:52 | |
wind's rakudo | |||
lue | bah, I'm not a student of japanese | ||
colomon | lue: don't panic! just use your sub-etha to thumb a ride someplace else. | ||
TimToady | is an etha like a metha or a propa? | 18:53 | |
lue | I did pick up a few phrases thru translating things in (and obsessing over) The Legend of Zelda games :) | ||
colomon: I would, but my pandimensional wireless card is broken :/ | |||
(stupid Verizon... :D ) | 18:54 | ||
quietfanatic | ゼルダの伝説 | ||
colomon | lue: oh. sucks to be you. | ||
oh wise ones | 18:55 | ||
lue | 時のオカリナ | ||
colomon | I seem to have hacked !op into the grammar. | ||
any hints on how to generate the metaop on demand, then? | 18:56 | ||
there's addmethod (is that the right name), is there also an addsub? | |||
lue | oi! I have a security update to sudo (I'm scared of why they needed to fix it) | 18:58 | |
TimToady | maybe it prevents insecure people from using it | ||
quietfanatic | I'd be more worried if I didn't occasionally see a security update for sudo. | 19:00 | |
TimToady | lessee, if I'm really about 3 or 4 TZ east of here, I should take a geezer nap now. | 19:01 | |
zzz & | |||
lue | o no! the copenhagen air has slept TimToady | 19:02 | |
19:04
payload left
|
|||
colomon | pmichaud, jnthn: why is $opname stored as a .lex in gen_assign_metaop, rather than just passed as a parameter? | 19:04 | |
19:04
payload1 left
|
|||
k23z__ | anyone in here down for some hardcore assembly hacking let me know | 19:05 | |
should I add hardcore oldschool assembly hacking | |||
19:05
jagd left
19:06
jagd joined
19:07
jagd left,
jagd joined
|
|||
k23z__ | hey related to assembly I saw some code used back in the day by reverse engineers written in Perl | 19:08 | |
even a basic disassembler :) | |||
will Perl6 be compiled to bytecode and if so , will it be hard to write a disassembler for it ? | |||
or for Parrot binary code in general | 19:09 | ||
because I remember there was something (also back in the day ...2002 maybe) that decompiled Java like crazy | |||
it received no resistance whatsoever ... | |||
avar | where here are the spectests rakudo uses: svn.openfoundry.org/pugs/t/ ? | 19:10 | |
colomon | svn.pugscode.org/pugs/t/spec | 19:11 | |
not that I quite understood the question, but that's where the Perl 6 spectests live. | |||
avar | ah, the pugs svn moved | ||
isn't this pretty much the only thing the pugs svn is used for now? | 19:12 | ||
lue & | |||
colomon | avar: not at all, there are a zillion projects in pugs svn. | 19:13 | |
The official perl 6 specs live there, as does Larry's STD.pm official grammar. | |||
and a bunch of other projects as well. | |||
I did a svn up there earlier today, looked like over 200 files have been changed in the last month or two. | 19:14 | ||
> say 4 !&& 5 | |||
Null PMC access in invoke() | |||
19:15
jagd left,
martinro joined,
jagd joined
|
|||
colomon | and wow, I don't have any idea how to debug that. :( | 19:16 | |
lisppaste3 | colomon pasted "Slightly broken implementation of !op -- help?" at paste.lisp.org/display/96015 | 19:19 | |
19:20
explorer__ joined
19:23
jferrero left
19:25
jagd left
|
|||
colomon | oh, wait, should be prefix:<!>... stupid spectest, finish already so I can try that! | 19:25 | |
19:25
jagd joined
19:26
lichtkind joined,
avar joined
|
|||
quietfanatic | colomon: So you're actually generating an &infix:<!op> at compile time, as opposed to putting &infix_prefix_meta_operator:<!>(&infix:<op>, $a, $b) in the code? | 19:29 | |
colomon | yes. | 19:30 | |
I don't know which approach is better, I'm just imitating the way op= is currently handled. | |||
quietfanatic | Ah. Just seems more complicated that way. | ||
colomon | though I'm suddenly suspicious your way is better.... | 19:31 | |
quietfanatic | Mine is just the naive way to do it (I think)... | ||
colomon | I dunno, your way sounds elegant to me. | 19:32 | |
quietfanatic | Because I'm not familiar with grammars and compilers and all that. | ||
lisppaste3 | colomon annotated #96015 "slightly improved but still Null PMC access version" at paste.lisp.org/display/96015#1 | ||
quietfanatic | My way might be a little slower at runtime. | ||
colomon | your way might work. seems like it's worth a try, anyway. | 19:33 | |
colomon is going mad with the power of git! | 19:36 | ||
lichtkind | colomon: please dont do so :) | ||
with 30 entries now: www.perlfoundation.org/perl6/index.cgi?timeline | 19:37 | ||
19:41
martinro left
|
|||
colomon | quietfanatic: the only problem being, I'm not quite sure how to implement your suggestion... | 19:49 | |
quietfanatic | hmm... | ||
colomon | > say 4 !&& 5 | ||
Could not find non-existent sub &infix_prefix_meta_operator:<!> | |||
== progress | |||
quietfanatic | Yeah, well then you need to write &infix_prefix_meta_operator:<!> :) | 19:50 | |
colomon | sure, it's how you call it and how you implement it that's the issue here. :) | ||
quietfanatic | Ah. | ||
19:50
ShaneC joined
|
|||
quietfanatic | Well, it needs to have as parameters infix:<&&>, 4, and 5, right? | 19:51 | |
colomon | right | ||
quietfanatic | s/infix/&infix/ | ||
in some order or other | |||
what should the parameters be when a user writes a new meta op? | 19:52 | ||
colomon | hmmm? | ||
btw, I'm compiling an attempt to guess how to do it as I type. | |||
quietfanatic | I mean...hold on, consulting the spec | ||
The spec doesn't seem to have an example for overloading metaops, just infixes and such. | 19:54 | ||
colomon | holy smokes, that almost sort of worked. | 19:55 | |
multi sub infix_prefix_meta_operator:<!>($a, $b, $c) { | |||
say $a.WHAT; | |||
say $b.WHAT; | |||
say $c.WHAT; | |||
} | |||
> say 4 !&& 6 | |||
Str() | |||
Int() | |||
quietfanatic | Great! Except why is $a Str()? | ||
colomon | probably that's how I'm passing it. | 19:56 | |
but... hmm... | |||
rakudo: "say"(34); | |||
p6eval | rakudo 14a83e: OUTPUT«invoke() not implemented in class 'Perl6Str'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
quietfanatic | rakudo: &::<say>(34) | ||
p6eval | rakudo 14a83e: OUTPUT«Confused at line 11, near "&::<say>(3"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
quietfanatic | alpha: &::<say>(34) | 19:57 | |
p6eval | alpha 30e0ed: OUTPUT«Syntax error at line 10, near "&::<say>(3"in Main (file <unknown>, line <unknown>)» | ||
quietfanatic | ah, it seems symbolic lookup is not yet implemented. | ||
colomon | you can call a method specified by a string, surely there's a way to do that with a sub? | ||
quietfanatic | Well, it's the syntax that's NYI, not the implementation (if I know what I'm talking about) | 19:58 | |
alpha: (Q:PIR{%r = get_hll_global [], '&say'}).(34) | |||
p6eval | alpha 30e0ed: OUTPUT«error:imcc:syntax error, unexpected ']' (']') in file 'EVAL_22' line 71Null PMC access in invoke()in Main (file <unknown>, line <unknown>)» | ||
quietfanatic | alpha: (Q:PIR{%r = get_hll_global '&say'}).(34) | ||
p6eval | alpha 30e0ed: OUTPUT«Null PMC access in invoke()in Main (file <unknown>, line <unknown>)» | ||
diakopter | alpha: (Q:PIR{%r = get_hll_global 'say'})(34) | 19:59 | |
p6eval | alpha 30e0ed: OUTPUT«34» | ||
lisppaste3 | colomon annotated #96015 "very different attempt which also slightly fails" at paste.lisp.org/display/96015#2 | 20:00 | |
colomon | oh hai, I think if you guys can figure out how to do that with an infix op we're good to go here. | 20:01 | |
but I've got to run shower now... | |||
quietfanatic | How do you pass it the op itself, instead of the name of the op? | 20:02 | |
20:07
athenot left,
payload joined,
athenot joined
20:13
athenot_ joined
20:14
athenot_ left,
athenot_ joined
|
|||
quietfanatic | colomon: Just a guess; should that line 'my $opsub := "&infix:<$sym>";' be 'my $opsub = $<infix>.ast;' or something like that? | 20:14 | |
20:14
justatheory left,
athenot left,
athenot_ is now known as athenot
|
|||
quietfanatic | maybe not. | 20:15 | |
s/=/:=/ | 20:17 | ||
20:21
k23z__ left
20:26
clintongormley left
20:28
jagd left
20:35
synth joined
20:48
martinro joined
|
|||
mikehh | looks like I got a seg fault after t/spec/S14-roles/basic.rakudo - Non-zero wait status: 11 in spectest_smolder #32531 - Ubuntu 9.10 amd64 (gcc with --optimize) - parrot r44708 | 20:50 | |
20:50
payload left
|
|||
mikehh | id does not report it in the smolder report | 20:50 | |
20:50
justatheory joined
|
|||
mikehh | s/id/it/ | 20:51 | |
baest | is qw// dead and replaced by <>? | 20:53 | |
quietfanatic | baest: yes | ||
baest | quietfanatic: thanks | ||
20:59
prism joined
|
|||
baest | I'm looking at split.t. split returns a GatherIterator, but that doesn't respons well to being compared to Parcels with is_deeply. Any ideas? | 20:59 | |
20:59
daemon left
21:00
prism is now known as daemon
|
|||
colomon | baest: I think that's all supposed to change in pmichaud's next round of fixes. | 21:02 | |
So I'd not worry about it at the moment. | 21:03 | ||
baest | colomon: oh ok | ||
21:04
Trashlord left
21:05
martinro left
|
|||
diakopter answers my question from yesterday (how to design an api for codegen-generators): macros. duh. | 21:05 | ||
pugssvn | r29967 | baest++ | Use <> instead of qw// and skip places with rx:Perl5 which isn't implemented | ||
21:09
rv2733 joined
21:10
justatheory left
21:12
zostay left
21:13
krr joined
21:20
k23z__ joined,
k23z__ left,
k23z__ joined
21:26
krr left
|
|||
TimToady | baest: actually, qw// should also still work; <> is just the shortcut, like '' and q// still both work | 21:32 | |
rakudo: say qw/foo bar/ | 21:33 | ||
p6eval | rakudo 14a83e: OUTPUT«Confused at line 11, near "say qw/foo"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
TimToady | std: say qw/foo bar/ | ||
p6eval | std 29967: OUTPUT«ok 00:01 107m» | ||
diakopter | pugs: say qw/foo bar/ | ||
p6eval | pugs: OUTPUT«foobar» | ||
21:34
newbie joined
21:35
newbie is now known as jaffa4
21:37
explorer__ left,
jferrero joined
|
|||
baest | TimToady: oh, ok. Hmm, I just a test, but if it's the same it shouldn't matter and now at least, it is parseable by rakudo | 21:45 | |
+changed | |||
22:01
wolf2k_ubuntu left
22:03
uniejo joined
22:06
wolf2k_ubuntu joined
22:07
uniejo left,
mberends joined
22:08
am0c joined
22:09
Su-Shee left
|
|||
k23z__ | hey what if perl6 offered permutations as a core language feature ? | 22:10 | |
is it unreasonable ? | |||
mberends | k23z__: that feels like something that belongs a level above the core language, probably in a module | 22:11 | |
22:11
masak joined
|
|||
k23z__ | can Perl6 modules be written in Parrot code ? | 22:12 | |
what is the equivalent of XS in Perl6 ? | |||
mberends | yes, in PIR | ||
masak | the equivalent of XS is Parrot NCI. | ||
k23z__ | will it be blazing fast if written in PIR ? | ||
TimToady | define blazing | ||
mberends | XS is another matter, we're currently working on NCI | 22:13 | |
lichtkind | mberends: hej | ||
mberends | hi lichtkind | ||
masak | k23z__: it might possibly be a bit faster than compiled Perl 6 in some cases. no order-of-magnitude wins, though. | ||
k23z__ | TimToady: well I'm writing assembly code for generating permutations that'll be called from XS which will be called from Perl5 , will I be able to do this with Perl6 ? github.com/wsdookadr/Rubik-Perl/blo...JT/SJT.asm | ||
lichtkind | and masaks now there too :) | 22:14 | |
mberends: seen www.perlfoundation.org/perl6/index.cgi?timeline ? | |||
mberends | lichtkind: I'm now looking at the current one, had seen it a few days ago | 22:15 | |
lichtkind | mberends: thats not the same :) | ||
TimToady | with a decent jit it might go fast, but parrot's jit has suffered repeated bitrot | ||
masak | jitrot. | ||
jnthn | Parrot's jit got ripped out, iirc. | ||
k23z__ | TimToady: assembly code is my definition of blazing fast | ||
masak | jitrip. | ||
mberends | lichtkind: oh yes, exact dates! | ||
TimToady | yes, well, you're talking NCI there, not parrot, currently | 22:16 | |
masak | rakudo: class A { has $.b = my $foo = 42; say $foo } | ||
p6eval | rakudo 14a83e: OUTPUT«42» | ||
k23z__ | is NCI at an equivalent speed with assembly code ? | ||
masak | alpha: class A { has $.b = my $foo = 42; say $foo } | ||
quietfanatic | Parrot's NCI is, I think, easier to use than Perl5's XS. | ||
p6eval | alpha 30e0ed: OUTPUT«Lexical '$foo' not foundin Main (file src/gen_setting.pm, line 324)» | ||
k23z__ | quietfanatic: maybes some docs please ? with lots of examples ? | ||
TimToady | NCI is an API, not an engine | ||
masak | rakudo: class A { has $.b = my $foo = 42; method x { say $foo } }; A.new.x | 22:17 | |
p6eval | rakudo 14a83e: OUTPUT«Null PMC access in getprop()current instr.: '&infix:<=>' pc 16638 (src/builtins/Junction.pir:228)» | ||
masak submits rakudobug | |||
diakopter | masak: :) | ||
TimToady | it's like asking what's faster, an elevator, or an elevator door? | ||
mberends | lichtkind: the whole timeline looks so very good :) | ||
quietfanatic | k23z__: It's somewhere in Parrot's documentation. | ||
lichtkind | mberends: thanks | ||
k23z__ | TimToady: to me it's all the same | 22:18 | |
diakopter | my elevator is a door | ||
lichtkind | mberends: so we finally get to the translation of the tut :) | ||
masak | my door is an elevator. | ||
k23z__ | TimToady: I don't understand your comparison because I don't know as much about p6 as you do | ||
diakopter | ... no one does... | ||
masak | rakudo: class A { my $foo = 42; method x { say $foo } }; A.new.x | ||
TimToady | has nothing to do with p6 | ||
p6eval | rakudo 14a83e: OUTPUT«42» | ||
lichtkind | masak: lives on mars und uses the super secret jumprooms :) | ||
TimToady | it's a category error | ||
k23z__ is not much of a category theorist :D | |||
22:19
nihiliad left
|
|||
quietfanatic | k23z__: He means NCI isn't code that runs, it's a connection from one kind of code to another. | 22:19 | |
masak | What's faster, an elevator, or a category error? | ||
k23z__ | masak: :) | ||
masak | I mean, it's like comparing apples and category errors. | ||
TimToady | APIs and oranges | 22:20 | |
k23z__ | can you guys make it so that I'll be able to write assembly inline in Perl6 pretty please with sugar on top ? | ||
diakopter | my door is an orange | ||
masak | TimToady: :) | ||
k23z__ | like __asm { ... } | ||
masak | diakopter: :) | ||
quietfanatic | inline? Well, I don't think we have that yet. | ||
TimToady | in any case, that's a severe architecture dependency | 22:21 | |
quietfanatic | The best you could do would be to compile your assembly to a library, and then link to that library from Parrot | ||
diakopter | k23z__: just write some tests... | ||
quietfanatic | ...which is what NCI does. | ||
22:22
nihiliad joined
|
|||
TimToady | APIs and O()-ranges | 22:23 | |
22:23
kfo left
|
|||
pugssvn | r29968 | moritz++ | [t/spec] test that lexicals escape thunks | 22:24 | |
jnthn | .oO( what the thunk? ) |
||
diakopter | rakudo: say 1..my$a # times out I think | 22:25 | |
moritz_ | speakiing of O() - STD.pm uses both <EXPR(item %item_assignment)> and <O(|%term)> - what's the difference? | ||
p6eval | rakudo 14a83e: ( no output ) | ||
TimToady | <O> sets the actual precedence on the token we're returning | ||
the arg to EXPR is a cap on how tight we require the precedence to be | 22:26 | ||
in this subexpressoin | |||
arnsholt | One of the Parrot devs (I think) commented about Rakudo copying a lot in a comment on my segfault bug: trac.parrot.org/parrot/ticket/1499#comment:8 | ||
TimToady | ion | ||
arnsholt | (In case that's interesting to someone) | ||
TimToady | that's how we stop on the comma when you say my $a = 1, 2 | ||
Tene | k23z__: That's certainly possible to do (__asm {}), but it's going to be a decent while before that's a priority for any current Perl 6 devs that I know about. | 22:27 | |
lue | hello! | ||
masak | arnsholt: why would Rakudo copy a lot in a comment on your segfault bug? :P | ||
that sounds like a metabug to me. | |||
arnsholt | masak: A bit of a tangent, from him digging around in the Rakudo code, I imagine | ||
Tene | k23z__: for performance, working on Parrot's GC and then getting a good JIT for Parrot are much higher on the priority list for most people who might work on that, afaik. | 22:28 | |
TimToady | k23z__: but feel free to work on it yourself :D | ||
masak | snarkyboojum: ping | ||
Tene | k23z__: Rakudo has the ability right now to use inline PIR, which is Parrot's bytecode. | 22:29 | |
rakudo: Q:PIR { print "lolol" } | |||
TimToady | for permuting integers, that'll likely be faster than anything you could write in p6 | ||
p6eval | rakudo 14a83e: OUTPUT«lolol» | ||
lue | I want to do something worthwhile during the hackathon. :/ Lurking is fun, but helping is as well :) | 22:30 | |
TimToady | at least, until rakudo gets native ints | ||
lue | (If I can't work, I'll just learn Japanese >:) ) | ||
k23z__ | is Perl6 going to be like Java ? | 22:31 | |
if it has a vm .. | |||
and stuff like that | |||
masak | k23z__: yes. | ||
k23z__ | I wonder how fast is it , if it was registered in the Language shootout then I could compare it with other stuff | 22:32 | |
but maybe speed is not the most important concern at this stage of development ? | |||
moritz_ | slow. At the moment at least | ||
Tene | k23z__: A module that would support inline ASM would take the text provided, compile it into executable code, use something like dlsym to get a handle to the code and then execute it. There's going to be a big calling conventions mismatch between Perl 6 calling conventions and ASM, and I'm sure several other issues. | ||
diakopter | about 5000-10000 slower | ||
moritz_ | k23z__: that's correct | ||
diakopter | 5000-10000x slower, I mean | ||
k23z__ | Tene: calling conventions in terms of ? order of params on stack ? | 22:33 | |
Tene: what else ? | |||
Tene | k23z__: Perl 6 isn't stack-based. Parrot isn't stack-based. You'll need to write code to marshall the args into something reasonably accessible from ASM. | ||
22:33
IllvilJa joined
|
|||
k23z__ | I don't know any other model than stack-based | 22:34 | |
how does Parrot work when calling some fucntion ? | |||
moritz_ | it's continuation passing style | ||
diakopter | Perl 6 isn't stack-based? | ||
moritz_ | en.wikipedia.org/wiki/Continuation-passing_style | ||
(at least parrot) | |||
Tene | Rakudo doesn't have any native data types right now, as well. You'd need to take Perl 6 Integer objects and put them into registers, etc. I'm not all that familiar with ASM, so I don't really know what it would look like. | ||
diakopter: a Perl 6 sub isn't required to set up a C-like stack frame for every invocation. | 22:35 | ||
k23z__ | why is the Perl6 using a vm ? | ||
are there some particular advantages that you are fond of ? | |||
22:35
iblechbot left
|
|||
moritz_ | k23z__: yes; it's needed | 22:35 | |
arnsholt | k23z__: Using a VM you get a lot more platform independence | ||
diakopter | Tene: nor is any language whose subroutines can be inlined when deemed safe....? | ||
arnsholt | There's also GC, and so on | 22:36 | |
Tene | diakopter: which means that you need to care about that when talking about inline ASM | ||
moritz_ | k23z__: in C you don't even have objects, so you need some kind of runtime system | ||
Tene | k23z__: Perl 6 is an extremely dynamic language. It's likely that any implementation is going to implement something like a VM, at least internally, so we're formally doing that as a separate project, for a variety of reasons. | 22:37 | |
Parrot's goal is to be a VM good for any dynamic language. | |||
k23z__ | hm ok I get the idea | ||
Tene | k23z__: There are a few other alternative implementations in progress, and any implementation that can pass the spec test suite "Is Perl 6" | ||
lue | Rakudo is only the most likely candidate. A few years ago it was Pugs. | 22:38 | |
most likely candidate _to be the first_ | |||
k23z__ | I am also interested in speed, XS was very good for Perl5 because you get to mess with the internals, with the core, you can make it do whatever you want | 22:39 | |
I hope a similar mechanism be devised for p6 | 22:40 | ||
TimToady | I hope p6's mechanism is far, far better than XSW | ||
XS | |||
Tene | k23z__: right now, it looks like any API like that is going to be implementation-dependant. It's possible to access C code from Rakudo right now, but it's not very well-documented. | ||
k23z__ | Tene: ah , neat :) | 22:41 | |
masak | k23z__: the hope for Perl 6 is that the internals will be something that you won't often feel the need to mess with, and that messing with the operators, the metamodel, the slangs and macros will be enough. | ||
moritz_ | rakudo: my %p; %p<a> = [%p<a>, 4]; say %p.perl | ||
p6eval | rakudo 14a83e: OUTPUT«{"a" => [Proxy.new(), 4]}» | ||
lue | Speaking of which, is SDL/OpenGL useable yet? :) | ||
mberends | lue: almost :) | ||
moritz_ | masak: that's RT #64080 | ||
and "fixed" now :-) | 22:42 | ||
diakopter | k23z__: Perl 6 specifies native types, which (assuming a good optimizer) should provide quite efficient data structures/algorithms. | ||
Tene | k23z__: the process is: write a C library, load that .so or .dll with the loadlib op, and then fetch symbols in it with the dlfunc op. | ||
TimToady | and it should be possible to specify APIs from the Perl side, so you don't have to write grotty glue code | ||
(see XS) | |||
k23z__ | Tene: yes that seems to be very much like Perl5 does it.. | 22:43 | |
TimToady | the hard work is getting the arguments in and out | ||
Tene | k23z__: here is a wrapper library in PIR for a GUI library I was playing with a while back: github.com/tene/parrot-elementary/b...entary.pir | ||
k23z__: you notice that you need to explicitly specify the signature | |||
k23z__: there have been a few projects to parse C header files and generate library wrappers like this automatically. | 22:44 | ||
None are currently good enough to rely on, that I've heard about. | |||
arnsholt | Are there no plans for a general Perl 6 C API? | 22:45 | |
masak | moritz_: I won't hit you, I'm out of fish. | ||
Tene | arnsholt: I have never heard of one. Every time that question has been asked that I've seen, the consensus has been that any such functionality is likely to be implementation-dependant. | 22:46 | |
TimToady | for any two well-defined languages, we should be able to come up with a well-defined implementation-independent interface | ||
diakopter | hmm. where're we gonna find a well-defined language? | 22:47 | |
TimToady | and the fact is, when I hooked Perl 5 up to Java, I found Java supplied sufficient type info to do that, even though Perl didn't. | ||
mberends | arnsholt: it's not a high priority to make own-foot-shooting-guns, but eventually it will come ;;) | ||
TimToady | and that's one of the reasons Perl now has better type info | ||
k23z__ | Tene: implementation-dependant doesn't matter very much since there is only one implementation(Rakudo) | ||
diakopter | k23z__: that is extremely incorrect. | 22:48 | |
TimToady | perl6: say "hi, k23z__!" | ||
moritz_ | k23z__: perl6.org/compilers/ | ||
p6eval | elf 29968, pugs, rakudo 14a83e: OUTPUT«hi, k23z__!» | ||
TimToady | there's at last three | ||
22:49
kfo joined,
snarkyboojum left
|
|||
Tene | k23z__: That's not quite the question he asked. | 22:49 | |
masak | k23z__: I'm not sure how you can have reached this point in #perl6-hood thinking there is only one Perl 6 implementation. | ||
Tene | k23z__: the fact is, though, even if there were only one implementation right now, Perl 6 has a *very* strong community focus on establishing a spec separate from any implementation. | ||
diakopter | loose reading of lue> Rakudo is only the most likely candidate. | ||
22:50
snarkyboojum joined
|
|||
masak | snarkyboojum: \o | 22:50 | |
Tene | k23z__: We very much don't want to repeat the mistakes of Perl 5, where the only spec is the one existing implementation. | ||
k23z__ | masak: I thought pugs development has stopped ? | ||
masak | k23z__: your point being? | ||
TimToady | but not mildew or sprixel | ||
moritz_ | it still exists | ||
Tene | k23z__: That's right, pugs is not under current active development. That doesn't mean it doesn't exist, though. | ||
TimToady | doesn't mean someone won't pick it up again and run with it either | 22:51 | |
moritz_ | rakudo: &foo # what should that do? | ||
p6eval | rakudo 14a83e: OUTPUT«Could not find non-existent sub &foocurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
moritz_ | std: &foo | ||
p6eval | std 29967: OUTPUT«ok 00:01 108m» | ||
masak | moritz_: that's a question pmichaud asked as well. | ||
arnsholt has considered looking at Pugs | |||
snarkyboojum | masak: g'day :) | ||
masak | moritz_: I'm of the opinion that it should not warn. | ||
arnsholt | It's ludicrously hubristic, but might be fun | ||
k23z__ | masak: 2-1 = 1 | ||
masak | snarkyboojum: I'm hacking on Tardis. | ||
moritz_ | masak: I know; he gave me RT #73074 | ||
and I have no idea what to do with it | 22:52 | ||
masak | k23z__: I'm not sure you've convinced me you're not a troll. | ||
snarkyboojum | masak: nice! how'd the talk go? | ||
masak | k23z__: forgive me if I don't put much energy into replying to you from now on. | ||
k23z__ | ??? | ||
22:52
jaffa4 left
|
|||
masak | snarkyboojum: it felt nice to give it. it's the first talk that I wouldn't mind giving again sometime. | 22:52 | |
snarkyboojum | masak: excellent :) slides up anywhere? | 22:53 | |
masak | snarkyboojum: I just pushed what I've committed so far to Tardis. | ||
k23z__ | ok I am not going to be using this channel any more , bye #perl6 | ||
snarkyboojum | masak: sweet - will take a look | ||
masak | snarkyboojum: bottom of feather.perl6.nl/~masak/ | ||
22:53
k23z__ left
|
|||
diakopter | masak: I think k23z__ was not being a troll. | 22:53 | |
TimToady | now he'll probably brag he got kicked out of #perl6 :) | ||
22:54
kfo left
|
|||
TimToady | I think k23z__ isn't sure himself | 22:54 | |
diakopter | masak: he was here yesterday too | ||
masak | diakopter: I didn't say he was. I said he hadn't managed to convince me he wasn't. | ||
diakopter: there's a subtle difference. | 22:55 | ||
22:55
colomon left
|
|||
diakopter | I didn't say you said/thought he was. | 22:55 | |
masak | :) | ||
TimToady | masak didn't say he thought you said that. :P | ||
masak | I'm not saying I think he isn't, by the way. | ||
TimToady | ain't communication wunnerful | 22:56 | |
Khisanth bows to masak's skills | |||
diakopter | I was saying (in different words) that he *had* managed to convince me he wasn't being a troll. | ||
TimToady | now you tell us | ||
masak | diakopter: is the proof contained in P? :) | ||
diakopter | but that's what I said | 22:57 | |
masak | that's what she said! | ||
diakopter | _I think_ that _he wasn't being a troll_ | ||
masak is not convinced masak is not a troll | |||
TimToady | no, you just said you thought he wasn't, you didn't say he'd convinced you of it :) | ||
22:57
k23z__ joined
|
|||
masak | TimToady: that's what diakopter said, but maybe not what he thought he said :) | 22:58 | |
diakopter | what else could have convinced me of that? | 22:59 | |
pugssvn | r29969 | moritz++ | [t/spec] test that operators can be accessed by their infix:<foo> and &infix:<foo> names | ||
TimToady | hi, k23z__ | ||
k23z__ | masak: I actually rejoined because I think you have mistaken me for a "troll" | ||
masak | k23z__: yes. I might very well have been mistaken. | ||
moritz_ | now we're at leat one step meta. Congratulations everyone. | ||
masak | k23z__: I just wish I could rule it out more readily. | ||
k23z__ | if you label me a troll again I will never enter this channel | 23:00 | |
that's all I had to say | |||
k23z__ goes back to code | |||
masak | k23z__: you're welcome to help. should we resume our fruitful discussion about implementations, and Rakudo not being the only one, in which mostly everyone on the channel disagreed with you? | ||
diakopter | k23z__: I'm glad you have questions about Perl 6 | ||
TimToady | nuclear blackmail? then stay away, by all means | ||
masak | k23z__: I label you a troll. | 23:01 | |
TimToady | take your marbles and run while you can | ||
dalek | kudo: 9a94503 | moritz++ | t/spectest.data: turn on new test in S03-operators/names.t |
||
lue | 日本語 ゼルダの伝説 風の卓と (felt this conversation needed a sharp turn to SCD) | ||
masak | lue: you finally got your kana. :) | ||
TimToady | actually, I think moritz++ has the right idea | ||
quietfanatic | lue: err, I think that's the wrong spelling of タクト | ||
diakopter | I do not believe it was a threat of nuclear blackmail | 23:02 | |
I believe it was someone merely pointing out that they felt offended by being labeled something they weren't intending to be. | |||
and that he wouldn't return to possible face such accusations again, given the past miscommunications | |||
lue | it was not meant to be accurate. Just meant to stop the conversation. | 23:03 | |
TimToady | people who paint a target on their backs usually turn out to be poisonous | ||
quietfanatic | ...I wouldn't be that offended. | ||
23:03
meppl left
|
|||
masak | diakopter: what TimToady said. besides, I didn't call him a troll. | 23:03 | |
not the first time, at least. | |||
lue | Objection! [15:01] <masak> k23z__: I label you a troll. | ||
moritz_ | rakudo: class A { submethod BUILD { eval 'method foo { say "OH HAI" }' } }; | ||
diakopter | not technically, but you implied you suspected it | ||
p6eval | rakudo 14a83e: ( no output ) | ||
masak | diakopter: that's because I suspected it. | 23:04 | |
moritz_ | rakudo: class A { submethod BUILD { eval 'method foo { say "OH HAI" }' } }; class B is A {}; B.new.foo; say "alive" | ||
p6eval | rakudo 14a83e: OUTPUT«Method 'foo' not found for invocant of class 'B'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
masak | diakopter: it was not an accusation. | ||
quietfanatic | We have a high incidence of tautologies in this sector. | ||
diakopter | but perception is what matters here. you perceived possible trollishness, but you weren't sure, and the accused felt hurt that he was even possibly [mis]interpreted as acting trollish. | 23:05 | |
TimToady | or acted hurt | ||
masak | diakopter: I could worry myself blue about people being or acting hurt. the next thing I knew this k23z__ came back and was openly threatening. | 23:06 | |
diakopter | [tried to express hurt] | ||
TimToady | yes, but you have puppy eyes, so it's easy | ||
masak | diakopter: I'll try not to mention the word 'troll' next time I talk to a suspected troll. | ||
they seem to go critical from that. | |||
moritz_ | masak: call them 'llort'.flip :-) | 23:07 | |
k23z__ | I will only talk about code from now on and not express any personal oppinions about anything | ||
I don't like at all being labelled a troll, in fact I hate it a lot. | |||
diakopter | it seems to me k23z__'s message to masak was very unclear/ambiguous/dangerous | ||
< k23z__> masak: 2-1 = 1 | 23:08 | ||
23:08
kfo joined
|
|||
masak | diakopter: I read that as 'Now that Pugs is gone, there's only Rakudo left.' | 23:08 | |
moritz_ | std: max(3, 4) | ||
k23z__ | 2 implementations (Rakudo+Pugs) - 1 implementation(Pugs stopped development) = 1 implementation (Rakudo in active development) | ||
p6eval | std 29968: OUTPUT«ok 00:01 107m» | ||
k23z__ | that was what I meant | ||
I may be wrong | |||
masak | diakopter: and that was after numerous people had mentioned other implementations to him. | ||
k23z__ | if I am, sorry. | ||
23:09
mberends left
|
|||
masak | k23z__: you're wrong. | 23:09 | |
quietfanatic | Why are we still talking about this? | ||
moritz_ | k23z__: I did give you a link to a list of compilers | ||
lue is unsure of how to respond. | |||
k23z__ looks on backscroll | |||
masak | quietfanatic: I'm still talking about it because community mechanisms fascinate me. | ||
quietfanatic: there's a clear risk of the Perl 6 community forming a clique or elite or whatever, despite very clear intentions not to. | |||
quietfanatic: basically because that's what communities do. | 23:10 | ||
quietfanatic | masak: Fair enough. I guess I say that because community mechanisms horrify me :) | ||
k23z__ | moritz_: I didn't see your links sorry, I am looking at it now | ||
lue | I wish to still work on 楽土。What is there to do? | ||
masak | quietfanatic: it was not my intention to push k23z__ away, but I seemingly catalyzed a quite interesting chain reaction of discussion by confronting him. | ||
diakopter | so then, it was _yet another_ instance of someone not reading messages quite as quickly as others, and therefore missing things others assume he read | 23:11 | |
quickly/thoroughly | |||
masak | lue: lots. choose a favourite spectest file, and make the tests pass. especially tests which passed in alpha. | ||
TimToady | diakopter: it's a possibility | ||
masak | diakopter: not only that. there's also the detail of missing the fact that Rakudo is not the only implementation up until this point. | 23:12 | |
TimToady | but I was serious in suggesting that some people have aspects of both t*-ness and non-t*ness simultaneously | ||
diakopter | which is why the _devastating repetitive redundancy_ approach to correcting someone's misbelief/misunderstanding is unhelpful | ||
TimToady | and may not have it all sorted out | ||
lue | and we all understand each other, and all is well, and we stop talking down this dark avenue (please! Camelia needs you to stop!) | ||
»ö« | |||
moritz_ | rakudo: say <foo bar>.max | ||
p6eval | rakudo 14a83e: OUTPUT«foo» | ||
moritz_ | lue++ | ||
masak | moritz_: that's correct, no? | ||
TimToady | every community has to include helpful people, and exclude destructive people, and the really, really hard part of that is a given person can be both | 23:13 | |
masak | k23z__: what TimToady just said. | ||
k23z__: to the extent that you're helpful, I do wish to help include you. | |||
TimToady | lue: Camelia tells us we have to know how to be nice to all kinds of people. She very carefully doesn't say we always have to be. :) | 23:14 | |
k23z__ | masak: ok, thanks. | ||
Tene | I wouldn't be surprised if half of my contributions to this channel were borderline trolling. :) | ||
lue | masak: do I have to switch to the alpha branch to see the difference between passing tests? Or is there a handy printout. | ||
diakopter | masak: I think you mean non-hurtful... since the mere presence of non-contributors should also be encouraged. | ||
masak hugs k23z__ | |||
TimToady | where's hugme when you need it | ||
Tene | lue: I'm not aware of any lists currently. Making one would certainly be useful, as well as determining the difference between alpha and master. | ||
23:15
hugme joined
|
|||
moritz_ | TimToady: hugme seems to have problems with net splits :/ | 23:15 | |
lue | P»ö«6 # I think this is a much more obvious representation of Camelia | ||
masak | diakopter: well, 'helpful' is a wide term. | 23:16 | |
TimToady | sometimes Camelia is subtle :) | ||
23:16
kfo left
|
|||
diakopter | after k23z__ was here yesterday, I happened to look up his googlecode and github repos, and the content of those also helped in my assessment. I neglected to mention/remember that. | 23:16 | |
masak | diakopter: that's the kind of proof that would be contained in P. :) | 23:17 | |
k23z__ | masak: ah ... perl6.org/compilers/ , I was clearly wrong | ||
Tene | k23z__: We've had a fair number of trolls in here, on and off, so some of us (especially those that have worked on other implementations) can be a bit sensitive. | 23:18 | |
masak | k23z__: also, I'm a bit surprised that it took you so long to realize that Rakudo isn't the only (active) implementation. | ||
k23z__: there's quite a bit of talk about them all here most of the time. | |||
k23z__ | masak: I haven't been looking at any other, I am reading blogs and everybody is talking about rakudo, the others don't get so much attention because they're not in blogs | ||
masak: I read ironman for example | 23:19 | ||
masak | k23z__: true. | ||
lue | How doth I switch branches? | ||
masak | lue: git checkout -b branchname | ||
lue: or, if for the first time, git checkout -b branchname origin/branchname | |||
lue | bah. I messed up. How to switch back to master, it won't let me. | 23:21 | |
Tene | git checkout master | 23:22 | |
moritz_ | git reset --hard HEAD; git checkout master # throws away all changes | ||
23:23
mberends joined
|
|||
lue | I think I got it. Will it act like alpha now? | 23:24 | |
diakopter notes that vill should be added to perl6.org/compilers | |||
Tene | lue: Yes. Check 'git log' if you want to be sure, to see what line of development you're on. | ||
lue | Thanks. I'll play with that later. | 23:25 | |
lue & | |||
jnthn | diakopter: It sure it vill be added soon. | 23:26 | |
diakopter | :) | ||
jnthn | </bad german accent> | ||
23:34
justatheory joined
|
|||
masak | jnthn++ | 23:34 | |
Grimnir_ | jnthn: hey, is it possible to get your slides from today's talk on perl6? In particular I'd like the slides from "Solved in Perl6" | 23:35 | |
masak | rakudo: sub foo($a;; $b, $c) {} | ||
p6eval | rakudo 14a83e: ( no output ) | ||
23:35
kfo joined
|
|||
jnthn | Grimnir_: The almost same ones are on jnthn.net/articles.html | 23:36 | |
But will upload the latest ones too soon. :-) | |||
Grimnir_ | nice, thanks :) | ||
snarkyboojum | jnthn.net/articles.shtml | ||
jnthn | oops, yes, it is. | 23:37 | |
snarkyboojum++ | |||
snarkyboojum | :) | ||
Grimnir_ | yeah, it was the wrong link, but I found it :) | ||
snarkyboojum | beautiful photo on the first slide! | 23:38 | |
Grimnir_ | I often hear people talking about python or see people talking about it on the net and that it's better than perl, etc. What is your opinion about python and perl6? | ||
masak | Grimnir_: both are Turing-complete programming languages. | 23:40 | |
Grimnir_: personally, I prefer Perl 6. | 23:41 | ||
Grimnir_ | heh | ||
23:41
kfo left
|
|||
Grimnir_ | (I'm not trying to troll here ;) | 23:42 | |
masak | Grimnir_: :) | ||
diakopter | but are you trying (hard enough) *not* to troll? :P | ||
masak | Grimnir_: it's a legitimate question, but that doesn't mean it has a meaningful or informative answer. | ||
Grimnir_ | raduko: my @nums = 2, 1, 9, 4; say [+] @nums | ||
masak | Grimnir_: if you like Python enough, who am I to force you not to use it? | 23:43 | |
Grimnir_ | masak: I know. I just hoped someone could answer :) | ||
diakopter | rakduo, raduko, I've mistyped them all ;) | ||
masak | rakudo: my @nums = 2, 1, 9, 4; say [+] @nums | ||
p6eval | rakudo 14a83e: OUTPUT«Confused at line 11, near "say [+] @n"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
masak | Grimnir_: no hyperops in master yet. | ||
23:43
am0c left
|
|||
Grimnir_ | well... I haven't been using python that much. I've always really liked perl, and perl6 seems to do the stuff I missed in perl5 | 23:43 | |
and more | |||
masak | Grimnir_: I've seen good answers, mind you. let me get you a link. | ||
Grimnir_ | alpha: my @nums = 2, 1, 9, 4; say [+] @nums | 23:44 | |
p6eval | alpha 30e0ed: OUTPUT«16» | ||
masak | Grimnir_: use.perl.org/~masak/journal/39025 | ||
Grimnir_: the section 'Do we like Perl or Python?' about halfway down. | |||
Grimnir_ | thanks | 23:45 | |
masak | time to sleep, methunks. | 23:46 | |
jnthn | aye | ||
masak | o/ | ||
jnthn | o/ | ||
23:46
masak left
|
|||
Grimnir_ | just for the record, I'm not trying to find "the best" language. I've learned pretty much, that different languages can be great in different situations. and it doesn't really matter if you like one language better than the other, if you have to modify code in a particular language | 23:47 | |
23:53
ShaneC left
|
|||
k23z__ | Grimnir_: if you want to know about Python go to #python | 23:53 | |
Grimnir_: if you want to know about Perl5 ask here | 23:54 | ||
23:54
kfo joined
|
|||
k23z__ | Perl6 | 23:54 | |
Grimnir_: if you ask questions about Perl6 in #python you'll be offtopic | 23:55 | ||
Grimnir_: the same with asking here questions about Python | |||
Grimnir_ | they said it was a nice channel | 23:58 |