»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:02 kst left 00:03 Celelibi left 00:04 Celelibi joined 00:06 benabik left 00:08 Chillance left 00:09 benabik joined 00:16 larks left, larks joined
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.
jnthn [Coke]: See t/qast/qast.t which has code you can take 00:21
00:23 whiteknight left
TimToady o/ 00:27
00:32 daniel-s_ joined 00:35 mdupont left, daniel-s left 00:39 PZt left 00:40 mdupont joined
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:50 thou left 00:58 anuby joined
[Coke] jnthn++ for putting up with my questions. 01:16
01:16 hypolin joined
[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:22
01:23 thou joined 01:32 FROGGS_ joined 01:34 kst joined 01:35 flightrecorder left 01:36 flightrecorder joined, FROGGS left 01:37 TaylorBaby1985 joined 01:38 TaylorBaby1985 left 01:57 gootle joined 02:07 tokuhiro_ joined 02:15 dayangkun left 02:20 thou left 02:34 tokuhiro_ left 02:49 thou joined 02:53 thou left 02:54 Targen joined 03:07 Maddingue joined, bruges left, bruges joined 03:09 popl joined
japhb jnthn++ # QAST docs 03:28
More please! ;-)
03:35 thou joined
japhb sorear, why doesn't niecza compile the setting when you `make`? 03:48
Or is there a different make invocation now that I should use instead?
sorear japhb: it does, but niecza by default can't find the setting you just compiled
japhb Oops
sorear if you run niecza without arguments it assumes it is in installation mode and puts all its writable data in $HOME 03:49
04:03 am0c joined 04:18 Targen left 04:22 renormalist left 04:47 kaleem joined 04:50 renormalist joined 05:03 drbean left 05:05 drbean joined 05:07 skids left 05:11 popl left
sorear phenny: tell moritz irclog.perlgeek.de has seemed very slow the past day or two, is something up? 05:20
phenny sorear: I'll pass that on when moritz is around.
05:24 birdwindupbird joined
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?
moritz good morning 05:26
05:32 GlitchMr joined 05:33 thou_ joined, thou left
GlitchMr .tell sirrobert or * + * for the anonymous function you want 05:35
phenny: tell sirrobert or * + * for the anonymous function you want
phenny GlitchMr: I'll pass that on when sirrobert is around.
diakopter std: ***************************** 05:41
p6eval std 77327a4: OUTPUT«ok 00:00 42m␤»
diakopter rn: ***************************** 05:42
p6eval rakudo 16f22b: OUTPUT«===SORRY!===␤HyperWhatever (**) is not yet implemented. Sorry. ␤at /tmp/fXzV2TfSMR:1␤»
..niecza v22-3-g9840f57: ( no output )
diakopter n: say *****************************()
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…
diakopter whee; nieczabug
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…
sorear n: **
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…
sorear n: *
p6eval niecza v22-3-g9840f57: ( no output ) 05:45
diakopter sorear++ golfo
sorear should just print something to the effect of "HyperWhatever NYI"
diakopter n: say *****************************; # why is this ok 05:46
p6eval niecza v22-3-g9840f57: OUTPUT«{ ... }␤»
sorear n: -> $x { ** } 05:47
p6eval niecza v22-3-g9840f57: OUTPUT«Potential difficulties:␤ $x is declared but not used at /tmp/ehGqO53UZE line 1:␤------> -> ⏏$x { ** }␤␤»
sorear diakopter: I guess currying means that the ** is not actually executed
n: say '*****************************'.chars
p6eval niecza v22-3-g9840f57: OUTPUT«29␤»
sorear 7*4+1, that's 7 HyperWhatever, 7 infix:<**>, and 1 Whatever 05:48
the Whatever prevents execution
05:48 Targen joined
sorear OT: what are the well-supported Perl 5 module build/metadata tools these days? 05:51
like what I used Module::Install for five years ago
doy dist::zilla 05:53
sorear heh 05:55
05:56 flightrecorder left, FROGGS_ left 06:02 stepnem joined 06:07 stepnem left
diakopter r: say X.WHAT # what is X2 06:10
p6eval rakudo 16f22b: OUTPUT«X()␤»
diakopter r: say X.WHAT # what is X
p6eval rakudo 16f22b: OUTPUT«X()␤»
diakopter r: X XX X 06:12
p6eval rakudo 16f22b: ( no output )
06:15 stepnem joined
sorear diakopter: X is a package object 06:18
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:22 Targen left 06:24 anusha joined 06:25 anusha left, anusha joined 06:28 hypolin left 06:47 flightrecorder joined 06:49 FROGGS joined
FROGGS good morning 06:51
06:53 fhelmberger joined
sorear good morning FROGGS 06:55
07:08 GlitchMr left 07:16 mdupont left 07:22 brrt joined 07:28 mdupont joined 07:33 Psyche^ joined 07:37 Patterner left, Psyche^ is now known as Patterner 07:39 c1sung left, c1sung joined 07:49 kurahaupo left 07:53 chinaxing joined 07:54 PZt joined 07:56 integral_ is now known as integral
dalek rlito: 2c9a199 | (Flavio S. Glock)++ | / (2 files):
Perlito5 - js3 - fix @_
07:57
08:05 wamba joined 08:20 brrt left 08:21 brrt joined 08:25 birdwindupbird left 08:28 daxim joined 08:34 mdupont left 08:37 mdupont joined 08:38 dakkar joined 08:48 thou_ left
dalek ecza: 9acb21f | sorear++ | lib/ (3 files):
STable knows own setting, more Top removal
08:48
ecza: 219f822 | sorear++ | lib/ (2 files):
Refactor Frame to always have a valid sub
08:50 thou joined 08:54 thou left
masak mo ning, #perl6 08:55
moritz \o masak
masak notices with interest that his brain helpfully fills in an 'r' between 'mo' and 'ning'... 08:56
08:59 leont joined
sorear o/ masak 09:03
dalek ecza: 9e5350d | sorear++ | / (4 files):
Top removal: JSYNC, Bool boxing, some list bits; unrot JSYNC class support
09:14
sorear sleep& 09:16
masak SWADOL[Niecza improvements] 09:22
moritz what does the L stand for? 09:24
masak "Large". 09:26
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:27
moritz which movie? 09:28
masak www.imdb.com/title/tt0093779/
really a tropefest like few others.
moritz ooh, I know the music 09:29
it's by Mark Knopfler
masak "Rodents Of Unusual Size? I don't think they really exist." <gets attacked by one>
moritz makes a mental note to obtain the movie 09:30
dalek rlito: 30ca26b | (Flavio S. Glock)++ | TODO-perlito5:
Perlito5 - TODO - add error report
09:31
masak you won't regret it, I think. 09:32
"Hello. My name is Inigo Montoya. You killed my father. Prepare to die."
daxim ewww, it's got kissing in it.
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 :)
eclipsed*
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
now they should call it 'well', because an Oracle can fall into a well 09:35
:-)
masak :D
I thought it was philosophers that fell into wells.
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
masak *lol* 09:37
I want to spend the rest of my life in the company of people smart enough to produce snowclones on existing memes.
moritz wonders when Ronja will start doing that 09:40
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
moritz but sometimes she surprises us with fully formed sentences 09:41
one she surely picked up verbatim, "willst du noch mehr haben?"
masak moritz: I remember when my nepwhew did two-word sentences. that was cool to observe.
moritz but one she must have crafted on her own: "Papa, da ist die Nase!" 09:42
masak :P
moritz it's amazing how expressive you can be with one or two words, if that's all you have
09:42 kresike joined
kresike hello all you happy perl6 people 09:42
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
masak hello happy kresike! \o/
moritz: we could all learn from that two-word expressivity.
moritz is sv:inte the same as no:ikke?
masak moritz: yeah, we are the ones diverged on that 'un.
daxim masak, I wonder whether you knew about the website TMOL, a prototypical q&a-site (modeled after 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
masak daxim: I didn't know about it. thank you. 09:45
& 09:47
10:02 chinaxing left 10:33 anuby left 10:58 am0c left 11:00 M_o_C joined 11:03 cognominal joined 11:05 Su-Shee_ joined 11:07 benabik left 11:08 Su-Shee left 11:09 cognominal left, Targen joined 11:12 Su-Shee_ is now known as Su-Shee
moritz Su-Shee++ # always really good, funny links in the twitter feed 11:13
Su-Shee moritz: I need my laugh per day and I like good cartoons of all kinds :) 11:14
moritz: did you see my ultimate hug picture a few days ago? I pasted it here :)
moritz Su-Shee: yes, I did
Su-Shee: just now I've reposted the "life of a software engineer" to two other channels :-) 11:15
Su-Shee *hihi*
moritz www.bonkersworld.net/images/2011.11..._a_swe.png # for reference
11:26 cognominal joined 11:31 cognominal left 11:47 Targen left 12:04 chinaXing joined, fgomez left 12:26 _jaldhar_ left
dalek rlito: e8d1c6d | (Flavio S. Glock)++ | / (2 files):
Perlito5 - js3 - fix join()
12:27
12:28 cggoebel left 12:31 chinaXing left 12:32 chinaXing joined 12:38 Tanktalus left
[Coke] Su-Shee: my family loved that hug pic. Thanks. ;) 12:41
12:42 PacoAir joined 12:47 anusha left 12:49 PacoAir left 12:52 Tanktalus joined 12:54 PacoAir joined 12:57 PacoAir left 12:58 PacoAir joined 13:01 dayangkun joined 13:03 yarp joined 13:04 PacoAir left 13:06 leont left 13:17 bluescreen10 joined 13:28 kaleem left 13:33 bbkr joined, benabik joined, skids joined 13:39 xinming left 13:41 mucker joined, xinming joined 13:42 fhelmberger left
[Coke] ponders a ③rd cup of coffe. 13:54
13:56 stopbit joined
brrt disadvises 3 cups 13:56
not really dangerous in itself, but bad for sleep
and the effects on the sympathetic nervous system are... vague 13:57
timotimo almost every person who ever did coffee has died, so ...
brrt :-) 13:58
14:00 wtw left
[Coke] brrt: it's a choice between coffee or coke zero. the caffiene isn't going to change. 14:00
14:00 M_o_C left
[Coke] switches to his namesake. 14:00
*caffeine 14:01
14:01 flightrecorder left
brrt well, if it doesn't matter it doesn't matter 14:01
sevvie snorts some ground coffee beans.
14:02 FROGGS left 14:03 flightrecorder joined
Su-Shee added sugar and butter to the caffein intake. ;) 14:06
[Coke] ow.
... butter!?
Su-Shee [Coke]: yes. cookies. :)
[Coke] oh, I thought it was a single thing with sugar, butter, AND caffeine!
Su-Shee [Coke]: I could do that, too. Mokka truffles for example. 14:07
14:07 dayangkun left
sevvie o.o That sounds delicious. 14:11
14:11 tokuhiro_ joined
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
14:14 GlitchMr joined
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
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:16
14:26 leprevost joined 14:27 stopbit left 14:28 stopbit joined 14:32 crab2313 joined 14:34 cognominal joined 14:35 kaleem joined 14:37 kaleem left 14:38 leont joined 14:43 cognominal left 14:52 yarp left 14:53 kaleem joined, cognominal joined 14:54 MayDaniel joined 14:56 chinaXing left 14:59 cognominal left 15:00 wamba left, benabik_ joined 15:01 cognominal joined 15:03 crab2313 left, benabik left, benabik_ is now known as benabik
kresike bye folks 15:04
15:04 kresike left, steven_ joined 15:06 cognominal left 15:07 FROGGS left, flightrecorder left 15:10 tokuhiro_ left 15:21 bluescreen10 left 15:28 kaare_ joined 15:31 thou joined 15:36 bluescreen10 joined 15:48 kaleem left 15:49 wamba joined
pmichaud good morning, #perl6 15:54
diakopter hi 15:55
felher o/
jnthn o/ pmichaud 15:56
heh, it's sleep time here :)
pmichaud jnthn: well, that's what you get for being on the wrong side of the world again. :-P
jnthn Yeah, but this side is from the future :P 15:57
pmichaud Meh, the future isn't what it used to be. 15:58
jnthn It was at least tasty this evening... :) 15:59
pmichaud works on 2012.09 star release. 16:00
jnthn \o/
I've got some local patches towards getting capture ~~ signature working.
pmichaud \o/
jnthn Will maybe finish 'em up tomorrow.
16:00 zby_home joined 16:01 brrt left
jnthn Anyways, sleep... & 16:01
dalek ar: 3d6c3a4 | pmichaud++ | modules/ (10 files):
Update submodules to latest commits ("git pull origin master").
16:04
ar: 0474ace | pmichaud++ | tools/star/Makefile:
Makefile updates for 2012.09 release.
16:04 am0c joined 16:05 mucker left
dalek ar: 67cc1c0 | pmichaud++ | tools/star/release-guide.pod:
Add information about updating submodules.
16:07
masak dang, I missed jnthn :) 16:11
he's going to sleep really early. it's almost like he's in East Asia or something.
16:12 cognominal joined
dalek ar: 27a8b20 | pmichaud++ | docs/announce/2012.09:
Add draft release announcement for 2012.09 .
16:13
ar: 263648e | pmichaud++ | README:
Bump release number in README.
16:14
leont He wouldn't go there, he hates traveling :-p 16:17
masak yeah, true. jnthn hardly ever travels. nor does he like beer. 16:21
16:27 Vlavv_ joined 16:29 Vlavv` left, cognominal left 16:31 Hugh_ joined 16:33 crab2313 joined 16:36 benabik_ joined, cognominal joined 16:38 Hugh_ left 16:39 benabik left, benabik_ is now known as benabik 16:41 cognominal left 16:45 flightrecorder joined 16:47 ggoebel joined
ggoebel perl6: 'o/'.say 16:48
p6eval rakudo 16f22b, niecza v22-6-g9e5350d: OUTPUT«o/␤»
16:52 cognominal joined, FROGGS joined 16:53 not_gerd joined
not_gerd could someone please run github.com/perl6/perl6-examples/bl...tide.p6.pl on an up-to-date Parrot/Rakudo? 16:55
I've got some kind of Bohr bug going on - it switches unpredictably between wrking and not working...
16:55 birdwindupbird left
masak not_gerd: why do you $line.subst(/\n/,'')? do you expect lines read using $*IN.get to contain newlines? 16:57
16:57 cognominal left
masak also, you seem to declare @keys and $frame_size on line 21 but never use them. 16:58
not_gerd masak: dcarrera++ wrote that code 3 years ago, wasn't me ;) 16:59
masak ah. :)
not_gerd I did update some of the benchmrks, though...
masak $lines on line 10 is unused, too.
not_gerd anyway, that file used to run, and now it doesn't
masak :/
16:59 ggoebel left
not_gerd at least not consistently - every few tries, it sometimes works 17:00
no idea if my system is to blame or someone introduced a regression
not_gerd tries again with --gen-parrot - will take a while 17:02
17:04 benabik left, benabik joined
masak from 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:08
we need a name for the fallacy of "is still not complete". 17:09
because, as we all know, the nice thing about Linux is that it is complete and that people have stopped improving it. :P
FROGGS GNU Hurd still today is W.I.P, maybe even R.I.P
hehe
masak I'm not disagreeing.
I just think the "is still not complete" description is low-bandwidth enough to be positively misleading. 17:10
just as it is with Perl 6.
FROGGS ya, about Perl 6 I'd say the improvement is going on
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
we need to identify those areas and focus on them.
I think we at least partially are succeeding in doing that.
not_gerd see news.ycombinator.com/item?id=4576487 ;)
FROGGS masak: the major problem IMO is that it is so damn slow 17:12
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.
FROGGS the second major thing is the lack of important modules
masak FROGGS: yeah. speed is an ongoing concern.
and we absolutely *need* good Perl 5 integration. that will be a watershed thing. 17:14
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?)
not_gerd masak: I mainly posted that because I just read it a few minutes ago, not because I share that opinion
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."
not_gerd incidentally, the thread is about *Python* not being dead
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 aloha left, ggoebel joined, spider-mario joined
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
it could also be that microkernels are actually worse than monolithic kernels, in practice, even though they look more pure on paper.
17:18 leprevost left, wamba left
masak that seems to be what Linus argued against Tannenbaum back in the day. 17:19
but I'm not actually savvy enough to weigh in on that.
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:20
17:20 arlinius left 17:21 leprevost joined
masak saying "Python is doing just fine" is a bit like saying "There is absolutely no cause for concern". :) 17:21
[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
(:
masak [Coke]: man, "headcount reduction" sounds like you wanted to make "firing people" sound like "chopping off people's heads". 17:23
doy: it's Python's turn not to be dead. :P 17:24
masak pre-empts all "pining for the fjords" jokes
not_gerd that's appropriate for Parrot as well...
Su-Shee well once there was tcl and mostly perl and now we share the realm with perl, python, ruby and recently javascript..
masak Tanenbaum* 17:25
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
even COBOL and Fortran are still around
pmichaud gist.github.com/3789352 # errors from "make modules-test" 17:27
17:27 dakkar left
pmichaud looks like failures in perl6-lwp-simple and panda 17:27
17:29 aloha joined
pmichaud release candidate (containing module errors) at pmichaud.com/sandbox/rakudo-star-20...rc1.tar.gz 17:29
masak &
17:32 sjohnson left
pmichaud Looks like there are a couple of "Obsolete use of | or \ with sigil on param $" warnings in the rakudo-debugger, too. 17:32
17:33 mikemol_ left 17:34 sjohnson joined 17:37 benabik_ joined, benabik left, benabik_ is now known as benabik, benabik_ joined, benabik left, benabik_ is now known as benabik 17:39 crab2313 left 17:40 ggoebel left 17:42 ggoebel joined 17:48 daxim left
not_gerd k-nucleotide from perl6-example/shootout still fails for me using a --gen-parrot Rakudo 17:48
17:52 mikemol joined 17:56 thou left 17:59 thou joined
not_gerd bye, #perl6 18:02
18:02 not_gerd left
sorear good * #perl6 18:14
18:17 ggoebel left 18:19 stopbit left, stopbit joined
GlitchMr std: say join ' ', <*.jpg> 18:24
p6eval std 77327a4: OUTPUT«ok 00:00 43m␤»
18:26 sjohnson left, sjohnson joined 18:28 spanner joined
GlitchMr std: eval { print 42 } 18:29
p6eval std 77327a4: OUTPUT«ok 00:00 42m␤» 18:30
18:42 cognominal joined
dalek rlito: a185d00 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - js3 - use exists() method
18:43
masak I find Bret Victor's ideas fascinating, and I want to subscribe to his newsletter: worrydream.com/LearnableProgramming/ 18:47
18:48 spanner left 18:50 cognominal left
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
dalek rlito: b5576f2 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - js3 - use fetchsize() method
19:00
19:02 popl joined
masak I'd like to bring discussion of github.com/perl6/specs/issues/24 onto the channel. 19:06
I've already expressed my opinion in the comments of that issue.
interested what others think.
moritz I'd like to mention that Bool is an Enum too 19:08
if all enum elements should be True in boolean contenxt, that would be very bad for False
masak heh :)
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
masak geekosaur: sorry, what?
moritz that said, I can see why the current state of affairs could be seen as LTA 19:10
masak "have Bool instances"?
moritz maybe we should make enuma values start with 42 (or 1 or so)
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
moritz: can I declare another start value like in C?
masak moritz: I think sirrobert is arguing for making his preferred use case (so = defined) the default.
moritz FROGGS: sure
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)
moritz r: enum A (b => 42, <c d e>); say A.enums.perl
p6eval rakudo 16f22b: OUTPUT«===SORRY!===␤Method 'returns' not found for invocant of class 'Parcel'␤»
FROGGS good, so somebody who wants to use 'so' to check for definedness should use enums starting with 1
moritz rakudobug
geekosaur hm, wait, this is perl6. I'm misremembering what else boolifies automatically though; if other types do, then enums probably should
moritz r: enum A (b => 42, 'c', 'd', 'e'); say A.enums.perl
p6eval rakudo 16f22b: OUTPUT«("b" => 42, "c" => 43, "d" => 44, "e" => 45).hash␤»
FROGGS very good
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 cognominal left
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␤»
FROGGS good
masak moritz: shall I submit the above as a rakudobug? 19:13
r: enum A (b => 42, <c d e>)
p6eval rakudo 16f22b: OUTPUT«===SORRY!===␤Method 'returns' not found for invocant of class 'Parcel'␤»
masak looks like something that oughta work.
moritz masak: please submit
sorear masak: and it clearly should not fail like that
masak submits
moritz I think I know how to fix it, though jnthn might not like the fix. sorear will though :-)
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
sorear is curious :-)
theoretically you should be able to do enum A < :b<42> c d e >
might need to use «» instead
masak yes, I think it does. 19:15
sorear n: say val(':b<42>')
p6eval niecza v22-6-g9e5350d: OUTPUT«:b<42>␤»
sorear n: say val(':b<42>').WHAT
p6eval niecza v22-6-g9e5350d: OUTPUT«Str()␤»
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
masak moritz: sounds sane to me.
moritz and doing some kind of half-baked constant folding, as we do now
s/and/instead/
but last time I did that for some values, jnthn didn't like the approach 19:16
whereas sorear uses it in niecza for a variety of cases already
so, that's what my quasi-cryptic statement was about :-)
masak all noted in the rakudobug ;) 19:18
Tene worrydream.com/LearnableProgramming/ -- another great article from Bret Victor
19:18 cognominal joined
masak Tene: I beat you to it ;) 19:18
Tene :D 19:19
masak <masak> I find Bret Victor's ideas fascinating, and I want to subscribe to his newsletter: worrydream.com/LearnableProgramming/
moritz don't beat a dead hor... oh wait
19:22 thou left 19:24 thou joined
masak but yeah, Bret Victor gets dupes on the channel because he has really good points. 19:26
when I read this one (and sometimes with other things), I wonder how well his ideas would scale. 19:27
I guess that's the big challenge, and the reason we don't already have more of what he's proposing.
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.
it's not scale so much as concreteness. 19:31
in order to get as good visualisations as he gets, you can't stray very far from being very concrete and un-generalized.
and sometimes you want to abstract over, say, a coordinate or a color.
his examples never do that, mostly because they can't. they're all loops and the like in mainline code. 19:32
19:32 benabik left 19:33 benabik joined 19:34 birdwindupbird joined
Tene Although, the title *is* "Learnable Programming" 19:35
masak indeed. and the ideas are still interesting as such.
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
GlitchMr say 'Hello, world!';
It's easy to learn
Compare "Hello, world!" in COBOL or Java
You don't have to describe types. 19:40
You don't have to use MAIN sub
All you do is just type statement
And it just works.
Isn't it easy to use/
?
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.
Tene Perl 6 is optimized for people who know the language first 19:42
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.
There are *also* plenty of considerations for new users, but experienced users tend to take priority, from what I've seen.
GlitchMr Why they would pay that cost for the entire rest of their use of that language?
And what those "sacrifices" are? 19:44
I surely don't think that *%*@!%(@!&*^(!^*!*@%* being syntax error would be harmful
std: *%*@!%(@!&*^(!^*!*@%*
p6eval std 77327a4: OUTPUT«===SORRY!===␤Confused at /tmp/lxUoaAXepe line 1:␤------> *%*⏏@!%(@!&*^(!^*!*@%*␤ expecting any of:␤ POST␤ infix or meta-infix␤ infixed function␤ postcircumfix␤ postfix␤ postfix_prefix_meta_operator␤ postop␤ statement
..modifier l…
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
GlitchMr: they're not directly opposing forces, just different priorities in optimization.
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.
GlitchMr Tene: Perl 6 makes it easy to make good programs
When you know language, that is
sorear I am amazed by the variety of opinions on #24 19:46
GlitchMr Let's say you have BASIC background
He could even use gotos
And yes, Perl 6 allows him to use that rope
It's rarely neccessary, but it's there when you need it
sorear GlitchMr: perl 6 does not let you use numbers as line labels :D
GlitchMr perl6: #`(1) say 'this is line 1' 19:47
p6eval rakudo 16f22b, niecza v22-6-g9e5350d: OUTPUT«this is line 1␤»
GlitchMr It doesn't?
sorear um, that's not a label
n: 1: say "this is line 1"
p6eval niecza v22-6-g9e5350d: OUTPUT«===SORRY!===␤␤Illegal use of colon as invocant marker at /tmp/1CQTpU9NbT line 1:␤------> 1:⏏ say "this is line 1"␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1437 (die @ 5) ␤ …
sorear n: foo: say "this is line foo"; goto "foo"
GlitchMr n: _1: say "this is line 1"
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
niecza v22-6-g9e5350d: OUTPUT«this is line 1␤»
GlitchMr n: "1": say "this is line 1"
p6eval niecza v22-6-g9e5350d: OUTPUT«===SORRY!===␤␤Illegal use of colon as invocant marker at /tmp/hyRT_XmLvv line 1:␤------> "1":⏏ say "this is line 1"␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1437 (die @ 5) ␤…
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 :)
cognominal indeed 19:49
GlitchMr masak: After COBOL, Brainfuck, PHP 6 and Python 4 19:50
Am I right?
masak um. 19:51
GlitchMr It's "last language", isn't it
So you would have to learn Python 4 first
19:54 birdwindupbird left
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
19:55 bluescreen10 left
cognominal as much as I like haskell. There is no such things as baby haskell and monads for babies. 19:55
19:55 birdwindupbird joined
GlitchMr Prelude> (+) 3 4 19:56
7
I can do that in Haskell
I really don't know how to do more
sorear 3 + 4 -- :D 19:57
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;
p6eval rakudo 16f22b: OUTPUT«1␤»
dalek href="https://glitchmr.github.com:">glitchmr.github.com: 9635772 | GlitchMr++ | _posts/2012-09-23-perl-6-changes-2012W38.md:
`cmp` can be used to compare hashes in Niecza
[Coke] would the enum issue on list go away if this syntax (from the specs) worked?
(and output 2 instead of 1) ?
20:00 GlitchMr left
moritz yes 20:00
it's just that rakudo doesn't «...» smart enough yet 20:01
what you can do is
r: enum Days (Mon => 1, 'Tue', 'Wed'); say Tue
p6eval rakudo 16f22b: OUTPUT«Tue␤»
moritz r: enum Days (Mon => 1, 'Tue', 'Wed'); say +Tue
p6eval rakudo 16f22b: OUTPUT«2␤»
sorear [Coke]: I would still think the behavior is weird, but honestly at this point I've lost interest in fighting it
masak sorear: please be more specific. 20:02
(even if you've lost interest in fighting it)
sorear masak: enums other than Bool with numeric value 0 being considered false feels excessively magical to me 20:03
[Coke] on the contrary, it feels entirely logical to me. 20:04
but then, I think of the enums as a stand in for a bunch of constants.
FROGGS C-like
20:04 rurban joined
moritz aye, that's my understanding too 20:05
and the stringification to the enum name is just a bit of extra magic to make it nicer
sorear my reasoning is that 80% of the time, my enums don't actually have semantically relevant ordering 20:06
enum PhaserType < INIT END BEGIN START CATCH CONTROL ... > 20:07
if $some-sub.phaser { ... } # oops, this should have been .defined
masak "doctor, it hurts when I do this"
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
masak it would. but the default should clearly be 0.
[Coke] yah. I see no real issue in making the default start value 1.
masak: why?
sorear it's a gratuitous sharp edge.
masak because everything else starts at 0 in Perl 6.
just like moritz pointed out in the Github issue. 20:09
[Coke] masak: when are you checking the numeric values of an enum?
moritz forcing people to provide a start valeu would also work
leont Why wouldn't they start with 0 but true?
masak moritz: I like that better.
[Coke] that also seems vaguely reasonable, leont.
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
[Coke] r: say ?(0 but True)
moritz leont: because all uses of "but"... what masak said
p6eval rakudo 16f22b: OUTPUT«True␤»
moritz what about making the defualt value not numeric, but string?
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 :)
sorear doctor, it hurts when I step on the exposed nail in my door threshold
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');
[Coke] that's not horrible.
masak sorear: I see what you're saying. I just don't consider the 0 an exposed nail in my door threshold.
moritz: I could live with that, I think.
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
masak and everyone else gets their truthy strings.
leont Hmmm, that may actually make sense too
sorear but now that I've explained my position, I'd rather live with the status quo than spend more energy debating a replacement
masak that works for me, too ;)
20:13 thou left
moritz added the default stringy suggestion to the github issue 20:16
20:16 thou joined
masak moritz++ 20:19
I would advise patching the spec directly with the stringy suggestion... but I would like to hear if TimToady opines something first. 20:21
20:21 wamba joined 20:23 MayDaniel_ joined 20:26 MayDaniel left 20:27 fgomez joined
FROGGS moritz: I like it 20:27
20:28 ggoebel joined
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
But if it is in the mainline file, it doesn't do that.
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:31
20:33 kaare_ left
skids Hrm... it seems to abort the run at the throw, but does not print anything. 20:33
20:55 stepnem left 20:57 benabik_ joined, benabik left, benabik_ is now known as benabik 20:59 preflex joined 21:09 skids left 21:13 thou left 21:15 thou joined, birdwindupbird left 21:23 Targen joined 21:24 leont left, leont joined 21:30 cognominal left 21:35 zby_home left 21:48 flightrecorder left 21:50 FROGGS left 21:52 leont left 21:53 leont joined 22:06 kurahaupo joined 22:09 spider-mario left 22:10 leprevost left 22:13 MayDaniel_ left 22:23 benabik left 22:27 whiteknight joined 22:37 skids joined 22:43 stopbit left 22:45 fgomez left 22:56 LoRe left 22:57 LoRe joined 22:59 Chillance joined
masak 'night, #perl6 23:00
23:12 wamba left 23:22 mikemol left, fgomez joined 23:23 pjcj left 23:24 pjcj joined 23:32 Targen left 23:34 fgomez left, fgomez joined, mikemol joined 23:35 leont left, Targen joined 23:46 benabik joined, mikemol left 23:58 thou_ joined 23:59 thou left