»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:01
hypolin joined,
hypolin left
00:06
Vlavv_ left
00:07
btyler left
00:12
benabik left
|
|||
dalek | kudo/nom: 680b6c5 | (Rob Hoelz)++ | src/core/Set.pm: Remove redundant sort This speeds up Set creation by about 33% |
00:17 | |
kudo/nom: 1ec4c93 | (Matthew Wilson)++ | src/core/Set.pm: Merge pull request #248 from hoelzro/nom Remove redundant sort |
|||
diakopter | hoelzro++ | ||
00:23
tgt joined
00:28
tgt left
|
|||
clsn invented pseudo lvalue methods in Python from the way it's done in Perl6. Bottom of stackoverflow.com/questions/9965115...-in-python What fun. | 00:34 | ||
00:36
cognominal left
00:37
ajr_ left
00:40
Vlavv_ joined,
smls left
00:41
krunen left,
cognominal joined
00:48
tgt joined
00:51
sftp left
00:52
sftp joined
00:53
tgt left
01:02
jnap left
01:04
rurban1 joined
01:10
xenoterracide joined
01:28
jeffreykegler1 joined
01:30
jeffreykegler left
01:32
jeffreykegler1 left,
jnap joined
01:33
jeffreykegler joined
01:36
slavik left
01:37
bjz_ left,
jnap left
01:40
bjz joined
01:48
tgt joined
01:49
rurban1 left
01:50
rurban1 joined,
slavik joined
01:53
tgt left
01:55
rurban1 left
01:56
rurban1 joined,
rurban1 left
01:59
rurban1 joined
02:02
rurban1 left
02:03
jnap joined
02:09
skids joined
02:21
FROGGS_ joined
02:24
FROGGS left
02:31
benabik joined
02:49
tgt joined
02:50
rurban1 joined
02:54
tgt left
02:55
rurban1 left
03:00
jnap left
03:06
krunen joined
03:13
telex left
03:14
telex joined
03:28
grondilu joined
03:31
sftp left
03:33
rurban1 joined
03:34
sftp joined
03:45
rurban1 left
03:50
tgt joined
03:52
rurban1 joined
03:54
tgt left
04:08
konnjuta joined
04:12
rurban1 left
04:14
rylinaux_ joined
04:15
rylinaux- joined,
dagurval joined
04:16
rylinaux left,
rylinaux_ left,
rylinaux- left,
rylinaux joined,
rylinaux is now known as Guest28478
04:20
Guest28478 left
04:23
rurban1 joined,
rurban1 left
04:28
dayangkun_ left,
rurban1 joined
04:31
slavik left
04:32
slavik joined
04:35
BenGoldberg left
04:39
rurban1 left
04:41
dayangkun_ joined
|
|||
raydiak | am I correct that "IO::Path::D" under chdir and visitdir in S32::IO should actually be "IO::Path:D"? | 04:49 | |
04:50
FROGGS_ left
04:51
tgt joined
|
|||
grondilu | most probably, yes | 04:52 | |
dalek | ecs: d4730c2 | raydiak++ | S32-setting-library/IO.pod: Fix typos |
||
04:55
tgt left
|
|||
skids | r: sub a (Int :D) { 1 } # LTA error | 04:57 | |
camelia | rakudo-jvm 1ec4c9: OUTPUT«===SORRY!===Can not invoke this object» | 04:58 | |
..rakudo-moar 1ec4c9: OUTPUT«===SORRY!===Cannot invoke this object (REPR: P6opaque, cs = 0)» | |||
..rakudo-parrot 1ec4c9: OUTPUT«===SORRY!===invoke() not implemented in class 'QAST::Op'» | |||
05:10
FOSScookie joined,
FOSScookie left
05:14
SamuraiJack joined
05:22
[Sno] left
05:51
tgt joined,
tgt left
05:53
itz left
05:56
itz joined
05:57
Biohazard left
05:59
kaleem joined
06:00
Biohazard joined
06:07
thou left
06:14
zby_home joined
06:30
[Sno] joined
06:33
konnjuta left
06:42
jeffreykegler left
06:44
yoleaux left
06:45
jtpalmer left
06:49
darutoko joined
07:02
krunen left
07:11
camelia left
07:13
raydiak left
|
|||
diakopter | gah; where'd host07 go | 07:17 | |
07:20
raydiak joined
07:22
camelia joined
07:23
ChanServ sets mode: +v camelia
07:27
camelia left
07:33
camelia joined
07:34
ChanServ sets mode: +v camelia
07:35
brrt joined
07:36
sivoais left
07:37
FROGGS joined
07:39
zby_home left
07:42
dmol joined
07:49
sivoais joined
07:55
takesako left
07:56
berekuk joined
08:00
zakharyas joined
08:01
pecastro left
08:02
tgt joined
08:03
V_S_C joined
|
|||
V_S_C | Yesterday I was working around nqp build errors with standalone parrot VM on Windows. | 08:05 | |
gist.github.com/VSChawathe/b592ed55f507d66404ce | 08:06 | ||
08:06
V_S_C left,
logie_ joined
08:10
takesako joined
08:12
tgt left
08:18
berekuk left
08:19
berekuk joined
08:21
[Sno] left
08:26
salv0 left,
salv0 joined
08:28
[Sno] joined
08:34
berekuk left,
logie_ left
|
|||
arnsholt | skids: That's a parsefail/codegenfail I think | 08:48 | |
Yeah, it bails with --target=ast as well | |||
timotimo | o/ | 08:58 | |
09:04
Rotwang joined,
rindolf joined
09:08
xenoterracide left
09:13
xenoterracide joined
09:22
slavik left
09:24
pecastro joined
|
|||
hoelzro | morning #perl6! | 09:28 | |
09:28
krunen joined
|
|||
timotimo | morning :) | 09:29 | |
09:30
xenoterracide left
09:36
slavik joined
09:40
as joined
|
|||
as | hi everyone, | 09:42 | |
timotimo is having some trouble with smallbigint :| | 09:43 | ||
as | i tried to execute the code snipped posted on site (stackoverflow.com/questions/254345/...l-in-perl) using online/web based compilers like (compilr.com/ideon.com/equivalent)as i dont have any local set up/installation | 09:46 | |
it failed | |||
can anyone help me out? | |||
timotimo | i'm sorry, but you got the wrong channel | ||
this channel is about perl6, you want help with perl5 | |||
09:47
dakkar joined
|
|||
as | timotimo does perl5 have any online compiler? | 09:47 | |
sorry perl6 | |||
tadzik | I think ideone.com can run perl 5 code | ||
but it may not have the modules you want | |||
why not just run stuff locally? :) | 09:48 | ||
timotimo | not at the moment; though there is perlito which can translate a quite limited subset of perl6 to javascript and execute that in your browser | ||
as | tadzik the code which i posted use importing & loading library/module called as Mecahnize | ||
& that is why such onelin site says failre in runnning | |||
tadzik | yeah, it's not a builtin module | ||
as | is there any other option to run the code(having libarry/module) | ||
hoelzro | timotimo: I think it should be called Little Big Int | 09:52 | |
timotimo | heh. | 09:54 | |
yeah, that does sound nice | |||
hoelzro | timotimo: do you know the game "Little Big Planet"? =) | ||
timotimo | yeah | ||
i've played both titles :3 | 09:55 | ||
hoelzro | ok, just making sure you got the reference =P | 09:59 | |
timotimo | that's funny. i'm having problems with references to little big integers ... | ||
hoelzro | hahaha | ||
timotimo | 0x4000000009 doesn't seem like a valid pointer to me. | ||
hoelzro | indeed | 10:00 | |
a very suspicious value | |||
timotimo | hm. the numbers could come from neglecting to zero out the unnecessary fields when turning a bigint into a littlebigint | ||
hoelzro | zero out *all* the things! | 10:03 | |
masak | good antenoon, #perl6 | 10:11 | |
10:11
as left
|
|||
hoelzro | ahoy masak! | 10:13 | |
masak | ahoy, and avast! | ||
moritz | \o masak, hoelzro, timotimo, * | 10:14 | |
timotimo | heya moritz | ||
hoelzro | howdy moritz | ||
10:17
Rotwang left
10:19
pdcawley left,
kurahaupo_mobile joined
10:22
kurahaupo_mobile left,
ggoebel1113 left
10:23
ggoebel1113 joined
10:25
pdcawley joined
10:39
Alula left
|
|||
moritz | debian upgrade, y u restart my mysql daemon? | 10:48 | |
grondilu | .oO(because it's been upgraded?) |
10:55 | |
masak .oO( because daemons can be HUP'd and it's no big deal? ) | 10:56 | ||
nwc10 | moritz: is midnight 23:00 again? | 11:01 | |
moritz | nwc10: I hope not :/ | ||
11:04
brrt left
|
|||
masak | sounds rather unfortunate. | 11:12 | |
11:12
kaare_ joined
|
|||
tadzik | chrome-extension://oemmndcbldboiebfnladdacbdfmadadm/sd.jtimothyking.com/wp-content/uplo...evised.pdf surprises me | 11:13 | |
uhh | |||
11:13
kaare__ left
|
|||
tadzik | sd.jtimothyking.com/wp-content/uplo...evised.pdf is what I mean | 11:14 | |
it mentions forest fire that runs at 32 fps. I'd like to see that :) | |||
and other things I never knew we can run | 11:16 | ||
colomon | why does while_empty have two different graps? | 11:19 | |
graphs? | |||
is the revised part the second graph? | |||
11:20
kaare_ left
11:21
kaare_ joined
|
|||
tadzik | darkpan! | 11:21 | |
Timbus | its the same graph, but with the jvm version being extended. might have been a memory issue | ||
corecatcher | good morning | 11:34 | |
FROGGS | morning corecatcher | 11:35 | |
11:45
broquaint left
11:52
broquaint joined
12:16
brrt joined
12:22
krunen left
|
|||
moritz | rakudo-j build fails here | 12:25 | |
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000bd280000, 346030080, 0) failed; error='Cannot allocate memory' (errno=12) | |||
Native memory allocation (malloc) failed to allocate 346030080 bytes for committing reserved memory. | 12:26 | ||
this is a machine with 4GB memory, and rakudo-j build used to work fine here | |||
moritz tries to bisect whether it's rakudo parrot | 12:29 | ||
erm | |||
whether it's rakudo or nqp | |||
(that was after stage jast) | 12:31 | ||
or maybe it was an openjdk update, or something | 12:32 | ||
grondilu | moritz: do you want to know why it failed or do you just want it to work? Because if you just want it to work you can consider adding some swap. I do that sometimes when I fail to compile rakudo. | 12:36 | |
moritz | grondilu: I emphatically don't want to add swap to this machine. | ||
grondilu: I want programs to be killed quickly in an OOM situation, not swap for 2 hours and then getting killed | 12:37 | ||
and 4GB should be enough for building rakudo, IMHO | 12:38 | ||
if not, I'm in trouble. | |||
12:38
atroxaper joined
|
|||
grondilu | yeah but maybe you have other process eating RAM | 12:38 | |
moritz restarts firefox to save some RAM | 12:43 | ||
ok, rakudo 396a2d3db4c08edc0d1fe11cde02ae25161e808c with nqp 2014.01-3-g080ce0b builds | 12:44 | ||
as does rakudo/nom with the same NQP | 12:46 | ||
now double-checking with a new nqp/master | |||
oh, and my nom is behind | |||
12:49
dakkar left
12:50
rindolf left
|
|||
colomon just nommed, and feels sorry for moritz | 12:50 | ||
12:51
dakkar joined
12:52
yoleaux joined,
ChanServ sets mode: +v yoleaux
|
|||
moritz | better than nom coming back :-) | 12:54 | |
colomon | ;) | ||
12:55
kaleem left
|
|||
moritz | ok, all fine now | 12:58 | |
after git clean -xdf and restarting firefox :-) | |||
13:09
stevan__ left,
stevan_ joined
13:11
benabik left
13:18
SamuraiJack left,
[particle]1 left,
atta left
13:22
skids left
13:25
kaleem joined,
krunen joined
13:37
atta joined
13:50
kbaker joined
13:51
slavik left
13:59
ajr joined
14:00
ajr is now known as Guest55784,
Guest55784 is now known as ajr_
14:05
kaare_ left
14:09
slavik joined
14:12
kaare_ joined
14:27
smls joined
14:28
jnap joined
|
|||
smls | grondilu: You there? | 14:30 | |
.tell grondilu Can you explain why you replaced the scalar parameter with a a sigil-less one at rosettacode.org/wiki/Averages/Simpl...age#Perl_6 ? What difference does it make (other than making the last line "P R/ [+] @a;" look slightly obfuscated)? | 14:33 | ||
yoleaux | smls: I'll pass your message to grondilu. | ||
14:38
bluescreen10 joined
|
|||
grondilu | I tend to not use sigils for read-only function parameters of only-one-letter namme. I'm not the only one to do that. I've noticed that TimToady also does it quite often on RC | 14:40 | |
yoleaux | 14:33Z <smls> grondilu: Can you explain why you replaced the scalar parameter with a a sigil-less one at rosettacode.org/wiki/Averages/Simpl...age#Perl_6 ? What difference does it make (other than making the last line "P R/ [+] @a;" look slightly obfuscated)? | ||
grondilu | it's mostly a aesthetical choice, but I have other motives a bit long to explain. | 14:42 | |
masak | I still find the sigil-less variables very weird. | 14:44 | |
grondilu | it's not hard to get used to, though. | ||
masak | guess not. | 14:45 | |
if I saw 'P' in code without more context than that, I would guess that P is a class, role or enum. | |||
not a local parameter. | |||
grondilu | well, maybe a lower case would be more appropriate indeed | 14:46 | |
[Coke] | I like sigilless only when it's a constant or when trying to avoid coercion when invoking a sub. | ||
grondilu | but "P" was the name suggested in the task description. | ||
masak | also, for readability, I would *never* go 'P R/ [+] @a' in code. YMMV, of course, but getting rid of the parens is not "worth" screwing up the order of division for me. | 14:47 | |
I would go '([+] @a) / P' and find that oogles of orders more readable. | |||
grondilu | what do you mean by "screwing up the order of division" ? | 14:48 | |
colomon | he means using R/ instead of / | ||
grondilu | it's only syntaxic. The division is still in the same order :/ | ||
masak | the code currently reads "we're gonna divide by P, and here's the numerator" | ||
it's screwing up the *reading* order. | |||
the order the brain needs to process it. | |||
markov | Other languages show readible examples with a bit of explanation. Would be nice for Perl5&6 examples as well. | ||
grondilu | it could become an idiom, then the brain adapts to it. | 14:49 | |
masak | grondilu: yes. but. | ||
colomon | we'd rather it didn't become an idiom. :) | ||
masak | grondilu: every idiom has a benefit and a cost. that's all I'm saying. | ||
to me, the cost is high in this case, and the benefit negligible. | |||
if it were APL or Perl 6 golf, I would see the benefit. | 14:50 | ||
colomon | what is the benefit, other than saving a character? | ||
grondilu | well, it depends how much you dislike parenthesis. I really don't like them at all, but maybe I'm exceptional to this regard. | ||
masak | yeah, that would explain it. | ||
colomon | grondilu: not a Lisp programmer, eh? | ||
masak | I've had code refactored by you before on RC that removed parens but made readability worse :) | 14:51 | |
grondilu | masak: that's very possible, sorry. | ||
masak | no worries. | 14:52 | |
I don't remember which one it was. | |||
timotimo | i like sigilless if it's a mathematically sensible symbol | ||
masak | we all have slightly different local minima. | ||
and more importantly, we're evolving idioms. and discussing them. | |||
timotimo | greek letters, ℕℝ∂Δ etc :) | ||
masak | timotimo: oh. agree. | ||
let's call that "mathematical Perl 6 prose" :) | |||
not all code should be like that, though. | |||
timotimo | yes. | 14:53 | |
grondilu | it'd be nice if TimToady could write something about programming style standards in Perl 6 | ||
FROGGS | +1 | ||
colomon | isn't the p6 solution actually wrong? | 14:54 | |
14:54
btyler joined
|
|||
colomon | at least (as I read it), it looks like if you give it one or two numbers and average, you get the numbers you've entered averaged with 0 | 14:54 | |
moritz | I could be wrong, but my impression is that the conding style still evoves | 14:55 | |
timotimo | the condiment style? | ||
colomon | for nom | ||
14:55
benabik joined
|
|||
timotimo | i generally prefer ketchup and mayo over mustard | 14:55 | |
colomon | I detest mayo and mustard | ||
timotimo | we have a little bit in common then :) | ||
masak | colomon: the assignment on the 'state' line is only eval'd once per returned sub, not once per call. | 14:56 | |
colomon | right, but 0 state isn't correct | ||
[Coke] | A usage/output example on that block would be helpful. | ||
colomon | +1 | ||
[Coke] | s/usage/program that generates output/ | ||
masak | well volunteered ;) | 14:57 | |
[Coke] | I don't know what the hell it's supposed to do. | ||
14:57
skids joined
|
|||
[Coke] just wants testable code. :) | 14:57 | ||
colomon | p: gist.github.com/colomon/8689734 | ||
camelia | rakudo-parrot 1ec4c9: OUTPUT«0.30.8» | ||
colomon | output should be 3, 4, IMO | ||
grondilu | colomon: yes it's "wrong" for the ten first numbers, but assuming zero for all past values before first data is not absurd. | 14:58 | |
s/ten/P/ | |||
colomon | prior to P numbers, assuming zero is wrong. after P numbers it's irrelevant | ||
[Coke] | the example seems to assume zero only if your stream is empty. | 14:59 | |
and then max(P,length_of_stream) elements are used. | |||
grondilu | oh come on, it's a stream of numbers. The very first ones don't matter much. Think signal theory. Nobody cares that much about the limit conditions. | 15:00 | |
masak | I think I agree with colomon. | 15:01 | |
colomon | p: gist.github.com/colomon/8689734 | ||
camelia | rakudo-parrot 1ec4c9: OUTPUT«111.3333332» | ||
masak | it's sort of one assumption less to just have the array start out empty and then fill up for the first numbers. | ||
but if the task doesn't specify, it's under-specified. | |||
OTOH, if the task doesn't mention zeroes, then the solution shouldn't assume them either. | |||
colomon | task psuedo code clearly does not average with zeros at beginning | 15:02 | |
[Coke] | IWBNI the tasks said "your code must output the following..." | 15:03 | |
then you could clearly comply or not. | |||
dalek | kudo-star-daily: b8883c0 | coke++ | log/ (5 files): today (automated commit) |
15:04 | |
15:04
logie_ joined
|
|||
[Coke] | DBIish is failing tests against r* | 15:05 | |
tadzik | bah | ||
colomon | against r-p, too | ||
tadzik | I wanted to make the release today | ||
colomon | so is DB::Model::Easy | ||
tadzik | I hope I didn't break zavolaj | ||
colomon | nothing else unusual is failing in the smoker. | 15:06 | |
[Coke] | zavolaj isn't failing any tests. | ||
tadzik | yeah, but DBIish is | ||
[Coke] | if you broke zavolaj, it needs better tests. :) | ||
tadzik | troo | ||
upload.wikimedia.org/wikipedia/comm...%B4o_1.JPG :D | 15:07 | ||
15:08
[particle] joined
|
|||
colomon | m: gist.github.com/colomon/8689734 | 15:11 | |
camelia | rakudo-moar 1ec4c9: OUTPUT«111.3333332» | ||
arnsholt | [Coke]: What kind of failures? | 15:12 | |
smls | the Python solution was added by the original author of the task, and it doesn't assume 0's | ||
grondilu | smls: for some reason your revision doesn't show up, even when I refresh the page :/ (tried several times) | 15:13 | |
15:13
[particle] left
|
|||
grondilu | .oO(probably an issue with RC) |
15:13 | |
smls | I only revised the Perl section; didn't touch the Perl 6 one | ||
grondilu | oh | ||
k | |||
15:18
thou joined
|
|||
[Coke] | arnsholt: github.com/coke/rakudo-star-daily/...odules.log //fail | 15:19 | |
15:19
[particle] joined
|
|||
[Coke] | No such private method 'errstr' for invocant of type 'DBDish::Pg::Connection' | 15:20 | |
15:20
rindolf joined
|
|||
[Coke] | using 8b39acbfb63c07da2e2282cfea9c83562608b83d by moritz from jan-18 | 15:20 | |
moritz | [Coke]: do you have a line of bactrace as well? | 15:24 | |
[Coke] | nope. | 15:28 | |
just the prove output. | |||
moritz | :( | ||
dalek | Iish: 6e8b1c7 | moritz++ | lib/DBDish/Pg.pm6: [Pg] make errstr public |
15:29 | |
moritz | that's just a shot in the dark | 15:30 | |
[Coke] | that url is failing. | 15:31 | |
(the review one) | |||
oh, it's linewrapped. | |||
er, sucking in the next line. | |||
arnsholt | From the looks of the error message, I'd suspect this is due to a Rakudo change rather than a Zavolaj change | 15:32 | |
moritz | actually I think that something triggers a faulty error path | 15:33 | |
the real question is: what triggers it? | 15:34 | ||
arnsholt | Good question | ||
[Coke]: Could you run the test files outside of prove and gist the backtraces? | |||
timotimo | moritz: sorry for not getting anywhere with jvm interop improvements yet | 15:36 | |
15:37
brrt left
15:41
rindolf left
|
|||
[Coke] | I'm not getting the latest copy of DBIsh (it's the expanded star repo) Is the version before moritz++'s last commit ok? | 15:43 | |
colomon | [Coke]: as I said, it's been failing smoke tests too. | ||
so probably not | |||
moritz | for getting the backtrace it's good | ||
colomon | oh, sure. | 15:44 | |
15:45
kaare_ left
|
|||
[Coke] | ... how do I run the test? PERL6LIB=lib /path/to/perl6 t/25-mysql-common.t doesn't find the modules. | 15:45 | |
moritz | [Coke]: if you do a find -name Pg.pm6 | 15:46 | |
[Coke]: where does it find that? | |||
then /path/to/perl6 -I$that_path t/25-mysql-common.t | |||
[Coke] | lib/DBDish | 15:47 | |
really, I need the subdir? | |||
moritz | no, lib should be fine | ||
-Ilib | |||
[Coke] | nope, same error. | ||
don't have time to rebuild from scratch, dayjobbing. | 15:48 | ||
moritz | thanks for trying, [Coke]++ | ||
[Coke] | (note that t/25* wasn't failing, was just trying to run anything) | 15:49 | |
colomon has just downloaded DBlish | 15:50 | ||
[Coke] | oh! t/30 still fails. | ||
colomon | I'm getting loads of failures with the latest source? | ||
oh, NativeCall not installed | |||
[Coke] | and it's pulling from the install/parrot/* lib. | 15:51 | |
what backtrace? I just see the error in the log file I quoted earlier. | |||
FROGGS | --ll-exception? | 15:52 | |
[Coke] | gist.github.com/coke/8690883 | 15:53 | |
colomon | Cannot locate native library 'libmysqlclient.so | ||
colomon sees [Coke]++ already has it done, and gets back to $work. | 15:57 | ||
15:58
ajr joined,
ajr_ left
15:59
ajr is now known as Guest93531
16:02
sqirrel joined
16:05
kaleem left
16:06
Guest93531 is now known as ajr_
16:12
FROGGS left
16:21
Alina-malina left
16:22
rurban1 joined
16:23
[Sno] left
16:26
Alina-malina joined,
Alina-malina left,
Alina-malina joined,
raiph joined,
bjz_ joined
16:28
retupmoca joined
16:29
bjz__ joined,
jnap left,
bjz left
16:30
bjz_ left
16:32
FROGGS joined
16:35
jnap joined
|
|||
raiph | timotimo: ideone supports rakudo star (from 2010); perltuts runs rakudo version 2012.04.1 (if you type "use v6") | 16:35 | |
TimToady likes R/ when you have a bad end-weight problem, which is not true in the case of [+](@a) / P | 16:46 | ||
timotimo | oh. thank you, raiph | 16:47 | |
raiph | TimToady: what is your suggestion for a prettier Unicode version of \ for sigilless terms? | ||
(to be used when the term itself contains non latin1 characters) | |||
TimToady | has nothing to do with whether it's latin1, only with whether it's "letter" | 16:48 | |
if anything, I'd try to think of some way of getting rid of the \ most of the time | 16:49 | ||
raiph | thx | 16:50 | |
TimToady | there's also a parsing problem with things like m and s that I'm still thinking about | 16:51 | |
16:51
zakharyas left
16:52
jeffreykegler joined
|
|||
smls would prefer if all variables had a sigil ($, @ or %). There are enough things that share the bareword "namespace" already (constants, subs, classes, subsets, ...) | 16:54 | ||
16:57
araujo joined
|
|||
skids | smls: the contract-less variable names also do have a function, they aren't just for eye sugar. | 16:57 | |
16:58
araujo left
|
|||
smls | its function is rooted in the fact that flattening behavior is attached to objects (as an internal attribute), right? | 16:59 | |
16:59
araujo joined,
rurban1 left
|
|||
skids | smls: Parcel/flattening have much to do with it yes. I'm sure there are better people than me to enumerate it though. | 17:00 | |
smls | I think that's the core of what rubs me the wrong way regarding the P6 object/variable/container system | ||
17:00
sqirrel left
|
|||
smls | It would be easier if flattening behavior was determined statically by looking at the sigils/operators used at the respective place in the source code | 17:01 | |
Why should one piece of code decide whether something flattens in another place in the code further down the control flow? | 17:02 | ||
skids | The use case AFAICT is to get wantarray-like behavior without wantarray. | 17:05 | |
skids lunch | |||
17:06
atroxaper left,
rurban1 joined
|
|||
smls | In the (admittedly totally naive and "I want a pony"-ish) P6 of my dreams, flattening would be determined statically; sigilless variables would not be needed; scalar variables would easily optimize so that no container actually needs to be allocated (nor would any container object be exposed to users); List and Parcel would be a single type and take a less user-visible role; and binding would not affect the outward behavior of $foo/@foo variables, | 17:13 | |
just their contents. | |||
17:13
treehug88 joined
|
|||
moritz | smls: and how would you pass on argumentlists to other functions without imposing any context? | 17:15 | |
that's important for delegation and many other low-level stuff | |||
currying | |||
PerlJam | It's really weird watching moritz type what I'm thinking as I read #perl6 this morning :) | 17:16 | |
hoelzro | whoa, the GH conversations UI really changed! | ||
PerlJam | good $localtime all! | ||
moritz | PerlJam: now you know how masak and I feel quite often :-) | ||
benabik | hoelzro: Following their blog is useful to not be caught off guard by things like that: github.com/blog/1767-redesigned-conversations | 17:17 | |
benabik lunch & | 17:18 | ||
hoelzro | benabik: right, I saw that, but I hadn't seen the change yet =) | ||
dalek | kudo/nom: 5d8aabb | (Rob Hoelz)++ | src/core/Set.pm: Lazily initialize $!WHICH in Set $!WHICH is only needed if we use a Set as a hash key, but we pay the penalty for sorting the members on every set construction |
17:20 | |
kudo/nom: 04c4fba | timo++ | src/core/Set.pm: Merge pull request #249 from hoelzro/nom Lazily initialize $!WHICH in Set |
|||
hoelzro | thanks timotimo | ||
timotimo | yw | ||
colomon | hoelzro++ | ||
17:22
sqirrel joined
|
|||
hoelzro | if pmichaud gets around to it, I won't have to file PRs much longer =) | 17:22 | |
17:22
treehug88 left
|
|||
smls | moritz: I don't understand why that's needed for delegation and currying | 17:25 | |
17:25
treehug88 joined
|
|||
smls | can't the compiler simply replace one function call with another behind the scenes, in those cases? | 17:25 | |
17:28
FROGGS left
|
|||
smls | anyways, I'm not the person to discuss techniucal details. I just wish the whole variable/container/object system could be made easier to understand (and more predictable) for users of the language. | 17:28 | |
moritz | there's not some magical compiler that does magical pixie dust | ||
that's all implemented in regular Perl 6 code | 17:29 | ||
17:30
rurban1 left
|
|||
PerlJam | smls: Aside from flattening, what else (specifically) do you find confusing or unpredictable? | 17:31 | |
17:35
rurban1 joined
17:36
rurban2 joined
|
|||
hoelzro | how is one supposed to add members to a Set? | 17:38 | |
colomon | one cannot | ||
hoelzro | really? | ||
colomon | a Set is immutable | ||
hoelzro | ok, I did not know that | ||
thanks colomon | |||
colomon | if you want mutable you want a … SetHash? | ||
perigrin | one might say it's Set ... in stone. | ||
perigrin puts on sunglasses. | |||
hoelzro hears a rimshot | 17:39 | ||
sjn | badum-tsch | ||
colomon | m: my $a = slurp.words.SetHash; say $a | 17:40 | |
camelia | rakudo-moar 1ec4c9: OUTPUT«SetHash.new(There, were, three, men, came, out, of, the, West, Their, fortunes, for, to, try, And, these, made, a, solemn, vow, John, Barleycorn, must, die, They've, ploughed,, they've, sewn,, harrowed, him, in, Threw, clouds, upon, his, head, was, dead, l…» | ||
17:40
rurban1 left,
rurban2 left
|
|||
colomon | m: my $a = slurp.words.SetHash; $a<There> = False; $a{"cider"} = True; say $a | 17:41 | |
camelia | rakudo-moar 1ec4c9: OUTPUT«SetHash.new(were, three, men, came, out, of, the, West, Their, fortunes, for, to, try, And, these, made, a, solemn, vow, John, Barleycorn, must, die, They've, ploughed,, they've, sewn,, harrowed, him, in, Threw, clouds, upon, his, head, was, dead, let, lie…» | ||
PerlJam | All I want to know is ... what did John Barleycorn do to those 3 guys that made them want him dead? ;) | ||
colomon | He probably drove them half mad. ;) | 17:42 | |
hoelzro: anyway, that's perhaps the most straightforward way to modify a SetHash | |||
perigrin | PerlJam: he kept them from the beer. | 17:43 | |
or possibly he gave them all too much beer ... | 17:44 | ||
colomon | rather, he was between them and the beer. | ||
perigrin | "the mysterious kings of Burns's version were in fact ordinary men laid low by drink, who sought their revenge on John Barleycorn for that offence" | ||
colomon reckons this must be terribly confusing to people who don't know about John Barleycorn | 17:45 | ||
perigrin | quite ... en.wikipedia.org/wiki/John_Barleycorn for those playing along at home. | ||
smls | PerlJam: The whole scheme of how variables and containers and objects interact with each other w/ respect to assignment and binding is too complex imo | ||
17:45
rurban1 joined
|
|||
smls | I made an overview of my own understanding of it here: gist.github.com/smls/8693027 | 17:46 | |
Is that correct? | |||
17:47
FROGGS joined
|
|||
FROGGS | p: sub a() { my @array; |@array }; a() | 17:48 | |
camelia | rakudo-parrot 1ec4c9: OUTPUT«===SORRY!=== Error while compiling /tmp/E8cxe27OV_Variable '&prefix:<|>' is not declaredat /tmp/E8cxe27OV_:1------> sub a() { my @array; ⏏|@array }; a()» | ||
17:48
rurban1 left
|
|||
FROGGS | p: sub a() { my @array; return |@array }; a() | 17:48 | |
camelia | ( no output ) | ||
FROGGS | std: sub a() { my @array; |@array }; a() | ||
camelia | std 09dda5b: OUTPUT«ok 00:01 126m» | ||
FROGGS | I'd call that a rakudobug | ||
17:50
SamuraiJack joined
17:52
[Sno] joined
17:53
rurban1 joined
|
|||
PerlJam | smls: well, you use = and say "bound" but = is assignment, not binding. | 17:53 | |
smls | yes, but a Scalar container object is associated with the $variable, no? | 17:54 | |
PerlJam | smls: your understanding of the second Perl 5 thing is incorrect. | ||
smls | oh, right | 17:55 | |
rookie mistake | |||
17:56
dakkar left
|
|||
smls | removed it | 17:56 | |
PerlJam: What do you call the relationship between a $scalar variable and a Scalar container? | 17:57 | ||
Is that different from binding? | |||
jercos | my @a = Array.new(2, 4, 6); is a single-element array containing in its first and only element, an array object containing three ints >.> | ||
timotimo | yeah, because Arrays are itemish | ||
moritz | they are? | 17:58 | |
timotimo | not? | ||
17:58
ajr_ left
|
|||
moritz | r: my @a = Array.new(2, 4, 6); say @a.elems | 17:58 | |
camelia | rakudo-parrot 1ec4c9, rakudo-jvm 1ec4c9, rakudo-moar 1ec4c9: OUTPUT«3» | ||
timotimo | ah | ||
so they are not | |||
fair enough | |||
17:59
ajr joined,
pecastro left,
ajr is now known as Guest85850,
rurban1 left,
Guest85850 is now known as ajr_
|
|||
smls | ^^ more proof that it's too complicated :P | 17:59 | |
jercos | Ah, so that's just [] | ||
PerlJam | smls: That's not proof at all. | 18:00 | |
jercos | r: my @a = [2, 4, 6]; say @a.elems | ||
camelia | rakudo-parrot 1ec4c9, rakudo-jvm 1ec4c9, rakudo-moar 1ec4c9: OUTPUT«1» | ||
dalek | kudo/there_is_no_return: c0cda55 | (Tobias Leich)++ | src/ (33 files): stripped "return" where possible |
||
grondilu | r: .say for Array.new(2, 4, 6); | 18:02 | |
camelia | rakudo-parrot 1ec4c9, rakudo-jvm 1ec4c9, rakudo-moar 1ec4c9: OUTPUT«246» | 18:03 | |
smls | PerlJam: Well, if the likes of timotimo and moritz require pondering or trial-and-error to predict the behavior of assignment statements, what chance do simple P6 users like myself have? :) | ||
grondilu | r: .say for [2, 4, 6]; | ||
camelia | rakudo-parrot 1ec4c9, rakudo-jvm 1ec4c9, rakudo-moar 1ec4c9: OUTPUT«2 4 6» | ||
grondilu | hum | ||
r: say "this: $_" for [2, 4, 6]; | 18:04 | ||
camelia | rakudo-parrot 1ec4c9, rakudo-jvm 1ec4c9, rakudo-moar 1ec4c9: OUTPUT«this: 2 4 6» | ||
grondilu | r: say "this: $_" for Array.new(2, 4, 6); | ||
camelia | rakudo-parrot 1ec4c9, rakudo-jvm 1ec4c9, rakudo-moar 1ec4c9: OUTPUT«this: 2this: 4this: 6» | ||
grondilu | this confuses me a bit | ||
jercos | r: .say for list [2, 4, 6] | ||
camelia | rakudo-parrot 1ec4c9, rakudo-jvm 1ec4c9, rakudo-moar 1ec4c9: OUTPUT«2 4 6» | ||
jercos | iiinteresting. | ||
grondilu | one could expect [2, 4, 6] and Array.new(2, 4, 6) to be exactly the same thing, no? | 18:06 | |
jercos | That's what I thought, but apparently [] magically listifies itself in certain situations so as to... make nesting easier? | ||
FROGGS | r: say "this: $_" for [2, 4, 6].flat; | ||
camelia | rakudo-parrot 1ec4c9, rakudo-jvm 1ec4c9, rakudo-moar 1ec4c9: OUTPUT«this: 2this: 4this: 6» | ||
jercos | r: .say for (Array.new(2, 4), Array.new(4, 6)) | 18:07 | |
camelia | rakudo-parrot 1ec4c9, rakudo-jvm 1ec4c9, rakudo-moar 1ec4c9: OUTPUT«2446» | ||
grondilu | actually it's Array.new which flatens. [] does not. | ||
FROGGS | p: say [2, 4, 6].perl; say Array.new(2, 4, 6).perl | ||
camelia | rakudo-parrot 1ec4c9: OUTPUT«[2, 4, 6]Array.new(2, 4, 6)» | ||
FROGGS | ohh, not very helpful | ||
PerlJam | smls: I cede your point :) | ||
jercos | grondilu: yeah I didn't mean flatten, I meant makes itself unflattenable | 18:08 | |
FROGGS | [] implies a a single item, unlike () | ||
-a | |||
skids | r: say 0,Array.new(1,2,3),0,0,[1,2,3],0,0,(1,2,3),0; my @a = 0,Array.new(1,2,3),0,0,[1,2,3],0,0,(1,2,3),0; @a.say | 18:09 | |
camelia | rakudo-parrot 1ec4c9, rakudo-jvm 1ec4c9, rakudo-moar 1ec4c9: OUTPUT«01 2 3001 2 3001 2 300 1 2 3 0 0 1 2 3 0 0 1 2 3 0» | ||
FROGGS | rn: say 0,Array.new(1,2,3),0,0,[1,2,3],0,0,(1,2,3),0; my @a = 0,Array.new(1,2,3),0,0,[1,2,3],0,0,(1,2,3),0; @a.say | ||
camelia | rakudo-parrot 1ec4c9, rakudo-jvm 1ec4c9, rakudo-moar 1ec4c9: OUTPUT«01 2 3001 2 3001 2 300 1 2 3 0 0 1 2 3 0 0 1 2 3 0» | ||
..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Excess arguments to List.new, used 1 of 4 positionals at /home/p6eval/niecza/lib/CORE.setting line 0 (List.new @ 1)  at /tmp/tmpfile line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) …» | |||
FROGGS | I was hoping that niecza agrees | ||
18:10
rurban1 joined
|
|||
grondilu | rn: say .join('|') for Array.new('foo', 'bar'), [<foo bar>]; | 18:15 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Excess arguments to List.new, used 1 of 3 positionals at /home/p6eval/niecza/lib/CORE.setting line 0 (List.new @ 1)  at /tmp/tmpfile line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) …» | ||
..rakudo-parrot 1ec4c9, rakudo-jvm 1ec4c9, rakudo-moar 1ec4c9: OUTPUT«foobarfoo|bar» | |||
18:16
xenoterracide joined
18:18
rurban2 joined
18:19
tgt joined
18:20
rurban1 left
18:21
ajr_ left
18:24
SamuraiJack left
|
|||
skids | r: <a b>.list.permutations.say; <c d>.permutations.say | 18:26 | |
camelia | rakudo-parrot 1ec4c9, rakudo-jvm 1ec4c9: OUTPUT«a b b ac d d c» | ||
..rakudo-moar 1ec4c9: OUTPUT«Cannot call 'postcircumfix:<[ ]>'; none of these signatures match::(Any \SELF, int $pos):(Any \SELF, int $pos, :BIND($BIND)!):(Any \SELF, int $pos, Any :SINK($SINK)!, *%other):(Any \SELF, int $pos, Any :delete($delete)!, *%other):(Any \SELF,…» | |||
skids | looks like something there has changed since last star. | 18:27 | |
On star the second line complains about no Parcel.permutations. | |||
FROGGS | IIRC TimToady++ put it in Any or so | 18:28 | |
18:29
Sqirrel_ joined
18:33
araujo left
|
|||
grondilu | r: say Parcel ~~ List | 18:34 | |
camelia | rakudo-parrot 04c4fb, rakudo-jvm 04c4fb, rakudo-moar 04c4fb: OUTPUT«False» | ||
grondilu | r: say Parcel ~~ Any | ||
camelia | rakudo-parrot 04c4fb, rakudo-jvm 04c4fb, rakudo-moar 04c4fb: OUTPUT«True» | ||
18:36
sqirrel left
18:41
rylinaux joined
18:46
ajr_ joined
18:55
rurban2 left
18:59
treehug88 left
19:00
treehug88 joined
19:01
rurban1 joined
|
|||
masak | p: .say for <a b>.permutations | 19:01 | |
camelia | rakudo-parrot 04c4fb: OUTPUT«a bb a» | ||
masak | no .list needed. | 19:02 | |
skids | r: for ([1,2],[2,1]) -> (*@a) { @a.say }; for ((1,2),(2,1)) -> (*@a) { @a.say }; for (1,2).permutations -> (*@a) { @a.say } | ||
camelia | rakudo-jvm 04c4fb: OUTPUT«1 22 1Flattening named argument must have VMHash REPR in block at /tmp/tmpfile:1» | ||
..rakudo-moar 04c4fb: OUTPUT«1 22 1Cannot call 'postcircumfix:<[ ]>'; none of these signatures match::(Any \SELF, int $pos):(Any \SELF, int $pos, :BIND($BIND)!):(Any \SELF, int $pos, Any :SINK($SINK)!, *%other):(Any \SELF, int $pos, Any :delete($delete)!,…» | |||
..rakudo-parrot 04c4fb: OUTPUT«1 22 11 22 1» | |||
19:02
zby_home_ joined
|
|||
skids | masak: being as I run star I still need .list. Looking forward to next star esp pairlist syntax \o/ | 19:05 | |
masak | ;) | 19:11 | |
19:12
darutoko left,
rurban2 joined
19:15
rurban1 left
|
|||
hoelzro | I take it qx[...] is supposed to invoke sh? | 19:18 | |
masak | p: qx[echo yes] | 19:20 | |
camelia | rakudo-parrot 04c4fb: OUTPUT«qx, qqx is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting:2 in sub QX at src/RESTRICTED.setting:9 in block at /tmp/s_pXy7EQLz:1» | ||
PerlJam | heh | ||
masak | :) | ||
hoelzro | ok, that makes my job easier =) | ||
19:28
pecastro joined
19:32
xenoterracide left
|
|||
raydiak | good morning, #perl6 | 19:33 | |
PerlJam | raydiak: greetings | 19:34 | |
19:35
psch joined,
rurban1 joined
|
|||
hoelzro | ahoy raydiak | 19:35 | |
psch | hi #perl6 | ||
masak | ohaj raydiak | ||
hi psch | |||
PerlJam | hello psch | ||
ho masak! :) | 19:36 | ||
19:36
rurban3 joined
19:38
rurban4 joined,
rurban2 left
|
|||
moritz gently nudges masak towards p6cc reviews | 19:38 | ||
19:39
rurban1 left
19:41
rurban3 left
19:45
beastd joined
19:46
berekuk joined
19:48
rurban4 left
|
|||
raydiak | gotta love that fresh, clear perspecitve which sleep provides...apparently I spent more time than I'll admit last night trying to figure out why code in a MAIN sub didn't run when loaded with require :P | 19:49 | |
masak | moritz: meant to today, though turns out the whole day basically went to recovering from $work instead. | ||
moritz: that seems to happen a lot lately :/ | |||
19:50
jeffreykegler left
19:53
treehug88 left
|
|||
masak does some small amount of t4 reviewing | 19:58 | ||
timotimo | yays :) | ||
i'm really looking forward to getting an explanation for how to properly implement that | 19:59 | ||
19:59
kbaker left
|
|||
PerlJam gently nudges masak towards updating the macro implementation | 19:59 | ||
19:59
treehug88 joined
|
|||
PerlJam | .oO( If it worked for moritz, maybe it'll work for me :) |
19:59 | |
20:00
tgt left
20:03
treehug88 left
20:07
FROGGS left
|
|||
masak | PerlJam: yeah... haven't forgotten it. | 20:08 | |
PerlJam: want to finish p6cc2012 first, though. | |||
PerlJam: but the next two steps on the macros path (towards macros/d3) is to summarize everyone's wishes/thoughts in a blog post, and to go through RT cataloguing all macro/quasi tickets. | 20:09 | ||
moritz | oh, my wishlist for marcos is short: * world domination * free lunch | 20:12 | |
in fact, I could live with only the first item :-) | |||
20:15
tgt joined
20:22
raiph left
20:29
xenoterracide joined
20:33
zby_home_ left
20:39
kbaker joined
20:41
Rotwang joined
20:43
raiph joined
|
|||
masak | ;) | 20:43 | |
srsly though, | 20:44 | ||
I'm pretty sure what we have in the spec so far is inadequate. | |||
to be honest macros as they are spec'd are a solution looking for a problem. | |||
I have a pretty good idea what people *want* macros to do... but they don't do that, even by (current) spec. | 20:45 | ||
I still think scalamacros.org has the right kind of vision: macros are there to "generate, analyze and typecheck code". | 20:46 | ||
we do a bit of the first of those. we don't really have a roadmap/vision for the latter two. | |||
jnthn makes it home | |||
masak | jnthn! \o/ | ||
moritz | ... and quasi holes are only allowed in term position, which kinda restricts the first too | 20:47 | |
jnthn wouldn't mind lunch domination and a free world... | |||
PerlJam | masak: well ... we'll steal the best ideas out there as usual and combine them in a perly way :) | ||
masak | moritz: that *is* an issue, but not one I'm giving high priority. | ||
PerlJam: yep. | |||
PerlJam: I had enough of an email correspondence with the scalamacros guy to know that we do things a bit differently between Scala and Perl 6. | 20:48 | ||
PerlJam: I also talked enough with the Scheme people to... be intrigued, if bewildered. | |||
moritz | so, analyzing code | ||
masak | somewhere I have a gist of source material about Scheme macros to peruse. | ||
moritz | the problem is that macro parameters are passed in as opaque thunks, right? | 20:49 | |
s/problem/limitation/ | |||
so if I call somemacro $a == $b, then &somemacro only sees a thunk that returns True or False (or a junction), but it can't beek into $a or $b, or find out that it's an infix:<==> expression | 20:50 | ||
moritz has no idea what type checking would need | 20:51 | ||
masak | moritz: I need to go now. | 20:54 | |
in the meantime, please dream big about macros, and I'll try to backlog afterwards and pick out the best parts. | 20:55 | ||
moritz | boo, I scared him :/ | ||
masak | rough consensus and working code always wins. | ||
moritz: not scared. having to leave is orthogonal ;) | |||
'night, #perl6 | |||
moritz | good night, masak | ||
PerlJam | maybe we need different types of macros. One type could deal with things at the parse level, another at the AST level, and another could be akin to straight substitution ala C's preprocessor | ||
20:55
rindolf joined
|
|||
moritz | I am currently pondering AST macros | 20:56 | |
the expressiveness of QAST makes me wonder if we couldn't map all of Perl 6's operations in a rather small number of AST nodes | 20:57 | ||
probably more than QAST has, because there are lots of things that QAST represents at calls or ops that probably don't want to be calls and ops at the high level | |||
and there's the problem that QAST doesn't really deals with the declarational aspect of things (loaded off to $*W), and I wonder if a Perl 6 AST format could do a similar offload | 20:58 | ||
or if it would have deal with declarations itself | 20:59 | ||
PerlJam | Hmm. scalamacros.org says "Scala macros: 1) are written in full-fledged Scala, 2) work with expression trees, not with raw strings, 3) cannot change syntax of Scala." Suddenly it doesn't seem as interesting :) | 21:00 | |
21:01
dayangkun_ left
|
|||
benabik | They're syntactic macros, not textual macros. Without interfering before parse, they can't affect the syntax. | 21:01 | |
PerlJam | Aye, I'm just wondering what good ideas we'd learn from scala that we haven't already learned. | 21:02 | |
21:02
treehug88 joined
|
|||
benabik | OTOH, the syntax of Scala is ridiculously open. Anything that would be TTAIR is actually an operator. And operators are really method calls. | 21:03 | |
moritz | do they still manage to produce good error messages on parse errors? | 21:06 | |
benabik | I want to say 'yes, but a large category of errors is "undefined method ___"', but a more accurate answer is "I don't remember encountering anything terrible" | 21:07 | |
moritz | on a completely off-topic note, I like @Amazing_Maps on twitter | 21:08 | |
tadzik | yeah, it's fun :) | ||
I like the fact that you retweet them | |||
benabik | .o( Better than g++ template errors... ) | ||
moritz | benabik: that's... not too hard :-) | ||
benabik | moritz: tgceec.tumblr.com/ | 21:09 | |
lue | masak: "to be honest macros as they are spec'd are a solution looking for a problem." I think you just explained why I can never come up with a situation where P6 macros are the best/only solution. :) | 21:10 | |
moritz | m: + | 21:12 | |
camelia | rakudo-moar 04c4fb: OUTPUT«===SORRY!=== Error while compiling /tmp/8ic7mB5dT1Bogus statementat /tmp/8ic7mB5dT1:1------> +⏏<EOL> expecting any of: statement list prefix or term prefix or meta-prefix» | ||
moritz | benabik: now I have to wonder how to produce long error messages out of Perl 6 :-) | ||
21:12
stevan_ left
|
|||
moritz | m: n | 21:12 | |
camelia | rakudo-moar 04c4fb: OUTPUT«===SORRY!=== Error while compiling /tmp/ByFpwxCCLyUndeclared routine: n used at line 1» | ||
21:16
Sqirrel_ left
21:17
dayangkun_ joined,
Sqirrel joined
|
|||
[Coke] | PerlJam: (straight substitution) no. :P | 21:23 | |
21:24
virtualsue joined
|
|||
dalek | rl6-roast-data: 0976549 | coke++ | / (6 files): today (automated commit) |
21:24 | |
PerlJam | [Coke]: sorry, that one is just too useful. (just like goto :-) | 21:25 | |
21:27
raiph left
|
|||
timotimo | espy.github.io/ubersicht/#perl6 ← huh, this is neat | 21:31 | |
it would be lovely if it could do multiple organisations | 21:32 | ||
21:35
benabik left
21:41
beastd left,
kst joined,
raiph joined
21:45
[particle] left,
smls left
|
|||
segomos_ | if you enter your username into the hash, it doesnt pull multiple orgs? | 21:48 | |
21:48
smls joined
21:49
[particle] joined
21:55
kivutar joined
21:56
treehug88 left
21:58
treehug88 joined
21:59
kaare_ joined
22:00
Sqirrel left
22:02
raiph left
22:05
treehug88 left
22:07
skids left
22:08
Sqirrel joined,
vendethiel joined
22:09
bluescreen10 left
22:12
treehug88 joined
22:18
raiph joined
22:27
Sqirrel left
22:28
bjz__ left
22:29
BenGoldberg joined
22:34
treehug88 left
22:36
ajr_ left
22:37
tgt left
22:41
telex left
22:42
telex joined
22:45
Rotwang left
|
|||
TimToady | maybe this is just the flu talking, but to my mind, the primary purpose of macros is to temporarily switch to a different language without the weight of 'use', because you need to break some assumption of the embedding language in either syntax or semantics | 22:57 | |
timotimo | it would seem like "custom type checking" would be covered by that definition | ||
TimToady | these breaks may be subtle ("just evaluate this a little sooner/later") or not so subtle ("the rest of this statement is in COBOL") | ||
timotimo | i saw scala has string formatting that will enforce type checks on the passed arguments. that seemed pretty neat | 22:58 | |
22:58
cognominal left
|
|||
TimToady | yes, all the Scala/Lisp stuff is subserviant to "switching to a different (semantic) language" | 22:58 | |
the Perl 6 vision has always there has always been based in linguistics, not just CS | 22:59 | ||
and the hallmark of it is strict one-pass parsing; TTIAR comes in a distant second | 23:00 | ||
one should easily be able to write a macro that defeats the TTIAR rule for an expression, but we don't allow macros to backup and reparse the input differently | 23:01 | ||
AST rewriting is the limit for left-hand material | |||
so a macro infix can parse its RHS funny, but not its LHS | 23:02 | ||
timotimo | hmm. that seems like a logical conclusion to one-pass-parsing | ||
but a macro infix should still be able to do funny stuff with the parse result of the LHS | |||
at the very least thunk it, like you mentioned above | |||
TimToady | sure, like thunkify it | ||
yes | |||
timotimo | that seems like a high-wattage example :) | 23:03 | |
.o( thunkify, brotha! ) | |||
TimToady | however, I'll note that R&& and friends are still going to surprise people reading LTR | 23:04 | |
one-pass is also useful for preventing confusion in the reader | |||
timotimo | aye | ||
TimToady | "Oh, gee, there's an assignment to this variable, it must be a declaration." | 23:05 | |
TimToady glares at Ruby and such | |||
23:05
virtualsue left
|
|||
timotimo | since i started doing perl6, i've become annoyed by languages that don't have an equivalent of "my" | 23:06 | |
23:06
raiph left
|
|||
timotimo | gnite o/ | 23:07 | |
TimToady | o/ | ||
lue | timotimo: same, though at least in C/C++ you have to prefix it with a type, so that's kind of a 'my' :) | 23:08 | |
23:09
kbaker left
|
|||
TimToady | then there's Go | 23:10 | |
segomos_ | TTIAR? | 23:11 | |
TimToady | two terms in a row | 23:12 | |
p: 42 "hike" | |||
camelia | rakudo-parrot 04c4fb: OUTPUT«===SORRY!=== Error while compiling /tmp/kY7Q_lgd67Two terms in a rowat /tmp/kY7Q_lgd67:1------> 42 ⏏"hike" expecting any of: postfix infix stopper infix or meta-infix …» | ||
TimToady | the way in which P6 code is self-clocking | ||
lue | TimToady: I'm less enthused about languages that require imports for basic things, of which Go somehow feels worse than usual. | 23:13 | |
TimToady | well, that's just reductionism/minimalism rearing one of its ugly heads | ||
human languages are never minimalistic | 23:14 | ||
lue | I've gotten over how C++ does it, at least :) | ||
TimToady | Easiest way to get over how language X does something is to get over language X. | ||
(for non-extensible languages) | 23:15 | ||
lue | I'm taking that Go tour to reacquaint myself with it a bit. "Notice that the type comes after the variable name." this feels like they were trying too hard to be different. | 23:16 | |
23:17
berekuk left
23:18
berekuk joined
23:20
berekuk left
23:21
raiph joined
23:22
Sqirrel joined
23:28
stevan_ joined
23:32
berekuk joined
23:35
rindolf left
23:41
xinming_ joined
23:45
xinming left
|
|||
psch | m: enum foo <bar baz>; bar.^mro.say; Int.^mro.say; True.^mro.say; # this is what RT #72580 comes down to, isn't it? | 23:46 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=72580 | ||
camelia | rakudo-moar 04c4fb: OUTPUT«(foo) (Int) (Cool) (Any) (Mu)(Int) (Cool) (Any) (Mu)(Bool) (Cool) (Any) (Mu)» | ||
psch | of note, enum resolves via Int to Cool, Bool doesn't it (but should?) | ||
23:47
berekuk left
|
|||
psch | -it | 23:47 | |
23:48
berekuk joined,
dmol left
|