Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-08-26

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:03 lue just pushed some changes to Lingua::EN::Numbers::Ordinal (I guarantee modules.perl6.org won't detect the README anymore). afk, nomming time o/
00:07 sftp joined #perl6
00:08 sftp joined #perl6
00:24 wolfman2000 joined #perl6
00:33 soh_cah_toa joined #perl6
00:48 [Coke] joined #perl6
00:53 uasi joined #perl6
01:07 woosley joined #perl6
01:07 sftp joined #perl6
01:13 showi joined #perl6
01:18 abercrombie joined #perl6
01:26 uasi joined #perl6
01:31 uasi_ joined #perl6
01:31 ruz joined #perl6
01:32 am0c joined #perl6
01:39 uvtc joined #perl6
01:49 soh_cah_toa is NativeCall a rakudo-specific interface or is it a part of the p6 spec? the perl6advant makes it sound like it's a part of p6 but the github repo 'zavolaj' says it's an interface just for rakudo
01:49 phenny soh_cah_toa: 24 Aug 06:44Z <moritz> ask soh_cah_toa what's your github ID?
01:51 soh_cah_toa phenny tell moritz it's soh-cah-toa. note the difference in hyphens b/c github doesn't allow underscores
01:52 soh_cah_toa phenny: tell moritz it's soh-cah-toa. note the difference in hyphens b/c github doesn't allow underscores
01:52 phenny soh_cah_toa: I'll pass that on when moritz is around.
02:14 benabik soh_cah_toa: I _think_ zavolaj is rakudo's implementation of NativeCall.  Totally not sure about that though.
02:23 PacoLinux__ joined #perl6
02:29 soh_cah_toa ah, ok
02:40 colomon joined #perl6
02:41 colomon soh_cah_toa:  I believe the idea is that NativeCall will be a general p6 thing, but the specific zavolaj implementation of it is very definitely rakudo-only.
02:42 soh_cah_toa ok, good
02:42 soh_cah_toa that's weird though b/c i can't find anything in the p6 spec about NativeCall
02:42 soh_cah_toa unless i just haven't looked hard enough ;)
02:42 colomon it might not be spec'd yet
02:42 colomon sometimes the implementations get out in front of the spec.  :)
02:43 soh_cah_toa :)
02:49 frhodes joined #perl6
02:54 PacoLinux__ joined #perl6
03:04 sorear good * #perl6
03:04 TimToady o/
03:05 sorear soh_cah_toa: My understanding of NativeCall is aligned with colomon.
03:05 sorear soh_cah_toa: Generally we don't like to spec things until we think we have a good design, and for NativeCall that probably requires 2+ implementations to agree.
03:06 TimToady the strategy on these things is to make sure we can specify native types and signautures, and make it easy to have traits and pragmas that say whatever extra needs to be said.  Beyond that, what sorear++ said...
03:07 envi joined #perl6
03:08 jfshadow joined #perl6
03:10 jfshadow rakudo: say "testing"
03:10 p6eval rakudo a55346: OUTPUT«testing␤»
03:12 [Coke] joined #perl6
03:14 soh_cah_toa ok, interesting. never thought about it like that but it makes sense to make sure a design if even possible first
03:16 TimToady a lot of p6 design has been like that--just make sure X isn't impossible later, and try to get close enough
03:16 TimToady threading and logic programming fall into that category
03:16 soh_cah_toa definitely
03:16 sorear mls: bug
03:18 soh_cah_toa i've only just started playing w/ NativeCall but so far it seems very dwimmy which is really nice :)
03:23 Su-Shee_ joined #perl6
03:27 TimToady it will also help when we get C structs as normal p6 objects
03:50 agentzh joined #perl6
04:00 uvtc nom: say any<foo bar baz>
04:00 p6eval nom 88d801: OUTPUT«any()␤»
04:00 uvtc nom: say any <foo bar baz>
04:00 p6eval nom 88d801: OUTPUT«any("foo", "bar", "baz")␤»
04:01 kaare_ joined #perl6
04:01 uvtc niecza: say any<foo bar baz>
04:01 p6eval niecza v8-55-g0db7bb8: OUTPUT«any()␤»
04:03 uvtc nom: my $j = any<foo bar baz>; if 'foo' eq $j {say 'yes'} else {say 'no'}
04:03 p6eval nom 88d801: OUTPUT«no␤»
04:03 uvtc Seems like it would be useful if that gave me a warning.
04:04 uvtc nom: my $j = 'foo'|'bar'|'baz'; if 'foo' eq $j {say 'yes'} else {say 'no'}
04:04 p6eval nom 88d801: OUTPUT«yes␤»
04:06 moritz good morning
04:06 phenny moritz: 01:52Z <soh_cah_toa> tell moritz it's soh-cah-toa. note the difference in hyphens b/c github doesn't allow underscores
04:07 uvtc moritz: thanks for fixing that thing with the yada yada operator that I brought up the other night/morning. :) moritz++
04:10 moritz phenny: tell soh_cah_toa you have commit access to perl6/book now, welcome
04:10 phenny moritz: I'll pass that on when soh_cah_toa is around.
04:10 moritz uvtc: my pleasure
04:10 soh_cah_toa moritz: yay thanks! :)
04:10 phenny soh_cah_toa: 04:10Z <moritz> tell soh_cah_toa you have commit access to perl6/book now, welcome
04:11 sorear uvtc: any <foo bar baz>
04:11 sorear hmm
04:11 uvtc sorear, yes, I just meant that, if the user leaves out the space by accident, it would be nice if Perl 6 complained about it.
04:13 uvtc Otherwise it seems like it could lead to a bug that's difficult to spot. As in:
04:13 uvtc nom: my $j = any<foo bar baz>; if 'foo' eq $j {say 'yes'} else {say 'no'}
04:13 p6eval nom 88d801: OUTPUT«no␤»
04:13 uvtc when it looks to the user like the answer *should* be 'yes'
04:14 sorear TimToady: should any<foo bar> even parse?
04:14 sorear TimToady: it feels to me like after any it should be looking for a term
04:15 moritz perl6: sub f { 1, 2, 3 }; say f[1]
04:15 birdwindupbird joined #perl6
04:15 p6eval pugs, rakudo a55346, niecza v8-55-g0db7bb8: OUTPUT«2␤»
04:15 moritz same thing
04:16 * moritz likes it
04:16 satyavvd joined #perl6
04:18 moritz phenny tell masak that the bug mentioned in http://irclog.perlgeek.de/​perl6/2011-08-25#i_4325834 is already submitted against master, and we have a failing test for it
04:18 TimToady any is just a listop, so it can have 0 args
04:18 moritz phenny: tell masak that the bug mentioned in http://irclog.perlgeek.de/​perl6/2011-08-25#i_4325834 is already submitted against master, and we have a failing test for it
04:18 phenny moritz: I'll pass that on when masak is around.
04:19 benabik Does postcircumfix {} make any sense on a junction though?
04:19 moritz sure, if the junction is made of hashes or pairs
04:20 benabik Ah, true.
04:21 lue I'm currently trying to figure out how to redo my Pod 6 viewer, and this is how I've thought of handling that the contents of a block might be text or another block: https://gist.github.com/1172689
04:22 lue [of course, TIMTOWTDI, so I probably ended up thinking of the hardest way to go about it]
04:23 uvtc TimToady: Sorry, I don't understand. If `any<foo bar>` does indeed parse, what's it actually mean? Seems to me like it should mean `any("foo", "bar")`.
04:24 moritz lue: re updating modules.perl6.org, there's a script web/build-project-list.pl which is run regularly (hourly or so)
04:24 moritz uvtc: it's the same as any(){'foo', 'bar'}
04:25 lue ah, that's how it's done. Now I know there's no procedure I have to go through after pushing :)
04:25 uvtc nom: any() {'foo', 'bar'}
04:25 p6eval nom 88d801: OUTPUT«===SORRY!===␤Confused at line 1, near "any() {'fo"␤»
04:25 lue nom: say any<foo bar baz>.perl;
04:25 p6eval nom 88d801: OUTPUT«any()␤»
04:25 TimToady you can't just put a space before a subscript
04:26 soh_cah_toa btw, speaking of pod 6, it looks like comment declarator blocks are nyi in 2011.07. are they in nom? (can't check myself, don't have nom installed)
04:26 uvtc nom: any(){'foo', 'bar'}
04:26 p6eval nom 88d801:  ( no output )
04:28 TimToady nom: any() + 42
04:28 p6eval nom 88d801:  ( no output )
04:28 TimToady nom: say any() + 42
04:28 p6eval nom 88d801: OUTPUT«any()␤»
04:28 TimToady subscripting is not special
04:28 TimToady nom: say any().sqrt
04:28 p6eval nom 88d801: OUTPUT«any()␤»
04:29 uvtc Interesting. So, I was accidentally trying to subscript the Junction.
04:29 TimToady yeah
04:29 TimToady if we catch it, it has to be syntactically
04:29 TimToady since any @empty should still work
04:30 masak joined #perl6
04:30 uvtc Is accessing a hash with a key referred to as "subscripting" (just like accessing an item in an array)?
04:30 TimToady yes
04:30 TimToady also indexing
04:31 uvtc Ah, right. Of course. Thanks.
04:36 drbean joined #perl6
04:38 dalek modules.perl6.org: ebc9830 | lue++ | web/fame-and-profit.html:
04:38 dalek modules.perl6.org: Added description of the panda badge to fame-and-profit.html
04:38 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/ebc983016c
04:38 satyavvd joined #perl6
04:52 Chillance joined #perl6
04:56 uvtc nom:  my @a = <foo bar>; my @b := @a; say @a =:= @b;
04:56 p6eval nom 88d801: OUTPUT«Bool::True␤»
04:56 uvtc rakudo:  my @a = <foo bar>; my @b := @a; say @a =:= @b;
04:56 p6eval rakudo a55346: OUTPUT«Bool::False␤»
04:58 uvtc niecza:  my @a = <foo bar>; my @b := @a; say @a =:= @b;
04:58 p6eval niecza v8-55-g0db7bb8: OUTPUT«Bool::True␤»
04:58 TimToady rakudo didn't really do binding right
04:59 roen joined #perl6
05:01 * lue hides
05:09 uvtc left #perl6
05:20 jevin joined #perl6
05:35 frhodes joined #perl6
05:47 moritz rakudo didn't really do =:= right, iirc
05:54 wtw joined #perl6
05:56 woosley Hi, perl6 command can not excute out of its directory for nom branch?   http://pastebin.com/wyVaYQZz
05:56 [particle] joined #perl6
05:57 woosley that is what happens after 'make install '
05:59 TimToady which perl6 did it find when you ran it without the ./ ?
05:59 moritz woosley: how old is the installed nom?
06:00 TimToady and do you have a rakudo/master installed somewhere?
06:02 woosley moritz: $./perl6 --version
06:02 woosley This is perl6 version 2011.04-995-gb9db729 built on parrot 3.5.0 revision RELEASE_3_5_0-89-gf7985d1
06:03 woosley TimToady:  No, I  have only one rakudo copy
06:03 masak joined #perl6
06:03 masak morning, channel.
06:03 phenny masak: 04:18Z <moritz> tell masak that the bug mentioned in http://irclog.perlgeek.de/​perl6/2011-08-25#i_4325834 is already submitted against master, and we have a failing test for it
06:04 masak oh, excellent.
06:04 moritz woosley: that's ancient
06:04 envi joined #perl6
06:04 moritz woosley: try a nom that's about 900 commits later :-)
06:06 woosley moritz: thanks, I will try
06:15 * masak wonders whether to follow up http://irclog.perlgeek.de/cqrs-perl6/2011-04-15 somehow
06:16 masak really enjoyed that evening. and I/we've learned a bunch since then.
06:18 simcop2387 joined #perl6
06:26 koban joined #perl6
06:26 koban left #perl6
06:27 masak <sorear> wait, next you're going to tell me that if the client crashes between changing the schedule and updating .curStudents, the 0.0001% chance of database corruption is acceptable?
06:27 masak (from #cqrs-perl6)
06:27 masak sorear: I didn't notice until now: it's the application on the server that would have to crash.
06:28 masak not the client.
06:28 masak operations may not be atomic, but one command may still trigger several events. as it would in this case.
06:30 masak sorear: so your concern is still valid, but it would require an application crash.
06:33 moritz and these events all happen within a transation that's rolled back if the server crashes?
06:36 masak no, and that's the thing.
06:36 masak an event represents something that has definitely, irrevocably happened. it cannot be rolled back for model reasons.
06:40 masak as PerlJam++ said, we basically trade away immediate consistency for eventual consistency and some kind of protocol to uphold it.
06:44 moritz so upon server startup you check all stored incoming data and check if all the events have been triggered?
06:46 REPLeffect joined #perl6
06:48 masak no, the thing that checks would likely be a decoupled, independent consumer of the events.
06:49 spetrea joined #perl6
06:49 masak that's basically what this "saga" thing is about. enforcing long-term consistency and thus getting back a bit of what we lost by avoiding database transactions.
06:51 mj41 joined #perl6
06:53 am0c joined #perl6
07:10 Reaganomicon joined #perl6
07:29 mkramer joined #perl6
08:05 rhr joined #perl6
08:13 daxim joined #perl6
08:21 * moritz wonders how much of that cqrs thing is cool aid, and how much is actually useful
08:22 masak two things. since I learned what "cool aid" is a metaphor for, I've come to really dislike the expression. I believe the word is "macabre". :/ http://en.wikipedia.org/wiki/Drinking_the_Kool-Aid
08:23 masak I don't think I'm being oversensitive. death cults isn't a particularly funny/productive metaphor.
08:23 moritz ok, I didn't know that background
08:23 moritz sorry about that
08:24 masak not your fault. but now you know, too.
08:25 masak secondly. everything can be overhyped, even good ideas.
08:25 masak I genuinely believe CQRS is a good idea which isn't well-known enough.
08:26 masak the reactions I've been getting from people over the last half year range from "yeah, we did that back in the day, it was great" to "I'm not sure it'll be worth it for our particular domain".
08:28 masak for me personally, not many things have come close to being this catalytic in terms of re-thinking the whole application stack.
08:28 mberends I think CQRS is just common sense applied to read-mostly shared databases. Without the calling it that, many transactional systems have evolved towards similar architectures when the need arose.
08:28 masak I even think differently about non-business applications nowadays.
08:29 masak CQRS itself is just a very simple idea: treat Commands and Queries as if they were different types of requests.
08:31 moritz in some sense SQL views are already a step into that direction
08:31 moritz they make reading care less about normalization
08:33 masak only on the conceptual level.
08:33 masak the JOINs are still done per-read.
08:33 moritz there are also precomputed views
08:33 masak ok, I don't know about those.
08:33 masak in the case of separate read sides updated through events, the JOINs are done per-event.
08:34 masak i.e. per-write.
08:34 masak so, again, as mberends says, in read-mostly applications...
08:34 masak does anyone have a good example of a write-mostly application? :)
08:34 moritz logging
08:35 mberends auditing (tamper proof logging)
08:36 mberends I think CQRS is also mainly Greg Young's packaging of common sense, for sale to those who cannot work it out for themselves.
08:36 moritz data acquisition (at least if you look at the acquisition side only)
08:37 moritz many devices in our lab are only concerned with writing stuff to a buffer, and leave the reading to another phyiscal device
08:37 masak mberends: I don't dispute that. he says it himself.
08:37 masak mberends: the sad thing is that there's such a need for it.
08:38 * moritz has a theory why that is the case
08:39 dark_x joined #perl6
08:39 moritz the traditional state keeping is often the simplest thing that could possibly work, at least in the beginning
08:39 moritz and stop sticking to that pattern does require some active thought
08:40 masak moritz: I read up a bit on precomputed views. they seem based on the Observer pattern, just like events are.
08:41 masak I'm sad to see so much of the industry being shoved around by what they database model they decided on early in the project.
08:41 masak any set of patterns to counteract that will be an improvement.
08:44 masak s/what they/what/
08:47 mberends the NoSQL movement seems to be good at understanding what applications require, and structuring solutions appropriately.  In that sense the SQL standard has been a dead hand at the wheel (tool:hammer :: problem:nail).
08:49 * moritz is still a bit afraid of giving up referential integrity
08:49 orafu joined #perl6
08:50 mberends you don't have to, there are also relational DB's without the SQL layer over them
08:52 lue joined #perl6
08:54 mberends frameworks are often a pain, when you hit their limitations, and SQL imposes its framework on your applications. The typical ORM has an impedance mismatch, giving the app developer pain.
08:55 masak moritz: it's a matter of which one you value more: referential integrity or (horizontal) scalability.
08:57 masak turns out you *can't* both be referentially integrated and scalable.
08:57 moritz ok, that has a pretty clear answer for the projects I'm currently thinking of :-)
08:57 masak guess that's the kernel of the SAP theorem, actually.
08:58 moritz and it makes sense
08:58 masak sorry, *CAP theorem.
08:58 masak http://en.wikipedia.org/wiki/CAP_theorem
09:02 masak moritz: I'm sending an email off to the ddd-cqrs list about what you just said about the consistency/scalability tradeoff.
09:03 masak I'm curious to read their reactions.
09:05 moritz masak: another thing I'm not sure about is how far to denormalize the read side
09:05 masak that's a thing I haven't explored enough either.
09:08 woosley left #perl6
09:08 mberends Database tuning implies varying the degree of denormalization for an appropriate balance of write versus read performance. The application users determine where the balance lies (no hard and fast rule).
09:09 OuLouFu joined #perl6
09:09 OuLouFu joined #perl6
09:15 mberends Persisted views are an easy mechanism for hiding the denormalization from the application.  For another example, adding an index to a table effectively keeps a denormalized copy of key fields and row addresses for faster reading versus slower writing.
09:17 agentzh joined #perl6
09:20 amkrankruleuen joined #perl6
09:21 odoacre joined #perl6
09:22 REPLeffect joined #perl6
09:24 masak indeed.
09:27 mishin joined #perl6
09:33 mls morning perl6!
09:34 mls benabik: thanks for pushing the die_ii fix!
09:36 masak morning mls!
09:37 mls seen TimToady
09:37 aloha TimToady was last seen in #perl6 3 hours 37 mins ago saying "and do you have a rakudo/master installed somewhere?".
09:44 miso2217 joined #perl6
09:58 mls about the Num -> Rat conversion: https://gist.github.com/1173109
09:58 mls makes rakudo die instead of looping forever
09:58 mls (hmm, actually it should read $a < 0 || $c < 0)
10:00 mls the current situation with INT/Rat operations silently overflowing is pretty bad
10:00 mls Int
10:00 perlhack joined #perl6
10:00 mberends yo perlhack !
10:01 perlhack it's nice day.
10:01 perlhack mberends
10:01 moritz mls: would it be possible to downgrade the precision (and warn) instead of dying?
10:02 mls possible: yes, but I question if it's desireable
10:03 mls putting an Instant in a Rat is simply not going to work on a 32bit system
10:04 mls If you subtract two Instants you'll still want a sane result, downgrading the precision can't help you
10:06 moritz nom: say now
10:06 p6eval nom 88d801: OUTPUT«Instant:1314353208.20827␤»
10:06 mls 64bit ;)
10:06 moritz I know
10:06 mberends but S02 says that Rat defaults to Rat64 precision, even on 32 bit hardware, so as long as Rat is to spec your precision should be safe.
10:06 moritz nom: say 2**32 / 1314353208
10:06 p6eval nom 88d801: OUTPUT«3.26774208778741␤»
10:06 moritz yes, not much space left in 32 bits :/
10:07 mberends that's the Y2038 problem
10:07 mls Checking S02... (Is Int 32bit?)
10:08 moritz Int is supposed to be arbitrary size
10:08 moritz perl6: say 2 ** 65
10:08 p6eval pugs, niecza v8-55-g0db7bb8: OUTPUT«36893488147419103232␤»
10:08 p6eval ..rakudo a55346: OUTPUT«3.68934881474191e+19␤»
10:09 moritz and Rat is supposed to have Int as numerator and int64 as denominator
10:10 tadzik good morning
10:10 mberends mls: no, Int with an uppercase 'I' is bigint if done to spec. Native int varies with hardware, like in the C language.
10:10 mberends o/ tadzik
10:12 mls well, nom's Int don't work as specced
10:12 mls Ints
10:13 moritz indeed
10:15 sayu joined #perl6
10:17 sayu rakudo: say 34 + 34;
10:17 p6eval rakudo a55346: OUTPUT«68␤»
10:18 mls Parrot's integer.pmc automatically upgrades to bignum, but nom's code unboxes into two I registers and calls the mul opcode
10:18 sayu rakudo: say 34 + 34
10:18 p6eval rakudo a55346: OUTPUT«68␤»
10:18 moritz mls: and that's a fundamental problem
10:19 moritz mls: need to provide Perl 6 Int objects to our users, so we need an object for that
10:19 moritz mls: if we stored an Integer PMC, we'd have two objects (and a lot of GC pressure)
10:19 moritz that's both slow and inefficient
10:20 moritz *memory inefficient
10:20 moritz mls: and what's more, parrot's get_integer vtable doesn't allow you to return anything but a native int
10:21 mberends I do plan to enhance my "biggishint" library (in zavolaj/examples) some time to provide a decent bigint facility.
10:22 mishin joined #perl6
10:23 mberends the main thing to enhance is scale, going above its current 64KB storage limit
10:27 mls So nom's Int == int is something that needs to be changed?
10:27 moritz yes
10:28 mkramer joined #perl6
10:30 mls so you can only except some decent optimizations if you use "int" and know what you're doing
10:31 moritz ... or when there's much more static analysis in place than what we have now
10:31 sayu What's qw in perl6?
10:32 moritz qw/ ... / or simpler < ... >
10:32 moritz nom: say <foo bar baz>.perl
10:32 p6eval nom 88d801: OUTPUT«("foo", "bar", "baz")␤»
10:32 sayu rakudo: my @kak <Fred Vilma Kaki>; say @kak[];
10:32 p6eval rakudo a55346: OUTPUT«===SORRY!===␤Confused at line 22, near "my @kak <F"␤»
10:33 mberends sayu: you forgot the =
10:33 eiro sayu, there is also << that is a clever version of qw with interpolation
10:33 eiro my $v = "toto"; my @z = << $toto tata tutu >>;
10:35 sayu ok, thanks
10:35 tadzik rakudo: my @kak = <Fred Vilma Kaki>; say @kak[]
10:35 p6eval rakudo a55346: OUTPUT«FredVilmaKaki␤»
10:36 tadzik rakudo: my @kak = <Fred Vilma Kaki>; say @kak
10:36 p6eval rakudo a55346: OUTPUT«FredVilmaKaki␤»
10:36 tadzik . o O ( There was Kaki in Flintstones? )
10:38 sayu moritz: What's nom?
10:43 im2ee joined #perl6
10:46 sayu rakudo : sub add($x, $y) {return $x + $y}; say add(23 34);
10:46 sayu rakudo: sub add($x, $y) {return $x + $y}; say add(23 34);
10:46 daxim joined #perl6
10:46 p6eval rakudo a55346: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
10:47 sayu How should that sub should look like to work?
10:50 tadzik you forgot a comma
10:50 masak sayu: add(23, 34)
10:50 tadzik rakudo: sub add($x, $y) {return $x + $y}; say add(23, 34)
10:50 p6eval rakudo a55346: OUTPUT«57␤»
10:50 tadzik sayu: nom is the new development branch of rakudo
10:50 masak sayu: in Perl 6 expressions, you can't put two terms in a row.
10:52 sayu ok
10:54 Trashlord joined #perl6
10:54 masak std: say 23 34
10:54 p6eval std 516268a: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a row at /tmp/NR8UipnRir line 1:â�¤------> [32msay 23 [33mâ��[31m34[0mâ�¤    expecting any of:â�¤   bracketed infixâ�¤        infix or meta-infixâ�¤    statement modifier loopâ�¤Parse failedâ�¤FAILED 00:01 120mâ�¤Â»
11:00 sayu Can you guys recommend a tutorial to learn more about perl6?
11:01 masak http://perl6.org/documentation/
11:02 masak http://strangelyconsistent.org/blog/list-of-posts starting from June 1.
11:02 masak http://perl6advent.wordpress.com/
11:03 masak http://perlgeek.de/en/article/5-to-6
11:03 * masak realizes that he should make a post just with an index to all of his June blogging month blog posts
11:04 sayu masak: That would be great.
11:06 masak I can do that tonight. for now, please use http://strangelyconsistent.org/blog/list-of-posts :)
11:06 sayu masak: Thanks for the suggestions. You are great man.
11:06 stepnem joined #perl6
11:06 masak also, if something is missing or unclear in the posts, let me/us know.
11:06 masak we'll be happy to help and improve the docs.
11:07 daxim sayu, masak: http://ahmadzawawi.blogspot.com/2011/08/l​earning-perl-6-again-with-carl-masak.html
11:07 masak whoa :)
11:07 masak well, there you go then.
11:08 masak azawawi++
11:10 MayDaniel joined #perl6
11:13 araujo joined #perl6
11:33 daxim ank lives!  http://fixingsoftware.blogspot​.com/2011/08/c11-approved.html
11:35 masak *sigh*
11:36 moritz daxim: and you give him publicity
11:36 masak that guy seems to be hurting somehow and unable to accept hugs.
11:37 moritz I know this mostly off-topic here, but I feel I'm missing something about the twitter UI
11:38 moritz can I somehow add my saved searches to the default "timeline" view?
11:38 moritz ie showing all posts from people that I follow OR that match one of my searches?
11:47 masak not that I know.
11:47 masak maybe Google knows, with the correct prodding.
11:48 masak moritz: maybe you need to make your own client.
11:55 drbean joined #perl6
11:57 pnu joined #perl6
12:04 tadzik heh. But we will eventually have Perl 6. And this guys, well, they still have C++...
12:05 colomon :)
12:06 moritz tadzik: you mean there's enough space on the internetz for TWO programming languages to coexists? you must be nuts :-)
12:07 tadzik Yeah, what was I thinking! PYTHONPYTHONPYTHONPYTHONPYTHONPYTHON
12:08 tadzik heh, someone got to my blog searching for "non blocking io perl6"
12:12 masak C++ to Perl 6: "this internetz isn't big enough for both of us."
12:14 moritz tadzik: regarding IO::Select, have you tried running the modules.perl6.org update script locally?
12:14 tadzik moritz: nope, will do
12:20 tadzik Use of uninitialized value $error in print at web/build-project-list.pl line 188.
12:20 tadzik oddness
12:23 arthur-_ joined #perl6
12:24 moritz the META.info is valid json
12:30 birdwindupbird joined #perl6
12:36 tadzik yeah
12:36 tadzik okay, I'm moving out for some laptop-free vacations
12:36 tadzik bbomonday or so
12:36 tadzik o/
12:36 moritz \o
12:36 moritz have fun!
12:37 masak tadzik: \o
12:46 bluescreen10 joined #perl6
12:50 ribasushi_ joined #perl6
12:54 woosley joined #perl6
13:02 takadonet morning all
13:05 lichtkind joined #perl6
13:06 lichtkind jnthn: current nom gets always  mem access faults
13:12 jerome joined #perl6
13:15 jerome joined #perl6
13:15 jerome_ joined #perl6
13:19 jevin joined #perl6
13:30 kaare_ joined #perl6
13:34 bbkr_ tadzik: there is hope, you can take netbook :)
13:42 dalek modules.perl6.org: ed348b4 | moritz++ | web/build-project-list.pl:
13:42 dalek modules.perl6.org: fix page update for IO::Select
13:42 dalek modules.perl6.org:
13:42 dalek modules.perl6.org: The problem was that IO::Select did not have a description line on github, and
13:42 dalek modules.perl6.org: the update script used that instead of the description from the META.info file.
13:42 dalek modules.perl6.org:
13:42 dalek modules.perl6.org: This commit now changes the update script to use the description from META.info,
13:42 dalek modules.perl6.org: and only falls back to the github repo if META.info has no "description"
13:42 dalek modules.perl6.org: field.
13:42 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/ed348b4f9b
13:46 masak mberends: also, the set of disruptive inventions and the set of "repackaged" ideas aren't necessarily disjunct.
13:47 donri joined #perl6
13:47 bbkr_ :p5 regexp modifier is NYI?
13:48 masak in Rakudo, yes.
13:48 moritz alpha had it (at least partially)
13:48 PerlJam I  think it's Not Yet Reinvented.
13:48 PerlJam what moritz said
13:48 masak alpha had it because PGE had a p5 frontend.
13:48 PerlJam (good morning btw)
13:49 masak morning, PJ
13:49 masak Pugs also had it, methinks.
13:49 moritz I think we have a lot of other more urgent things to do right now :-)
13:49 moritz masak: yep, but it didn't have proper Perl 6 regexes :-)
13:51 takadonet left #perl6
13:52 abercrombie joined #perl6
13:52 masak writing p5 regex grammar/actions for nqp shouldn't be too hard at this point.
13:52 masak it just needs a dedicated person to do it.
13:52 bbkr_ I don't argue here - p5 regexps support in P6 is ultra-low priority. I asked because MongoDB can store PCRE regexps, but this require P5 syntax. I'm sure most ppl can live without it.
13:53 uasi joined #perl6
13:53 PerlJam more people just need to adopt Perl 6 Regex  :)
13:53 moritz note that PCRE != P5
13:54 PerlJam moritz: if you stand far enough away they look the same.  ;)
13:54 bbkr_ i'm aware of that. but PCRE and Perl5 regexps are compatible in 95%.
14:05 _ilbot joined #perl6
14:05 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: http://irc.perl6.org/ | UTF-8 is our friend!
14:06 masak nom: my $x = class is 42 {}; $x.new; say "alive"
14:06 p6eval nom 88d801: OUTPUT«===SORRY!===␤Unable to parse $*PKGDECL definition at line 1, near "42 {}; $x."␤»
14:06 masak nom: my $x = class is {}; $x.new; say "alive"
14:06 p6eval nom 88d801: OUTPUT«alive␤»
14:06 masak std: my $x = class is {}; $x.new;
14:06 p6eval std 516268a: OUTPUT«ok 00:01 121m␤»
14:06 masak huh.
14:07 buubot_backup joined #perl6
14:07 bbkr_ "is" is treated as class name
14:07 clkao joined #perl6
14:07 bbkr_ std: class is {};
14:07 p6eval std 516268a: OUTPUT«ok 00:01 118m␤»
14:07 bbkr_ not a bug
14:08 chitragupt joined #perl6
14:09 masak that, or STD is just wrong in this case.
14:09 masak oh!
14:09 masak no, I see what you're saying.
14:09 masak rakudo: say is
14:09 p6eval rakudo a55346: OUTPUT«Could not find sub &is␤  in main program body at line 22:/tmp/rASMzmjb8m␤»
14:10 moritz nom: my $x = anon class is 42 { }
14:10 p6eval nom 88d801: OUTPUT«===SORRY!===␤Cannot use anon scope with class at line 1, near "42 { }"␤»
14:10 moritz nom: my $x = class :: is 42 { }
14:10 p6eval nom 88d801: OUTPUT«===SORRY!===␤Unable to parse $*PKGDECL definition at line 1, near "is 42 { }"␤»
14:10 PerlJam nom: class is { }
14:10 p6eval nom 88d801:  ( no output )
14:10 moritz std: class :: is Int { }
14:10 p6eval std 516268a: OUTPUT«ok 00:01 117m␤»
14:10 moritz nom: class :: is Int { }
14:10 p6eval nom 88d801:  ( no output )
14:11 moritz nom: my $x = class :: is Int { }; say $x
14:11 p6eval nom 88d801: OUTPUT«::()␤»
14:12 bbkr_ nom: class is {}; class is is is {}; # even this works as expected :)
14:12 p6eval nom 88d801: OUTPUT«===SORRY!===␤Illegal redeclaration of class 'is' at line 1, near "{}; # even"␤»
14:13 moritz (predictive parsing)++
14:28 masak :)
14:29 masak nom: class silly {}; class this is silly {}
14:29 p6eval nom 88d801:  ( no output )
14:31 masak nom: class progressing {}; class struggle is progressing {}; say struggle ~~ progressing
14:31 p6eval nom 88d801: OUTPUT«Bool::True␤»
14:32 skangas_ joined #perl6
14:33 HarryS_ joined #perl6
14:35 spetrea_ joined #perl6
14:35 donri_ joined #perl6
14:36 jrockway joined #perl6
14:36 tewk joined #perl6
14:40 DarthGandalf joined #perl6
14:40 wamba joined #perl6
14:41 Bucciarati joined #perl6
14:41 mkramer joined #perl6
14:44 birdwindupbird joined #perl6
14:44 stepnem joined #perl6
14:44 lue joined #perl6
14:44 nebuchadnezzar joined #perl6
14:44 Sarten-X joined #perl6
14:44 ponbiki joined #perl6
14:44 pyrimidine joined #perl6
14:44 hillu joined #perl6
14:44 pjcj joined #perl6
14:44 tomaw joined #perl6
14:44 ashleydev joined #perl6
14:44 ilogger2 joined #perl6
14:44 jtpalmer joined #perl6
14:44 donri joined #perl6
14:49 jedai joined #perl6
14:50 jevin joined #perl6
14:55 woosley joined #perl6
14:58 masak got a few ideas for what to blog about in the weekend: https://gist.github.com/1172972
14:58 masak comments/suggestions welcome.
15:03 moritz masak: I vote for the macros
15:04 Holy_Cow joined #perl6
15:07 xinming joined #perl6
15:08 Alias joined #perl6
15:08 srynearson joined #perl6
15:10 PerlJam masak: I vote for -n/-p   (mainly because that's the one I'd write myself :)
15:10 Holy_Cow left #perl6
15:11 PerlJam masak: the one I'd most like to see would be the series on Little Animal Farm
15:11 PerlJam I guess that'd be "ones"
15:13 kaare_ joined #perl6
15:14 TimToady I like -n/-p
15:15 TimToady and we already know you like tests :P
15:17 masak wow, you people want everything, don't you? :P
15:17 lichtkind dalek: seen thou
15:17 * masak sets his blog rate to "high"
15:17 lichtkind dalek: /seen thou
15:18 lichtkind dalek: help
15:19 masak lichtkind: why do you think dalek does seen? (or help?)
15:20 lichtkind masak: i wanted to know when thou was last time on
15:20 hirschnase joined #perl6
15:21 masak lichtkind: bit of an X/Y problem, then, isn't it? :)
15:21 masak seen thou
15:21 aloha thou was last seen in #perl6 22 hours 45 mins ago joining the channel.
15:21 lichtkind it was wrong bot
15:21 lichtkind thank you masak
15:23 masak seen how dangerous it is to have a bot trigger command be something as common as the word 'seen'
15:23 aloha Sorry, I haven't seen how dangerous it is to have a bot trigger command be something as common as the word 'seen'.
15:23 * masak suspected that
15:23 masak well, s/dangerous/potentially annoying/, but still.
15:25 cognominal masak++
15:26 masak already gotten two (actual) comments by people on the gist. makes me realize that I really need a commenting system on the blog... :)
15:26 masak either that, or I'll blog using gists from now on. :P
15:28 * masak decommutes
15:34 thou joined #perl6
15:35 lichtkind masak++
15:35 lichtkind masak++ (funny)
15:38 mls closing memleaks: https://gist.github.com/1173686
15:39 mls TimToady: another question about exception handling and the call stack:
15:41 mls say an exception of type A is caught and the handler in turn throws an exception of type B. the call stack is not unrolled, so can type B get caught by a handler in the "to-be-unrolled" part of the call chain?
15:41 moritz mls: did you know that you can use 'git diff' for generating such patches?
15:42 mls yes ;)
15:42 moritz depending on what you do now, it could be less work :-)
15:42 mls no ;)
15:43 anbz joined #perl6
15:44 anbz left #perl6
15:46 mls back to the exceptions: That looks to me like an unwanted side effect of not unrolling the stack, as for the handler that catches B the exception from the CATCH A block comes as a surprise...
15:47 mls sub foo { CATCH B {} ; die A}; { foo(); CATCH A { die B} }
15:47 mls (not really perl6 syntax...)
15:48 mls (how does lisp handle this?)
15:49 TimToady the CATCH B should never see the B exception
15:49 TimToady at the end of CATCH A, it notices there's an unresolved B, and continues on up the chain from there
15:50 TimToady foo has returned, so it's not in the chain
15:51 TimToady S04:1032 is what catches B, and sends it on up the chain
15:51 TimToady it doesn't restart from the beginning of the current dynamic scope
15:52 TimToady "one-pass semantics comes to exception handlers" as it were
15:52 mls so it skips the not-unrolled part when it rethrows the exception?
15:53 TimToady yes
15:53 TimToady that's what that code is intended to do, anyway
15:53 mls the code doesn't rethrow at all ;)
15:53 TimToady I wasn't going to be that picky about your comment :)
15:55 mls tricky stuff, those perl6 exceptions
15:58 * flussence *finally* has a test stats thing that's reasonably fast and works more or less correctly
15:59 mls so in parrot when I catch an exception I have to patch the call context so that callframe et al work in the handler, and at rethrow time I have to restore the call chain to the original value. Hmm, sounds doable.
15:59 mls (pmichaud++ will probably hate it ;) )
15:59 flussence (I don't know what I was doing wrong the previous attempt, but I kept getting failures about a missing pmc/*.h file after one compile even though I was running git clean -dfx. Ended up using a separate checkout dir for each revision and that worked)
16:00 anbz_ joined #perl6
16:00 mls Anyway, thanks TimToady++. Back to memleak hunting...
16:02 im2ee joined #perl6
16:05 toby_tyler joined #perl6
16:06 toby_tyler left #perl6
16:13 dalek std: e3c970e | larry++ | STD.pm6:
16:13 dalek std: include any<foo bar> in illegal forms
16:13 dalek std:
16:13 dalek std: We've been checking for bare 'say' and such; the misuse of 'any' can
16:13 dalek std: be in the same spot, but deserves a different message since it's (probably)
16:13 dalek std: not intended to default to $_.  Also, both messages are fatal now.
16:13 dalek std: (In the long run, the %deftrap hash probably wants to be a trait on the
16:13 dalek std: proto sub so that user-defined functions can get the same treatment.)
16:13 dalek std: review: https://github.com/perl6/std/commit/e3c970edf7
16:14 kst joined #perl6
16:14 TimToady sorear: ^^
16:14 anbz_ left #perl6
16:15 perlhack joined #perl6
16:16 beekor left #perl6
16:27 TimToady phenny tell masak separating your entry database from your query database is really an ancient idea; James Martin was advocating it in the 70s, at least.
16:28 TimToady phenny: tell masak separating your entry database from your query database is really an ancient idea; James Martin was advocating it in the 70s, at least.
16:28 phenny TimToady: I'll pass that on when masak is around.
16:33 TimToady moritz: actually, Rat is specced to have uint64 in the denominator, since we don't need two signs
16:34 TimToady and it doubles our precision :)
16:34 moritz TimToady: right
16:34 TimToady for some definition of double...
16:38 moritz .oO( that's what they mean with "double precision" floating point operations ... )
16:39 * TimToady wants double accuracy floating point numbers
16:42 TimToady niecza: m:P5/"/
16:42 p6eval niecza v8-55-g0db7bb8: OUTPUT«Unhandled exception: Autoloading NYI␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 685 (CORE die @ 2) ␤  at /home/p6eval/niecza/src/STD.pm6 line 4598 (STD Regex.tweak @ 6) ␤  at /home/p6eval/niecza/src/STD.pm6 line 489 (STD C191_ANON @ 2) ␤  at /home/…
16:43 TimToady std: m:P5/"/
16:43 p6eval std 516268a: OUTPUT«ok 00:01 133m␤»
16:46 wamba joined #perl6
16:48 Tedd1 joined #perl6
17:11 moritz t/spec/S02-whitespace_and_comments/begin_end_pod.t seems to have regressed
17:17 dalek rakudo/nom: 2742f6d | moritz++ | src/binder/multidispatch.c:
17:17 dalek rakudo/nom: fix memory leaks, patch by mls++
17:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2742f6dd2c
17:22 im2ee joined #perl6
17:22 mls Thanks moritz!
17:22 mls I guess nqp also leaks: https://gist.github.com/1173901
17:22 mls I haven't done much testing with the patch, though.
17:22 moritz mls: at your convenience, please submit a patch that adds your nick to CREDITS
17:23 moritz + mem_sys_free(info);
17:23 moritz + if (info->types)
17:23 moritz isn't that a dangerous ordering?
17:24 moritz I mean I'd *first* check the elemnts of info and *then* free it
17:24 mls Oh, yes. Bad copy&paste. Please reorder ;)
17:25 * moritz tests
17:26 mls Credits patch: https://gist.github.com/1173907   ;)
17:26 mikemol Should be trivial, but I'm looking forward to seeing the Perl6 solution to http://rosettacode.org/wiki/Ternary_logic
17:27 TimToady (he's looking forward to seeing ∧, ∨, ⊃ and ≡ operators :)
17:27 mikemol ;)
17:27 * mikemol imageines TimToady just copied "∧, ∨, ⊃ and ≡" from my line in #rosettacode. :)
17:28 mikemol *imagines
17:28 flussence I wrote one of those already!
17:28 TimToady got it in one
17:28 flussence https://github.com/flussence/Mathematical-Operator​s/blob/master/lib/Mathematical/Operators/Sets.pm6
17:28 mikemol flussence: If it fits, it sounds like a good opportunity to demonstrate pulling in existing modules.
17:28 TimToady this isn't sets though
17:28 mikemol ...and it doesn't fit. >.>
17:29 flussence aw
17:29 flussence .oO( time to add more multis... )
17:29 moritz I'd go with Bool::True, Bool::False and Bool
17:29 moritz then you can just say thing like
17:29 moritz multi prefix(Bool:U: $) { Bool }
17:30 moritz hm, but 'and' and 'or' short-circuit, so one can't easily add multis
17:30 lichtkind i built nom again and it still fails under ubuntu 64 bit
17:31 moritz lichtkind: what exactly fails?
17:31 mls afk, weekend...
17:31 lichtkind moritz: all i got was speicherzugriffsfehler
17:31 lichtkind mye mls
17:31 moritz lichtkind: when?
17:31 mls mye lichtkind!
17:31 lichtkind hahah
17:31 lichtkind i ment bye
17:31 lichtkind thou: cheers
17:31 TimToady flussence: also, sets are defined as associative already in p6, so .list.any is a bit inefficient once rakudo supports associative sets
17:32 moritz lichtkind: at your convenience, please read http://catb.org/~esr/faqs/smart-questions.html
17:32 lichtkind moritz: after starting an almost no script just use v6; and creating 2 lists
17:32 moritz that's weird
17:32 lichtkind it is
17:33 lichtkind its a fresh git clone just compiles
17:34 TimToady rakudo: my $s = set(<a b c>); say $s<a>;  # sb True
17:34 p6eval rakudo a55346: OUTPUT«Bool::True␤»
17:34 TimToady ooh, yay
17:35 thou lichtkind: ¡hola!
17:35 sorear_ good * #perl6
17:35 flussence TimToady: I know the code's probably doing a lot wrong, I'm hoping someone else takes it seriously enough to come along and take it off my hands :)
17:35 moritz good *, sorear
17:36 * lichtkind missed the set command
17:36 TimToady nom: my $s = set(<a b c>); say $s<a>;  # sb True
17:36 p6eval nom 88d801: OUTPUT«Could not find sub &set␤  in mu <anon> at /tmp/6tOaXkrO0L:1␤  in mu <anon> at /tmp/6tOaXkrO0L:1␤␤»
17:36 TimToady ooh a pun :)
17:37 flussence also, this is looking a bit more realistic of a target now :) https://github.com/flussence/specgrap​hs/raw/master/output/rakudo-tests.png
17:37 TimToady 'in mu <anon>'?
17:37 moritz TimToady: nom does't know about the mainline yet (in backtraces)
17:37 moritz TimToady: and should filter out the 'mu' when the type of the code object isn't known
17:38 TimToady moo
17:38 Chillance joined #perl6
17:42 sjohnson nom: "just another perl 6 hacker".say
17:42 p6eval nom 88d801: OUTPUT«just another perl 6 hacker␤»
17:43 sjohnson nom: "rekcah 6 lrep rehtona tsuj".reverse.say
17:43 p6eval nom 88d801: OUTPUT«rekcah 6 lrep rehtona tsuj␤»
17:43 sjohnson 0_0
17:44 moritz well, list-reversing a one element list isn't very spectacular
17:44 moritz try .flip
17:44 masak joined #perl6
17:44 masak #perl6! \o/
17:44 phenny masak: 16:28Z <TimToady> tell masak separating your entry database from your query database is really an ancient idea; James Martin was advocating it in the 70s, at least.
17:45 masak yes, it is! :)
17:45 masak I only wish it had hit the mainstream along with all the default crap we keep deploying.
17:46 masak oh, but thanks for the reference. it's good to have those. I'll look for articles by James Martin.
17:46 masak guessing it's this guy: http://en.wikipedia.org/wiki/James_Martin_(author)
17:47 sjohnson i'm no p6 hacker!
17:47 sjohnson nom: "rekcah 6 lrep rehtona tsuj".flip.say
17:47 p6eval nom 88d801: OUTPUT«just another perl 6 hacker␤»
17:47 sjohnson ahh, there we go.  moritz++
17:48 sorear masak!
17:49 lichtkind has a list generator to be a recursive one? or can there be direct ones, meaning a function that can directly calculate the content of an list member without  predecessor?
17:50 sorear lichtkind: I think you want "map"
17:50 moritz lichtkind: there are lots of ways to generate lists
17:50 sorear rakudo: my @list := map * ** 2, 0..*; say @list[^20]
17:50 p6eval rakudo a55346: OUTPUT«014916253649648110012​1144169196225256289324361␤»
17:50 sorear rakudo: my @list := map * ** 2, 0..*; say ~@list[^20]
17:50 p6eval rakudo a55346: OUTPUT«0 1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361␤»
17:51 moritz lichtkind: gather/take, map, loop + pushing to an array (ok, not lazy), the series operator, infix:<xx>
17:51 lichtkind yes but i mean the intrinsic list generator of an list object
17:51 lichtkind has that to be recursive?
17:51 moritz what is "the intrinsic list generator of an list object"?
17:51 moritz an implementation detail?
17:52 lichtkind moritz: something like reify
17:53 moritz lichtkind: reify is a method, not a generator
17:53 lichtkind i meant the method that reify calls
17:54 lichtkind what i have in mind is eg a series of squares ($n * $n) which are created from a lazy list
17:55 moritz internally List stores a code object which is called when more items are reified
17:55 moritz is that what you mean?
17:55 moritz if so, it's not recursive
17:56 masak I usually think of gather/take as the "intrinsic list generator".
17:58 lichtkind moritz: but when i want element 5 , 1..5 will be generated and i want to be jsut generated 5
17:59 sorear then no, that's not how Perl 6 lists work.
18:01 lichtkind sorear: thank you very much
18:01 lichtkind and i thougt perl 6 can everything
18:01 masak lichtkind: it can, just not out of the box.
18:02 moritz it's Turing complete :-)
18:02 lichtkind moritz: so is ook
18:02 lichtkind i mean that i have to create an own list object
18:03 masak lichtkind: maybe you just need something like a memoized function of an integer argument?
18:03 masak not a list.
18:03 masak lichtkind: again with this X/Y stuff... it's the second time today :P
18:03 lichtkind masak: sounds reasonable
18:03 wamba joined #perl6
18:04 lichtkind masak: im chewing on this topic since patricks talk
18:04 masak that's good.
18:04 masak I am, too :)
18:04 masak pmichaud++
18:04 lichtkind pmichaud++
18:05 masak pmichaud is a truly reaified guy with a PLAN :)
18:05 masak ergh, *reified
18:06 dalek nqp: 0bfcef6 | moritz++ | src/6model/multi_dispatch.c:
18:06 dalek nqp: fix a multi dispatch memory leak, patch by mls++
18:06 dalek nqp: review: https://github.com/perl6/nqp/commit/0bfcef6d54
18:07 lichtkind hej they found it
18:07 lichtkind great
18:09 masak mls++!
18:09 TimToady well, they found one of it anyway
18:09 TimToady or two of it, depending on how you count
18:10 * lichtkind building
18:13 * masak pavement
18:14 TimToady still goes up to 1.5G compiling the setting
18:15 lichtkind yay, works
18:16 moritz TimToady: yep, it was only a rather small leak (while sorting candidates, not on invocation)
18:16 lichtkind thats very good
18:16 lichtkind so i can base my slide sfor turino on working nom snippets
18:19 TimToady commuting &
18:20 lichtkind mls++, moritz++
18:33 soh_cah_toa joined #perl6
18:36 birdwindupbird joined #perl6
18:50 gfldex joined #perl6
18:52 risou_awy joined #perl6
18:52 woosley left #perl6
18:59 soh_cah_toa joined #perl6
19:04 hirschnase joined #perl6
19:07 hirschnase left #perl6
19:12 mberends joined #perl6
19:15 mberends \o/ 32 bit compiling the setting in nom now uses under 800MB, so a 1GB machine can do it again by closing Firefox, xchat etc.
19:16 flussence yay
19:32 mberends on 32 bit, instants-and-durations.t still hangs and consumes all the memory it can get :-(
19:33 moritz mberends: maybe comment it out from spectest.data until we have a fix
19:33 mberends yes, good idea :)
19:41 Caldrin joined #perl6
19:43 masak rakudo: say <ugga>, <b l m>.roll(3) X~ <ugga>
19:43 p6eval rakudo a55346: OUTPUT«uggauggabuggamuggalugga␤»
19:43 masak nom: say <ugga>, <b l m>.roll(3) X~ <ugga>
19:43 p6eval nom 2742f6: OUTPUT«uggaugga mugga bugga mugga␤»
19:43 Caldrin Hi! I try to learn perl6 currently. In the module IO::Socket::INET I found the line $!PIO = Q:PIR { %r = root_new ['parrot';'Socket'] };
19:43 Caldrin I can not find any documentation on the meaning of this Q:PIR.
19:43 Caldrin Can anyone please point me to some docu where I can learn what this does?
19:43 moritz Caldrin: it's a non-standard extension in Rakudo to access low level parrot functionality
19:44 masak Caldrin: all the rest of the setting also compiles down to PIR. this just injects it directly.
19:44 Caldrin So that's the solution to implement socket handling, I assume?
19:45 masak and a fine solution it is! :)
19:46 masak nom: say '', <b l m>.roll(3) X~ <ugga>
19:46 p6eval nom 2742f6: OUTPUT«ugga lugga mugga bugga␤»
19:46 moritz when we implement low-level stuff, we can either use stuff that parrot implements (or wraps), or we can try wrap C stuff ourselves
19:46 bluescreen10 joined #perl6
19:46 moritz parrot stuff is usually less work for us, and we have people to yell if it goes wrong on some platform :-)
19:47 masak nom: say "a", "b"
19:47 p6eval nom 2742f6: OUTPUT«ab␤»
19:47 Caldrin masak: I don't doubt this. In Perl5 the module inherits from IO::Handle which in turn offers a few functions more, especially $socket.say();
19:48 Caldrin I was looking to implement this say in Perl6 IO::Socket::INET too for learning and checking where it would suite best.
19:48 moritz Caldrin: probably IO::Socket
19:48 masak nom: say join '', <A R G H> »x» (3..7).roll
19:48 p6eval nom 2742f6: OUTPUT«AAAARRRRGGGGHHHH␤»
19:48 masak :)
19:48 Caldrin moritz: Yes, I figured this would be the right place.
19:48 masak oh wait, that rolls just once.
19:49 Caldrin I thank you for your help.
19:49 masak nom: say join '', $_ x (3..7).roll for <A R G H>
19:49 p6eval nom 2742f6: OUTPUT«AAAAAA␤RRRRR␤GGGGGG␤HHH␤»
19:49 masak nom: say join '', ($_ x (3..7).roll for <A R G H>)
19:49 p6eval nom 2742f6: OUTPUT«AAAAARRRRRRRGGGGHHHHHH␤»
19:49 masak \o/
19:49 TimToady add some !!! too :)
19:49 moritz :-)
19:49 masak nom: say join '', ($_ x (3..7).roll for <A R G H !>)
19:49 p6eval nom 2742f6: OUTPUT«AAAAAARRRRGGGGGGHHHHHHH!!!␤»
19:49 TimToady boring
19:50 TimToady nom: say join '', ($_ x (3..7).roll for <A R G H !>)
19:50 p6eval nom 2742f6: OUTPUT«AAAAAAARRRGGGGGGHHH!!!!␤»
19:50 TimToady that's better
19:50 masak :P
19:52 masak nom: say "I", "E" x 50, " 802.11"
19:52 p6eval nom 2742f6: OUTPUT«IEEEEEEEEEEEEEEEEEEEEE​EEEEEEEEEEEEEEEEEEEEEEEEEEEEE 802.11␤»
19:52 TimToady n
19:52 masak :)
19:53 masak nom: say '/\\' x my $j = 25, ' hup! ', '\\/' x $j
19:53 p6eval nom 2742f6: OUTPUT«Use of uninitialized value in numeric context␤Cannot assign to a non-container␤  in mu <anon> at /tmp/_ViPinUuSf:1␤  in mu <anon> at /tmp/_ViPinUuSf:1␤␤»
19:53 masak hm, I expected that to be item assignment...
19:53 masak nom: say '/\\' x (my $j = 25), ' hup! ', '\\/' x $j
19:53 p6eval nom 2742f6: OUTPUT«/\/\/\/\/\/\/\/\/\/\/\​/\/\/\/\/\/\/\/\/\/\/\/\/\/\ hup! \/\/\/\/\/\/\/\/\/\/\/\/\/​\/\/\/\/\/\/\/\/\/\/\/\/␤»
19:54 TimToady niecza: say '/\\' x my $j = 25, ' hup! ', '\\/' x $j
19:54 moritz what's the relative precedence of x and = ?
19:54 p6eval niecza v8-55-g0db7bb8: OUTPUT«25  hup!  ␤»
19:54 masak nom: say '/\\' x (my $j = 10), ' hup! ', '\\/' x $j
19:54 p6eval nom 2742f6: OUTPUT«/\/\/\/\/\/\/\/\/\/\ hup! \/\/\/\/\/\/\/\/\/\/␤»
19:54 masak moritz: = has two precedences, IIRC.
19:54 masak item and list.
19:54 * moritz wonders if masak++ just watched the Ministry of Silly Walks sketch by Monty Python
19:54 moritz masak: I know
19:55 masak moritz: no, but I will now, on YouTube :)
19:55 masak I'm just being Friday evening silly on my own.
19:55 moritz masak: ah, infix:<x> is tigher than both infix:<=> forms
19:56 Caldrin left #perl6
19:56 moritz which usually makes perfect sense :-)
19:57 TimToady you wouldn't need a temp variable in forth
19:57 moritz well, you can do just 'bout anything with the stack in forth :-)
19:58 moritz by the same token you can declare a global-ish @stack in perl 6 and reuse that everywhere when you want to avoid temp variables :-)
19:59 moritz not that I would recommend that to anybody...
19:59 TimToady nom: say join ' hup! ', </\ \/>>>x>>10
19:59 p6eval nom 2742f6: OUTPUT«/\/\/\/\/\/\/\/\/\/\ hup! \/\/\/\/\/\/\/\/\/\/␤»
20:00 TimToady nom: say join ' hup! ', </o\ \o/>>>x>>10
20:00 p6eval nom 2742f6: OUTPUT«/o\/o\/o\/o\/o\/o\/o\/o\/o\/o\ hup! \o/\o/\o/\o/\o/\o/\o/\o/\o/\o/␤»
20:00 masak who needs temp variables and stacks when we have join? :P
20:01 masak moritz: thanks for reminding me of that sketch. :)
20:02 masak nom: say <do re mi fa so la ti>.roll(5)
20:02 p6eval nom 2742f6: OUTPUT«re so la fa so␤»
20:02 masak quite singable, actually.
20:03 TimToady not a final cadence though
20:03 masak no, there's the promise of more after that.
20:03 jevin joined #perl6
20:04 TimToady I sometimes sing my wife's SSN before mine; here's ends on re, mine ends on do :)
20:05 TimToady *hers
20:05 masak I'd like to hear that sometime :)
20:05 moritz TimToady: so together you get 'redo'? :-)
20:05 TimToady but then you could steal our identity :)
20:06 masak TimToady: that's U.S. think, and really not Swedish think ;)
20:06 masak TimToady: over here, we all have SSNs, and we're not afraid to use them.
20:08 * masak wouldn't mind giving a lightning talk about https://gist.github.com/1149245 sometime
20:08 TimToady yet
20:08 masak TimToady: if there are worrying tendencies or causes for concern, I don't see them.
20:09 moritz I guess it depends on how they are used
20:09 PerlJam masak: I don't get it ... the Perl 5 version is clearly much more readable  ;)
20:10 masak PerlJam: you're joking, but... yes, it is. for non-sixers.
20:10 masak PerlJam: maybe the lightning talk should highlight that as well.
20:10 moritz afaict in the US if you know somebody's SSN, people take that as authentication that you are that person
20:11 masak what? that's crazy! :)
20:11 lue hello planet o/
20:11 TimToady I remember having a conversion with a REXX programmer in which he maintained that five pages of REXX were more readable than five lines of Perl :)
20:11 skangas joined #perl6
20:11 PerlJam masak: there's more to read, ergo it's more readable.  There's hardly anything to the Perl 6 version.  You might accidentally elide the whole on first glance.
20:11 TimToady *conversation
20:11 masak PerlJam: :P
20:11 TimToady I don't think any conversion happened there...
20:11 PerlJam s/whole/whole thing/
20:11 lue for the record, I find P5 code to be completely illegible (what the heck is Dog->walk ?)
20:12 masak lue: it's a Dog pointing to the walk :P
20:12 masak because it needs to go for a walk.
20:12 TimToady lue: that's because the designer of P5 couldn't decide whether he liked Dogs or Cats better.
20:12 * masak considers the course "teaching OO by misleading examples"
20:13 mj41 joined #perl6
20:13 lue Actually, I chose that example because I know it (P6 did s/->/./ IIUC), but most of P5 code I see is confusing and not worth trying to decode. The non-readability goes both ways
20:13 masak nom: role Walking {}; class Dog does Walking {}; class Cat {}; Cat.walk
20:13 p6eval nom 2742f6: OUTPUT«Method 'walk' not found for invocant of class 'Cat'␤  in mu <anon> at /tmp/Oj9GmLJBtw:1␤  in mu <anon> at /tmp/Oj9GmLJBtw:1␤␤»
20:13 * TimToady would take a course entitled "misleading by teaching OO examples"
20:13 masak you can't walk a Cat.
20:14 masak lue: you have a point.
20:14 lue Of course you can! [How the cat would react to it is a different matter...]
20:14 masak lue: on the other hand, when you learn the superficial differences in syntax, Perl 5 and Perl 6 feel very much alike.
20:14 masak (as you can see from the gist...) :P
20:14 PerlJam masak: your two implementations of choose-column don't feel at all alike
20:14 PerlJam :)
20:15 flussence you can't walk a Cat, but you can walk a tree
20:15 masak PerlJam: it's really the same code! just removed a bit of boiler-plate in the second version!
20:15 masak using setting builtins, and so on...
20:15 PerlJam masak: looks like line noise  ;)
20:15 masak *lol*
20:15 Holy_Cow joined #perl6
20:16 masak "Perl 6: we're so Perl that even the Perl 5 people look at us weirdly!"
20:16 Holy_Cow left #perl6
20:16 flussence (min :by loops pretty useful, never knew about that one...)
20:16 flussence s:1st/p/k
20:16 masak flussence: I hadn't used it before writing that line, but there it was right when I needed it.
20:16 lue masak: what gist?
20:17 * masak ♥ Perl 6
20:17 masak lue: https://gist.github.com/1149245
20:17 lue nvm, found it.
20:17 PerlJam Perl 6 magically anticipates your needs and provides them even before you know what you need.
20:18 lue waitaminute, P5 doesn't have Inf ‽
20:18 TimToady not in integers
20:18 masak lue: you kids so spoiled :P
20:18 moritz lue: it's kinda platform dependent if it has or not
20:18 masak did we ever work out the typology of Int in Perl 6?
20:18 moritz $ perl -wE 'say 0+"Inf"'
20:18 moritz inf
20:18 masak er, of Inf.
20:19 masak oh, maybe I should use that instead, then.
20:19 TimToady it's a floater
20:19 masak I don't mind.
20:19 masak all I do with it is compare it to the first integer that comes along.
20:20 flussence (hm, I would've thought 1.0/0.0 would return inf too)
20:20 masak the Inf never leaves the method.
20:20 masak flussence: why would you think that!?
20:20 flussence IEEE told me it does :(
20:20 * masak says this with real surprise, as someone who believed that too 15 years ago
20:20 masak flussence: true.
20:20 masak flussence: I still find it non-immediate.
20:21 moritz except that in Perl 5, scalar types are not exposed to the user
20:21 TimToady obviously it should return ±Inf
20:21 masak no, not obviously :)
20:21 moritz so 0 is really the same as 0e0 in p5
20:21 * lue remembers the joke proof he wrote a while ago, and sets out to put it on the web
20:21 PerlJam flussence: how can you listen to anyone that sounds like a scream?
20:22 masak flussence: by definition, division x/y gives the number z such that yz=x. for y=0, there's no such z.
20:22 TimToady well, it really depends on the exact value of ±0 that you've divided by
20:22 masak TimToady: you're being very nonstandard right now ;)
20:22 TimToady I'm being calculating
20:22 flussence perl6: say 1/0
20:22 p6eval niecza v8-55-g0db7bb8: OUTPUT«Infinity␤»
20:22 p6eval ..pugs: OUTPUT«*** Illegal division by zero␤    at /tmp/9Ljf45Iozv line 1, column 5 - line 2, column 1␤»
20:22 p6eval ..rakudo a55346: OUTPUT«Inf␤»
20:22 flussence blargh
20:22 masak http://en.wikipedia.org/wiki/Non-standard_analysis
20:23 * masak hugs Pugs
20:23 masak sorear: "Infinity"?
20:23 TimToady you get closer to Inf as you approach 0, but you can't say which side you're approaching it from unless you know in advance
20:23 masak TimToady: the Riemann sphere actually solves this!
20:23 TimToady so more of a calculus notion
20:24 masak in the complex plane, paradoxiacally, there's only one infinity.
20:24 TimToady well, but nom has a memory leak with the sphere
20:24 masak :P
20:24 masak it's very poetic, in a sense.
20:24 * flussence wonders whether there's practical use for a TooBigToRepresentNum type separate from Inf
20:24 masak 0 is "right here". Inf is "very, very far away".
20:24 flussence (I'm not suggesting such a horrible name ever gets added, of course)
20:25 masak "what direction should I walk?" -- "doesn't matter, you'll get there. it's on the other side of this giant sphere."
20:25 moritz fwiw Mathematica has a separate ComplexInfinity symbol :-)
20:25 masak moritz: which one is bigger, the normal Infinity, or ComplexInfinity? :P
20:25 TimToady well, Mathematica probably has a builtin function to do what you're doing
20:26 moritz masak: both, but ComplexInfinity is more Complex, of course :-)
20:26 masak moritz: bet it needs more therapy, too.
20:26 masak dark and brooding Infinity.
20:26 TimToady Infanity, is more like
20:26 moritz did you mean "Insanity"?
20:27 TimToady Infantity
20:27 * moritz -> insane sleeping
20:27 masak everyone seems to ignore the Elefanity in the room.
20:27 TimToady dream sweets
20:27 flussence try not to dream of insane complexity :)
20:27 hirschnase joined #perl6
20:27 TimToady I am Confantiy
20:27 * moritz remembers to tooth up his brushes before going to sleep
20:28 TimToady *Confanity, confang it!
20:28 masak moritz: süße Träume
20:28 TimToady traumatic SUSE?
20:28 masak Konrad, most like.
20:28 masak no wait, that's with a Z.
20:30 TimToady let's keep going, and see if we can give moritz++ a migraine when he backlogs tomorrow
20:31 masak I'm already all exfaunted.
20:32 lue I have the perfect solution to division by zero, and I'll be uploading the proof momentarily.
20:33 masak *groan* :)
20:33 masak nom: say <in en con comp trau>.roll, <sanity fanity lexity fang matic faunted>.roll
20:33 p6eval nom 2742f6: OUTPUT«confang␤»
20:33 masak TimToady wins, confang it! :)
20:34 mkramer1 joined #perl6
20:36 lue .oO(trausanity)
20:36 masak lue: that's the kind of sanity that is *so* sane, that it's traumatic.
20:36 masak "Yes, I'm afraid he was deeply scarred by his sanity."
20:37 masak nom: say <in en con comp trau>.roll, <sanity fanity lexity fang matic faunted>.roll
20:37 p6eval nom 2742f6: OUTPUT«enfaunted␤»
20:37 * masak is immediately enfaunted with this new word
20:39 PerlJam .oO(infanted?)
20:39 masak clearly something different.
20:40 lue nom: say <in en con comp trau frotz>.roll, <sanity fanity lexity fang matic faunted>.roll
20:40 p6eval nom 2742f6: OUTPUT«compfaunted␤»
20:40 masak :)
20:40 masak "compfaunted". I know that feeling.
20:41 lue [this set of dice is fun. I could play all day!]
20:42 masak lue: invent a game around them, and I'll play it with you.
20:46 jevin joined #perl6
20:48 lue divison by zero proof (remember, supposed to be joking): https://rdstar.wordpress.co​m/2011/08/26/the-mu-proof/
20:49 lue nom: say <in en con comp trau frotz>.roll, <sanity fanity lexity fang matic faunted>.roll
20:49 p6eval nom 2742f6: OUTPUT«infaunted␤»
20:51 abercrombie joined #perl6
20:51 masak I'm getting infaunted by this exercise.
20:54 abercrombie The memory leak problem got resolved?
20:54 masak lue: that paper is kinda funny. but only because it's completely frotzfang. :P
20:54 lue .oO(I was worried the humor might have gone a bit stupid)
20:55 masak lue: you remind me of me when I was your age :)
20:55 masak half my age ago.
20:56 * lue wonders if now he'll someday walk to hotels with towels on his head
20:57 masak quite possibly.
20:59 im2ee joined #perl6
21:02 lue [the scary part is, that sounds like a fun thing to do]
21:03 * masak .oO( the transmogrifying process has already begun... )
21:03 TimToady abercrombie: not the Big One
21:05 breinbaas joined #perl6
21:06 TimToady the sphere still chews up all my memory, anyway
21:06 lue .oO(two more 'words' for the game dice: "trans" and "mogrify")
21:08 TimToady if you have con you should have pro, so we can get profanity
21:10 lue .oO(If profanity ever comes up, we must damn() --- er, curse() --- all objects involved)
21:15 lue Now I have to invent a game, seeing as words like 'frotzlexity' can come up :)
21:24 masak You could call the game 'frotzlexity'.
21:27 flussence hm, I just realised p5 File::Temp tempdir() only cleans up at exit, and I'm making one tempdir per revision :(
21:28 flussence and now my ~/.local/tmp is 11GB... not as bad as I'd feared.
21:30 fridim_ joined #perl6
21:33 lue .oO(this laptop's original HDD was 12GiB!)
21:34 sorear my first hdd was 2GiB.  I feel old.
21:35 diakopter hah
21:35 masak 2GiB is a lot for a HDD.
21:35 masak my first one had something like 120MiB.
21:35 * diakopter too
21:35 flussence I've rescued many a PC from the trash, so I know all about tiny hard drives... :)
21:36 masak but I had floppies-only computers before that.
21:36 masak yes. actual floppy disks.
21:36 masak the kind that don't work anymore.
21:36 flussence 360KB ones? :)
21:36 colomon We got a floppy disk drive AND a cassette drive for our first computer.
21:36 lue I got my laptop for free, because the teacher that gave it to me didn't need it anymore (they upgrade to new macs _all the time_!)
21:36 masak flussence: yes.
21:36 sorear masak: my father loves to talk about saving up money to buy a 5 MiB HD for his previously HD-less computer.
21:37 flussence I tried putting DOS 6 on one of those once. It didn't fit.
21:37 lue masak: were they bigger than 3.5" ?
21:37 masak lue: 5.25"
21:37 flussence lue: 3.5" only go down to 720KB, iirc
21:37 masak lue: and bendable.
21:37 colomon and before that 8"
21:37 masak flussence: yes.
21:37 flussence (depends on how they're formatted, I suppose)
21:38 lue ooh. [I routinely feel I missed out on a great era of computing. Nowadays stupid handheld things rule the realm]
21:38 lue I found a 5.25 floppy once, and used it as a bookmark in one of our many books related to computers (hopefully I can find that floppy back someday...)
21:39 mberends istr the Apple ][ formatted only 143KB on one side of a 5.25" floppy
21:40 mberends double sided drives were more expensive back in the day
21:41 colomon but you could always buy single sided and punch holes in them to make them double sided.  ;)
21:41 colomon errr, the disks, not the drives.
21:41 flussence I didn't even *have* a PC until about 2001-ish. Then I got given easy access to a lot of discarded hardware and went through about 10 years of x86 in a few months... that was a weird time
21:41 flussence (I think I had two 5.25 drives on windows XP at one point...)
21:42 sorear lue: it doesn't matter if you can find the disk anymore
21:42 lue When it comes to computers, I think old > new (e.g. IF > graphical games). I'm jealous of you all :/
21:42 sorear lue: floppy disks are made with a very low-coercivity material, they demagnitize in the Earth's field with a half-life of 5-10 years
21:43 cexsum joined #perl6
21:43 sorear old floppies are junk
21:43 flussence .oO( good thing I have several backups of these doomII disks! )
21:43 lue sorear: if&when I find it back, it'll be purely for the "I have a floppy disk! That's *floppy*!" value, not to use it (it was some old game I wouldn't care to play)
21:43 mberends we had fun once writing a boot splash screen on the second side of a 5.25" disk, that said "fatal error: diskette upside down" and pranking victims.
21:44 sorear mberends: oh, you had to physically remove and flip disks once?
21:44 masak lue, sorear: http://ascii.textfiles.com/archives/3191
21:45 colomon sorear: yes
21:46 mberends disks that formatted on one side only were cheaper, there were lower quality standards. We bought the cheap ones, cut notches as colomon++ said and used the failed side anyway at our own risk.
21:46 pochi joined #perl6
21:48 flussence sort-of relevant: http://redd.it/juzpa
21:48 sorear mberends: was it like resistors, they make 1000 disks, test them, sell the ones that have two good sides for a premium, throw out the zero-sided disks, and sell the rest as 1-sided?
21:48 mberends sorear: exactly
21:49 lue [that article might explain why I got mostly IO errors from that 3.5" Infocom floppy I tried not too long ago]
21:49 sorear punch cards were so much better for information storage
21:50 mberends easier to edit, in a way
21:50 mkramer1 left #perl6
21:50 sorear also, paper objects last longer than magnetized films
21:50 TimToady my first computer's storage was 3 40-step (hand-punched) punch cards
21:50 * sorear imagines archaeologists in the year 3800 discovering a pile of punch cards off the Dead Sea
21:50 TimToady well, my school's computer, really
21:51 TimToady the first computer I ever actually owned myself was an Amiga 1000
21:51 mberends ooh, 16 bits!
21:52 TimToady well, I'm actually much more familiar with PDP-11, if you want 16 bits
21:53 * mberends began with a TRS-80 in 1979
21:53 * lue wonders if colleges will still hold these awesome relics of computer history by the time he gets there.
21:54 sorear s/colleges/museums
21:54 TimToady there's a computer history museum about 1/2 mile from my home that is full of such beasties
21:55 sorear lue: also look for a Web site called "The Retrocomputing Museum", it's full of entertaining things like an ENIAC emulator
21:56 flussence my school had rooms full of Acorn/512k Mac machines while I was there. They threw them all out for generic PCs :(
21:59 [Coke] joined #perl6
22:22 pernatiy joined #perl6
22:27 * lue realizes he should have brought up ℵ and ℶ during the discussion of different infinities
22:29 eternaleye joined #perl6
22:34 donri joined #perl6
22:35 rlb3_ joined #perl6
22:37 TimToady lue: not all languages are alphabetic :P
22:37 TimToady er, alephbetic...
22:38 lichtkind an aleph
22:38 lichtkind i got: PARROT VM: Could not load bytecode
22:38 lichtkind Incompatible versions of `perl6_ops' oplib, possibly due to loading bytecode generated by an old version of Parrot. Found 3.6.0 but loaded 3.7.0
22:38 lichtkind is there anything i should change in the makefile?
22:39 lue Just for the heck of it, I should try my hand at implementing infinite cardinals sometime in Perl6.
22:42 lue [but right now I'm busy creating frotzlexity]
22:49 masak \o/
22:52 pernatiy joined #perl6
22:53 lue [I think I made life harder by requiring analyzing of English sentences for part of the game. I'll make my first commit soon that explains everything.]
22:53 masak blog post! http://strangelyconsistent.org/blog/w​hy-tests-will-change-the-way-you-code
22:54 masak feel free to reddit or HN this one ;)
22:56 PerlJam masak++ (I really like the octopus analogy)
22:57 masak thanks. it almost snuck into my CQRS talk at YAPC::EU. :)
22:59 masak oops, a few '<'s didn't get escaped properly. fixing.
23:00 envi joined #perl6
23:00 lue masak: s/throuws/throws/ in the first ¶
23:00 PerlJam masak: So ... when should tests be written?   :)
23:00 masak lue: thanks. fixing.
23:01 PerlJam wow, I must've read too fast because I didn't notice any of the typoes and such at all
23:02 masak PerlJam: if you ask me, the longer you don't have tests, the worse off you are. by that logic, tests should be written "first".
23:02 mberends .oO( how is test formed? )
23:02 masak PerlJam: but I'm not a stranger to taking a step back and, say, actually doing some design and/or thinking about the domain before that.
23:03 masak mberends: they need to do way instain ad-hoc manual testing.
23:04 mberends my pary is with the tester
23:04 PerlJam masak: but if you write the tests first and you don't quite understand the problem domain, don't you end up writing tests that you're just going to throw away anyway?
23:04 masak mberends: ;)
23:04 PerlJam (I'm playing a little bit of a devil's advocate here, I already know my answers to these questions :)
23:05 masak PerlJam: sometimes, yes. but I'd rather throw away/change the tests than the code.
23:05 Moukeddar joined #perl6
23:05 PerlJam masak: and isn't it double the work to write the code that does whatever you want and the code that tests it?
23:07 masak only if you compare it to never testing your code at all. not even manual tests, I mean.
23:07 jaldhar joined #perl6
23:08 sorear usually I have to write code in order to figure out what I'm doing
23:08 sorear so first I write code, then I write tests, then I rewrite the code
23:08 masak sorear: I find that some design concerns don't really materialize until I'm deep down into implementing the solution.
23:08 sorear lichtkind: delete the old files and reinstall rakudo
23:09 masak ok, new improved version uploaded. thanks for your feedback.
23:09 PerlJam There have been a couple of people that I have never been able to convince that automated testing is a big enough of a win to warrant the "extra" time it takes to write them (their perception).   I'm just looking for other words to use for next time.
23:10 masak PerlJam: it takes extra time to put on your swimfins before diving into the water.
23:10 masak that doesn't seem to be a very strong argument against swimfins.
23:10 PerlJam perhaps it's that fundamental thing that these people don't grok:  you will *always* write code that you throw away simply because you're figuring out the problem domain
23:10 lue masak++ # great post
23:10 flussence I figured out how to do stacked lines: https://github.com/flussence/specgrap​hs/raw/master/output/rakudo-tests.png
23:11 * lue wants to any(find,make) a UTUM badge
23:11 drbean joined #perl6
23:11 masak lue: cool!
23:11 * masak goes to sleep
23:11 PerlJam so they end up with this false economy idea where "you only write code once"
23:11 masak 'night, UTUM-camels
23:11 PerlJam good night masak!
23:11 PerlJam pleasant dreams
23:12 * PerlJam takes kids elsewhere for a bit
23:15 mberends flussence: would you consider switching to SVG format? It would be an initial step backwards to go forwards, but there are many benefits. Perl 6 emitters, for example.
23:16 flussence SVG is already doable, I only put PNG in there because Github won't display the svg files
23:16 mberends flussence++: excellent!
23:17 flussence (just run `perl draw_graph.pl svg` in there, the format-specific stuff is defined on line 46-ish)
23:19 jaldhar joined #perl6
23:20 jevin joined #perl6
23:24 TimToady phenny: tell masak "receptible" and "pund", unless they were punned.
23:24 phenny TimToady: I'll pass that on when masak is around.
23:34 Psyche^ joined #perl6
23:44 cognominal nom: grammar is HLL::Grammar
23:44 p6eval nom 2742f6: OUTPUT«===SORRY!===␤Unable to parse $*PKGDECL definition at line 1, near "HLL::Gramm"␤»
23:45 cognominal nom: grammar A is HLL::Grammar
23:45 p6eval nom 2742f6: OUTPUT«===SORRY!===␤No applicable candidates found to dispatch to for 'trait_mod:<is>'. Available candidates are:␤:(Attribute $attr, Any $rw)␤:(Attribute $attr, Any $readonly)␤:(Routine $r, Any $rw)␤:(Parameter $param, Any $readonly)␤:(Parameter $param, Any $rw)␤:(Parameter …
23:55 Tene joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo