Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-09-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:04 Celelibi joined #perl6
00:09 benabik joined #perl6
00:16 larks joined #perl6
00:20 jnthn morning o/
00:20 phenny jnthn: 25 Sep 18:45Z <[Coke]> ask jnthn how to run a QAST CompUnit in a standalone NQP program when you're testing QAST.
00:21 jnthn [Coke]: See t/qast/qast.t which has code you can take
00:27 TimToady o/
00:32 daniel-s_ joined #perl6
00:40 mdupont joined #perl6
00:45 * japhb has now had the experience of submitting a functionality patch for a project written in a language he doesn't actually know
00:45 felher 'night, #perl6 :)
00:58 anuby joined #perl6
01:16 [Coke] jnthn++ for putting up with my questions.
01:16 hypolin joined #perl6
01:22 [Coke] ok, I have a standalone qast that is compilable and does what I need. now to figure out why the thousands of lines of nqp aren't working. ;)
01:23 thou joined #perl6
01:32 FROGGS_ joined #perl6
01:34 kst joined #perl6
01:36 flightrecorder joined #perl6
01:37 TaylorBaby1985 joined #perl6
01:57 gootle joined #perl6
02:07 tokuhiro_ joined #perl6
02:49 thou joined #perl6
02:54 Targen joined #perl6
03:07 Maddingue joined #perl6
03:07 bruges joined #perl6
03:09 popl joined #perl6
03:28 japhb jnthn++ # QAST docs
03:28 japhb More please!  ;-)
03:35 thou joined #perl6
03:48 japhb sorear, why doesn't niecza compile the setting when you `make`?
03:48 japhb Or is there a different make invocation now that I should use instead?
03:48 sorear japhb: it does, but niecza by default can't find the setting you just compiled
03:48 japhb Oops
03:49 sorear if you run niecza without arguments it assumes it is in installation mode and puts all its writable data in $HOME
04:03 am0c joined #perl6
04:47 kaleem joined #perl6
04:50 renormalist joined #perl6
05:05 drbean joined #perl6
05:20 sorear phenny: tell moritz irclog.perlgeek.de has seemed very slow the past day or two, is something up?
05:21 phenny sorear: I'll pass that on when moritz is around.
05:24 birdwindupbird joined #perl6
05:25 moritz sorear: the whole server has seemed slow the past few days
05:25 phenny moritz: 05:20Z <sorear> tell moritz irclog.perlgeek.de has seemed very slow the past day or two, is something up?
05:26 moritz good morning
05:32 GlitchMr joined #perl6
05:33 thou_ joined #perl6
05:35 GlitchMr .tell sirrobert or * + * for the anonymous function you want
05:35 GlitchMr phenny: tell sirrobert or * + * for the anonymous function you want
05:35 phenny GlitchMr: I'll pass that on when sirrobert is around.
05:41 diakopter std: *****************************
05:41 p6eval std 77327a4: OUTPUT«ok 00:00 42m␤»
05:42 diakopter rn: *****************************
05:42 p6eval rakudo 16f22b: OUTPUT«===SORRY!===␤HyperWhatever (**) is not yet implemented. Sorry. ␤at /tmp/fXzV2TfSMR:1␤»
05:42 p6eval ..niecza v22-3-g9840f57:  ( no output )
05:42 diakopter n: say *****************************()
05:42 p6eval niecza v22-3-g9840f57: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤  at Niecza.StashCursor.Core (System.String key, Boolean final, Niecza.StashCursor& sc, Niecza.Variable& v, Niecza.Variable bind_to) [0x00000] in <filen…
05:42 diakopter whee; nieczabug
05:44 sorear n: say **
05:44 p6eval niecza v22-3-g9840f57: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤  at Niecza.StashCursor.Core (System.String key, Boolean final, Niecza.StashCursor& sc, Niecza.Variable& v, Niecza.Variable bind_to) [0x00000] in <filen…
05:44 sorear n: **
05:44 p6eval niecza v22-3-g9840f57: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤  at Niecza.StashCursor.Core (System.String key, Boolean final, Niecza.StashCursor& sc, Niecza.Variable& v, Niecza.Variable bind_to) [0x00000] in <filen…
05:44 sorear n: *
05:45 p6eval niecza v22-3-g9840f57:  ( no output )
05:45 diakopter sorear++ golfo
05:45 sorear should just print something to the effect of "HyperWhatever NYI"
05:46 diakopter n: say *****************************; # why is this ok
05:46 p6eval niecza v22-3-g9840f57: OUTPUT«{ ... }␤»
05:47 sorear n: -> $x { ** }
05:47 p6eval niecza v22-3-g9840f57: OUTPUT«Potential difficulties:â�¤  $x is declared but not used at /tmp/ehGqO53UZE line 1:â�¤------> [32m-> [33mâ��[31m$x { ** }[0mâ�¤â�¤Â»
05:47 sorear diakopter: I guess currying means that the ** is not actually executed
05:47 sorear n: say '*****************************'.chars
05:47 p6eval niecza v22-3-g9840f57: OUTPUT«29␤»
05:48 sorear 7*4+1, that's 7 HyperWhatever, 7 infix:<**>, and 1 Whatever
05:48 sorear the Whatever prevents execution
05:48 Targen joined #perl6
05:51 sorear OT: what are the well-supported Perl 5 module build/metadata tools these days?
05:51 sorear like what I used Module::Install for five years ago
05:53 doy dist::zilla
05:55 sorear heh
06:02 stepnem joined #perl6
06:10 diakopter r: say X.WHAT # what is X2
06:10 p6eval rakudo 16f22b: OUTPUT«X()␤»
06:10 diakopter r: say X.WHAT # what is X
06:10 p6eval rakudo 16f22b: OUTPUT«X()␤»
06:12 diakopter r: X XX X
06:12 p6eval rakudo 16f22b:  ( no output )
06:15 stepnem joined #perl6
06:18 sorear diakopter: X is a package object
06:19 sorear r: X.WHO.<NYI>.new(feature => "HyperWhatever").throw
06:19 p6eval rakudo 16f22b: OUTPUT«HyperWhatever is not yet implemented. Sorry. ␤  in block  at /tmp/UIy1xRNaDx:1␤␤»
06:24 anusha joined #perl6
06:25 anusha joined #perl6
06:47 flightrecorder joined #perl6
06:49 FROGGS joined #perl6
06:51 FROGGS good morning
06:53 fhelmberger joined #perl6
06:55 sorear good morning FROGGS
07:22 brrt joined #perl6
07:28 mdupont joined #perl6
07:33 Psyche^ joined #perl6
07:39 c1sung joined #perl6
07:53 chinaxing joined #perl6
07:54 PZt joined #perl6
07:57 dalek Perlito: 2c9a199 | (Flavio S. Glock)++ | / (2 files):
07:57 dalek Perlito: Perlito5 - js3 - fix @_
07:57 dalek Perlito: review: https://github.com/fglock/Perlito/commit/2c9a19951f
08:05 wamba joined #perl6
08:20 brrt left #perl6
08:21 brrt joined #perl6
08:28 daxim joined #perl6
08:37 mdupont joined #perl6
08:38 dakkar joined #perl6
08:48 dalek niecza: 9acb21f | sorear++ | lib/ (3 files):
08:48 dalek niecza: STable knows own setting, more Top removal
08:48 dalek niecza: review: https://github.com/sorear/niecza/commit/9acb21f322
08:48 dalek niecza: 219f822 | sorear++ | lib/ (2 files):
08:48 dalek niecza: Refactor Frame to always have a valid sub
08:48 dalek niecza: review: https://github.com/sorear/niecza/commit/219f822dee
08:50 thou joined #perl6
08:55 masak mo ning, #perl6
08:55 moritz \o masak
08:56 * masak notices with interest that his brain helpfully fills in an 'r' between 'mo' and 'ning'...
08:59 leont joined #perl6
09:03 sorear o/ masak
09:14 dalek niecza: 9e5350d | sorear++ | / (4 files):
09:14 dalek niecza: Top removal: JSYNC, Bool boxing, some list bits; unrot JSYNC class support
09:14 dalek niecza: review: https://github.com/sorear/niecza/commit/9e5350d8b5
09:16 sorear sleep&
09:22 masak SWADOL[Niecza improvements]
09:24 moritz what does the L stand for?
09:26 masak "Large".
09:27 masak seems the "sleep well and dream of" meme has its roots in a movie that both [Coke] and I have seen, and that you should watch too.
09:28 moritz which movie?
09:28 masak http://www.imdb.com/title/tt0093779/
09:28 masak really a tropefest like few others.
09:29 moritz ooh, I know the music
09:29 moritz it's by Mark Knopfler
09:29 masak "Rodents Of Unusual Size? I don't think they really exist." <gets attacked by one>
09:30 * moritz makes a mental note to obtain the movie
09:31 dalek Perlito: 30ca26b | (Flavio S. Glock)++ | TODO-perlito5:
09:31 dalek Perlito: Perlito5 - TODO - add error report
09:31 dalek Perlito: review: https://github.com/fglock/Perlito/commit/30ca26b0da
09:32 masak you won't regret it, I think.
09:32 masak "Hello. My name is Inigo Montoya. You killed my father. Prepare to die."
09:32 daxim ewww, it's got kissing in it.
09:33 tadzik gross
09:33 masak I guess it does. but I don't especially remember any kissing, so it must be explipsed by all the other things in the movie :)
09:33 masak eclipsed*
09:34 masak by the way, is Eclipse called that because when you start it, the lights dim in the rest of the house? :P
09:34 moritz masak: I guess because they wanted to conquer Sun
09:35 moritz now they should call it 'well', because an Oracle can fall into a well
09:35 moritz :-)
09:35 masak :D
09:35 masak I thought it was philosophers that fell into wells.
09:36 masak Oracles are more likely to be tarred and feathered, or to have their eyes poked out.
09:36 daxim warning: do not look into stick with remaining eye
09:37 masak *lol*
09:37 masak I want to spend the rest of my life in the company of people smart enough to produce snowclones on existing memes.
09:40 * moritz wonders when Ronja will start doing that
09:41 masak the thought is dizzying.
09:41 moritz speaking of her, she usually communicates with single words or two-word-sentences
09:41 birdwindupbird joined #perl6
09:41 moritz but sometimes she surprises us with fully formed sentences
09:41 moritz one she surely picked up verbatim, "willst du noch mehr haben?"
09:41 masak moritz: I remember when my nepwhew did two-word sentences. that was cool to observe.
09:42 moritz but one she must have crafted on her own: "Papa, da ist die Nase!"
09:42 masak :P
09:42 moritz it's amazing how expressive you can be with one or two words, if that's all you have
09:42 kresike joined #perl6
09:42 kresike hello all you happy perl6 people
09:43 masak moritz: at one point, he wanted to express the absence of a dog in some context. so he said first "inte hund" and then "hund inte". which I found interesting from a language development perspective.
09:43 moritz \o kresike
09:43 masak hello happy kresike! \o/
09:43 masak moritz: we could all learn from that two-word expressivity.
09:43 moritz is sv:inte the same as no:ikke?
09:43 masak moritz: yeah, we are the ones diverged on that 'un.
09:44 daxim masak, I wonder whether you knew about the website TMOL, a prototypical q&a-site (modeled after http://enwp.org/Conversatron and the like), but with its unique blend of video games, oughties' pop culture and buddhism, the answers snocloned quite a bit
09:44 moritz btw Ronja recognizes herself in the mirror, but doesn't yet have a word for herself
09:45 masak daxim: I didn't know about it. thank you.
09:47 masak &
11:00 M_o_C joined #perl6
11:03 cognominal joined #perl6
11:05 Su-Shee_ joined #perl6
11:09 Targen joined #perl6
11:13 moritz Su-Shee++ # always really good, funny links in the twitter feed
11:14 Su-Shee moritz: I need my laugh per day and I like good cartoons of all kinds :)
11:14 Su-Shee moritz: did you see my ultimate hug picture a few days ago? I pasted it here :)
11:14 moritz Su-Shee: yes, I did
11:15 moritz Su-Shee: just now I've reposted the "life of a software engineer" to two other channels :-)
11:15 Su-Shee *hihi*
11:15 moritz http://www.bonkersworld.net/images/2011.11.15_life_of_a_swe.png # for reference
11:26 cognominal joined #perl6
12:04 chinaXing joined #perl6
12:27 dalek Perlito: e8d1c6d | (Flavio S. Glock)++ | / (2 files):
12:27 dalek Perlito: Perlito5 - js3 - fix join()
12:27 dalek Perlito: review: https://github.com/fglock/Perlito/commit/e8d1c6dca5
12:32 chinaXing joined #perl6
12:41 [Coke] Su-Shee: my family loved that hug pic. Thanks. ;)
12:42 PacoAir joined #perl6
12:52 Tanktalus joined #perl6
12:54 PacoAir joined #perl6
12:58 PacoAir joined #perl6
13:01 dayangkun joined #perl6
13:03 yarp joined #perl6
13:17 bluescreen10 joined #perl6
13:33 bbkr joined #perl6
13:33 benabik joined #perl6
13:33 skids joined #perl6
13:41 mucker joined #perl6
13:41 xinming joined #perl6
13:54 * [Coke] ponders a ③rd cup of coffe.
13:56 stopbit joined #perl6
13:56 * brrt disadvises 3 cups
13:56 brrt not really dangerous in itself, but bad for sleep
13:57 brrt and the effects on the sympathetic nervous system are... vague
13:57 timotimo almost every person who ever did coffee has died, so ...
13:58 brrt :-)
14:00 [Coke] brrt: it's a choice between coffee or coke zero. the caffiene isn't going to change.
14:00 * [Coke] switches to his namesake.
14:01 [Coke] *caffeine
14:01 brrt well, if it doesn't matter it doesn't matter
14:01 * sevvie snorts some ground coffee beans.
14:03 flightrecorder joined #perl6
14:06 * Su-Shee added sugar and butter to the caffein intake. ;)
14:06 [Coke] ow.
14:06 [Coke] ... butter!?
14:06 Su-Shee [Coke]: yes. cookies. :)
14:06 [Coke] oh, I thought it was a single thing with sugar, butter, AND caffeine!
14:07 Su-Shee [Coke]: I could do that, too. Mokka truffles for example.
14:11 sevvie o.o That sounds delicious.
14:11 tokuhiro_ joined #perl6
14:14 Su-Shee easy. cook a lot of espresso with the cream before you add it to the truffle ganache. if you like, you can also crunch coffeebeans and caramlize them and add those too.
14:14 GlitchMr joined #perl6
14:15 Su-Shee tea truffle made accordingly, just don't add caramelized tea leaves ;)
14:15 moritz sounds like something that'll keep me awake the whole night if I eat one at tea time :/
14:15 FROGGS joined #perl6
14:16 Su-Shee moritz: no, you won't get that much caffeine out of it, one or two truffles would be fine. just don't eat a handful and don't add crunched coffeebeans, those are really dangerous :)
14:26 leprevost joined #perl6
14:28 stopbit joined #perl6
14:32 crab2313 joined #perl6
14:34 cognominal joined #perl6
14:35 kaleem joined #perl6
14:38 leont joined #perl6
14:52 kaleem joined #perl6
14:53 cognominal joined #perl6
14:54 MayDaniel joined #perl6
14:56 chinaXing left #perl6
15:00 benabik_ joined #perl6
15:01 cognominal joined #perl6
15:04 kresike bye folks
15:04 steven_ joined #perl6
15:28 kaare_ joined #perl6
15:31 thou joined #perl6
15:36 bluescreen10 joined #perl6
15:49 wamba joined #perl6
15:54 pmichaud good morning, #perl6
15:55 diakopter hi
15:55 felher o/
15:56 jnthn o/ pmichaud
15:56 jnthn heh, it's sleep time here :)
15:56 pmichaud jnthn: well, that's what you get for being on the wrong side of the world again.  :-P
15:57 jnthn Yeah, but this side is from the future :P
15:58 pmichaud Meh, the future isn't what it used to be.
15:59 jnthn It was at least tasty this evening... :)
16:00 * pmichaud works on 2012.09 star release.
16:00 jnthn \o/
16:00 jnthn I've got some local patches towards getting capture ~~ signature working.
16:00 pmichaud \o/
16:00 jnthn Will maybe finish 'em up tomorrow.
16:00 zby_home joined #perl6
16:01 brrt left #perl6
16:01 jnthn Anyways, sleep... &
16:04 dalek star: 3d6c3a4 | pmichaud++ | modules/ (10 files):
16:04 dalek star: Update submodules to latest commits ("git pull origin master").
16:04 dalek star: review: https://github.com/rakudo/star/commit/3d6c3a4452
16:04 dalek star: 0474ace | pmichaud++ | tools/star/Makefile:
16:04 dalek star: Makefile updates for 2012.09 release.
16:04 dalek star: review: https://github.com/rakudo/star/commit/0474ace750
16:04 am0c joined #perl6
16:07 dalek star: 67cc1c0 | pmichaud++ | tools/star/release-guide.pod:
16:07 dalek star: Add information about updating submodules.
16:07 dalek star: review: https://github.com/rakudo/star/commit/67cc1c0820
16:11 masak dang, I missed jnthn :)
16:11 masak he's going to sleep really early. it's almost like he's in East Asia or something.
16:12 cognominal joined #perl6
16:13 dalek star: 27a8b20 | pmichaud++ | docs/announce/2012.09:
16:13 dalek star: Add draft release announcement for 2012.09 .
16:13 dalek star: review: https://github.com/rakudo/star/commit/27a8b2028b
16:14 dalek star: 263648e | pmichaud++ | README:
16:14 dalek star: Bump release number in README.
16:14 dalek star: review: https://github.com/rakudo/star/commit/263648e014
16:17 leont He wouldn't go there, he hates traveling :-p
16:21 masak yeah, true. jnthn hardly ever travels. nor does he like beer.
16:27 Vlavv_ joined #perl6
16:31 Hugh_ joined #perl6
16:33 crab2313 joined #perl6
16:36 benabik_ joined #perl6
16:36 cognominal joined #perl6
16:45 flightrecorder joined #perl6
16:47 ggoebel joined #perl6
16:48 ggoebel perl6: 'o/'.say
16:48 p6eval rakudo 16f22b, niecza v22-6-g9e5350d: OUTPUT«o/␤»
16:52 cognominal joined #perl6
16:52 FROGGS joined #perl6
16:53 not_gerd joined #perl6
16:55 not_gerd could someone please run https://github.com/perl6/perl6-examples/blob/master/shootout/k-nucleotide.p6.pl on an up-to-date Parrot/Rakudo?
16:55 not_gerd I've got some kind of Bohr bug going on - it switches unpredictably between wrking and not working...
16:57 masak not_gerd: why do you $line.subst(/\n/,'')? do you expect lines read using $*IN.get to contain newlines?
16:58 masak also, you seem to declare @keys and $frame_size on line 21 but never use them.
16:59 not_gerd masak: dcarrera++ wrote that code 3 years ago, wasn't me ;)
16:59 masak ah. :)
16:59 not_gerd I did update some of the benchmrks, though...
16:59 masak $lines on line 10 is unused, too.
16:59 not_gerd anyway, that file used to run, and now it doesn't
16:59 masak :/
17:00 not_gerd at least not consistently - every few tries, it sometimes works
17:00 not_gerd no idea if my system is to blame or someone introduced a regression
17:02 * not_gerd tries again with --gen-parrot - will take a while
17:04 benabik joined #perl6
17:08 masak from https://en.wikiquote.org/wiki/Linus_Torvalds#1991 -- "The Hurd 0.0 was released in August 1996 and as of 2011, is still not complete."
17:09 masak we need a name for the fallacy of "is still not complete".
17:09 masak because, as we all know, the nice thing about Linux is that it is complete and that people have stopped improving it. :P
17:09 FROGGS GNU Hurd still today is W.I.P, maybe even R.I.P
17:09 FROGGS hehe
17:09 masak I'm not disagreeing.
17:10 masak I just think the "is still not complete" description is low-bandwidth enough to be positively misleading.
17:10 masak just as it is with Perl 6.
17:10 FROGGS ya, about Perl 6 I'd say the improvement is going on
17:11 masak I rush to add that I think there are a lot of things Perl 6 doesn't do well enough yet for people to consider it ready for them.
17:11 masak we need to identify those areas and focus on them.
17:11 masak I think we at least partially are succeeding in doing that.
17:11 not_gerd see http://news.ycombinator.com/item?id=4576487 ;)
17:12 FROGGS masak: the major problem IMO is that it is so damn slow
17:13 FROGGS If I had to replace my SOAP stuff at work using perl6, I guess it will be at least 20 times slower, even if it was precompiled
17:13 masak not_gerd: I would agree more with "is not a very good marketing tactic", if I hadn't seen a number of big Perl 5 names come around to Perl 6 and start considering it seriously recently.
17:13 FROGGS the second major thing is the lack of important modules
17:13 masak FROGGS: yeah. speed is an ongoing concern.
17:14 masak and we absolutely *need* good Perl 5 integration. that will be a watershed thing.
17:15 masak oh, I suspected this thread would be found under the "Python is doing just fine" article ;)
17:15 [Coke] masak: are you suggesting that Hurd is a useful and usable toolset? (and used?)
17:15 not_gerd masak: I mainly posted that because I just read it a few minutes ago, not because I share that opinion
17:15 masak I don't think it's a proper use of frames to give a post that title. the comments seem to corroborate that. "You know what? The very fact that you are having to write this post means Python isn't doing just fine."
17:15 not_gerd incidentally, the thread is about *Python* not being dead
17:16 * not_gerd fails at reading before writing
17:16 masak [Coke]: no! I just have an unhealthy researcher-like interest in other long, drawn-out development efforts that a smallish number of people keep contributing to.
17:17 ggoebel joined #perl6
17:17 spider-mario joined #perl6
17:18 masak [Coke]: the Hurd was *probably* killed off by the advent of Linux. I consider the likelihood that it'll play any major role in the future very, very low.
17:18 masak it could also be that microkernels are actually worse than monolithic kernels, in practice, even though they look more pure on paper.
17:19 masak that seems to be what Linus argued against Tannenbaum back in the day.
17:19 masak but I'm not actually savvy enough to weigh in on that.
17:20 masak not_gerd: well, both Mystery Science^W^WPython 3k and Perl 6 are "failures" each in their own way, on different scales. both may still prove to be influential.
17:21 leprevost joined #perl6
17:21 masak saying "Python is doing just fine" is a bit like saying "There is absolutely no cause for concern". :)
17:22 [Coke] masak: like my HR rep saying "This doesn't mean we're looking at a headcount reduction"
17:22 doy it is a nice contrast to the constant flow of "perl is dead"/"perl is not dead" articles from a couple years ago
17:22 doy (:
17:23 masak [Coke]: man, "headcount reduction" sounds like you wanted to make "firing people" sound like "chopping off people's heads".
17:24 masak doy: it's Python's turn not to be dead. :P
17:24 * masak pre-empts all "pining for the fjords" jokes
17:24 not_gerd that's appropriate for Parrot as well...
17:24 Su-Shee well once there was tcl and mostly perl and now we share the realm with perl, python, ruby and recently javascript..
17:25 masak Tanenbaum*
17:26 pmichaud I'm getting module errors in the star tarball.
17:26 not_gerd popular languages don't really die, they just find their niche and continue in zombie-mode
17:26 not_gerd even COBOL and Fortran are still around
17:27 pmichaud https://gist.github.com/3789352  # errors from "make modules-test"
17:27 pmichaud looks like failures in perl6-lwp-simple and panda
17:29 aloha joined #perl6
17:29 pmichaud release candidate (containing module errors) at http://pmichaud.com/sandbox/rakudo-star-2012.09-rc1.tar.gz
17:29 masak &
17:32 pmichaud Looks like there are a couple of "Obsolete use of | or \ with sigil on param $" warnings in the rakudo-debugger, too.
17:34 sjohnson joined #perl6
17:37 benabik_ joined #perl6
17:37 benabik_ joined #perl6
17:42 ggoebel joined #perl6
17:48 not_gerd k-nucleotide from perl6-example/shootout still fails for me using a --gen-parrot Rakudo
17:52 mikemol joined #perl6
17:59 thou joined #perl6
18:02 not_gerd bye, #perl6
18:02 not_gerd left #perl6
18:14 sorear good * #perl6
18:19 stopbit joined #perl6
18:24 GlitchMr std: say join ' ', <*.jpg>
18:24 p6eval std 77327a4: OUTPUT«ok 00:00 43m␤»
18:26 sjohnson joined #perl6
18:28 spanner joined #perl6
18:29 GlitchMr std: eval { print 42 }
18:30 p6eval std 77327a4: OUTPUT«ok 00:00 42m␤»
18:42 cognominal joined #perl6
18:43 dalek Perlito: a185d00 | (Flavio S. Glock)++ | / (3 files):
18:43 dalek Perlito: Perlito5 - js3 - use exists() method
18:43 dalek Perlito: review: https://github.com/fglock/Perlito/commit/a185d00618
18:47 masak I find Bret Victor's ideas fascinating, and I want to subscribe to his newsletter: http://worrydream.com/LearnableProgramming/
18:48 spanner left #perl6
18:56 PerlJam masak: you saw his light-table stuff?
18:56 masak I saw the talk where he applied his ideas to all kinds of things, if that's what you mean.
18:58 cognominal joined #perl6
19:00 dalek Perlito: b5576f2 | (Flavio S. Glock)++ | / (3 files):
19:00 dalek Perlito: Perlito5 - js3 - use fetchsize() method
19:00 dalek Perlito: review: https://github.com/fglock/Perlito/commit/b5576f2f9f
19:02 popl joined #perl6
19:06 masak I'd like to bring discussion of https://github.com/perl6/specs/issues/24 onto the channel.
19:06 masak I've already expressed my opinion in the comments of that issue.
19:06 masak interested what others think.
19:08 moritz I'd like to mention that Bool is an Enum too
19:08 moritz if all enum elements should be True in boolean contenxt, that would be very bad for False
19:08 masak heh :)
19:09 masak I agree. I didn't think of that case because I think it's more fundamental than that.
19:09 geekosaur I would think random enums should not have Bool instances.  Bool itself should, obviously
19:09 masak geekosaur: sorry, what?
19:10 moritz that said, I can see why the current state of affairs could be seen as LTA
19:10 masak "have Bool instances"?
19:10 moritz maybe we should make enuma values start with 42 (or 1 or so)
19:10 FROGGS If someone starts a vote, I vote for the current (C-like) implementation, the first enum (if it is zero) should be treated as false
19:10 FROGGS moritz: can I declare another start value like in C?
19:10 masak moritz: I think sirrobert is arguing for making his preferred use case (so = defined) the default.
19:10 moritz FROGGS: sure
19:11 sorear I have a gut feeling that the currnent impl is just a little bit too magical
19:11 masak moritz: (and I don't like that)
19:11 moritz r: enum A (b => 42, <c d e>); say A.enums.perl
19:11 p6eval rakudo 16f22b: OUTPUT«===SORRY!===␤Method 'returns' not found for invocant of class 'Parcel'␤»
19:11 FROGGS good, so somebody who wants to use 'so' to check for definedness should use enums starting with 1
19:11 moritz rakudobug
19:11 geekosaur hm, wait, this is perl6.  I'm misremembering what else boolifies automatically though; if other types do, then enums probably should
19:11 moritz r: enum A (b => 42, 'c', 'd', 'e'); say A.enums.perl
19:11 p6eval rakudo 16f22b: OUTPUT«("b" => 42, "c" => 43, "d" => 44, "e" => 45).hash␤»
19:11 FROGGS very good
19:12 FROGGS r: enum A (b => 42, 'c', 'd' => 77, 'e'); say A.enums.perl
19:12 p6eval rakudo 16f22b: OUTPUT«===SORRY!===␤Method 'returns' not found for invocant of class 'Pair'␤»
19:12 FROGGS r: enum A (b => 42, 'c', d => 77, 'e'); say A.enums.perl
19:12 p6eval rakudo 16f22b: OUTPUT«("b" => 42, "c" => 43, "d" => 77, "e" => 78).hash␤»
19:12 FROGGS good
19:13 masak moritz: shall I submit the above as a rakudobug?
19:13 masak r: enum A (b => 42, <c d e>)
19:13 p6eval rakudo 16f22b: OUTPUT«===SORRY!===␤Method 'returns' not found for invocant of class 'Parcel'␤»
19:13 masak looks like something that oughta work.
19:13 moritz masak: please submit
19:13 sorear masak: and it clearly should not fail like that
19:13 * masak submits
19:13 moritz I think I know how to fix it, though jnthn might not like the fix. sorear will though :-)
19:14 sorear masak: I think it's trying to treat a parcel as QAST node
19:14 masak moritz: you have too much knowledge of the internals of our implementors :P
19:14 * sorear is curious :-)
19:14 sorear theoretically you should be able to do enum A < :b<42> c d e >
19:14 sorear might need to use «» instead
19:15 masak yes, I think it does.
19:15 sorear n: say val(':b<42>')
19:15 p6eval niecza v22-6-g9e5350d: OUTPUT«:b<42>␤»
19:15 sorear n: say val(':b<42>').WHAT
19:15 p6eval niecza v22-6-g9e5350d: OUTPUT«Str()␤»
19:15 moritz masak: the fix is to call $*W.compile_time_evaluate on the expression, instead of trying to obtain the return values from the AST
19:15 masak moritz: sounds sane to me.
19:15 moritz and doing some kind of half-baked constant folding, as we do now
19:15 moritz s/and/instead/
19:16 moritz but last time I did that for some values, jnthn didn't like the approach
19:16 moritz whereas sorear uses it in niecza for a variety of cases already
19:16 moritz so, that's what my quasi-cryptic statement was about :-)
19:18 masak all noted in the rakudobug ;)
19:18 Tene http://worrydream.com/LearnableProgramming/ -- another great article from Bret Victor
19:18 cognominal joined #perl6
19:18 masak Tene: I beat you to it ;)
19:19 Tene :D
19:19 masak <masak> I find Bret Victor's ideas fascinating, and I want to subscribe to his newsletter: http://worrydream.com/LearnableProgramming/
19:19 moritz don't beat a dead hor... oh wait
19:24 thou joined #perl6
19:26 masak but yeah, Bret Victor gets dupes on the channel because he has really good points.
19:26 masak when I read this one (and sometimes with other things), I wonder how well his ideas would scale.
19:27 masak I guess that's the big challenge, and the reason we don't already have more of what he's proposing.
19:30 Tene That's exactly what I was thinking; these microexamples are nice, but I'm having trouble thinking of their applicability to any programming I've done recently.
19:30 masak there's another point which bothers me about it.
19:31 masak it's not scale so much as concreteness.
19:31 masak in order to get as good visualisations as he gets, you can't stray very far from being very concrete and un-generalized.
19:31 masak and sometimes you want to abstract over, say, a coordinate or a color.
19:32 masak his examples never do that, mostly because they can't. they're all loops and the like in mainline code.
19:33 benabik joined #perl6
19:34 birdwindupbird joined #perl6
19:35 Tene Although, the title *is* "Learnable Programming"
19:35 masak indeed. and the ideas are still interesting as such.
19:39 cognominal Perl 6 as a "natural" language is not optimized for learnability. So any thought about making an environment to make Perl 6  learnable is good. Even if learning a language is different from learning to programming. On the other hand, one needs a language to program.
19:39 moritz cognominal: Perl 6 is very much optimized for learnability
19:39 GlitchMr say 'Hello, world!';
19:39 GlitchMr It's easy to learn
19:39 GlitchMr Compare "Hello, world!" in COBOL or Java
19:40 GlitchMr You don't have to describe types.
19:40 GlitchMr You don't have to use MAIN sub
19:40 GlitchMr All you do is just type statement
19:40 GlitchMr And it just works.
19:40 GlitchMr Isn't it easy to use/
19:40 GlitchMr ?
19:41 Tene "easy to use" is very different from "optimized for learnability"
19:41 cognominal I have not a TimToady quote ready but learnability comes second to expressivity.
19:42 Tene Perl 6 is optimized for people who know the language first
19:43 GlitchMr Yeah... surely if you know let's say Python, learning Perl 6 is easier
19:43 Tene The goal is to have a great tool; if you make sacrifices to optimize for someone's first few days using the language, they're going to keep paying that cost for the entire rest of their use of the language.
19:43 Tene There are *also* plenty of considerations for new users, but experienced users tend to take priority, from what I've seen.
19:43 GlitchMr Why they would pay that cost for the entire rest of their use of that language?
19:44 GlitchMr And what those "sacrifices" are?
19:44 GlitchMr I surely don't think that *%*@!%(@!&*^(!^*!*@%* being syntax error would be harmful
19:44 GlitchMr std: *%*@!%(@!&*^(!^*!*@%*
19:44 p6eval std 77327a4: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Confused at /tmp/lxUoaAXepe line 1:â�¤------> [32m*%*[33mâ��[31m@!%(@!&*^(!^*!*@%*[0mâ�¤    expecting any of:â�¤ POSTâ�¤   infix or meta-infixâ�¤    infixed functionâ�¤       postcircumfixâ�¤  postfixâ�¤        postfix_prefix_meta_operatorâ�¤   postopâ�¤ statement
19:44 p6eval ..modifier l…
19:44 Tene I don't have a reference for an actual description of this policy, it's just what I've seen from conversations here
19:45 Tene GlitchMr: they're not directly opposing forces, just different priorities in optimization.
19:45 cognominal Tene: "experienced users tend to take priority". Agreed, but that's why we end up with PHP. People growing with a brain dead language for fear of learning what is there.
19:45 GlitchMr Tene: Perl 6 makes it easy to make good programs
19:45 GlitchMr When you know language, that is
19:46 sorear I am amazed by the variety of opinions on #24
19:46 GlitchMr Let's say you have BASIC background
19:46 GlitchMr He could even use gotos
19:46 GlitchMr And yes, Perl 6 allows him to use that rope
19:46 GlitchMr It's rarely neccessary, but it's there when you need it
19:46 sorear GlitchMr: perl 6 does not let you use numbers as line labels :D
19:47 GlitchMr perl6: #`(1) say 'this is line 1'
19:47 p6eval rakudo 16f22b, niecza v22-6-g9e5350d: OUTPUT«this is line 1␤»
19:47 GlitchMr It doesn't?
19:47 sorear um, that's not a label
19:47 sorear n: 1: say "this is line 1"
19:47 p6eval niecza v22-6-g9e5350d: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Illegal use of colon as invocant marker at /tmp/1CQTpU9NbT line 1:â�¤------> [32m1:[33mâ��[31m say "this is line 1"[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1437 (die @ 5) â�¤  â€¦
19:47 sorear n: foo: say "this is line foo"; goto "foo"
19:47 GlitchMr n: _1: say "this is line 1"
19:48 p6eval niecza v22-6-g9e5350d: OUTPUT«(timeout)this is line foo␤this is line foo␤this is line foo␤this is line foo␤this is line foo␤this is line foo␤this is line foo␤this is line foo␤this is line foo␤this is line foo␤this is line foo␤this is line foo␤this is line foo␤this is line foo␤this is li…
19:48 p6eval niecza v22-6-g9e5350d: OUTPUT«this is line 1␤»
19:48 GlitchMr n: "1": say "this is line 1"
19:48 p6eval niecza v22-6-g9e5350d: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Illegal use of colon as invocant marker at /tmp/hyRT_XmLvv line 1:â�¤------> [32m"1":[33mâ��[31m say "this is line 1"[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1437 (die @ 5) â�¤â€¦
19:48 masak cognominal: TimToady has said something to the effect of that we're not aiming to make Perl 6 people's first language, but people's last language :)
19:49 cognominal indeed
19:50 GlitchMr masak: After COBOL, Brainfuck, PHP 6 and Python 4
19:50 GlitchMr Am I right?
19:51 masak um.
19:51 GlitchMr It's "last language", isn't it
19:51 GlitchMr So you would have to learn Python 4 first
19:55 cognominal there is also the part about baby Perl. It is ok to talk baby Perl to begin with; evenif  that limited knowledge  does not help much to grasp "adult" programs
19:55 cognominal as much as I like haskell. There is no such things as baby haskell and monads for babies.
19:55 birdwindupbird joined #perl6
19:56 GlitchMr Prelude> (+) 3 4
19:56 GlitchMr 7
19:56 GlitchMr I can do that in Haskell
19:56 GlitchMr I really don't know how to do more
19:57 sorear 3 + 4 -- :D
20:00 cognominal on the other hand, as a grown up, it is difficult to learn language that starts with different basics. There is much unlearning in learning. Or more exactly one must know what is relevant to the context of a different language.
20:00 [Coke] r: enum Days «:Mon(1) Tue Wed Thu Fri Sat Sun »; say +Tue;
20:00 p6eval rakudo 16f22b: OUTPUT«1␤»
20:00 dalek glitchmr.github.com: 9635772 | GlitchMr++ | _posts/2012-09-23-perl-6-changes-2012W38.md:
20:00 dalek glitchmr.github.com: `cmp` can be used to compare hashes in Niecza
20:00 dalek glitchmr.github.com: review: https://github.com/GlitchMr/glitchmr.github.com/commit/9635772a70
20:00 [Coke] would the enum issue on list go away if this syntax (from the specs) worked?
20:00 [Coke] (and output 2 instead of 1) ?
20:00 moritz yes
20:01 moritz it's just that rakudo doesn't «...» smart enough yet
20:01 moritz what you can do is
20:01 moritz r: enum Days (Mon => 1, 'Tue', 'Wed'); say Tue
20:01 p6eval rakudo 16f22b: OUTPUT«Tue␤»
20:01 moritz r: enum Days (Mon => 1, 'Tue', 'Wed'); say +Tue
20:01 p6eval rakudo 16f22b: OUTPUT«2␤»
20:01 sorear [Coke]: I would still think the behavior is weird, but honestly at this point I've lost interest in fighting it
20:02 masak sorear: please be more specific.
20:02 masak (even if you've lost interest in fighting it)
20:03 sorear masak: enums other than Bool with numeric value 0 being considered false feels excessively magical to me
20:04 [Coke] on the contrary, it feels entirely logical to me.
20:04 [Coke] but then, I think of the enums as a stand in for a bunch of constants.
20:04 FROGGS C-like
20:04 rurban joined #perl6
20:05 moritz aye, that's my understanding too
20:05 moritz and the stringification to the enum name is just a bit of extra magic to make it nicer
20:06 sorear my reasoning is that 80% of the time, my enums don't actually have semantically relevant ordering
20:06 sorear enum PhaserType < INIT END BEGIN START CATCH CONTROL ... >
20:07 sorear if $some-sub.phaser { ... } # oops, this should have been .defined
20:07 masak "doctor, it hurts when I do this"
20:08 masak I can't stop people from using the language without knowing how things boolify.
20:08 moritz having a different default value than 0 would solve that problem without adding special magic
20:08 masak it would. but the default should clearly be 0.
20:08 [Coke] yah. I see no real issue in making the default start value 1.
20:08 [Coke] masak: why?
20:08 sorear it's a gratuitous sharp edge.
20:08 masak because everything else starts at 0 in Perl 6.
20:09 masak just like moritz pointed out in the Github issue.
20:09 [Coke] masak: when are you checking the numeric values of an enum?
20:09 moritz forcing people to provide a start valeu would also work
20:09 leont Why wouldn't they start with 0 but true?
20:09 masak moritz: I like that better.
20:09 [Coke] that also seems vaguely reasonable, leont.
20:10 masak leont: I think '0 but True' is basically considered a code smell at this point.
20:10 leont The numeric value shouldn't matter, even if it was randomly distributed
20:10 [Coke] r: say ?(0 but True)
20:10 moritz leont: because all uses of "but"... what masak said
20:10 p6eval rakudo 16f22b: OUTPUT«True␤»
20:10 moritz what about making the defualt value not numeric, but string?
20:10 masak '0 but True' is an idea which sounds great, if it's the year 2000, and no-one has tried it in a language :)
20:10 sorear doctor, it hurts when I step on the exposed nail in my door threshold
20:11 sorear we can either: tell people to be more careful, or: fix the problem
20:11 moritz enum A <B C > # same as enum A (B => 'B', C => 'C');
20:11 [Coke] that's not horrible.
20:11 masak sorear: I see what you're saying. I just don't consider the 0 an exposed nail in my door threshold.
20:11 masak moritz: I could live with that, I think.
20:12 masak that would force people like me who like the numbers to declare them explicitly.
20:12 moritz and if you need a numeric enum, you can always make that happen by using a first value
20:12 masak and everyone else gets their truthy strings.
20:12 leont Hmmm, that may actually make sense too
20:12 sorear but now that I've explained my position, I'd rather live with the status quo than spend more energy debating a replacement
20:12 masak that works for me, too ;)
20:16 * moritz added the default stringy suggestion to the github issue
20:16 thou joined #perl6
20:19 masak moritz++
20:21 masak I would advise patching the spec directly with the stringy suggestion... but I would like to hear if TimToady opines something first.
20:21 wamba joined #perl6
20:23 MayDaniel_ joined #perl6
20:27 fgomez joined #perl6
20:27 FROGGS moritz: I like it
20:28 ggoebel joined #perl6
20:29 skids Hrm.  In 09-rc1 there is something different going on with Failure.  For example if you include a file that has a "fail('foo')" in it, you get "get_attr_str() not implemented in class 'Failure''
20:29 skids But if it is in the mainline file, it doesn't do that.
20:31 skids Oh.  Also if you run 'my $a = fail("foo"); +$a;'  using -e onthe commandline, it throws the failure, but the same in a .pm6 file does not.
20:33 skids Hrm... it seems to abort the run at the throw, but does not print anything.
20:57 benabik_ joined #perl6
20:59 preflex joined #perl6
21:15 thou joined #perl6
21:23 Targen joined #perl6
21:24 leont joined #perl6
21:53 leont joined #perl6
22:06 kurahaupo joined #perl6
22:27 whiteknight joined #perl6
22:37 skids joined #perl6
22:57 LoRe joined #perl6
22:59 Chillance joined #perl6
23:00 masak 'night, #perl6
23:22 fgomez joined #perl6
23:24 pjcj joined #perl6
23:34 fgomez joined #perl6
23:34 mikemol joined #perl6
23:35 Targen joined #perl6
23:46 benabik joined #perl6
23:58 thou_ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo