»ö« 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.3␤0.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«1␤1␤1.333333␤2␤»
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«1␤1␤1.333333␤2␤»
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 declared␤at /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«2␤4␤6␤» 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: 2␤this: 4␤this: 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: 2␤this: 4␤this: 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«2␤4␤4␤6␤»
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 30␤0 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 30␤0 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«foo␤bar␤foo|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 a␤c 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 b␤b 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 2␤2 1␤Flattening named argument must have VMHash REPR␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-moar 04c4fb: OUTPUT«1 2␤2 1␤␤␤␤␤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)!,…»
..rakudo-parrot 04c4fb: OUTPUT«1 2␤2 1␤␤␤␤␤1 2␤2 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/8ic7mB5dT1␤Bogus statement␤at /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/ByFpwxCCLy␤Undeclared 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_lgd67␤Two terms in a row␤at /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