»ö« | perl6.org/ | 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 moritz_ on 25 June 2010. |
|||
[Coke] | phenny: tell moritz_ that I added tadzik. | 00:00 | |
phenny | [Coke]: I'll pass that on when moritz_ is around. | ||
[Coke] | masak++ | ||
00:02
Psyche^ joined
|
|||
lue | I wonder how hard it would be to create a 4D visualizer in P6... | 00:02 | |
masak | would you need two sets of polarizing glasses to view the result? | 00:05 | |
TimToady | you just need a single 3-dimensional polarizer | ||
00:05
Patterner left,
Psyche^ is now known as Patterner
|
|||
lue | Reason being that I can't find a decent set of pictures of a glome :/ | 00:07 | |
.oO(And I'm out of 4D graph paper) |
00:08 | ||
rakudo: my Set @a = 1,3,2; say @a; | 00:10 | ||
p6eval | rakudo df38ac: OUTPUT«132» | ||
lue | rakudo: my Set @a = 1,3,2; say @a.WHAT; | ||
p6eval | rakudo df38ac: OUTPUT«()» | ||
lue | rakudo: my Set $a = 1,3,2; say $a.WHAT; | ||
p6eval | rakudo df38ac: OUTPUT«Type check failed for assignment in '&infix:<=>' at line 1 in main program body at line 22:/tmp/MVjx18DVig» | ||
lue | rakudo: my $a = Set.new(1,2,3); say $a.WHAT; | 00:11 | |
p6eval | rakudo df38ac: OUTPUT«Set()» | ||
lue | where's the definition of Set? [the one in S32::Containers contains much less than what's in src/core/Set.pm] | 00:13 | |
Grr. I'm finding it hard to use Set. (mainly because my Set @a doesn't dwim) | 00:18 | ||
masak | lue: it doesn't really make sense to positionally access a Set. | 00:22 | |
I blogged: use.perl.org/~masak/journal/40516 | |||
lue | ah. (I think since Sets and Arrays both contain a group of things, I expect an array variable could be a set) | 00:23 | |
00:25
eternaleye left,
eternaleye joined
|
|||
masak | lue: you don't seem to be alone in that. in fact, the '@' sigil feels like a sort of half-match for the job. | 00:25 | |
lue | great blog post masak. I actually think it's fun to (freak out|stun|amaze|*) people. :) | 00:28 | |
masak | me too. | ||
I just didn't expect it in this case. I had to explain to myself why they freaked out. | |||
my tolerance to stacking of Perl 6 concepts has definitely risen :) | 00:29 | ||
lue | In my mind [at least how I'd like it to be :)], $ variables contain single items, @ variables a group of items, and % variables a 'dictionary' of items. | ||
00:31
fod left
|
|||
masak | lue: s/group/an ordered collection/ | 00:31 | |
lue | .oO(not like I expect the foundations of the language to change just so my brain feels better :) ) |
00:34 | |
masak | I told you people would like the REPL :) twitter.com/jasonnoble/status/22221223964 | ||
lue: it's been known to happen. :) | 00:35 | ||
00:35
Italian_Plumber joined
|
|||
lue | What bug me with using $ variable for Set (specifically), is that I can't say things like my Set $a; , instead my $a = Set.new(); . | 00:36 | |
masak | you can say 'my Set $a .= new();' | 00:37 | |
lue | Alright. .oO(I'll save a detailed discussion of $/@/% for (later&p6l).) Would it be unreasonable to have a powerset method for Set? | 00:40 | |
masak | I don't see an urgent need for it in core. | ||
then again, I don't see an urgent need for Set (or Bag) in core, either. | |||
depends on the degree to which we want batteries to be included, I guess. | 00:41 | ||
lue | When I saw things like union and intersect in Set.pm, I thought powerset could be included in the core as well. | ||
00:42
drbean joined
|
|||
masak | could be. | 00:42 | |
it is one of those things that when you need it, you really need it. | 00:43 | ||
00:47
bythos joined
00:51
whiteknight left
00:52
masonkramer left,
masonkramer joined
|
|||
masak | 'night, #perl6 | 00:53 | |
00:53
masak left
|
|||
lue | afk | 00:55 | |
01:05
lue left
01:08
alester joined
01:09
justatheory joined
01:10
Italian_Plumber left
01:11
Italian_Plumber joined,
dduncan joined
01:12
sekimur__ left
01:13
dduncan left
01:20
jaldhar joined
01:23
jaldhar left
01:27
ruoso joined
01:39
tylercurtis joined
01:56
\xF0 left
01:57
\xF0 joined
01:58
masonkramer left
02:01
justatheory left
|
|||
tylercurtis | sorear: based on the backlog, it sounds like you agree that RT #77022 is a bug. | 02:11 | |
02:12
leprevost joined
02:18
bjarneh left
02:20
kid51 left
02:25
justatheory joined
|
|||
gfldex | std: say "{"flap" xx 3}"; | 02:25 | |
p6eval | std 32107: OUTPUT«ok 00:01 117m» | ||
gfldex | rakudo: say "{"flap" xx 3}"; | ||
p6eval | rakudo df38ac: OUTPUT«flap flap flap» | ||
gfldex | perl6++ :) | 02:26 | |
02:27
alester left
|
|||
TimToady | RT #77022 is not a bug, but the explanation given is incorrect | 02:32 | |
all parses start at position A and progress till they return position B | |||
there is no scanning implicit in subrules, nor is there any anchoring | |||
it *appears* to be anchored to the beginning merely because that's the first position passed to TOP | 02:33 | ||
if you want it anchored at the end, you must do so explicitly | |||
02:33
azert0x left
|
|||
TimToady | otherwise the grammar will assume that some other grammar wants to take up where it left off | 02:34 | |
the scanning done by higher-level matchers is a function of .match, .subst, m//, etc | |||
not a function of the grammar | 02:35 | ||
tylercurtis | Thanks for clearing that up, TimToady++. | 02:36 | |
TimToady | we played with various other models, but this seems to be the most composable | 02:37 | |
02:42
agentzh joined
02:47
jaldhar joined
03:01
BaggioKwok joined
03:09
risou joined,
ash_ left
03:15
BaggioKwok left
03:18
ash_ joined
03:22
justatheory left,
Italian_Plumber left
03:37
Italian_Plumber joined,
Italian_Plumber left
03:41
alester joined
03:53
risou left
03:56
lue joined
04:04
ash_ left
04:07
plobsing left
04:18
patspam left
04:19
molaf joined
|
|||
[Coke] | has anyone familiar with the rakudo's C guts looked at the latest post on TT #1746? | 04:21 | |
04:22
sftp joined
04:24
justatheory joined
|
|||
[Coke] | phenny: tell moritz to please respond to TT #1613 | 04:32 | |
phenny | [Coke]: I'll pass that on when moritz is around. I'll have to use a pastebin, though, so your message may get lost. | ||
[Coke] | phenny: tell yourself to implode. | 04:33 | |
phenny | [Coke]: I'll pass that on when yourself is around. | ||
04:36
molaf left
04:45
zorgnax joined
04:46
kaare joined,
kaare is now known as Guest57048
04:51
bythos left
|
|||
tylercurtis | Hmm: "say 'Executed successfully' if run('ls');" outputs the output of 'ls', but it doesn't output 'Executed successfully'. | 05:14 | |
[Coke] | rakudo: say run('ls') | 05:19 | |
Tene | rakudo: my $a = run('ls > /dev/null'); say $a.perl; | ||
p6eval | rakudo df38ac: OUTPUT«Operation not permitted in safe mode in 'Safe::forbidden' at line 2:/tmp/OGuZDI2JQG in main program body at line 22:/tmp/OGuZDI2JQG» | ||
rakudo df38ac: OUTPUT«Operation not permitted in safe mode in 'Safe::forbidden' at line 2:/tmp/g18kJS6dHn in main program body at line 22:/tmp/g18kJS6dHn» | |||
[Coke] | (it returns 0) | ||
Tene | There's another way to get the output if that's what you're going for, but I don't recall. | 05:21 | |
q:x or something? | |||
TimToady | rakudo: sub rot13 ($s) { $s.trans('A..Za..z' => 'N..ZA..Mn..za..m') }; print rot13 $*IN.slurp; | 05:23 | |
p6eval | rakudo df38ac: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected in 'rot13' at line 22:/tmp/VXhkXJLzqp in main program body at line 22:/tmp/VXhkXJLzqp» | ||
TimToady | rakudobug | 05:24 | |
workaround: | |||
rakudo: sub rot13 ($s) { $s.trans('A..Za..z' => 'N..ZA..Mn..za..m') }; print rot13 ~$*IN.slurp; | |||
p6eval | rakudo df38ac: OUTPUT«Ynaq qre Oretr, Ynaq nz Fgebzr,Ynaq qre Äpxre, Ynaq qre Qbzr,Ynaq qre Uäzzre, mhxhasgfervpu!Urvzng ovfg qh tebßre Föuar,Ibyx, ortanqrg süe qnf Fpuöar,ivrytreüuzgrf Öfgreervpu,ivrytreüuzgrf Öfgreervpu!Urvß hzsruqrg, jvyq hzfgevggrayvrtfg qrz Reqgrvy qh vazvggra,rvarz | ||
..fgnex… | |||
TimToady | slurp is apparently returning something that is not a Perl string | ||
rakudo: $*IN.slurp.WHAT.say | 05:25 | ||
p6eval | rakudo df38ac: OUTPUT«Str()» | ||
TimToady | rakudo: $*IN.slurp.Parrot.say | ||
p6eval | rakudo df38ac: OUTPUT«Method 'Parrot' not found for invocant of class 'String' in main program body at line 22:/tmp/fcJssxgeKJ» | ||
TimToady | rakudo: $*IN.slurp.PARROT.say | ||
p6eval | rakudo df38ac: OUTPUT«String» | ||
[Coke] | rakudo: say "goodnight, gracie" | 05:26 | |
p6eval | rakudo df38ac: OUTPUT«goodnight, gracie» | 05:27 | |
05:27
zag joined
|
|||
tylercurtis | [Coke]: it does return 0 on success. But, according to S29, the return value of run in a Boolean context is true for success and false for failure. | 05:27 | |
[Coke] | tylercurtis: you didn't give it a boolean context. | 05:28 | |
(not that ?run works either.) | |||
or is "if ..." implicitly boolean? | |||
(which woudl make sense) | |||
tylercurtis | [Coke]: I'd expect if to be boolean context. Even if not,... right, .Bool or ? doesn't work either. | 05:29 | |
[Coke] | anywayz, zzzz | ||
diakopter | rakudo: say 2 [xx] 5 | 05:30 | |
p6eval | rakudo df38ac: OUTPUT«22222» | ||
diakopter | rakudo: say 2 [[x]] 5 | 05:32 | |
p6eval | rakudo df38ac: OUTPUT«22222» | ||
diakopter | :/ | 05:33 | |
TimToady | what's the matter with that? | 05:35 | |
or is the problem that it *didn't break? :) | 05:36 | ||
05:39
shade\ left
05:41
shade\ joined
05:49
alester left
05:57
Guest57048 is now known as kaare_
06:00
wtw joined
06:01
bpalmer joined
|
|||
moritz_ | mornin' 6folks | 06:07 | |
phenny | moritz_: 00:00Z <[Coke]> tell moritz_ that I added tadzik. | ||
lue | how do I do a left bit rotation? [I remember there being an operator to do it] | 06:13 | |
06:15
uniejo joined
|
|||
Tene | $val ↑↑↓↓←→←→ $howmany | 06:24 | |
lue | std: 'a' +<< 1 | 06:29 | |
p6eval | std 32107: OUTPUT«===SORRY!===Unable to parse quote words at /tmp/MDTveqGgpN line 1:------> 'a' +<⏏< 1Couldn't find final '>'; gave up at /tmp/MDTveqGgpN line 1 (EOF):------> 'a' +<< 1⏏<EOL>Parse failedFAILED 00:01 116m» | ||
TimToady | you must be remembering some C variant; there's no such operator in Perl 6 | ||
or you're remembering @array.rotate | 06:30 | ||
there's a :rotate adverb specced for bit shifts, but rakudo doesn't implement adverbs | |||
lue | Well, everything I look at talks about +<< or +< and so on being in Perl 6 | 06:32 | |
06:35
justatheory left
|
|||
lue | std: 'a' ~< 1 | 06:38 | |
p6eval | std 32107: OUTPUT«ok 00:01 116m» | ||
lue | rakudo: 'a' ~< 1 | ||
p6eval | rakudo df38ac: OUTPUT«===SORRY!===Confused at line 22, near "'a' ~< 1"» | 06:39 | |
lue | I guess I'll have to ask about all that tomorrow. Goodnight o/ | ||
06:44
fxstor joined
06:45
mberends left,
fxstor left
06:53
sftp_ joined
06:54
sftp left
|
|||
moritz_ | masak++ # use.perl.org/~masak/journal/40516 | 07:01 | |
sorear | tylercurtis: #77022 has spectests and the reason given for rejecting it is nonsense | 07:05 | |
tylercurtis: S05, the prose version, is not completely clear on the issue | 07:06 | ||
but the tested version is the most useful | |||
tylercurtis | sorear: ooc, which spectests specify that grammars anchor to end of string? | 07:07 | |
07:09
zulon joined
|
|||
sorear | S05-grammar/parse_and_parsefile.t the first couple | 07:11 | |
the tests are bad because they test two things at once | |||
07:12
erez joined
|
|||
tylercurtis | I don't see how any of the tests there test whether it anchors to end of string. The first one tests relies on Grammar.parse anchoring to either the beginning or the end of the string, but not to both. | 07:14 | |
s/The first one tests/The first one/ | 07:17 | ||
07:20
ejs joined
07:22
fda314925 joined
07:28
zulon left
07:46
shade\ left
07:47
shade\ joined
07:59
daxim joined
08:11
Mowah joined,
Mowah left,
Mowah joined
08:23
CTAPOMAK joined
08:36
drbean left
08:40
thebird joined
08:42
tylercurtis left
08:44
dakkar joined,
PZt left,
cjk101010 joined
|
|||
smash_ | mornin' | 08:44 | |
08:48
oyse joined
08:53
Mowah left
08:54
stepnem left
08:56
fridim left
09:09
pnate joined
09:11
dju left
09:12
dju joined,
fridim joined
09:14
yves_ joined
09:19
leprevost left
09:20
leprevost joined
09:24
fridim left
09:25
fridim joined
|
|||
itz laughs at the disk space whine "bug" | 09:27 | ||
09:40
masak joined
|
|||
masak | oh hai, #perl6! | 09:40 | |
daxim | O HAI, exalted one | 09:48 | |
09:49
bpalmer left
09:51
meppl joined
|
|||
masak | lunch & | 09:51 | |
smash_ | masak: hi | 09:52 | |
09:54
whiteknight joined
09:58
wamba joined
10:01
zulon joined
10:05
masonkramer joined
|
|||
pmichaud | good morning, #perl6 | 10:06 | |
10:07
dju left,
dju joined
10:08
thebzu is now known as m6locks
|
|||
smash_ | pmichaud: mornin' | 10:08 | |
10:08
timbunce joined
|
|||
cjk101010 | hey guys :) I'd like to get involved with perl6/rakudo. But I don't really know what to do. Any hints? Tips? | 10:08 | |
pmichaud | cjk101010: we can always use modules and/or applications | 10:10 | |
10:10
tadzik joined
|
|||
pmichaud | cjk101010: those quickly point out areas where things need to be fix (and possibly places that you could start fixing things :-) | 10:10 | |
*fixed | |||
10:11
cL0h joined
|
|||
cjk101010 | hm, my problem is: I'm missing ideas what to write ;-) But ok, I will find something… maybe a fastcgi interface. is there a list of existing perl6 modules? | 10:11 | |
pmichaud | modules.perl6.org, I believe. | ||
cjk101010 | ah. cool, thanks. | 10:12 | |
pmichaud | even just fixing up or improving some existing modules is probably a good place to start :-) | ||
10:12
cL0h left,
leprevost left
|
|||
smash_ | pmichaud: still haven't fixed the ABC example, can't find where the Undef rule is coming from | 10:12 | |
tadzik | oh hello | 10:13 | |
phenny | tadzik: 26 Aug 22:52Z <masak> tell tadzik that I got json to install again with the latest changes to pls/poc :) | ||
tadzik | masak: taking a look | ||
pmichaud | smash_: it's not an Undef rule, it's an Undef object. That's the default value of .ast if not set. | 10:14 | |
10:16
zby joined,
zag left
|
|||
smash_ | pmichaud: right, what i can't figure out is where the Undef object is coming from ? | 10:16 | |
s/from ?/from/ | |||
pmichaud | if you can nopaste code/output, I might be able to help. | ||
tadzik | masak: it did install even with my Q&D patch, but good we have a proper solution now | ||
smash_ | pmichaud: gist.github.com/553150 | 10:19 | |
oyse | Hi. I am looking at blizkost and trying to find a good concrete task I can work on. Anyone here that provide some good pointers of where to start? I got some tips a few weeks ago, but nothing concrete enough that I can start coding something. | 10:21 | |
pmichaud | smash_: looking | 10:22 | |
10:22
patrickas joined
|
|||
smash_ | pmichaud: thank you, no hurry | 10:22 | |
pmichaud | smash_: found it | 10:24 | |
smash_: since ABC::Actions is inheriting from HLL::Actions, you're also getting the action method for <integer> | |||
smash_ | oh, then i need a make to it | 10:25 | |
pmichaud | so, you could either leave off the "token integer" from the grammar (and use the one that comes from HLL::Grammar), or add an action method for <integer> (it doesn't have to do anything other than override the existing one) | ||
the integer method you're inheriting is | 10:26 | ||
method integer($/) { make $<VALUE>.ast; } | |||
src/HLL/Actions.pm:124 | |||
and the .ast you're getting is from the non-existent $<VALUE> | |||
smash_ nods. | 10:27 | ||
right | 10:28 | ||
dalek | p-rx: 20477be | pmichaud++ | src/NQP/Actions.pm: Refactor 83747bd to avoid the "skip_multi" flag on PAST nodes. |
10:33 | |
tadzik | oyse: have you seen the blizkost examples? | ||
oyse | tadzik: no | 10:34 | |
tadzik: taking a look now. Do they contain some possible starting points? | |||
tadzik | oyse: see for yourself. Depends on what you want to do | 10:35 | |
smash_ | pmichaud: all woring perfectly now, thank you | 10:37 | |
nqp-rx++ | |||
oyse | tadzik: I want to make blizkost good enough to use in a production setting :) Ok, so that is probably quite far off, but anything that will move in that direction is ok for me. | 10:38 | |
smash_ | s/woring/working/ # damn keyboard | ||
oyse | tadzik: I made some test for my self and see that returning list values from Perl 5 does not work. But that is probably a bit hard to solve as a first task :) | 10:39 | |
tadzik: But working in PIR and Parrot guts is ok for me. Even though I know neither of them. | 10:40 | ||
tadzik | oyse: you'll have to talk to jnthn++ about blizkost, but he's on vacation now. Maybe there is someone with a knowledge about blizkost, I don't know | 10:41 | |
oyse | tadzik: Ok. When will he be back? | 10:42 | |
smash_ | pmichaud: also i have set it up with the building script and all: $ perl Configure.pl --gen-parrot && make && ./abc-nqp and everything works great | ||
tadzik | oyse: Week and a half, iir | 10:43 | |
* iirc | |||
oyse | oyse: ok. thanks for the help | ||
ups | |||
tadzik: ok. thanks for the help | |||
tadzik | you're welcome | ||
10:45
pnate left
10:47
Mowah joined
10:48
rindolf joined
10:50
sftp joined,
sftp_ left
|
|||
oyse | Does anyone know if there exists an Eclipse plugin for working with .pir files? | 10:56 | |
smash_ | oyse: there is one for vim under editors/ in parrot repository, not sure if there is something for eclipse | 10:59 | |
arnsholt | oyse: Not as far as I know. The people in #parrot on irc.perl.org might know though | 11:03 | |
11:20
azert0x joined
11:27
Trashlord left
|
|||
masak | positive comment from someonw who knows Haskell: use.perl.org/comments.pl?sid=45070&cid=72354 | 11:27 | |
s/onw/one/ | 11:29 | ||
I'm still considering what to reply to this negative comment: use.perl.org/comments.pl?sid=45070&cid=72352 | |||
11:30
Trashlord joined
|
|||
masak | it basically 'takes the bait' the the article trolls about. :) | 11:30 | |
s:2nd/the/that/ | |||
x3nU | i wonder is anyone going to create r* 8.2010 installer for windows? | ||
11:31
agentzh left
|
|||
masak | who did last time? jnthn? | 11:33 | |
pmichaud | jnthn++ did it last time, and unfortunately he's on break. | 11:34 | |
I didn't remember that until it was too late. :-| | |||
11:34
ruoso left
|
|||
pmichaud | masak: (negative comment) I'm not sure it needs a reply. | 11:37 | |
11:37
stepnem joined
|
|||
masak | ok. | 11:37 | |
can that be argued not only from the perspective of a Sixer, but also from the perspective of a Fiver, who might not yet be convinced Perl 6 hasn't jumped the shark? | 11:38 | ||
pmichaud | I think so (more) | 11:40 | |
from a p5 perspective, I guess I'd want to know "okay, how could this be expressed better in p5?" | 11:41 | ||
so, thinking about it that way, perhaps the response is to turn it around and ask the question: how would you express the answer to this problem, then? | |||
masak | can I ask that? | 11:43 | |
masak would like to | |||
pmichaud | I don't know. | ||
But the negative comment says "this is totally readable", so perhaps the question is "how to make it more readable?" | |||
s/totally readable/totally unreadable/ | |||
masak | "I'd be interested to see how your ideal solution to this problem would look." | 11:44 | |
pmichaud | I certainly don't find the Perl answers to Pascal's triangle to be more readable than the p6 one | ||
masak | ooh, I haven't checked them at Rosetta code! | ||
masak does it now | |||
pmichaud | another idea kernel I've been having is that Pascal's triangle is inherently from the mathematics domain, it's quite appropriate that p6 provides a mathematical-looking solution | 11:45 | |
arnsholt | The ideal solution is obviously "my @pascal = pascal_triangle()" | ||
Just like "say do_my_homework()" should obviously be added as well ;) | 11:46 | ||
s/added/work | |||
masak | arnsholt: can't use assignment there, but binding might work. | ||
pmichaud | but just because there's a mathematic-looking solution for ths problem doesn't mean that all p6 answer will be equally mathematical | ||
masak | pmichaud: indeed. | ||
pmichaud | actually, I think we *can* use assignment there -- it's just that some of our internals aren't properly lazy yet | ||
masak | ah. | ||
arnsholt | Quite. Strange how mathematical stuff tends to look like math =) | ||
masak | I think people are being slightly put off by the maths example. | ||
"You optimized Perl 6 for *mathematics*? You bastards!" | 11:47 | ||
"I don't do maths in my job. I do production stuff!" | |||
I think that's the core of the complaint, actually. | |||
pmichaud | answer: "We optimized Perl 6 for writing mathematical solutions to mathematical problems. Problems in other domains would look different." | ||
masak | aye. | 11:48 | |
pmichaud | or, more precisely, "Answers to problems from other domains would look different." | ||
afk for a bit | |||
masak | Answers to problems from other domains would look like the languages people in those domains are used to thinking in. | ||
pmichaud | (have to get kids to school) | 11:49 | |
huf | i think people are just wedded to their explicit loops | 11:51 | |
frettled | pmichaud++ — I think that way of putting it would be constructive. | ||
masak | nofeed.org/post/1018387893/i-was-th...e-ruby-2-0 | 11:52 | |
frettled | hee-hee :) | ||
11:54
sftp left,
sftp joined
11:56
Italian_Plumber joined
11:57
envi^home joined
|
|||
masak | can't find any such comp.lang.ruby post, though :) | 11:59 | |
frettled | Me neither, and I've searched. | 12:00 | |
Perhaps it was paraphrased, or in an old post. | |||
12:03
zulon left
|
|||
tadzik | masak: whose quote is that? | 12:03 | |
masak | tadzik: we don't know. | 12:04 | |
tadzik | Maybe it's Matz :P | ||
12:09
jfried joined,
drbean joined
|
|||
masak | :) | 12:21 | |
pmichaud | my response: use.perl.org/comments.pl?sid=45070&cid=72355 | 12:24 | |
12:26
tadzik left
|
|||
huf | srsly, hanging on this channel has taught me how to be nice | 12:31 | |
in theory at least. | |||
12:31
PZt joined
|
|||
baest | pmichaud++ # very good response | 12:35 | |
masak | huf: :) | 12:36 | |
12:36
stepnem left
|
|||
huf | my natural reaction to that comment would have been biel | 12:36 | |
bile | |||
which isnt very productive from any standpoint | |||
12:38
Holy_Cow joined
12:39
stepnem joined
|
|||
pmichaud | When people have asked me about making programming languages "more readable", I've often reflected on the fact that there are many non-programming domains that end up adopting specialized symbols and notations. Aviation, medicine, chemistry, physics, spaceflight, etc. -- all of these end up with "custom languages" that can be quite opaque to newcomers. (more) | 12:40 | |
That opacity isn't (usually) a goal; it's just an unfortunate side effect of having more effective communication among experts. | |||
What Perl 6 hopefully allows us to achieve is something that can be usable by newcomers, but more powerful and expressive as they become experts. | 12:41 | ||
(end of soapbox) | 12:42 | ||
huf | yeah, it's useful to have languages that are easy to pick up (for your fist language) | ||
but not all of them *have* to be like that | |||
timbunce | Should my |$retval := callsame; work currently? I'm getting Malformed my at line 60, near "|$retval :" | ||
pmichaud | I'm pretty sure it doesn't work currently. | ||
huf | altho i'm guessing someone will find a consistent subset of p6 that's easy to teach to complete beginners | 12:43 | |
that, or write one inside p6 | |||
timbunce | pmichaud: any workarounds? (I'm trying to use some code jnthn++ gave me gist.github.com/552139 and extend it to log the return from a method) | 12:44 | |
pmichaud | maybe my $retval = (callsame).Capture ? | 12:45 | |
I'm not sure. | |||
12:45
zulon joined
|
|||
pmichaud | seems like that might work... but I'm a bit rusty when it comes to the specific of the call/return semantics yet | 12:45 | |
12:46
ruoso joined
12:47
sftp_ joined
|
|||
[Coke] | masak++ # idiotic perl6 post. | 12:47 | |
12:47
sftp left
|
|||
[Coke] | masak++ # idioMAtic perl6 post. | 12:47 | |
masak | *lol* | 12:48 | |
timbunce | pmichaud: it compiles, but both return |$retval; and return $retval; cause Method 'executeQuery' not found for invocant of class 'Capture' | ||
pmichaud: so do I need something different at the return statement? | 12:49 | ||
[Coke] wonders if Tadeusz is like Thaddeus. | |||
timbunce | pmichaud: (ie return is returning the Capture not the thing inside the capture) | ||
pmichaud | I would expect return |$retval to work. | 12:50 | |
timbunce | pmichaud: that gives me Method 'executeQuery' not found for invocant of class 'Parcel' | ||
pmichaud | right. | ||
that's.... weird. | |||
executeQuery is one of the methods you've written? | |||
12:51
kaare_ left
|
|||
timbunce | my rakudo is at least 3 weeks old, in case that's relevant | 12:51 | |
pmichaud: yes, invoked on the return value of the method being wrapped | |||
pmichaud | I'm going to guess we have our wrapping/unwrapping a bit wrong there. You might try invoking executeQuery on .[0] | 12:52 | |
(of the returned Parcel) | |||
cjk101010 | is there a way to reduce the startup time of the perl6 binary? real 0m1.898s is somewhat much… | 12:53 | |
pmichaud | cjk101010: we're working on it. It's a deep problem. | ||
timbunce | pmichaud: the wrapping has to be transparent or it's not worth using. Any fix needs to be in the wrapping code. | ||
cjk101010 | ok… thanks for the info. | ||
pmichaud | timbunce: the .[0] will still work even after the wrapping is fixed. | ||
12:53
ruoso left
|
|||
masak | 'Constants? Perl programmers laugh at them. "Final"? Larry said that's a bad idea. But you will have in Perl6, anyway.' -- groups.google.com/group/comp.lang.r...4e7eb08886 -- always interesting to see Perl 6 with an outsider's eyes. | 12:53 | |
pmichaud | but I agree that the fix needs to be in the wrapping code... it's just that jnthn++ is the one who normally handles anything dealing with binding and parameter passing, and I'm a bit rusty on it. :) | 12:54 | |
perhaps we can golf it down to a smaller issue | |||
timbunce | pmichaud: ok, but I'm wrapping *everything* automatically. I'd rather not have to write .[0] on every method call in the code! | ||
pmichaud | agreed. | ||
I see your point (and in a big way) | |||
timbunce | pmichaud: I can wait. | ||
pmichaud | let me think about it a bit more today and see if I can figure out what's happening. It's likely to be either trivial or really hairy | 12:55 | |
timbunce | pmichaud: I'd be happy if there was a way to just log that the method has returned, without caring about the return value. Perhaps something done with control exceptions? | ||
pmichaud | that might work, but I fear our control exception handling may be equally dodgy | 12:57 | |
masak | today's Dinosaur Comics is on topic for #perl6: www.qwantz.com/index.php?comic=1786 | 12:58 | |
12:59
pnu left
|
|||
pmichaud | I think it's more likely we'll get return values working before we get exception handling, fwiw. | 12:59 | |
timbunce | pmichaud: ok, thanks. | 13:00 | |
pmichaud | What you've provided is enough for me to play with a bit and see if I can figure out what's going on. I'm planning to work with return values anyway (e.g., for 'take') in the next day or so, so this may fit right into that. | 13:01 | |
13:01
pnu joined
|
|||
timbunce | pmichaud: wonderful, thanks. | 13:01 | |
13:01
thebird_ joined
13:02
thebird_ left
|
|||
timbunce | pmichaud: the idea of being able to wrap logging around all the methods in a role, trivially and optionally, it great. For DBDI it'll mean driver writers won't have to add their own method entry-exit logging, they'll get it for free, but only when the user asks for it. | 13:03 | |
13:05
oyse left
13:09
orafu left,
orafu joined
13:11
timbunce left
|
|||
masak | I think github.com/rakudo/rakudo/blob/maste...ist.pm#L90 contains an erroneous assumption: that a comparator only yields -1, 0 and 1. | 13:15 | |
ditto #L111 | |||
also, those two methods could be written a lot shorter if they didn't insist on waiting on the FIRST phaser :) | 13:16 | ||
colomon | masak: errr... can a comparator return something that doesn't numerically evaluate to 1, 0, or 1? | 13:19 | |
*-1 | |||
masak | maybe I'm thinking of some other language. | 13:20 | |
in some languages a comparator of strings returns the 'distance' between the differing characters (or lengths). | |||
colomon | in p6, its supposed to return one of the choices in the Ordering enum, but they numify to -1, 0, and 1. | 13:22 | |
does FIRST work now? | |||
pmichaud | in general, comparators should follow the "liberal/strict" rule. | ||
colomon | afk | ||
pmichaud | liberal in what they accept, strict in what they produce | ||
13:22
masonkramer left
|
|||
pmichaud | so, one should generally make sure a comparator produces -1, 0, +1, but when evaluting the result of a comparator use < 0, == 0, and > 0 | 13:23 | |
also note that in rakudo "0" as a constant is currently *much faster* than -1. :-P | |||
*evaluating | 13:24 | ||
masak patches it up | 13:26 | ||
pmichaud | note that $first-time isn't needed anymore either, I suspect. | 13:27 | |
well, I guess we can't rely on $cmp($_, -Inf) working for arbitrary $cmp | 13:28 | ||
so, maybe we do need it. | |||
it can certainly be done as: | |||
my $max; | |||
and | |||
$max //= $_; | 13:29 | ||
or something like that | |||
masak | aye. | ||
I'll do that step after the -1 0 1 one. | |||
13:29
Guest23195 joined
|
|||
masak | need to spectest both so I don't make a mess :) | 13:29 | |
pmichaud | my $cmp = $by.signature.params.elems == 2 ?? $by !! { $by($^a) cmp $by($^b) }; | 13:30 | |
also looks weird to me. | |||
I'd think it should just be $by.count or $by.arity | |||
instead of .signature.params.elems | |||
masak | aye. | ||
will remember that as well :) | |||
pmichaud | and $by = { $^a cmp $^b } is probably much better as $by = &infix:<cmp> | 13:31 | |
13:33
masonkramer joined
|
|||
pmichaud | heh | 13:33 | |
pmichaud tries to think of a way to use the series operator to compute max/min :-P | 13:34 | ||
masak | ...without any side effects :) | ||
colomon | -1 is slow because it's prefix:<->(1) ? | 13:35 | |
pmichaud | colomon: yes. | ||
anyway, < 0 is more robust. | 13:36 | ||
colomon | contrawise, I would have thought that $by = { $^a cmp $^b } would be slower than $by = &infix:<cmp> ? | ||
pmichaud | ? | ||
I must be misunderstanding the comment. | |||
The code I'm looking at currently has | 13:37 | ||
multi method max($by = { $^a cmp $^b}) { | |||
I'm proposing that it should be | |||
multi method max($by = &infix:<cmp>) { | |||
13:37
masonkramer left
|
|||
pmichaud | because &infix:<cmp> should be faster than the indirected block | 13:37 | |
colomon | ah, so we're on the same page here. | 13:38 | |
pmichaud | I'd probably eliminate the explicit "die" as well and just put a constraint on $by | 13:40 | |
13:47
ruoso joined
13:49
drbean left
13:51
colomon left
13:59
ejs left
|
|||
masak | Rakudo won't build here. | 14:00 | |
gist.github.com/553401 | 14:01 | ||
14:01
uniejo left
|
|||
masak | I'm on a clean HEAD, commit df38ac. | 14:01 | |
smash_ | /usr/local/VERSION !? | 14:02 | |
masak | I know! | ||
not surprised it doesn't find it... | |||
14:10
ash_ joined
|
|||
pmichaud tries locally | 14:14 | ||
14:15
cjk101010 left
|
|||
pmichaud | you're using an installed parrot, yes? | 14:15 | |
i.e., not the one from --gen-parrot | |||
14:16
snearch joined
|
|||
masak | right. | 14:16 | |
pmichaud | I'm guessing Parrot opsc bug, around compilers/opsc/src/Ops/File.pm | 14:17 | |
lines 297-300 | |||
I think the _config() function was removed from Parrot recently. | |||
hmm, maybe not | 14:18 | ||
at any rate, that "/usr/local" path definitely looks suspicious | |||
what do you get from "parrot_config prefix", ooc? | 14:19 | ||
14:19
CTAPOMAK left
|
|||
masak | oh btw. PARROT_REVISION says 48628. I'm running against r48693. | 14:19 | |
pmichaud: /usr/local | 14:20 | ||
masak tries downgrading Parrot | |||
14:20
patspam joined
|
|||
pmichaud | 65 commits since yesterday? wow. | 14:20 | |
14:22
jfried left
14:23
tadzik joined
|
|||
pmichaud | looks like the errors came in with r48691 and r48692 | 14:23 | |
tadzik | hello again | ||
pmichaud | trac.parrot.org/parrot/changeset/48691 | ||
trac.parrot.org/parrot/changeset/48692 | |||
shall I file a trac ticket for this? | 14:24 | ||
masak | please do. | 14:25 | |
bbkr | tadzik: were you inspired by bigos while you compared P6 to food in "language wars" article? :P | 14:31 | |
pmichaud | masak: trac.parrot.org/parrot/ticket/1757 | 14:36 | |
masak | pmichaud++ | 14:37 | |
pmichaud | afk for a short while | 14:38 | |
tadzik | bbkr: what kind of blogs? | 14:42 | |
I don't think so though | 14:43 | ||
bbkr | not blogs but bigos :) | ||
tadzik | oh | 14:46 | |
no, I wasn't thinking about bigos :) | |||
though the language wars seem to resemble bigos a bit, sometimes | 14:47 | ||
szbalint | masak++ # blag, although I'd really be careful about still using use.perl.org. It's going away. | ||
masak | szbalint: I'm looking at migrating. I already have a blog.perl.org account. | 14:48 | |
szbalint: but I'd really like to build a static web page generator in Perl 6 and use that. | |||
szbalint: I'm not happy with use.perl.org, it's a pain to use and not nice to look at. but so far inertia has been keeping me there. | 14:50 | ||
Juerd | Good summary. | 14:53 | |
bbkr | tadzik: P6 is pretty much like bigos. 1 - it has many weird operators just as bigos has many weird ingridients. 2 - timtowtdi applies both do p6 code as to bigos recipies. 3 - p6 is getting better with every release just as bigos is getting better after every warming up. I think that bigos should be P6 logo :P | 14:54 | |
Juerd | Not that I blog, anywhere, but I agree from a blog reader's perspective :) | ||
masak: Build Template Toolkit for Perl 6, and use that for blogging? :P | |||
szbalint | yeah. I see your reasons, masak :) | ||
Juerd | How Hard Can It Be? | 14:55 | |
masak | Juerd: I suffer a bit from not really knowing what TT is... :) I should find out some day. | ||
Juerd: my current plan is to port jaspervdj.be/hakyll/ to Perl 6. | |||
Juerd | masak: It's a templating language, module, and toolkit for Perl 5 | ||
szbalint | masak: turn inertia into centrifugal force and slingshot it the other way :) | ||
masak | Juerd: it'd be interesting to see how a monad carries over. | ||
Juerd | masak: TT's popular and I've seen it used in many places where I wouldn't have expected it | 14:56 | |
masak: Also, the ttree utility is nice. | |||
(Comes bundled with the Template package) | |||
masak | Juerd: from what I've seen of TT, it's really not my bag. but I think I've seen too little of it to have a solid opinion. | ||
Juerd | Basically, TT does variables, loops, conditions and inclusion. | ||
masak | I'm generally not very happy about HTML-and-then-some solutions. | ||
Juerd | One reason for porting TT, or a subset of it, to P6 would be to help users transition | 14:57 | |
TimToady | .oO(Trac Ticket, Template Toolkit, TimToady...) |
14:58 | |
Juerd | TimToady: Sorry if I highlighted you | ||
TimToady | I don't highlight on TT :) | 14:59 | |
Juerd | Okay :) | ||
masak | someone else might find it -Ofun to port (a subset of) Template Toolkit. | ||
TimToady | for that reason :) | ||
masak | I don't think I would. | ||
Juerd | masak: -Omorefun would be to build a template toolkit toolkit, that supports multiple existing template languages by means of grammars :) | ||
masak | spectesting. one test failed in t/spec/S02-magicals/pid.t | 15:00 | |
Juerd: aye. I'd like that. November started down that road. | |||
also I've never really grokked why we don't do something about the intermittent failures in t/spec/S05-mass/properties-derived.rakudo | 15:01 | ||
Juerd | An Hakyll HTML template with just $foo in it is very similar to a TT template with just [% foo %] in it. (TT can support $foo too, by the way) | ||
masak | I think I'm allergic to that syntax. :( | ||
Juerd | To [% ... %]? | ||
masak | aye. | ||
sorry :( | 15:02 | ||
Juerd: the template example 80% into masak.org/carl/yapc-eu-2009-web/talk.pdf is my idea of an near-ideal templating language. | 15:03 | ||
Juerd | Actually I agree | ||
I hate [% ... %] | 15:04 | ||
But I like TT enough to cope with it. They're configurable but I always try to stick to defaults, syntax-wise. | |||
huf | i dont think templates should be a second-class citizen | ||
it should just be code | |||
Juerd | huf: Templates with limited programming capabilities exist for a very good reason: nobody wants to teach HTML people any real programming. | 15:05 | |
huf | Juerd: that might work, altho i've never seen it work | ||
daxim | also: guaranteed seperation of concerns | ||
huf | also guaranteed ugly hacks and confused indentation due to multiple languages living in the same file ;) | 15:06 | |
Juerd | masak: An XML extension? Nah, too purpose-specific | ||
daxim | I like to teach Text::Template first when teaching the concept of templating | ||
huf | free the templates! (like template::declare does) | ||
masak | Juerd: it does ifs and loops, and it's valid XML! | ||
Juerd | masak: It being valid XML is the problem | ||
masak: I don't want to learn one templating language for POD, another for XML, yet another for postscript, and again some syntax for automated plain text emails | 15:07 | ||
No templating language syntax should ever hijack any existing syntax from an output format. | |||
No matter how cute and clean the resulting documents get. | 15:08 | ||
masak | Juerd: the program which that syntax is based off handles both XML and plain text. | ||
Juerd | Sorry, pet peeve :) | ||
Also, I hate XML | |||
Pretty slides, by the way! | 15:09 | ||
daxim | uuuurgh, kill it with fire | 15:10 | |
I was in that talk, I must have totally blanked out at this slide | 15:11 | ||
Juerd | An understandable reaction. It's probably your survival instinct that made you panic and forget it. | 15:12 | |
masak | people feel strongly about XML. | ||
I generally don't like it too much, but I just happen to like this templating solution. | |||
I spent several years building web applications on top of Apache Cocoon, which I guess taught me the merits of handling data as XML internally. | 15:13 | ||
spectest: one failure each in t/spec/S19-command-line/help.t, t/spec/S29-context/die.rakudo and t/spec/S29-context/exit.rakudo | 15:15 | ||
PerlJam | masak: Could you explain those merits? | 15:19 | |
masak | I can try. | 15:20 | |
valid XML causes the content to be very predictable in a way that makes it easy to handle as opposed to, say, HTML tag soup. | 15:21 | ||
15:21
macroron joined
|
|||
masak | the generator step can accept any non-XML, and the serializer step can produce any non-XML. | 15:22 | |
but having things as XML all the way internally is... nice. | |||
15:22
colomon joined
|
|||
masak | could be any consistent format, not just XML. but XML is a nice fit. | 15:22 | |
.eoe | 15:23 | ||
daxim | pugs: <E I> x 2 . <O> | 15:24 | |
p6eval | pugs: OUTPUT«***  Unexpected "." expecting operator at /tmp/35SDVyxaoc line 1, column 11» | ||
daxim | pugs: <E I> x 2 ~ <O> | ||
p6eval | pugs: ( no output ) | ||
daxim | bleh | ||
masak | rakudo: say <E I> x 2 ~ <O> | ||
p6eval | rakudo df38ac: OUTPUT«E IE IO» | ||
masak | rakudo: say <E I>.join x 2 ~ <O> | 15:25 | |
daxim | ah, forgot the say | ||
p6eval | rakudo df38ac: OUTPUT«EIEIO» | ||
15:25
rindolf left
|
|||
tadzik | Web.pm sounds awesome | 15:25 | |
masak | thank you. one day it might be. | 15:26 | |
the current champion of the idea, oddly, is mberends++ | |||
szbalint | templating is such a fuzzy field. It feels like we're trying to work around HTML. | ||
15:26
dual left
|
|||
masak | szbalint: we are. or at least trying to abstract it away. | 15:27 | |
tadzik | Hitomi seemed cute | ||
masak | etymologically, it means something like "cute" :) | 15:28 | |
szbalint | yeah, which is why it doesn't really work (yet). I think I dislike TT the least, but there isn't a solution I'm feeling comfortable with. That bothers me. I didn't spend enough time thinking about this yet to see why. | 15:29 | |
PerlJam | templating languages shouldn't care too much about what they are embedded in. | ||
szbalint: I think you summarized my position as well I too "dislike TT the least" | 15:30 | ||
masak | ah, seems "Hitomi" means "doubly beautiful" :) | 15:32 | |
_sri | "...nobody wants to teach HTML people any real programming..." is so 5 years ago | 15:33 | |
TimToady | rakudo: <E I> xx 2, <O> | ||
masak | I don't like TT personally, but I respect the fact that people seem to "dislike it the least" and generally get a lot of mileage out of it. I'd like to better understand why. | ||
TimToady | rakudo: say <E I> xx 2, <O> | ||
p6eval | rakudo df38ac: ( no output ) | 15:34 | |
rakudo df38ac: OUTPUT«EIEIO» | |||
_sri | every serious designer knows at last javascript | ||
masak | _sri: you seem to use the term "so 5 years ago" a lot. is the future unevenly distributed? | ||
_sri | *least | ||
zby | The thing that TT does right is that it stands out from the text | 15:36 | |
15:36
whiteknight left,
patspam left
|
|||
masak | zby: at the expense of the reader's eyes. | 15:36 | |
15:37
patspam joined
|
|||
_sri | just stating the obvious, these days designers are programmers too | 15:37 | |
daxim | I met a butterfly the other day. | ||
I was just hacking out in my repo, about to merge a branch, when Camelia flew over and landed on my finger. | 15:38 | ||
I asked her what she wanted. | |||
And she said: "Bring back 60's Lisp macros." | |||
I truly feel like I was visited by an angel that day. | |||
masak | _sri: you replied "so five years ago" to chromatic re his web vision in www.perl.com/pub/2010/08/rethinking...l-web.html -- just wondering if there's a single vision you're disappointed the rest of the world doesn't share. | ||
(websockets or HTTP 1.1 or whatever) | |||
zby | if you are templating HTML - then [% %] is a good way to stand out and make it easier for the eyes to find out where is the templating and where the templated text | 15:39 | |
_sri | masak: just trying to make people aware of the fact that the CGI age is over | ||
zby | then ALL CUPS also stand out in the usual text | ||
masak | _sri: so, I have a CGI script. what do I do? | ||
_sri | masak: chromatic basically discovered rails, 5 years too late | ||
masak: kill it with fire? | 15:40 | ||
masak | _sri: I can't imagine that he did. but I'll reserve further judgment. | ||
_sri: ok, so I have a *useful* CGI script. | |||
but I"m willing to change it to something more future-proof. | |||
_sri | masak: whats your point? | ||
masak | I think what I'm asking for is a summary of your point. if not CGI, then what instead, and how, and why? | 15:41 | |
"CGI is old hat" was basically your reaction to the whole of Web.pm a year or so ago, too. | 15:42 | ||
I never got anything more from you. | |||
_sri | something that actually supports modern web technologies such as long polling and websockets | ||
15:42
daxim left
|
|||
masak takes note of these buzzwords | 15:42 | ||
_sri | rack and wsgi are just as flawed | ||
masak | I see. | ||
_sri | node.js gets it right | 15:43 | |
masak | and long polling and websockets are better/necessary because...? | ||
_sri | because it's not the 90s anymore? i'm not sure if you're trying to troll me | 15:44 | |
masak | sorry it seems that way. I'm not. | ||
_sri | do you know what long polling and websockets are used for? | ||
masak | "because it's not the 90s anymore" only refers to the passage of time. | ||
I'm currently reading up on them in order to follow along. | |||
szbalint | websockets are not used for anything atm because the browser support for them are in single digits. | ||
_sri | there are flash based workarounds for browsers that don't support them yet | 15:45 | |
dev.xantus.org/ # here's a websocket irc client for example | 15:46 | ||
wargamez.mape.me/ # and a glimpse into the future of highly interactive web apps | |||
bbkr | is there any CSV module for P6 or can I write one? | 15:47 | |
_sri | it's the ajax revolution all over again | ||
15:47
tylercurtis joined
|
|||
masak | hugme: show csv | 15:48 | |
hugme | masak: sorry, I don't know anything about 'csv' | ||
masak | bbkr: github.com/masak/csv | ||
bbkr | masak++ | 15:49 | |
masak | _sri: I've heard you say this on Twitter and IRC many times over. I'm earnestly trying to understand what you mean by it. | ||
_sri: I think I'd better take a closer look at node.js and then get back to you. | |||
_sri | masak: just read up on html5 | ||
masak | ok. | ||
lue | ohai o/ | ||
masak | lue: \o | ||
_sri | masak: www.youtube.com/watch?v=-BsB0HpS768 # amazing html5 demos in this video | 15:50 | |
masak | will watch. thanks. | 15:51 | |
lue | How can I accomplish a left bit rotation? | ||
Juerd | Rotation? That's shifting with wrapping around? | 15:52 | |
masak | lue: +< :rotate | ||
lue: but op adverbs aren't implemented in Rakudo yet. | |||
lue | rakudo: 'a' +< 1; | 15:53 | |
p6eval | rakudo df38ac: ( no output ) | ||
Juerd | a, as a number, is 0 | ||
+< shifts numbers | |||
Shifting strings is done with ~< | |||
I'd have expected 2 though. | |||
Or wait, never mind that | 15:54 | ||
0 isn't 1 | |||
lue | rakudo: say 'a' ~< 1; | ||
p6eval | rakudo df38ac: OUTPUT«===SORRY!===Confused at line 22, near "say 'a' ~<"» | ||
lue | masak: does :rotate become the rhs ? | 15:55 | |
masak | lue: no, I wrote it confusingly. | ||
'a' <~ 1 :rotate | 15:56 | ||
er, ~< | |||
lue | what happens w/o :rotate? [I'd check myself, but it doesn't work] | 15:57 | |
[particle] | it shifts off the end | ||
masak | lue: what [particle] said. and zeroes shift in through the other end. | 15:58 | |
[particle] | :rotate takes bits that fell off one end and sticks them on the other | ||
TimToady | for now, you best bet is to turn the number into a list and rotate that | 15:59 | |
lue | .oO(Curse you, NYI adverbs!) |
||
TimToady | you could implement them | ||
whereupon we will deem them a code smell and think of something else | |||
[particle] | std: say 'a' <~ 1 :rotate | ||
p6eval | std 32107: OUTPUT«ok 00:01 117m» | ||
TimToady | pity the R metaoperator is taken... | 16:00 | |
C for cyclic maybe | |||
16:01
smash_ is now known as smash
|
|||
[particle] | or we could add a metametaoperator to give R a different meaning | 16:02 | |
TimToady | not really a higher-order met though | ||
*meta | |||
16:03
rokoteko joined
|
|||
[particle] | how do you give a metaoperator an adverb? | 16:03 | |
TimToady | [particle]: <~ is not parsing teh way you think | ||
[particle] | op adverbs do have a scent, don't they | ||
TimToady | they're an escape valve, like BEGIN and eval | 16:04 | |
[particle] | std: say 'a' ~< 1 :rotate | ||
p6eval | std 32107: OUTPUT«ok 00:03 117m» | ||
TimToady | once I get STD's op defs into the setting's lexical scope, std can check to see if there are any candidates with that named parameter | 16:05 | |
16:06
tadzik left
|
|||
[Coke] | masak: if your parrot-revision is X, but you're using x+N, that means you didn't rebuild. | 16:06 | |
masak | TimToady: please don't introduce C just for making a small number of ops circular... :/ | ||
[Coke] | (if you just svn up && make, you don't get the new revision #.) | ||
masak | [Coke]: one of us has a wrong assumption here. | ||
and it probably isn't me. :) | |||
[Coke]: first: why are you telling me this? | 16:07 | ||
what did I do to deserve it? | |||
so to speak. | |||
patrickas | masak++ blog post from this morning | 16:08 | |
masak | [Coke]: I have a setop in which I build Rakudo and Parrot separately. for both, I always git/svn-update as much as possible, make realclean, conf, and build. | 16:09 | |
[Coke]: as such, I never just svn up && make. | |||
the setup I have is a product of being burned many times. :) | 16:10 | ||
16:10
molaf joined
16:14
justatheory joined,
timbunce joined
16:16
molaf left,
whiteknight joined
|
|||
lue | hmm, adverbs ought to be interesting to try... | 16:17 | |
masak | and heredocs. | ||
16:18
wtw left
|
|||
masak | phenny: tell tadzik nice post at ttjjss.wordpress.com/2010/08/08/per...gh-for-me/ -- typo 'Find::Find', even though such a module would be highly interesting. :) | 16:19 | |
phenny | masak: I'll pass that on when tadzik is around. | ||
16:20
justatheory left
16:23
risou joined
|
|||
lue | do adverbs need to be added to Grammar.pm and/or Actions.pm ? | 16:25 | |
16:25
plobsing joined
|
|||
masak | yes. | 16:28 | |
likely both, but start by making it parse. | 16:29 | ||
16:30
sekimura joined
|
|||
lue | Grammar first then. | 16:32 | |
16:33
c9s left
16:34
dual joined
|
|||
lue | afk | 16:37 | |
16:37
tadzik joined
16:39
patspam left
16:40
baest_ joined
16:43
justatheory joined,
zulon left
16:45
colomon left
|
|||
moritz_ back | 16:50 | ||
moritz_ married | 16:51 | ||
TimToady | \o/ | 16:52 | |
16:52
dakkar left
|
|||
moritz_ | \o/ indeed :-) | 16:52 | |
masak | moritz_: wow! congratulations! | ||
TimToady | \o/\o/ rather :) | 16:53 | |
moritz_ | lol | ||
masak | infix:<wed> | ||
moritz_ | thanks masak | ||
TimToady | masak: no fear, I'd already decided a meta ops was wrongish. | 16:54 | |
masak | TimToady: good. just wanted to reinforce that decision :) | ||
TimToady | feels kinda like kicking someone when they're down. :P | ||
masak | one can never be too careful :P | ||
masak suspiciously eyes Sop | 16:55 | ||
tadzik | \o/ | ||
phenny | tadzik: 16:19Z <masak> tell tadzik nice post at ttjjss.wordpress.com/2010/08/08/per...gh-for-me/ -- typo 'Find::Find', even though such a module would be highly interesting. :) | ||
tadzik | moritz_: congratulations! | ||
moritz_ | thanks tadzik | ||
tadzik | moritz_: what are you doing herd nerd, there is a woman waiting for you! :P | ||
masak: oh thanks :) | 16:56 | ||
masak | shouldn't that be "Hurd nerd"? | ||
tadzik | duh, should be here | 16:57 | |
dalek | kudo: 18189a2 | moritz++ | src/core/Mu.pm: implement Mu.so |
||
tadzik | herd gets a weird meaning | ||
masak | \o/ | ||
tadzik | tadzik-- | ||
masak | moritz_: so, you got married, and implemented Mu.so ? :P | ||
tadzik | autothreading works :) | 16:58 | |
smash | moritz_: congratulations | 16:59 | |
16:59
revdiablo left
|
|||
TimToady | rosettacode.org/wiki/Reduced_row_ec...orm#Perl_6 needs some lovin's, doesn't work with R* | 17:00 | |
but looks like maybe a rakudo issue more than the code's problem | |||
moritz_ | masak: I actually implemented it yesterday, but forgot to push | 17:01 | |
smash: thanks | |||
17:01
revdiablo joined
|
|||
masak | TimToady: I enjoy watching you enjoy yourself at Rosetta Code. :) | 17:02 | |
[Coke] | masak: I was responding to you saying that you used rev X, but it was claiming X+N. | ||
er, scratch that. reverse it. | |||
masak | [Coke]: that's not what I said. | ||
tylercurtis | moritz_: congratulations. | 17:03 | |
masak | [Coke]: I'm fully aware that what PARROT_REVISION says isn't what I'm using. that's by design. | ||
[Coke] | masak: ok. then I will stop trying to help out. no worries. | ||
masak | thanks for trying, though. :) | ||
[Coke] | doubtful, but I'll pretend you mean it! | ||
17:03
masak left
|
|||
[Coke] | hugme: hug masak, ironically. | 17:03 | |
hugme hugs masak, | |||
[Coke] | ... that's LTU. | 17:04 | |
TimToady: ok, I used up my snark. You're good to go. | |||
TimToady | hugme: hug [Coke], metaphorically. | 17:05 | |
hugme hugs [Coke], metaphorically. | |||
[Coke] | phenny: ask moritz if he saw the last comment on trac.parrot.org/parrot/ticket/1746 | 17:08 | |
phenny | [Coke]: I'll pass that on when moritz is around. I'll have to use a pastebin, though, so your message may get lost. | ||
[Coke] | whoops. | ||
phenny: tell moritz that he can check, but i mis-m'd that. | 17:09 | ||
phenny | [Coke]: I'll pass that on when moritz is around. I'll have to use a pastebin, though, so your message may get lost. | ||
patrickas | TimToady: What should this produce ? (10,11,12,3,4,5,6,7...4) Nil or (10,11,12,3,4) | ||
[Coke] | phenny: ask masak if he saw the last comment on trac.parrot.org/parrot/ticket/1746 | ||
phenny | [Coke]: I'll pass that on when masak is around. | ||
[Coke] | pmichaud: I'm not sure who the rakudo dev is that can respond to TT #1746 at this point. | 17:10 | |
17:10
thebird left
|
|||
[Coke] | I'd normally say jnthn. | 17:10 | |
17:10
hsmith joined
|
|||
hsmith | can anybody please tell me why I am banned in #perl | 17:10 | |
[particle] | hsmith: no | 17:11 | |
hsmith: we have no knowledge of what goes on in #perl | |||
[Coke] | that's basically a completely different channel, sorry. | ||
hsmith | oki doki... I really apreciate it. thanks | 17:12 | |
17:13
sekimura left
17:14
sekimura joined
17:16
masak joined
|
|||
masak | [Coke]: yes. not sure I can fix it unassisted, though. | 17:16 | |
phenny | masak: 17:09Z <[Coke]> ask masak if he saw the last comment on trac.parrot.org/parrot/ticket/1746 | ||
17:16
whiteknight left
17:17
pm_ joined
|
|||
pm_ | hi, has anyone built parrot successfully under mac os 10.6.4? | 17:19 | |
masak | yes. regularly. | 17:20 | |
pm_ | oh ;-) | ||
well inter::progs in Configure gives the following warning: | |||
Determine what C compiler and linker to use...dyld: lazy symbol binding failed: Symbol not found: _main | |||
did you have any of that? | |||
[particle] | pm_: is it possible you have a previously installed parrot there? | 17:22 | |
no, that shouldn't do it... | |||
masak | pm_: do you have XCode installed? | 17:23 | |
pm_ | mhm, I tried to build the 201007 version but also unsuccessfully | ||
yes Xcode is on the system | |||
[particle] | right, taht's probably it masak | ||
it's not finding the linker | |||
masak | it's usually XCode somehow :) | ||
pm_ | ah so xcode does something strange to the linker? | 17:24 | |
[particle] | maybe when steve comes out with iCode, it'll Just Work. | ||
...as long as you only want to build things one way. | |||
pm_ | maybe theres an already an app for that.. | ||
ah sorry.. I had two perl5 installations on the system | 17:25 | ||
in /opt/local and in /usr/bin | |||
building with /usr/bin/perl seems to work.. | 17:26 | ||
sorry I should have checked this earlier.. | |||
masak | no problem. | 17:27 | |
17:27
ash_ left
|
|||
[particle] | happy to help | 17:27 | |
masak | it's good to know where people usually run into trouble. | ||
[particle] | yeah... with perl 5. | ||
17:27
ash_ joined
|
|||
pm_ | well so long and thanks for the fish.. ;-) | 17:27 | |
17:28
pm_ left
|
|||
masak | to be fair, Perl 5 has some good sides as well. | 17:29 | |
[particle] | yeah, it's finished ;) | 17:30 | |
tadzik | www.reddit.com/r/perl/comments/d5e1..._6/c0xuruz -- take a look folks | ||
masak | tadzik: there's already svn.openfoundry.org/pugs/docs/Perl6...rences.pod | 17:31 | |
hm, I hope that one isn't out-of-date... | 17:32 | ||
tylercurtis | \o/ S32-array/kv.t isn't randomly dieing after the 9th test because of my Proc::Status patch! | ||
17:33
fod joined,
wamba left
|
|||
masak | the part about Kwid has to be out-of-date. :/ | 17:33 | |
17:34
zulon joined
|
|||
masak | tadzik: nice discussion. in www.reddit.com/r/perl/comments/d5e1..._6/c0xr4ow , seems like a verb is missing near "I can that". | 17:37 | |
pmichaud | ...that's a reddit discussion? noway. Too civil. | 17:38 | |
masak | the trolls must have gotten bored. | 17:39 | |
pmichaud: re the last comment on trac.parrot.org/parrot/ticket/1746 -- is there any way I could help? | |||
pmichaud | I disagree with the analysis. | 17:40 | |
masak | oh. | ||
pmichaud | He's correct that the class is changed, but the data structure remains the same. | ||
I'm not sure what is meant by "allocated from the memory pool of the old class" though. | 17:41 | ||
17:41
smash left
|
|||
pmichaud | Each class gets its own memory pool? | 17:41 | |
(put another way ... if this is in fact an issue, we should be seeing the problem far more often than here, since *every* Rakudo object has this reblessing done on it. | 17:42 | ||
masak | so the segfaults originates from somewhere else? | 17:43 | |
pmichaud | I can't say that for certain. | ||
I just have difficulty believing the conclusion. | 17:44 | ||
17:44
patspam joined
|
|||
pmichaud | anyway, if that is indeed the problem, then jnthn++ or someone who deeply understands Parrot object internals is likely the only one(s) who can solve it. | 17:44 | |
17:45
macroron left
|
|||
pmichaud | I still have disagreements with the original code example, as well. | 17:45 | |
should we move the discussion to #parrot? | 17:46 | ||
tylercurtis | nopaste.snit.ch/23176 # patch to make &run's result have the correct boolean value. | 17:47 | |
masak | pmichaud: we could move the discussion to #parrot, if you want. thought the code is in Perl 6 :) | 17:48 | |
pmichaud | actually, looking at it further, I think the analysis might be correct. | 17:50 | |
well, correct-ish. | |||
Tene | rakudo: my $n = 0 but True; say "lol" if $n; | 17:51 | |
p6eval | rakudo df38ac: ( no output ) | ||
pmichaud | the rebless_subclass opcode gets called in exactly one place. | ||
Tene | rakudo: my $n = 0 but True; say "lol" if ?$n; | ||
p6eval | rakudo df38ac: OUTPUT«lol» | ||
Tene | Is that a bug with if? | ||
pmichaud | no, it's a bug with get_boolean vtable, likely. | 17:52 | |
Tene | tylercurtis: I'd prefer that you just return an int modified as above, instead of making a new class just for this. | ||
tylercurtis: but, as above, there's an issue with Int get_boolean vtables. | |||
tadzik | masak: thanks, my typo-hunter :) | 17:53 | |
pmichaud | rakudo: my $n = 0.Int but True; say 'lol' if $n; | ||
p6eval | rakudo df38ac: ( no output ) | ||
Tene | rakudo: say Int.WHAT | 17:54 | |
erm | |||
p6eval | rakudo df38ac: OUTPUT«Int()» | ||
Tene | rakudo: say 0.WHAT | ||
pmichaud | I agree -- I don't want the specialized class for this. | ||
p6eval | rakudo df38ac: OUTPUT«Int()» | ||
tadzik | where is 'but' documented? | ||
moritz_ | probably S12 or S13 | 17:55 | |
pmichaud | well, we might be able to fix the 'but True' part by a change to 'if' | ||
but it will likely require a change to PCT | 17:56 | ||
and not a pretty one, at that. | |||
tylercurtis | Tene, pmichaud: actually, ignore that patch. Apparently, the exit status really needs to be only for .Int, since the child process's PID is supposed to be the Numeric value. | 17:57 | |
pmichaud | the .Int and .Numeric are different? | ||
oh, that... is awful. | |||
tylercurtis | pmichaud: according to S29. | ||
Yeah. | |||
pmichaud | I think S29 needs changing there, then. | ||
That feels like a case of trying to be too clever with overloading existing interfaces. | 17:58 | ||
tylercurtis | I agree. Maybe it should have neither .Int or .Numeric and just require to explicitly do either .exit or .pid. | ||
17:58
zby left
|
|||
pmichaud | that makes a heck of a lot of sense. | 17:59 | |
tadzik | duh, grepping Synopses for 'but' is painful | ||
17:59
patspam1 joined
|
|||
pmichaud | tadzik: try '<but>' | 17:59 | |
tadzik | easier, thanks | 18:00 | |
18:01
patspam left
|
|||
tylercurtis | I'll work on changing S29 and writing a new patch later. | 18:01 | |
tylercurtis goes for a walk. | |||
18:08
mberends joined
|
|||
masak | tadzik: I'm thinking I might do a bit more pls/poc module triaging tonight. | 18:09 | |
tadzik | masak: dependencies are not resolved | 18:11 | |
masak | indeed. let's tackle that now. | ||
tadzik | a'right | 18:12 | |
masak | what's a good module with dependencies? | ||
tadzik | Math::Model | ||
masak | right. | ||
masak tries it | |||
tadzik | it has dependencies which have dependencies | ||
masak | excellent. | ||
tadzik | it doesn't work | ||
but fails for a strange reason | |||
masak | there are tests for that, so this should all work once dependencies are recognized. :) | ||
tadzik | haha, pls is another module which implements its own mkdir-p | 18:13 | |
it's different each time | 18:14 | ||
masak | since yesterday, yes :) | ||
I made it from scratch. | |||
how many other known implementations are there? | |||
might make a fun blog post. | |||
tadzik | neutro has one, File::Tools has another | ||
masak | :) | ||
pmichaud | masak: I think we now know the source of the problem behind TT #1746 | ||
(from #parrot) | |||
masak | pmichaud: yes, I'm following along on #parrot | 18:15 | |
tadzik | not sure if I didn't change neutro's one after stealinig File::Tools solution from moritz++ Module::Starter | ||
pmichaud | something is attempting to compose a role into a Parrot Hash | ||
masak | pmichaud: ouch. | ||
pmichaud | so, more to the point, something is returning a Parrot Hash instead of a Rakudo Hash | ||
Rakudo Hashes are somewhat broken already -- I *really* want to get rid of that silly role Hash | |||
masak | tadzik: poc dies with a stacktrace when a module isn't found. that's non-good. | 18:16 | |
pmichaud | so maybe the place to start is by fixing Hash | ||
tadzik | masak: I'd like to introduce "my" module names to it | ||
so you will be able to install Acme::Meow rather than perl6-Acme-Meow | |||
as neutro does it | |||
masak | tadzik: hm. | 18:17 | |
tadzik: so far, I've been preferring to keep an identity mapping between the name you write to install the module, and the repo. | |||
it's been working out quite well. | |||
changing the mapping would introduce more moving parts, and would in some sense mean taking sides. | 18:18 | ||
tadzik | it's ugly and I didn't like it from the very beginning | ||
no parts have to be moved | |||
look: | |||
github.com/tadzik/neutro/blob/master/neutro#L55 | 18:19 | ||
it can be done another way around | |||
masak | so you have a mapping from the real names to names that you prefer. | 18:20 | |
tadzik | yep | ||
masak | and that mapping... who maintains it? the package installer developer(s)? | ||
tadzik | actually, another way around | ||
18:20
molaf joined
|
|||
tadzik | no, I do. As pls has its poc-projects.list, neutro has modules.list | 18:20 | |
masak | that work will grow with each new project added to the ecosystem. | ||
I'm afraid I don't see the benefit. | 18:21 | ||
tadzik | I believe that naming by repo names is a temporary solutioni anyway | ||
masak | me too. | ||
but it's a simple one. | |||
yours is one level of indirection more complicated. | |||
and the added benefit is slightly nicer-looking names. | |||
tadzik | the benefit is that when you want to install Math::Model, you install Math::Model instead of wondering "now what is the name of Math::Model in that masterpiece" | ||
masak | they're all listed at modules.perl6.org | 18:22 | |
along with descriptions and other metadata. | |||
PerlJam | It's too bad modules.perl6.org isn't also a module registry of sorts | ||
tadzik | and you have to look it up every time yourself, I thought programming is about not doing everything yourself | ||
PerlJam | (I guess that's cpan6 territory) | ||
tadzik | is there anything being done with cpan6? | 18:23 | |
masak | tadzik: we have different goals. that's ok. this is quite a pleasant detail to disagree over. | ||
tadzik | . o O ( maybe that will be the second thing we should do after, or before emmentaller masak ) | ||
masak | cpan6 is the cat that all the mice wants a bell to be put on. | ||
tadzik | nice analogy | ||
18:24
zulon left
|
|||
masak | I'm not touching it, at least not without backing by the right people from the Perl 5 side, and a decent plan. | 18:24 | |
tadzik | but I think that if we maintain the modules list ourselves, we can as well maintain it with proper module names | ||
PerlJam | masak++ you are a wise man. :) | ||
masak | call it survival instinct. | 18:25 | |
tadzik: no, that does not follow. | |||
tadzik: we differ in how much minimalism we persue in building our installers. | |||
tadzik: if I can skip a layer of indirection, I will. every time. | |||
you prefer the added convenience to the user. that's alright. | 18:26 | ||
pmichaud | I think from the outset we need to not assume any unique mappings of module names to repo name. | ||
tadzik | isn't a separate Pls and POC the layer of indirection? | ||
pmichaud | (not that there shouldn't be mappings... but they can't be unique) | ||
masak | tadzik: yes, but that's one that really really hurt not having. | 18:27 | |
pmichaud | ideally, I'd expect to be able to specify a repo name if I know it or want a specific version, otherwise a module name does a "best match" | ||
18:27
envi^home left
|
|||
masak | tadzik: you might not see it now, but that separation of workflow and mechanism is the one single idea which will make pls overtake proto in stability, reliability and usability. | 18:28 | |
PerlJam | pmichaud: Quick, which is best? perlpilot/benchmark-perl6 masak/benchmark-p6 moritz/benchmark tadzik/Benchmark-Perl6 | ||
:-) | |||
tadzik | PerlJam: they are equally good, unless you want "Benchmark" | ||
masak: probably | 18:29 | ||
pmichaud | PerlJam: I presume that "best match" is based on more than just name. | ||
PerlJam | I wanted the perl 6 benchmark module. | ||
masak | I'll take this as silent admiration: twitter.com/dbrock/status/22287574781 :) | ||
tadzik | I believe the goal isn't to have 4 benchmark modules in the module db | ||
(although we have 2 Term::ANSIColors) | 18:30 | ||
pmichaud | PerlJam: what is this "*the* perl 6 bench mark module"? | ||
PerlJam | pmichaud: As an end user, I may not know. | ||
pmichaud | PerlJam: exactly | ||
so if you say "benchmark" and the matching algorithm can't figure out what you want with any degree of certainty, it should come back and say "I know about .... did you want one of these?" | 18:31 | ||
masak | PerlJam, tadzik: I think it's important to realize that neither proto, neutro, pls or any other installer we have now, or any system they employ, will survive the next five years. this is all about providing something for users now. | 18:32 | |
it doesn't have to be perfect. just sane. | |||
PerlJam | masak: good point. | ||
masak | they might also help us by pointing the way to things we want but didn't know we wanted. | ||
tadzik | that's why I'll go for names mappings. It suits "for users" as well as 'not perfect' :) | 18:33 | |
masak | tadzik: and I totally approve. as long as it's in your project, not mine. | ||
:) | |||
tadzik | and it is :) | ||
masak | I wouldn't even be too grumpy if it turned out to be the "better" equilibrium, all things considered. | ||
after all, people have widely different naming standards. | 18:34 | ||
and this is a way to equalize that. | |||
but don't believe I won't smirk every time I think about all the work you have maintaining that mapping that I don't have. :P | |||
tadzik: installing Math-Model fails with this build log file: ===SORRY!===\nUnable to open filehandle from path 'lib/Math/Model.pm6' | 18:35 | ||
tadzik | yep | ||
masak | that's... odd. | 18:36 | |
tadzik | ...yep :) | ||
masak in·vest·ig·ate·s | |||
PerlJam thinks that there's something to be said for having a cpan-a-like that just holds the meta-info and not necessarily the tarballs | 18:37 | ||
masak | PerlJam: well, that description matches proto, neutro and pls. | ||
tadzik | masak: I was able to install Math::Model by going back a commit | 18:38 | |
masak | good to know. | 18:39 | |
then it was something I did :) | |||
pmichaud | I am not having a very good/productive day. :-( | ||
masak | so... why is it trying to open a .pm6 file, when there's only a .pm file there? | ||
PerlJam | masak: yeah, but they have the added burden of proto/neutro/pls :) | ||
tadzik | but wait, I have all the modules installed anyway :) | ||
so I don't know if it installed the dependencies | |||
masak | PerlJam: I've been toying with the idea of moving the projects list out of the proto/pls repo. | 18:40 | |
PerlJam: and into the Mu repo. | |||
pmichaud suggests into perl6/something | |||
or pugs/something | |||
masak | pmichaud: I'd prefer Pugs. then everyone can edit it. | ||
PerlJam | masak: +! | ||
er, +1 | |||
pmichaud | everyone can edit in the perl6 repo, also. | ||
masak | oh? | ||
pmichaud | I mean, we'd have to hand out commitbits, but that's easily done via hugme | 18:41 | |
masak | that's true. | ||
tadzik | masak: funny, removing my ~/.perl6/lib made poc not install anything, but still saying "Math-Model installed." | ||
masak | tadzik: o.O | ||
PerlJam | what about going more "wiki" and forego the commitbits? | ||
tadzik | masak: pb.rbfh.de/2HYQhdcEbfwva | ||
pmichaud | PerlJam: that's a possibility also, although I suspect it might not scale well. | 18:42 | |
masak | PerlJam: such a public wiki would attract spam. | ||
pmichaud | ultimately I suspect we'll want people to provide repo locations and something harvests the metadata | ||
masak | PerlJam: and then you'd have to lock it down. | ||
pmichaud: perl6/ecosystem, then. | 18:43 | ||
pmichaud: if you create it, I'll populate it. | |||
PerlJam | masak: That's a common pattern but I don't take it as a given. | ||
anyway ... (all you guys)++ :-) | 18:44 | ||
pmichaud | masak: create the repo? | ||
18:44
erez left
|
|||
pmichaud | sure thing | 18:44 | |
masak | PerlJam: it's happened to every wiki I know. I don't understand why it happens less with CVS solutions, but it does. | ||
tadzik | did you mean: VCS? :) | ||
masak | oops. aye. :) | ||
TLA | 18:45 | ||
masak .oO( saying CVS rather than VCS was an LTA TLA ) | |||
tadzik | LTA? TLA? | ||
18:45
M_o_C joined
|
|||
masak | less than awesome. three letter acronym. | 18:45 | |
PerlJam | tadzik: less that awesome | 18:46 | |
yeah, what he said :) | |||
tadzik | :) | ||
masak | the former is a local term. | ||
PerlJam | apparently I type slower than normal while paying attention to a presentation | ||
masak | it's over one year old now \o/ | ||
pmichaud | masak: github.com/perl6/ecosystem | 18:47 | |
masak | pmichaud++ | ||
pmichaud | masak: you already have commit rights | ||
tadzik | so what will be inside? :) | ||
masak | tadzik: a list of modules, in JSON format. | 18:48 | |
tadzik | ah, I see the description | ||
pmichaud | I'll grant commitbits to whoever else wants them (at least until we get hugme setup) | ||
tadzik | I don't mind having those | ||
masak: about sub determine-make-program, couldn't we just use: run "which nmake" blah blah? | 18:49 | ||
[Coke] | Klingon is not part of the Unicode Standard. (SAD FACE) | 18:50 | |
masak | tadzik: jnthn wrote that. ask him. | ||
18:50
colomon joined
|
|||
pmichaud | I'm pretty sure 'which' is specific to unix. | 18:50 | |
masak | ok, projects.list is up at github.com/perl6/ecosystem | ||
I'll add a little something to the README as well. | 18:51 | ||
PerlJam | I bet "which" works on plan9 and qnx and other non-unixes :) | ||
pmichaud | okay, I'll rephrase. | ||
masak | we'll basically want to delete poc-projects.list now from the pls branch :) | ||
pmichaud | I'm pretty sure 'which' is not available under Windows (except maybe cygwin) | ||
[Coke] | pmichaud: easy enough to whip up a "which.pl" that does mostly the right thing. | ||
masak | (and replace it by a HTTP GET) | ||
colomon | cygwin has which, yes. | ||
tadzik | I'm pretty sure "nmake /? > nmake.tmp 2>&1" is specific to UNIX too | 18:52 | |
[Coke] | nopaste.snit.ch/23178 | ||
*bot, nopaste? | 18:53 | ||
tadzik | . o O (maybe it would be nice to keep the tags in the ecosystem, not only git repo urls. Then it would be more-less guaranteed that there lies something that works) | 18:57 | |
[Coke] | pmichaud: that nopaste contains a whichalike for win32. | ||
pmichaud | [Coke]: okay. :-) | ||
tadzik: ...which tags are you referring to? | 18:58 | ||
Tene | tadzik: I'm pretty sure that /? is a windows-ism. | ||
tadzik | pmichaud: git repo tags, as in `git tag 1.0` | ||
[Coke] | as is nmake. | ||
/? is windows for -? | |||
tadzik | hmm, maybe. But it's in poc sources, and works on unix. Maybe it's portable then | 18:59 | |
[Coke] | (for the generic , not necessarily for help.) | ||
2>&1 works in command prompt. | |||
pmichaud | it might be worth noting that Rakudo's $*VM<config> also has a lot of make/perl configuration information auto-detected by Parrot. | ||
masak | wrote a README: github.com/perl6/ecosystem | ||
[Coke] | pmichaud: which parrot knows is crap and will eventually not propagate. | ||
... unless you mean the useful bits! | 19:00 | ||
tadzik | masak: 2057 tadzik | . o O (maybe it would be nice to keep the tags in the ecosystem, not only git repo urls. Then it would be more-less guaranteed that there lies something that works) | ||
[Coke] | (there used to be a ton of /perl5/ config in there, too.) | ||
tadzik | what do you think? | ||
masak | tadzik: I think wait and see. | ||
tadzik | wait for what? :) | 19:01 | |
pmichaud | I think there should be a mechanism for providing tags, yes. But I also think it should be "as needed", not "let's engineer every possibilty up front" | ||
masak | if it turns out that your convenience beats my minimalism, then you can move them in there. | ||
tadzik | heh | ||
masak | until then, let's keep it minimal :) | ||
tadzik | making them optional would be nice maybe | ||
pmichaud | fwiw, minimalism needs to also include extensible. | ||
they certainly shouldn't be required. | |||
(not at this stage) | 19:02 | ||
tadzik | well, for now there is a loads of modules from which like half works | ||
masak | I'm proposing that we not introduce an extra layer of indirection at all in projects.list | ||
tadzik | or: is known to work | ||
masak | neutro can do the mapping if it wants. that's fine. | ||
pmichaud | masak: you thikn that projects.list should simply be a list of repos? | 19:03 | |
*think | |||
masak | yes. | ||
tadzik | neutro is just waiting for pls to be completed, so it can hide in a shade with medals, gallons and stuff | ||
masak | :) | ||
tadzik | then it could be changed to just lines with urls | 19:04 | |
pmichaud | what tadzik++ said | ||
tadzik | more simplicity, no json, let's dance | ||
pmichaud | why structure it at all then... why not just have urls? | ||
19:04
jaldhar left
|
|||
PerlJam | I kind of like the meta-info you get from CPAN: repo-type, url, version, license, etc. | 19:04 | |
19:04
patrickas left
|
|||
pmichaud | PerlJam: I think that ought to be maintained in the repos, though, not in the central list. | 19:04 | |
tadzik | I'd personally make it more complex, even if it would require some work from the developers side, it would show which modules are actually alive | 19:05 | |
masak | pmichaud: that structure comes from a time when not everyone had github repos. | ||
pmichaud | or, more to the point, something should collect that information, as opposed to people adding / maintaining it manually | ||
masak | pmichaud: from that structure, you could basically dispatch on the type of repo to decide how to install the module. | ||
pmichaud | masak: one can do that with url, too. | ||
masak | troo. | ||
it's basically just for hysterical raisins. | |||
pmichaud | tadzik: I'd keep it simple, and have something that collects the metadata and builds the structure | 19:06 | |
tadzik | so maybe it's a high time to change that :) | ||
masak | and an URL string is less digested than a set of hash entries. | ||
PerlJam | tadzik: what does "alive" mean? | ||
tadzik | pmichaud: and separate the simple list from the actual data? | ||
pmichaud | tadzik: maintain the "actual data" in the repos, not in the central list | ||
tadzik | PerlJam: let's say: works | ||
masak | github.com/moritz/modules.perl6.org...ist.pl#L19 needs changing now. any volunteers? :) | 19:07 | |
ash_ | so... i know have a working backend for try.rakudo.org and updates to the front end to use it, but its not secure currently, anyone have any suggestions for making the repl more secure? | ||
PerlJam | tadzik: the module works? or the URL works? | ||
tadzik | PerlJam: the module. I'm talking about the modules in general | ||
19:07
zorgnax_ joined
|
|||
ash_ | and now it does use the perl6 repl built in | 19:07 | |
tadzik | yay! | 19:08 | |
ash_++ | |||
PerlJam | tadzik: The module may work for one person but not for another. Is it "alive"? | ||
.oO(Schrodinger's module?) |
|||
moritz_ | rakudo: use FORBID_PIR; pir::printerr__vP('Foo') | ||
p6eval | rakudo 18189a: OUTPUT«===SORRY!===pir::op forbidden in safe mode» | ||
zorgnax_ | This seems a bit unwieldy. Is there a better way to have a character class for anything but a ']'? <-[\]]> | 19:09 | |
masak | ok, modules.perl6.org is now set to use perl6/ecosystem's project.list instead of the one in the pls branch. | ||
zorgnax_ | actually its not that pad | ||
ash_ | morits: > use FORBID_PIR; | ||
_block71 | |||
> pir::printerr__vP("foo"); | |||
fooP | |||
:-( | |||
moritz_ | ash_: hm, I might be able to fix that | ||
masak | zorgnax_: that's the way I'd write it. | 19:10 | |
PerlJam | zorgnax_: put it in a grammar and give it an appropriate name :) | ||
ash_ | moritz_: i might need to update rakudo, i think its been about a week since i did that, so that might help? maybe not though | ||
[Coke] | PPW folks want to know if we want a rakudo hackathon there. | ||
masak | token anything_but_the_backslash | ||
tadzik | PerlJam: I'd define "works" as in "Passes its tests", at least on one configuration. My point is, there's plenty of modules in proto db, but tests show that 21-28 actually build/work | ||
pmichaud | I got an email from rblackwell but haven't had a chance to respond yet | ||
masak | er, _the_closing_bracket | ||
zorgnax_ | I was thinking it may be possible to have syntax like <-']'> | ||
pmichaud | I don't know yet if I can make it. | ||
zorgnax_ | nm about that last bit | 19:11 | |
[Coke] | pmichaud: yes, that's the same email. ;) | ||
PerlJam | tadzik: same question basically. It passes its tests on system A, but doesn't on system B | ||
moritz_ | ash_: I haven't fixed it yet; I might be able to | ||
[Coke] | TimToady is attending, but not sure if he's going to want hacking time. | ||
zorgnax_ | does metasyntax quoting have any meaning? | ||
pmichaud | tadzik: I think getting into questions of "works / doesn't work" is something beyond a basic module installer at this point. | ||
[Coke] | phenny: ask TimToady if he'd like a perl6 hackathon to happen at PPW. | ||
phenny | [Coke]: I'll pass that on when TimToady is around. | ||
tadzik | pmichaud: I think it's beyond the module db, not the module installer, I mean there are many modules which haven't received any love recently and they don't work with Rakudo now | 19:12 | |
PerlJam | tadzik: that's the function of the smoker. | ||
pmichaud | tadzik: that's a function of a testing service | ||
tadzik | alright, you have me :) | ||
pmichaud | if you want to write a testing service, great. But let's not confuse that with module management just yet. | 19:13 | |
masak | zorgnax_: I don't know. S05 will contain the answer, though. | ||
pmichaud | zorgnax_: there's / ']' <!> | . / | ||
er, no | |||
zorgnax_: there's / ']' :: <!> | . / | |||
which doesn't work in rakudo yet | |||
PerlJam | Sounds like we're regrowing all of the CPAN infrastructure | ||
tadzik | pmichaud: I rather thought about, well, filtering the module db a bit. But now that I think a bit, I don't remember why I started thinking about that | 19:14 | |
pmichaud | PerlJam: ugh, I hate statements like that. | ||
sometimes wheels need reinventing (more) | |||
sometimes it's worth exploring alternate designs just to see what might've been overlooked the first time around | 19:15 | ||
I'm not saying "don't use CPAN", but I do think there's a tendency to say "don't reinvent CPAN" before we really know what we want | |||
(not that you said that... but many people will infer it) | 19:16 | ||
tadzik | oh by the way, what about require pmichaud? | ||
PerlJam | I agree. Though, at this point, I don't see that's we've made any significant deviations in the "design" | ||
(even the design we're just talked about and not implemented) | 19:17 | ||
s/we're/we've/ | |||
pmichaud | PerlJam: that may be. | ||
...but can I create modules without having to upload them? | |||
or do we want our unit of currency to continue to be a tarball? | |||
ash_ | moritz_: i used to use: gist.github.com/553994 if that could be contained in a built in module, or use SAFE_MODE or something, that would be nice, if not, i understand, but i am going to have to figure out the right way of doing that from the repl | ||
19:18
tylercurtis left
|
|||
ash_ | could i do that, then start the repl after i set it to be 'safe' enough? | 19:18 | |
Tene | btw, japhb has also spent a lot of time thinking about this kind of stuff for plumage; you might want to interact with him | ||
PerlJam | pmichaud: tarball, zip file, whatever. The whole point of having the module list so that someone can a) discover a useful module and b) use it :-) | ||
pmichaud: but, I do tend to want to decouple the meta-info from the module storage. | 19:19 | ||
pmichaud | PerlJam: that's been my whole point | ||
is that part of CPAN's current design? | |||
(decoupling) | |||
PerlJam | okay, then we're in violent agreement :) | ||
pmichaud | except for the part of "no significant deviations" | ||
PerlJam | no, the decoupling is not part of CPAN's design. Ergo, I retract what I said earlier. | ||
pmichaud | okay. :-) | 19:20 | |
ash_ | moritz_: actually, for the other parts (the open, run, slurp, etc. ) functions, i can make a script and then call Perl6::Compiler.interactive(); and it blocks all of the open/run/etc. functions, but it still lets pir run | 19:22 | |
PerlJam | pmichaud: but if someone pipes up with "we need a rating system for the modules" I am going to cringe a little :) | 19:23 | |
moritz_ | ash_: I think it's just a question of where to define the $*FORBID_PIR contextual | ||
it's currently defined in comp_unit | |||
ash_ | PerlJam: we need a rating system for modules, :P | ||
moritz_ | which doesn't seem global enough for that purpose | ||
PerlJam gives ash_ a hug that's perhaps just a little too tight for comfort | 19:24 | ||
;> | |||
Wait ... did I just weaponize hugs? | |||
moritz_ -> sleep | |||
ash_ not serious about the modules | |||
PerlJam | g'night moritz_ | 19:25 | |
tadzik | o/ | ||
ash_ | moritz_: alright, thanks for the tip, i'll see if i can find a way to make it possible to have use FORBID_PIR; work the way i need | ||
pmichaud growls at T-Mobile. | |||
19:27
zorgnax_ left
|
|||
TimToady | I think I've found a binding bug. wall.org/~larry/hamming.p6 | 19:29 | |
phenny | TimToady: 19:11Z <[Coke]> ask TimToady if he'd like a perl6 hackathon to happen at PPW. | ||
TimToady | [Coke]: if there's one during, that's fine, but Glo and I will be flying straight from there to Japan | 19:30 | |
masak | ooh, the Hammind sequence! | 19:31 | |
TimToady | I would guess that the *@xtail is not successful in binding to the conjectural part of the @hamming array | 19:32 | |
PerlJam | TimToady: I didn't think that particular signature syntax worked | ||
19:32
timbunce left
|
|||
[Coke] | GAH. jnthn++ ... clicking on that link on my windows box fired off rakudo. | 19:32 | |
masak | TimToady: any reason why it shouldn't bind? | ||
TimToady | rakudo: sub foo (@x [$xhead, *@xtail]) { say ~@xtail }; foo([1,2,3]) | 19:33 | |
p6eval | rakudo 18189a: OUTPUT«2 3» | ||
masak | \o/ | ||
Tene | perl6: my @x = 1..5; sub foo(@a [$a, *@atail]) { say "head: $a\ntail: {@atail.perl}"; }; foo(@x); | ||
p6eval | rakudo 18189a: OUTPUT«head: 1tail: [2, 3, 4, 5]» | ||
..pugs: OUTPUT«***  Unexpected "[$" expecting "?", "!", trait, "=", default value, "-->" or ")" at /tmp/6hVbwrTvGV line 1, column 26» | |||
TimToady | rakudo: sub foo (@x [$xhead, *@xtail]) { say ~@xtail }; foo([1, (2...3)]) | ||
p6eval | rakudo 18189a: OUTPUT«2 3» | 19:34 | |
TimToady | rakudo: sub foo (@x [$xhead, *@xtail]) { say ~@xtail[^3] }; foo([1, 'x' xx *]) | 19:35 | |
p6eval | rakudo 18189a: OUTPUT«(timeout)» | ||
TimToady | anyway, hamming is sort of an acid test for laziness, the way man-or-boy is for scoping | 19:36 | |
and currently we flunk... | |||
huf | what does the sub foo(@x [$x, *@y) syntax do? | 19:37 | |
err, with the ] | |||
Tene | huf: destructure @x | ||
huf | ah | ||
wait, that needs the @x in front? | 19:38 | ||
masak | no, but that adds another name and a Positional constraint. | ||
19:38
stepnem left
|
|||
huf | ah | 19:38 | |
neat | 19:39 | ||
19:39
timbunce joined
|
|||
masak | tadzik: just pushed a fix to the .pm6 bug. now we're back on dependencies. :) | 19:41 | |
masak looks forward to poc doing this right | |||
19:42
hsmith left,
stepnem joined
|
|||
pmichaud | file a bug report for hamming, please. I know enough of the binding code now that I think I might be able to fix it up. | 19:42 | |
I'd like to see that one work. | 19:43 | ||
masak submits rakudobug for hamming | |||
ash_ | pmichaud: do you have any suggestions for getting use FORBID_PIR; to work in rakudo's repl? | ||
pmichaud | ever have one of those days where you're just certain that the planets have entered a new alignment that is causing everything to fail? That's my day. | 19:44 | |
tadzik | masak: not me :| | ||
pmichaud | ash_: I'm thinking FORBID_PIR needs to become a lexical var as well as a compile-time constant if it's going to be preserved. | ||
tadzik | I just found out my Linear algebra exam is on 3th, not 9th | ||
I'm banning myself from #perl6 since tomorrow | |||
pmichaud | ash_: but the other way we could do it is to provide an option to the compiler that does the equivalent of FORBID_PIR without having to have the use statement. | 19:45 | |
ash_ | tadzik: at least you didn't found out it was yesterday | ||
pmichaud: like a flag for when you call the exe? | |||
pmichaud | yes, or something passed to the repl | 19:46 | |
ash_ | I am using Perl6::Compiler.interactive() right now | ||
pmichaud | right | ||
masak | tadzik: and you're sure you got my last commit? | ||
pmichaud | it can be an option passed to that. | ||
ashleydev | pmichaud: it'd be nice to load modules with a url like .js | ||
if they're not local | |||
pmichaud | ashleydev: that's a language issue, not an implementation one :-) | ||
(well, it becomes an implementation one at some point... but right now it needs a spec :-) | |||
ashleydev | but the conversation made me think of that | 19:47 | |
pmichaud | ashleydev: sure. See S11 for what exists so far. | ||
tadzik | ash_: well, I have one week instead of two | ||
masak: just pulling | |||
ash_ | use Remote-Module; use 'google.com/api/perl-libs'; # might be neat but also could be scary | 19:48 | |
ashleydev | ash_: fun! | 19:49 | |
;) | |||
ash_ | i guess you could do something like use Remote-Module 'google.com/api/perl-libs'; without to much headache, and just cache files on your local computer | ||
ashleydev | ash_: I would expect there would need to be come caching by default | ||
ash_ | that doesn't seem to crazy to implement with the current spec, i can't think of any reason it wouldn't work | 19:50 | |
pmichaud | some form of cache is likely anyway, even for local modules. | 19:51 | |
ash_ | lol, here would be a fun one, "use lib cpan.perl.com' | ||
err | |||
use lib cpan.perl.com' | |||
grrr, sorry having a retard moment with my return key | |||
use lib 'cpan.perl.com'; use Foo; and have it find foo on cpan | 19:52 | ||
19:58
muixirt joined
|
|||
masak has poc pull its projects.list from perl6/ecosystem | 20:00 | ||
20:01
Italian_Plumber left
|
|||
masak | look at this change: github.com/masak/proto/commit/61a58...c6ac730c0a | 20:01 | |
20:01
rokoteko left
|
|||
masak | I can't decide if it's Perl 6 that's very nice to me, or the pls design, or both. :) | 20:01 | |
(suggestions for how to do this without 'wget' are welcome, though) | 20:02 | ||
tadzik | LWP::Simple maybe? | ||
[particle] | use curl? | ||
scnr | |||
masak | [particle]: I've never figgered out when to use wget and when to use curl :) | ||
Tene | I do have an http client... somewhere... | ||
masak | tadzik: that might be the way, yes. wonder if I can do it without a module, though. | ||
Tene | probably not anywhere online | ||
masak: HTTP client is very simple. You should be able to do something that works well enough for most cases in like a couple dozen lines at most. | 20:03 | ||
masak | sounds good. | 20:04 | |
Tene | write: GET /foo/bar HTTP/1.1\nHost: foo.bar.com\n\n; read off the headers, and then loop read/write | ||
masak | nod | 20:05 | |
tadzik: if you'll have a look at t/subcommands/build.t, you'll see how dependencies work. | |||
Tene | masak: I'd be glad to help you with that if you need it. | 20:06 | |
masak | tadzik: there are entries such as :deps<A B> in that hash. | ||
Tene: cool. I'd gladly accept a patch. | |||
20:08
snearch left
|
|||
ash_ | do sockets work in perl6? | 20:11 | |
20:12
Italian_Plumber joined
|
|||
masak | yes. | 20:12 | |
ash_ | only tcp/udp? or can you do unix sockets too? | ||
20:13
Kodi joined
|
|||
Kodi | gist.github.com/493037 - Latest version of Instants and Durations patch. | 20:13 | |
masak | tadzik: that hash is put into something called the ProjectsState. in the t/ tests it's already there from the beginning. in the Real World, we have to populate ProjectsState after fetching a project. | 20:14 | |
tadzik: thinking about it, I suspect that's a job for the logic in App::Pls. | 20:15 | ||
20:16
Italian_Plumber left
|
|||
lue | hai o/ | 20:18 | |
masak | o/ hai | ||
20:19
\xF0 left,
M_o_C left,
\xF0 joined
20:20
justatheory left,
Italian_Plumber joined
|
|||
lue | congratulations, moritz_ | 20:21 | |
20:22
IcyBee joined,
molaf left
20:26
ejs joined
20:37
risou left
|
|||
lue | rakudo: my $a = 3 :carefully | 20:41 | |
p6eval | rakudo 18189a: OUTPUT«===SORRY!===Confused at line 22, near "my $a = 3 "» | ||
ash_ | std: my $a = 3 :carefully | 20:42 | |
masak | :) | ||
p6eval | std 32107: OUTPUT«ok 00:01 118m» | ||
lue | out of curiousity, how would a P6 user define their own adverbs? .oO(sub adverb:<sickly> ?) | ||
20:43
Mowah left,
Italian_Plumber left
|
|||
lue | .oO(Leave it to a linguist to name a language feature an adverb) |
20:43 | |
masak | lue: you define a new multi of the operator you want to have the adverb, and provide the adverb as a named parameter. | 20:44 | |
lue | so, if I want to give infix:<+> the adverb :quickly, I'd do multi sub infix:<+>($a, $b, $quickly) ? | 20:46 | |
masak | :$quickly | ||
so it still takes two positional parameters. and one named. | |||
ash_ | then how would you call that? | 20:47 | |
masak | 4 + 5 :quickly | ||
dalek | kudo: 2740248 | masak++ | src/core/Any-list.pm: [src/core/Any-list.pm] be more forgiving In the min/max/minmax methods, even though we should technically expect to get only -1, 0, or +1, we'll instead check for negative, zero, and positive. This due to at least two reasons: (a) Postel's law, (b) it's faster :) |
||
kudo: a20e62d | masak++ | src/core/Any-list.pm: [src/core/Any-list.pm] simplification .signature.params.elems can be written .arity just as well. Did that. |
|||
ash_ | ah, cool | ||
lue | I see now. [must remember operators are just subs with funny syntax] | 20:48 | |
20:48
whiteknight joined
|
|||
plobsing | is there anything like is('traced') for subs? I'm trying to debug some multi-dispatch problems I've found with the Ackerman example on rosettacode | 20:48 | |
masak | plobsing: you might be able to wrap the sub with debug information. | 20:50 | |
rakudo: sub foo { say "OH HAI" }; &foo.wrap(sub { say "before"; callsame; say "after" }); foo | |||
p6eval | rakudo 18189a: OUTPUT«beforeOH HAIafter» | ||
plobsing | masak: sure, but I have a sweet tooth. | ||
masak | not aware of any ready-made refined sugare for you, 'fraid. | 20:51 | |
ash_ | is there a way to get a stack trace in rakudo? | 20:52 | |
masak | rakudo: sub foo { bar }; sub bar { baz }; sub baz { die "stack trace" }; foo | 20:54 | |
p6eval | rakudo 18189a: OUTPUT«stack trace in 'baz' at line 22:/tmp/1l5_HJIQaM in 'bar' at line 22:/tmp/1l5_HJIQaM in 'foo' at line 22:/tmp/1l5_HJIQaM in main program body at line 22:/tmp/1l5_HJIQaM» | ||
ash_ | can you make one without die? (like something you could assign to a variable?) | ||
masak | not that I'm aware. | 20:55 | |
sounds like you want the &callframe function of S06. | |||
ash_ | ya, actually, now that you mention, that is what i am after | 20:56 | |
plobsing | rakudo: multi sub B() { say "multi" }; &B.wrap(sub {say "before"; callsame; say "after"}); B() | 21:01 | |
p6eval | rakudo 18189a: OUTPUT«get_attr_str() not implemented in class 'Perl6MultiSub' in main program body at line 1» | ||
plobsing | rakudo: sub B() { say "multi" }; &B.wrap(sub {say "before"; callsame; say "after"}); B() | ||
p6eval | rakudo 18189a: OUTPUT«beforemultiafter» | ||
plobsing | rakudobug? | ||
ashleydev | ash_: it'd be a cool CPAN module that would make use of local::lib that you could just do that use 'cpan.perl.com' and it would do a local::lib build of cpan modules and cache them... | 21:02 | |
tadzik | rakudo: sub B() { say "curious" }; B.wrap(sub {say "before"; callsame; say "after"}); B() | 21:03 | |
p6eval | rakudo 18189a: OUTPUT«curiousMethod 'wrap' not found for invocant of class 'Bool' in main program body at line 22:/tmp/BgAvBV0wV0» | ||
tadzik | oh right | ||
masak | plobsing: seems so. I'd be surprised if it isn't already known, though. | 21:04 | |
masak checks | |||
rakudo: (sub f { }).wrap(-> { }) | 21:05 | ||
p6eval | rakudo 18189a: ( no output ) | ||
masak | rakudo: (sub f { }).wrap(-> { say "OH HAI" }); f | 21:06 | |
p6eval | rakudo 18189a: OUTPUT«OH HAI» | ||
masak | seems rt.perl.org/rt3/Ticket/Display.html?id=76420 can be closed. | ||
...or taken to tests, at least. | |||
masak submits wrap/multi rakudobug | |||
21:06
Kodi left
|
|||
masak | plobsing++ | 21:06 | |
ash_ | since you can currently construct a backtrace for the error messages when get a fail/die, is there any reason you couldn't construct one for debug purposes? | 21:07 | |
masak | ash_: no-one has needed it before. | ||
or no-one has asked, at least. | |||
ash_ | but using that, couldn't you set &callframe? | 21:08 | |
also, why is <invizible_frame> part of annotations? is that misspelled on purpose? | |||
github.com/rakudo/rakudo/blob/f8763...ter.pm#L12 is what i am talking about btw, the spelling thing | 21:10 | ||
it works, so i assume its correct, just odd to me thats all | |||
ash_ ponders how hard it would be to implement callframe if we already do it for exceptions | 21:11 | ||
masak | ash_: that's clearly jnthn being lolcat-y. | ||
ash_ | masak: ah, thats fine, just checking :) | ||
i know there are some non native english speaks around here, so i was making sure it wasn't a mistake | 21:12 | ||
masak | good :) | ||
jnthn's native language is lolspeak :P | |||
ash_ | lol | ||
can haz yarn 'foo'? | 21:13 | ||
plobsing | is there such things as rude lolspeak and very rude lolspeak? | ||
tadzik | OH NOES RUDENESS MAKES KITTEHZ CRY :( | ||
there should be a module allowing 'can haz $a' and 'I can haz $a' instead of 'has $.a' and 'has $!a' | 21:14 | ||
is it doable at the moment? :) | |||
ash_ | can you make a fail object that isn't going to be thrown? | ||
Failure.new 'foo' and fail 'foo' both throw | 21:15 | ||
tadzik | hmm | ||
lue | rakudo: sub I_can_haz($a) { say "$a to you" }; I_can_haz "hello"; | ||
p6eval | rakudo 18189a: OUTPUT«hello to you» | ||
21:16
Holy_Cow left
|
|||
tadzik | rakudo: my $x; try { $x = Failure.new('foo')}; say "alive; {$x.WHAT}" | 21:16 | |
p6eval | rakudo 18189a: OUTPUT«alive; Failure()» | ||
tadzik | ash_: ↑ | ||
ash_ | rakudo: my $x = Exception.new: 'boom'; say $x.WHAT; | 21:17 | |
p6eval | rakudo 18189a: OUTPUT«Exception()» | ||
masak | tadzik: don't know if you're still there. I just tried making a change to make dependencies work, and failed miserably. :) | 21:18 | |
plobsing | rosettacode.org/wiki/Ackermann_function#Perl_6 multi-dispatch example fails rather quickly for A(9,6) | ||
(I would expect it to take a while to fail) | 21:19 | ||
masak | tadzik: the tests are a harsh judge. | ||
tadzik | masak: still there, but mostly my spirit is there. As I said, the exams hell is approaching madly. I'll be usable again on 4th of Sep., maybe 3th | ||
masak | ok, no worries. | ||
I'm shutting down for tonight, I think. | |||
need to ponder how the deps thing is to be done. | 21:20 | ||
good luck with exams hell. | |||
g'♞, #perl6 | |||
tadzik | oh, I'll need that | ||
gnite | |||
21:20
masak left
21:22
IcyBee left
21:26
alester joined
|
|||
lue | where/how does Grammar parse operators? Or is that more in the realm of Actions.pm? [things like 3 + 2] | 21:27 | |
ash_ | lue: look for token infix | 21:28 | |
infix ops are part of the proto token infix { } | |||
lue | is it token infixish ? [ there is no proto token infix {} ] | 21:31 | |
ash_ | err, ya, infixish is it | 21:35 | |
the actual infix sub's are constructed in Actions.pm | |||
the reason you can call say: | |||
rakudo: say &infix:<+>(1, 2); | |||
p6eval | rakudo 18189a: OUTPUT«3» | ||
ash_ | is because the ops are defined as infix:<> | ||
lue | I'm interested in how &infix:<+>(1,2) turns into 1+2, because I think knowing that would help with implementing adverbs | 21:38 | |
ash_ | do you mean that the other way around? | 21:39 | |
how 1 + 2 gets turned into &infix:<+>(1, 2)? | |||
because &infix:<+>(1, 2); is just a sub | |||
lue | erm, yes. How &infix:<+>(1,2) can be written 1+2. [just put the R metaop in front of 'turns into' in my last statement :)] | 21:40 | |
ash_ | rakudo: say 1 + 2 * 3; say &infix:<+>(1, &infix:<*>(2, 3)); | ||
p6eval | rakudo 18189a: OUTPUT«77» | ||
ash_ | its how the grammar parses the code and turns it into an AST, then the AST turns it into actual ops in the vm, which are mostly implemented wit subs | 21:41 | |
lue: have you read S05 or the advent calendar yet? | 21:43 | ||
21:44
[particle] left
|
|||
ash_ | perl6advent.wordpress.com/2009/12/2...d-actions/ talks a good bit about grammars, and gives some good examples, if you haven't read that, i'd start there | 21:44 | |
lue | I am actually going to the advent calendar now (2009) | ||
ash_ | they are all worth reading | ||
21:45
ruoso left
21:46
timbunce left,
Ross joined
21:48
[particle] joined
21:50
timbunce joined
21:51
timbunce left
|
|||
tadzik | see you in a week guys o/ | 21:51 | |
21:52
tadzik left
21:53
sekimura left
21:54
sekimura joined
|
|||
Tene | It really makes me happy whenever I see someone recommending that article I wrote. :) | 21:54 | |
ash_ | Tene++ adventcalenders++ | ||
21:56
risou joined
21:57
[particle] left
21:58
[particle] joined
22:02
alester left
22:03
masonkramer joined
22:08
perlygatekeeper left
22:11
perlygatekeeper joined
22:18
risou left
22:20
patspam1 left
22:30
Guest23195 left
22:31
tylercurtis joined
22:32
perlygatekeeper left
|
|||
dalek | odel: 1de869a | ++ | java/runtime/ (6 files): [java] compiling but non working addition of 5 more classes into the dependency circle |
22:32 | |
22:32
patspam joined
22:33
justatheory joined
22:37
perlygatekeeper joined
|
|||
lue | rakudo: say (1,2) «*» (3,4) | 22:43 | |
p6eval | rakudo 18189a: OUTPUT«38» | ||
lue | The REPL fails on that (problem with the «»). Has that been already reported? | 22:44 | |
Tene | lue: repl doesn't support unicode | 22:46 | |
ash_ | you can alway use << instead of « so you know | 22:49 | |
sorear | hello #perl6 | 22:51 | |
mberends | good * sorear | 22:56 | |
23:03
ejs left
|
|||
lue | that seems a bit... archaic [the not support thing] | 23:11 | |
Tene | lue: feel free to fix it. :) | 23:15 | |
It's been a long-standing bug. | 23:16 | ||
lue | I would, but as of yet I have never been able to find the REPL in the source code. | ||
Does anyone know where it is? | 23:17 | ||
sorear | didn't I tell you once? | 23:18 | |
oh, no, it was waste I told | 23:19 | ||
unless that was you | |||
lue | no, it wasn't. | 23:20 | |
sorear | src/HLL/Compiler.pm in git://github.com/perl6/nqp-rx.git | ||
23:20
tylercurtis left
|
|||
lue | thank you, sorear. | 23:21 | |
amazing how the REPL takes so little code. I can see why it hasn't been fixed yet. | 23:27 | ||
23:28
Ross left
23:30
sekimura left
23:32
udait joined
23:34
sekimura joined
|
|||
lue | erm, disregard that last statement. [I forgot to git pull my copy of nqp-rx] | 23:35 | |
23:36
udait left
23:40
risou joined
23:46
risou left
23:52
muixirt left
23:54
hercynium joined,
risou joined
|