Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-12-13

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:26 denis_boyun joined #perl6
00:31 raydiak ab5tract: +1 to a PP6 terminal gui...don't have suggestions for your performance concern, but +2 if it's cross-platform :)
00:55 Sqirrel joined #perl6
01:26 jimmy2 joined #perl6
01:30 adu joined #perl6
01:32 JimmyZ_ joined #perl6
01:37 araujo joined #perl6
01:44 sftp_ joined #perl6
01:47 TimToady ./perl6 -e 'print "\e[H\e[J"; my $cols = qx/tput cols/; loop { print "\e[T\e[H", bag(<❆ ❅ ❄>, " " xx 60).roll($cols) }'
01:47 TimToady don't need to turn your screen over if it supports scroll down
01:49 Timbus .. thats cool as hell
01:49 Timbus im just leaving that running on my other monitor
01:52 Timbus is " " xx 60 any worse than " " => 60? is the xx lazy in some way?
01:52 Timbus when it comes to populating a bag, that is
01:53 TimToady probably worse, but if I use => then I have to use Bag instead of bag :)
01:53 TimToady and I'm too lazy to type SHIFT
01:55 Timbus haha
01:55 TimToady ./perl6 -e 'print "\e[H\e[J"; my $cols = qx/tput cols/; my $bag = Bag(<❆ ❅ ❄>, " " => 60); loop { print "\e[T\e[H", $bag.roll($cols) }'
01:55 TimToady is surely more efficient
01:55 TimToady the other one recalculated the bag every line
01:55 TimToady well, unless it's a lot smarter about constant folding than I think it is...
01:57 TimToady it does seem to suffer some GC jitter though
01:58 Timbus perl6's official graphical benchmark
01:58 adu it's snowing!
02:02 atroxaper joined #perl6
02:03 TimToady it might not work on windows, which is purported not to support scroll down
02:04 adu it works on MacOSX Yosemite
02:04 raydiak not tmux tho
02:06 adu would it be terminal-specific? or shell-specific?
02:06 TimToady just needs the tput program plus the various ANSI escape codes
02:07 TimToady \e[T is the scroll down that might not be supported on some terminals
02:07 TimToady oops, getting called to dinner &
02:08 retupmoca can I get someone on linux/osx to test https://github.com/perl6/gtk-simple/pull/4 ?
02:09 ssqq joined #perl6
02:11 adu I can test
02:12 ssqq I could not understand the meaning of */ <?digit> /*, What is the equivalent syntax use P5//?
02:12 adu retupmoca: um, is it merged with master?
02:12 retupmoca adu: no - you'll need to pull github/retupmoca/gtk-simple
02:13 adu retupmoca: I mean is it in the master branch of retupmoca/gtk-simple
02:13 retupmoca oh
02:13 retupmoca yes
02:13 adu ok
02:13 raydiak retupmoca: works here, other than having to do another "sudo ln -s" dance in /lib that Mint sometimes requires from me, but pretty sure that's just my problem :)
02:14 ssqq nqp-m: if '123' ~~ / <?digit>+ / { say '<?digit>+ match nums'; }
02:14 camelia nqp-moarvm: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}'  at line 2, near "say '<?dig"␤   at gen/moar/stage2/NQPHLL.nqp:485  (/home/camelia/rakudo-inst-1/languages/nqp/lib/NQPHLL.moarvm:panic:105)␤ from gen/moar/stage2/NQPHLL.nqp:492  (/home/camelia/rak…»
02:15 BenGoldberg p56: '123' =~ / [[digit]] /x;
02:15 camelia p5-to-p6 : OUTPUT«'123' ~~ m:P5:x! [[digit]] !␤»
02:15 adu retupmoca http://pastie.org/9777549
02:16 retupmoca adu: Can you try with perl6/gtk-simple ?
02:16 adu retupmoca: it's probably going to fail
02:17 retupmoca adu, raydiak: It *looks* like I didn't make anything worse with my adding windows support
02:17 adu the library is called "/opt/local/lib/libgtk-3.dylib" and it's looking for "libgtk-3.so"
02:17 retupmoca oh
02:17 retupmoca actually, let me try another commit, I may be able to fix that at the same time
02:17 rmgk joined #perl6
02:17 adu retupmoca: http://pastie.org/9777551
02:18 adu one is from perl6-j the other is from perl6-m
02:18 adu perl6-p is broken at the moment
02:19 retupmoca adu: try mine again
02:19 retupmoca adu: I pulled out the explicit '.so'
02:19 adu also, the java implementation is looking for "darwin/liblibgtk-3.so.dylib", but I think you meant "gtk-3", why are you adding .so?
02:20 retupmoca whoever wrote that was probably on a linux box, so added .so out of habit
02:20 retupmoca or somesuch
02:20 adu that's wierd, perl6-j complains about "darwin/liblibgtk-3.so.dylib", but perl6-m complains about "libgtk-3.so", are they looking for the same file?
02:20 ssqq p56: /<?digit>/
02:20 camelia p5-to-p6 : OUTPUT«m:P5!<?digit>!␤»
02:21 ssqq p56: / <?ident> /
02:21 camelia p5-to-p6 : OUTPUT«m:P5! <?ident> !␤»
02:21 retupmoca that's odd. The java library resolver must be automatically adding the extra bits in
02:21 raydiak still works here...and retupmoca++ \o/ for windows support
02:23 retupmoca raydiak: I purchased a new surface pro a couple of weeks ago - gotta make sure all the fun stuff works :)
02:23 adu retupmoca: or maybe perl6-m is complaining about the core library name, and perl6-j is complaining about the full filepath
02:24 retupmoca adu: can you try my latest version? I suspect it will work with perl6-m, but maybe not with perl6-j
02:24 raydiak retupmoca: heh sweet
02:25 raydiak ssqq: P6 /<?digit>/ is a positive lookahead like P5 /(?=\d)/
02:25 adu http://pastie.org/9777559
02:26 adu retupmoca: do I need to add /opt/local/lib to -L or something?
02:27 retupmoca adu: LD_LIBRARY_PATH maybe? I'm not sure how libraries are resolved on OS X :/
02:27 * retupmoca merges, since it looks like he didn't make anything worse
02:28 dalek_p6c gtk-simple: 0543879 | (Andrew Egeler)++ | lib/GTK/ (2 files):
02:28 dalek_p6c gtk-simple: Use different library names on Windows
02:28 dalek_p6c gtk-simple:
02:28 dalek_p6c gtk-simple: When we're loading .dll's instead of .so files, use the library filenames
02:28 dalek_p6c gtk-simple: that come in the gtk3 windows binary download.
02:28 dalek_p6c gtk-simple:
02:28 dalek_p6c gtk-simple: Also note the definition of g_idle_add - the library was changed from
02:28 dalek_p6c gtk-simple: libgtk to libglib, as it was throwing a 'symbol not found' error.
02:28 dalek_p6c gtk-simple: review: https://github.com/perl6/gtk-simple/commit/0543879cd0
02:28 dalek_p6c gtk-simple: 892737f | (Andrew Egeler)++ | lib/GTK/Simple.pm6:
02:28 dalek_p6c gtk-simple: Remove explicit '.so' for non-windows
02:28 dalek_p6c gtk-simple:
02:28 dalek_p6c gtk-simple: This should let things work on OS X as well.
02:28 dalek_p6c gtk-simple: review: https://github.com/perl6/gtk-simple/commit/892737f99b
02:28 adu retupmoca: it's the same as most unixes, only /usr/lib is in there by default, and I think the environment variable is DYLD_LIBRARY_PATH on macosx
02:29 retupmoca adu: and libgtk-3.dylib is in /opt/local/lib?
02:29 retupmoca does it work if you put that in the env var?
02:29 adu http://pastie.org/9777561
02:30 vendethiel joined #perl6
02:31 retupmoca if that's not in your library search path by default, that's why perl6-m is failing
02:31 retupmoca I don't know wtf perl6-j is doing, though
02:31 adu retupmoca: I got it working!
02:31 retupmoca \o/
02:32 adu http://pastie.org/9777564
02:32 adu retupmoca: however, the libraries it's looking for still don't match even the *basename* of the actual file
02:32 adu I just symlinked the files into the local directory
02:33 adu retupmoca: but I think something is interpreting the ".0" as a library extension, which it isn't...
02:33 adu so it doesn't add ".dylib" even though it should
02:34 adu and it doesn't search DYLD_LIBRARY_PATH, because I set DYLD_LIBRARY_PATH=/opt/local/lib and it made no difference
02:34 ssqq raydiak: P6 /<?digit>/ equivalent to */<after digit>/* ?
02:35 ssqq raydiak: or P6 /<?digit>/ equivalent to */<before digit>/* ?
02:36 JimmyZ_ I guess 'maybe have digit'? :)
02:37 retupmoca m: say '0' ~~ /^<.alpha>+$/
02:37 camelia rakudo-moar 3fa1bd: OUTPUT«Nil␤»
02:37 retupmoca adu: I don't know why it's doing that :/
02:38 retupmoca adu: FYI, the filename-picking code is at https://github.com/jnthn/zavolaj/blob/master/lib/NativeCall.pm6#L104
02:39 JimmyZ_ TimToady: Do we still need port keyspace/nofun/endsym from STD to rakudo?
02:41 adu retupmoca: what is the difference between \.\w+ and \.<.alpha>+ ?
02:41 adu does \w include numbers?
02:45 retupmoca m: say '0' ~~ /^\w$/
02:45 camelia rakudo-moar 3fa1bd: OUTPUT«「0」␤␤»
02:45 retupmoca adu: yes, \w includes numbers and alpha does not
02:45 adu ahh, then I need to update rakudo
02:45 adu my version has \w instead of <.alpha>
02:45 raydiak ssqq: before...lookahead, not lookbehind
02:45 retupmoca adu: note that line is not actually in rakudo - that's in the NativeCall module
02:45 retupmoca which is external to perl6 itself
02:45 adu then how do I update $prefix/languages/perl6/lib/NativeCall.pm6 ?
02:45 retupmoca if you have panda installed, run 'panda install NativeCall'
02:45 raydiak ssqq: since I'm about to leave, I'll end with "lookaround assertions are in S05 under 'Extensible metasyntax'" :)
02:46 retupmoca adu: although if you're running rakudo star, then updating rakudo will also update that module
02:48 adu I'm using rakudo-star
02:48 retupmoca then updating that may be the simplest way
02:49 adu I like simple
02:52 JimmyZ_ joined #perl6
03:09 noganex joined #perl6
03:19 JimmyZ_ joined #perl6
03:30 Alula joined #perl6
03:41 JimmyZ_ joined #perl6
03:47 vendethiel joined #perl6
03:47 adu retupmoca: ok, trying again
03:52 adu retupmoca: are you still here?
04:00 adu http://pastie.org/9777638#
04:03 adu it looks like bash is trying to interpret panda with /bin/sh
04:07 JimmyZ_ adu: I think your nqp is too old.
04:08 JimmyZ__ joined #perl6
04:08 adu JimmyZ_: I just updated 5 minutes ago
04:10 JimmyZ_ Did you re-compile the new rakudo with new nqp?
04:10 adu um, I used rakudo-star, doesn't that take care of that?
04:11 JimmyZ_ it doesn't when nativecall has some new feature that relies new nqp
04:15 JimmyZ and panda doesn't support installing old-version package
04:21 adu maybe I should "panda install panda"
04:35 marconrd joined #perl6
04:37 lsm-desktop joined #perl6
04:49 adu JimmyZ: when I build everything from scratch I get Missing or wrong version of dependency 'gen/moar/stage2/QRegex.nqp'
04:49 adu during every single line of the compilation
04:49 adu http://pastie.org/9777673
05:01 ssqq_ joined #perl6
05:02 ssqq_ nqp-m: say: 'hello world!';
05:02 camelia nqp-moarvm: ( no output )
05:03 ssqq_ perl6: say: 'hello wrold';
05:03 camelia rakudo-{parrot,moar} 3fa1bd: ( no output )
05:04 atroxaper joined #perl6
05:14 tinyblak joined #perl6
05:21 adu joined #perl6
05:24 adu has anyone here heard of Truffle?
05:31 JimmyZ adu: you need `make clean` when  rebuild nqp and rakudo
05:31 adu I'm trying that now
05:32 adu well, I deleted my .local directory and redownloaded everything
05:39 konsolebox joined #perl6
05:47 tinyblak_ joined #perl6
06:06 rindolf joined #perl6
06:06 jack_rabbit joined #perl6
06:07 dalek_p6c roast/underscore_to_dash: 2af9d0c | (Jimmy Zhuo)++ | S12-meta/primitives.t:
06:07 dalek_p6c roast/underscore_to_dash: change part of underscore to dash
06:07 dalek_p6c roast/underscore_to_dash: review: https://github.com/perl6/roast/commit/2af9d0c6b2
06:11 davido_ joined #perl6
06:17 adu http://pastie.org/9777736
06:23 vendethiel joined #perl6
06:51 moritz \o
06:54 vendethiel joined #perl6
06:56 mr-foobar joined #perl6
06:58 dalek joined #perl6
07:04 rurban joined #perl6
07:45 vti joined #perl6
07:53 Isp-sec joined #perl6
07:54 Sqirrel joined #perl6
07:56 atroxaper joined #perl6
08:04 rurban_ joined #perl6
08:05 vendethiel joined #perl6
08:15 darutoko joined #perl6
08:29 dalek_p6c rakudo/nom: 5a06ace | TimToady++ | src/ (7 files):
08:29 dalek_p6c rakudo/nom: allow $x ~~ s/// to return Match or list of Match
08:29 dalek_p6c rakudo/nom:
08:29 dalek_p6c rakudo/nom: s/// is now implemented in terms of .subst-mutate, which returns
08:29 dalek_p6c rakudo/nom: the matches instead of the result, just as normal matching does.
08:29 dalek_p6c rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5a06ace5c5
08:29 kaare_ joined #perl6
08:29 dalek_p6c roast: 3cef4f5 | TimToady++ | S05-substitution/subst.t:
08:29 dalek_p6c roast: update tests for s:g/// returning Match or List
08:29 dalek_p6c roast: review: https://github.com/perl6/roast/commit/3cef4f5292
08:37 ssqq joined #perl6
08:38 dalek joined #perl6
08:39 ssqq If any-place where use *«* could replace with *<<*?
08:40 jack_rabbit joined #perl6
08:41 moritz ssqq: I don't know if I understood your question correctly, but afaict nearly all uses of « could be replaced with <<
08:42 moritz ssqq: just not those where there's a << inside the quotes
08:42 TimToady However, *«* is not a valid construct
08:42 moritz for example infix:«<<»
08:43 ssqq in *infix:«<<»*, if could use other syntax to replace *«...»"?
08:44 ssqq moritz: this character is not easy to write in some editor.
08:46 TimToady in vim it's just ^K-<<
08:46 TimToady if you have a compose key, it's just COMPOSE-<<
08:47 ssqq thanks, TimToady and moritz. I see.
08:48 TimToady or you can say infix:<\<\<> since it is just a kind of quote
08:48 TimToady m: say <\<\<>
08:48 camelia rakudo-moar 3fa1bd: OUTPUT«<<␤»
08:50 Timbus m: say <<<>>
08:50 camelia rakudo-moar 3fa1bd: OUTPUT«<␤»
08:50 Timbus er
08:50 Timbus m: say <<<<>>
08:50 camelia rakudo-moar 3fa1bd: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/luGPOBCLr9â�¤Unable to parse expression in shell-quote words; couldn't find final '>>' â�¤at /tmp/luGPOBCLr9:1â�¤------> [32msay <<<<>>[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        argum…»
08:50 Timbus wait
08:51 Timbus m: say <<<<>>>>
08:51 camelia rakudo-moar 3fa1bd: OUTPUT«<<>>␤»
08:51 Timbus haha
08:52 gfldex joined #perl6
09:04 lizmat fwiw: confirmed that current parrot build builds, but cannot build RESTRICTED setting because executing any code  results in a segfault
09:04 lizmat $ ./perl6-p -e 1
09:04 lizmat Segmentation fault: 11
09:05 f1ay joined #perl6
09:07 vendethiel well, it's certainly restricted :p
09:11 woolfy To celebrate the coming of Perl 6 (and sometimes we all need a rainbow unicorn butterfly kitten): http://media-cache-ak0.pinimg.com/736x/bf/3f/4c/bf3f4c4e4cbc909f957f939bb6bc7cc6.jpg
09:12 TimToady the wings seem to be on upside-down
09:12 moritz TimToady: it flies into the ground :-)
09:13 TimToady at least it will always land on its feet
09:15 lizmat commute&
09:16 TimToady of course, the wings on ƸöƷ seem to upside-down as well
09:17 vendethiel .u  Ƹö
09:17 yoleaux U+00F6 LATIN SMALL LETTER O WITH DIAERESIS [Ll] (ö)
09:17 yoleaux U+01B8 LATIN CAPITAL LETTER EZH REVERSED [Lu] (Ƹ)
09:18 woolfy Kitten does not want to fly high?
09:22 telex joined #perl6
09:25 timotimo raydiak: i'm not sure if i'll find the energy to restart development of catui
09:25 Rounin joined #perl6
09:27 erkan joined #perl6
09:31 woolfy left #perl6
09:34 ptc_p6 joined #perl6
09:40 spider-mario joined #perl6
09:47 atroxaper joined #perl6
09:56 dalek json: a5c83eb | moritz_++ | lib/JSON/Tiny.pm:
09:56 dalek json: uncomment pod
09:56 dalek json:
09:56 dalek json: Rakudo does not get confused by it these days :-)
09:56 dalek json: review: https://github.com/moritz/json/commit/a5c83eba43
10:02 kurahaupo joined #perl6
10:05 dalek joined #perl6
10:05 denis_boyun joined #perl6
10:15 dalek infrastructure-doc: 2c3e1a0 | moritz_++ | hosts/hack.p6c.org.pod:
10:15 dalek infrastructure-doc: Document dalek systemd services
10:15 dalek infrastructure-doc: review: https://github.com/perl6/infrastructure-doc/commit/2c3e1a0f17
10:16 dalek mu: 45efb53 | moritz_++ | misc/dalek-start.txt:
10:16 dalek mu: Replace old dalek-start with link to more current documentation
10:16 dalek mu: review: https://github.com/perl6/mu/commit/45efb53b1e
10:28 kurahaupo left #perl6
10:31 ab5tract joined #perl6
10:34 ptc_p6 joined #perl6
10:38 masak happy Lucia, everyone!
10:44 vendethiel masak: oooh, so that's why my sister was mad at me :o)
10:45 masak I feel I am missing a few steps of that inference.
10:47 vendethiel masak: hahaha. well, I didn't wish her
10:47 masak I don't think it's commonly wished, to be fair.
10:48 vendethiel seems pretty common around here
10:48 vendethiel masak: err, the last part for the inference you're missing is -- it's her name
10:48 moritz oh
10:49 masak hah, I was gonna suggest that as the explanation, but it sounded too frivolous! :P
10:49 moritz things start to make sense :-)
10:49 rurban joined #perl6
10:49 vendethiel "#perl6 - your daily dose of advent calendar, and more"
10:54 yeahnoob joined #perl6
11:09 masak published some feedback on last week's blog post: http://strangelyconsistent.org/blog/feedback-on-macros-placeholdeeers
11:12 mvuets joined #perl6
11:23 vendethiel masak: ha! I didn't even read your previous blog post. nice!
11:23 vendethiel masak++
11:25 moritz masak++
11:28 masak oh, and two additional comments about Lisp:
11:29 masak (a) the comma (,) used for unquoting in Lisp is another excellent example of "use whatever syntax is not taken and stands out". Lisp syntax normally eschews commas.
11:29 pecastro joined #perl6
11:29 masak it also makes it very difficult for other, more normal languages to mimic Lisp there, because usually the comma is taken :)
11:29 vendethiel masak: it's *because* it eschews comma that it makes sense for macros
11:29 masak right, that's what I'm saying.
11:30 masak (b) C is the master of confusing *types*, casting them all over the place in sometimes unholy ways. Lisp is the master of confusing *grammatical categories* -- everything's an AST. it's Lisp's equivalent of "everything's a void pointer".
11:35 masak not only is the comma up for grabs, it gets in everywhere because everything is an AST.
11:36 masak by which I mean to say, in Lisp, if it's an AST, then it's also a meaningful program. (kinda)
11:37 masak in Perl 6, there are a lot of possible ASTs that would simply be illegal. "hey, you can't put that there!"
11:37 hahainternet bloody nativecall
11:37 hahainternet i wish i could help out with it more
11:38 hahainternet need to read so much more though, all i get is segfaults atm and that's likely to continue for now
11:38 masak you can't put a parameter inside an expression or a declaration statement, for example.
11:39 masak hahainternet: documenting reproducible instances of segfaults, and submitting them to some issue tracker, is very helpful.
11:39 hahainternet masak: it's not nativecall's fault, it's my fault
11:39 rindolf joined #perl6
11:40 masak then you have a bug :P
11:40 hahainternet masak: or more exactly, it's missing or undecided on features yet
11:40 FROGGS_ hahainternet: if you'd paste them as gists to github and link them here, we'd be happy to help
11:40 hahainternet i'm implementing a libtcl binding and it requires for example i allocate a Tcl_DString struct
11:40 FROGGS_ ahh
11:40 hahainternet which i don't believe the syntax is nailed down sufficiently to do yet
11:40 FROGGS_ okay, I was hoping for more trivial problems :o)
11:40 hahainternet :)
11:40 hahainternet i'm gonna try and implement it in cgo for the moment and come back to it in p6 when i've learned more about nqp
11:41 FROGGS_ yeah, you often need to implement a lot of structures and bind initializations before the segfaults vanish
11:41 hahainternet i want to play with concurrency, but unfortunately the concurrency i need is tied to tcl :p
11:49 ab5tract_ joined #perl6
11:49 ab5tract_ m: class A { method postcircumfix:<[ ]> ($idx) { $idx.say } }; A.new[4];
11:49 camelia rakudo-moar 3fa1bd: OUTPUT«Unhandled exception: Index out of range. Is: 4, should be in 0..0␤   at <unknown>:1  (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:13814  (/home/camelia/rakudo-inst-1/languages/p…»
11:49 ab5tract_ m: class A { method postcircumfix:<{ }> ($idx) { $idx.say } }; A.new{4};
11:49 camelia rakudo-moar 3fa1bd: OUTPUT«Unhandled exception: postcircumfix:<{ }> not defined for type A␤   at <unknown>:1  (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:13814  (/home/camelia/rakudo-inst-1/languages/per…»
11:50 ab5tract_ o_O
11:53 atroxaper joined #perl6
11:54 atroxaper joined #perl6
11:54 jnthn ab5tract: You implement at_pos or at_key in the class
11:55 ab5tract jnthn: there's only one way to do it?! ;)
11:55 jnthn ab5tract: No, you can also implement multi *sub* postcircumfixes :)
11:56 jnthn But that only makes a lot of sense if your type is something that you can, say, slice way more efficiently than a generic implementation of slicing can
11:56 pmurias joined #perl6
11:58 ab5tract m: class A { method at_pos(*@i) { @i.say } }; A.new[4][5];
11:58 camelia rakudo-moar 3fa1bd: OUTPUT«4␤Unhandled exception: Index out of range. Is: 5, should be in 0..0␤   at <unknown>:1  (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:13814  (/home/camelia/rakudo-inst-1/languag…»
11:59 ab5tract jnthn: i expect i'm thinking the wrong way about it, but is at_pos also able to handle multi-dimensions?
11:59 ab5tract m: class A { method at_pos(*@i) { @i.say } }; A.new[4,5];
11:59 camelia rakudo-moar 3fa1bd: OUTPUT«4␤5␤»
12:00 ab5tract i'm okay with only using that form, but it does make me curious...
12:00 jnthn ab5tract: [4][5] means "do [5] on the thing that [4] came back"
12:00 jnthn 4,5 is a slice, not multi-dim
12:01 hahainternet jnthn: so with no attempt to pressure, what's the state of the TODO stuff in nativecall? just a case of 'when someone gets around to it'?
12:01 jnthn [4;5] is the actual multi-dim syntax, which I believe defaults to meaning the same as [4][5]; I think that is one case where you'd need to implement a postcircumfix multi.
12:01 ab5tract m: class A { method at_pos(*@i) { @i.say } }; A.new[4;5];
12:01 camelia rakudo-moar 3fa1bd: ( no output )
12:01 jnthn hahainternet: Well, first let me find the section and make sure none of it is todone... :)
12:01 jnthn oh wow
12:02 hahainternet jnthn: fixed sized allocations, union support etc :p
12:02 jnthn I just found the file named TODO :)
12:02 hahainternet i'm trying to work with tcl bindings and they're quite finnicky
12:02 hahainternet not that i expect you to work on it, i'm trying to learn how it all is put together
12:02 jnthn And that lot is mostly done. But yes, it misses the things you mentioned.
12:03 hahainternet hokey dokey, not a problem
12:04 jnthn Unions I understand easily enough; what precisely do you mean by "fixed sized allocations"?
12:04 hahainternet jnthn: char space[200] in a struct
12:04 timotimo like malloc
12:04 hahainternet for example
12:04 timotimo ok
12:04 timotimo yes
12:04 hahainternet library has nothing to alloc the struct for me, so i have to alloc it in p6 and then tell the tcl lib to zero it
12:04 hahainternet fun times :)
12:05 jnthn Ah, so arrays flattened in structs. OK.
12:06 hahainternet well, i'm not exactly a C expert either, so i am well out of my depth here
12:06 hahainternet but i read i believe one of your posts inviting people to play with concurrency
12:06 btyler I know some people have written little native helpers and then called those from NativeCall -- not sure if that's right for your situation though
12:06 jnthn np, I understand what it is you're after. :)
12:06 hahainternet btyler: oh i'm sure i could
12:06 * JimmyZ still wonders wheter there are objections to change underscore to dash or not for the API in Metamodel:: namespace
12:06 hahainternet btyler: but it's not a practical concern, i will just mess around with cgo for now
12:06 jnthn (And I know it's going to be tricky to get right. :))
12:06 hahainternet jnthn: no pressure from me
12:06 hahainternet just trying to find excuses to do p6
12:06 jnthn JimmyZ: Yes, objection is we break, like, the entire ecosystem. :P
12:07 jnthn hahainternet: Yes, I understand. Telling me something would be useful to you doesn't make me feel pressured to work on it right away, though it does bump it up my priority list a bit. :)
12:08 JimmyZ so will we change it eventually? or no objections if we update the ecosystem modules?
12:08 hahainternet jnthn: i really hate people who come into language channels and expect things to be done for them, so trying to make it clear i'm not one of those :)
12:08 hahainternet jnthn: i also watched one of your talks recently and try and keep up with your papers, so i owe you plenty
12:08 hahainternet thanks :)
12:11 jnthn JimmyZ: I don't know. This isn't something we should rush into changing; we should see what general policy emerges then bring the MOP stuff in line with that.
12:11 JimmyZ jnthn: anyway, I have a pull request for Metamodel::Primitives, and want to got merged before the ecosystem uses it :P
12:12 jnthn JimmyZ: I'm not accepting a PR that makes one class in Metamodel:: inconsistent with all the others.
12:12 JimmyZ ok.
12:12 jnthn hahainternet: You're welcome; no problem :)
12:13 timotimo i'd like to have unions and flattened arrays in nativecall, too
12:13 hahainternet unions are not very important to me, but because it's part of a struct i have to at least be able to specify sizes
12:13 hahainternet so, same problem set regardless
12:13 timotimo mhm
12:13 hahainternet also jnthn if you have any plans to head up to manchester or surrounding i'll buy you a pint
12:14 jnthn Yes, I'm already pondering if the two are related problems.
12:16 mvuets hello #perl6
12:17 mvuets are there built-in subroutines that are not sugar around type methods?
12:17 jnthn hahainternet: Hm, I think I was last in Manchester a few years ago, but my stay lasted long enough to get off the train from the airport and get onto the train heading to Scarborough. :)
12:17 jnthn mvuets: Well, many of the operators, for one. :)
12:17 JimmyZ I think the general policy is update API and then update all the ecosystem modules? like we did before :P
12:17 mvuets or in other words: is it valid to say that all built-in subroutines are wrappers of methods of some type?
12:18 moritz I don't think so
12:18 jnthn mvuets: Not really. infix:<+> is certainly a sub, certainly built in, but directly implements the functionality rather than calling a method.
12:19 jnthn JimmyZ: I meant on whether to use dashes *everywhere*...
12:19 JimmyZ oh
12:19 moritz using dashes in C would be weird :-)
12:20 psch joined #perl6
12:20 psch hey #perl6 o/
12:20 yoleaux 12 Dec 2014 17:02Z <smls> psch: «In our case this means “a method called update which takes a primitive byte and returns void“» --is this still correct after you updated to example to use 'method/update/(I)V'?
12:20 jnthn moritz: That does rather take away from the idea... :P
12:21 JimmyZ so the problem is: which API should be underscore, which should be dash?
12:21 mvuets jnthn: ah, i forgot operators are essentially subs
12:22 hahainternet i wonder if it'd be useful to have p6 just read .h files in terms of nativecall structs and the like, i have literally 0 idea how you'd implement it
12:22 moritz hahainternet: by writing a parser for C
12:22 hahainternet well not that bit, it's more the nqp parts i have no clue whatsoever about
12:22 hahainternet i have a pdf that explains the repr stuff but i'm not there yet :)
12:23 JimmyZ .oO(Port tinycc to Perl6...)
12:23 mvuets what defines or how to define precedence for operators?
12:24 jnthn mvuets: traits
12:24 jnthn is looser, is tigheter, etc.
12:24 osfameron what happens if you define contradictory traits?
12:24 osfameron e.g. is looser(X) is tighter (X) ?
12:24 btyler hahainternet: well, I've been messing around with a little tool to help generate nativecall defs, since typing out all those structs is a huge pain :) just a dumb grammar for C structs at the moment, haven't had much time lately
12:25 hahainternet btyler: yeah sounds like a smart plan
12:25 jnthn osfameron: I have no idea. You probably get the pain you asked for. :P
12:25 btyler I'll probably continue the path of least resistance and just spit out strings of p6
12:25 hahainternet dealing with C is always a pain :)
12:25 osfameron jnthn: hehe
12:26 jnthn m: sub infix:<foo>($a, $b) is looser(&infix:<+>) is tighter(&infix:<+>) { "$a foo $b" }; say 1 foo 2
12:26 camelia rakudo-moar 3fa1bd: OUTPUT«1 foo 2␤»
12:26 jnthn m: sub infix:<foo>($a, $b) is looser(&infix:<+>) is tighter(&infix:<+>) { "$a foo $b" }; say 1 + 2 foo 3 + 4
12:26 camelia rakudo-moar 3fa1bd: OUTPUT«3 foo 7␤»
12:26 btyler hahainternet: https://github.com/kanatohodets/struct-zapper/blob/master/struct-zapper.p6 is the little grammar I hacked up
12:26 jnthn Well, that looks like the last wins... :)
12:27 btyler (of course) super incomplete, but libgit2 is fairly consistent, so I'm just scratching my own itch
12:28 osfameron last?  hmm, maybe I have "looser" and "tighter" the wrong way around in my head?
12:30 oetiker joined #perl6
12:33 jnthn osfameron: Uh, no, I just didn't have enough coffee yet today. :)
12:35 psch .tell smls thanks, i've corrected the description of the descriptor
12:35 yoleaux psch: I'll pass your message to smls.
12:37 osfameron jnthn: praise be to coffee :-)
12:41 JimmyZ psch: new HashMap< >()  # I'm not sure though ...
12:42 psch JimmyZ: HashMap<String, String> map = new HashMap< >(); // is the right syntax in java, the declaration on the lhs decides the generic type, the rhs infers it from the lhs
12:42 JimmyZ ok :)
12:42 psch JimmyZ: although maybe there's another spot i'm missing?
12:43 psch i think they call it diamond operator, fwiw
12:43 JimmyZ don't know, I 'm not good at java syntax :)
12:45 colomon psch++ # sorry again
12:47 jnthn psch++ has it right, afaik
12:48 jnthn It's kinda crazy. "No, let's not type infer the variable from expression being assigned to it! That'd generalize far too nicely to non-generic things too!"
12:48 psch yeah, it's a bit backwards
12:51 dalek nqp: 499c890 | jnthn++ | docs/ops.markdown:
12:51 dalek nqp: Add missing op name. Closes #207.
12:51 dalek nqp: review: https://github.com/perl6/nqp/commit/499c890039
12:54 psch colomon: no worries, i've struggled with the same problem.  wordpress' handling of angled brackets is kind of weird i guess
12:54 psch it's not even consistent...
12:55 jnthn bbi30
13:09 jnthn joined #perl6
13:11 H2O1 joined #perl6
13:12 H2O1 left #perl6
13:19 BenGoldberg joined #perl6
13:20 BigBear joined #perl6
13:21 khisanth_ joined #perl6
13:45 masak today's mini-challenge:
13:45 moritz Nil
13:46 masak there was this old BASIC computer game that I used to like as a teenager: http://atariarchives.org/basicgames/showpage.php?page=4
13:46 masak I just re-implemented it, for fun: https://gist.github.com/masak/9cb23eadba7d9dc52210
13:46 masak (in Perl 6)
13:46 masak if anyone else writes a conformant implementation, I will share mine and we can compare :)
13:46 masak the game learns as you play it, which is quite nice.
13:47 masak of course, in the BASIC version it all happened through an array of inscrutable numbers, which is not so nice ;)
13:47 masak in Perl 6, we can do better. it's the specific implementation I'm curious about.
13:47 masak so aim for some sort of elegance/cohesion.
13:48 ab5tract jnthn: now that i've experienced it, i think the at_pos semantics are awesome. they really encourage thoughtful class composition :)
13:54 timotimo masak: now implement rebalancing of the decision tree
13:54 masak heh. is that possible without asking new questions on the way? :)
13:54 timotimo no
13:54 timotimo don't think so
13:55 masak anyway. my implementation is currently sitting at 64 lines. it came out quite nice, but I wouldn't rule out there being nice tricks I missed.
13:56 masak an unexpected difficulty is having to do in-place replacement of things in the tree.
13:56 masak I think that can be solved in various ways
13:59 Akagi201 joined #perl6
14:01 JimmyZ joined #perl6
14:01 JimmyZ Yeah! byobu :)
14:01 masak yeah! hi JimmyZ :)
14:02 JimmyZ hi,masak!
14:02 * masak .oO( "bring your own... 不?" ) :P
14:02 rindolf joined #perl6
14:03 JimmyZ so how about the child :)
14:03 anaeem1 joined #perl6
14:04 yeahnoob joined #perl6
14:11 anaeem1 joined #perl6
14:12 masak walk &
14:14 atroxaper joined #perl6
14:20 anaeem1_ joined #perl6
14:22 yeahnoob joined #perl6
14:24 [Coke] TimToady++ #snow
14:29 psch hrm, the org.objectweb.asm.util.Textifier just writes jvm bytecode mnemos, not actual java code :/
14:30 psch and that's kind of hard to read...
14:31 millican joined #perl6
14:32 millican join ##bicycles
14:32 millican sorry about that
14:35 ab5tract TimToady: you got the snow going the right way :D
14:36 raiph joined #perl6
14:37 timotimo so, what's cooking on everyone's local checkouts of rakudo, nqp and moarvm? :)
14:38 psch timotimo: overridden constructors
14:39 ab5tract timotimo: i've got mixes working as expected in the baggy operators, but haven't found motivation to finish polishing the tests
14:39 timotimo psch: what does that mean?
14:39 psch for java classes
14:39 psch for interop
14:40 psch cf my advent post, class Bar { public Bar(int i) { } public Bar(String s) { } } // doesn't yet work with my $bar = Bar.new("foo");
14:41 psch afaiu, the constructors of a java class get wrapped in special-ish adaptor methods with the descriptor "constructor/new/$typeshere", but there's some magic hidden somewhere how boxing works then
14:41 atroxaper joined #perl6
14:41 jnthn timotimo: The method ^foo() { } thing is next up here.
14:41 psch installing a indy method that calls the constructors and tries boxing the same way i'm boxing for other (working) types dies with IllegalClassChangeError, iirc.
14:41 timotimo ah, of course
14:42 timotimo i didn't realize ^foo was something to be found in the specs
14:42 timotimo or is it new both in spec and in implementation?
14:42 jnthn The syntax is in STD already, the spec has it doing something that doesn't quite fit with current reality, so I'm nabbing it to do a related but useful thing that does fit in better :)
14:43 timotimo OK
14:44 timotimo not enough sigils yet? let's add more! :)
14:44 JimmyZ timotimo: I was considering port keyspace/nofun/endym from STD to rakudo, but I'm not sure whether rakudo needs it or not
14:45 JimmyZ *endsym
14:45 timotimo keep nofun out of rakudo, please
14:46 * psch .oO( add allfun instead! )
14:46 JimmyZ and how about the other two?
14:47 timotimo i was only making a joke because we want to have fun in rakudo, so "nofun" would be bad ...
14:47 timotimo disregard that comment please :)
14:47 JimmyZ ah ...
14:49 hoelzro morning #perl6
14:50 psch o/ hoelzro
14:51 hoelzro o/ psch
14:53 timotimo hey mister wood :)
14:53 timotimo wööd?
14:58 hoelzro heh
14:58 hoelzro I makes a certain amount of sense =)
15:01 hoelzro so I found a couple of names in %deftrap that aren't builtins in Rakudo; are they NYI, or have they been removed from the language?
15:02 hoelzro (list = alarm chroot eval glob lstat readlink readpipe require stat)
15:03 jnthn hoelzro: I think we just copied that list from STD... :)
15:03 hoelzro that's how it looks =)
15:03 hoelzro I'm just wondering if there's anything in there that could use pruning
15:08 molaf joined #perl6
15:30 tinyblak joined #perl6
15:31 hoelzro hmm...removing all of them still passes roast
15:42 pmurias masak: one think about quasi quotes is that for some of the languages we might want to be able to specify the type of the literal we are inserting
15:42 yoleaux 9 Dec 2014 19:29Z <[Coke]> pmurias: I am unable to get nqp-js to run a test here. Happy to provide more info…
15:42 pmurias [Coke]: ping
15:46 pmurias hmm, would it be possible to set up automated test runs for nqp-js on the new perl6 community box?
15:46 pmurias and if so how should I do it?
15:47 timotimo you should do it
15:47 timotimo :)
15:47 timotimo perhaps it'd be simpler to do using that open source continuous integration thingie? what's it called again?
15:47 timotimo where moarvm is also being CI'd?
15:49 timotimo travis ci, iirc
15:49 psch i think travis has some limit on runtime, which is why we're not roasting there
15:49 psch i don't know if nqp-js fit under that limit though
15:49 psch or maybe not roasting there is due to memory usage
15:50 timotimo mhm
15:55 TimToady psch: I think I'd call those "overloaded" rather than "overridden"
15:56 psch TimToady: oh, you're right of course, did i put it wrong in the advent post..?
15:56 psch ah, no, it has overloaded there :)
15:57 masak pmurias: do you have a concrete example in mind?
15:58 TimToady as long as we're on vocabulary, I tend to prefer "hyphen" over "dash" when referring to the intraword thingies—dash is what goes between words
15:58 smls joined #perl6
15:58 masak +1
15:58 TimToady darn, missed an opportunity...
15:59 TimToady as long as we're on vocabulary, I tend to prefer "hyphen" over "dash" when referring to the intra-word thingies—dash is what goes between words
15:59 TimToady tjat
15:59 TimToady that's better, except that last line
15:59 masak TimToady: which is why the STD rule is called "apostrophe", right? :P
16:00 TimToady yes, they're both related to catastrophes :)
16:00 JimmyZ :)
16:01 * TimToady had a friend who was awarded a cat-ass-trophy once...
16:01 TimToady it wasn't pretty...
16:02 TimToady lessee, what am I working on now...I guess I'm done with smartmatching vs s///, unless the parrot crash is my fault
16:03 TimToady we never made an easier way to fire up gdb, did we?
16:04 TimToady oh, perl6-p is a normal executable
16:05 arnsholt Yeah, perl6-p is directly gdbable
16:05 arnsholt It's perl6-m you have to extract it from
16:06 TimToady ooh, it's a gc_free in repossess
16:06 TimToady I don't think I did that one...
16:07 TimToady who has changed something that would affect deserialization lately?
16:08 TimToady .u todo
16:08 yoleaux U+1806 MONGOLIAN TODO SOFT HYPHEN [Pd] (᠆)
16:08 yoleaux U+1843 MONGOLIAN LETTER TODO LONG VOWEL SIGN [Lm] (ᡃ)
16:08 yoleaux U+1844 MONGOLIAN LETTER TODO E [Lo] (ᡄ)
16:09 TimToady there are still TODOs in Unicode, I guess...
16:09 bartolin wrt parrot not building: I think it's commit 7432d6202e (MOP primitives). if I  remove the added line from tools/build/Makefile-Parrot.in parrot builds fine
16:12 TimToady jnthn: you have bruck the build!
16:12 jnthn Well bother. :/
16:12 jnthn How does it break?
16:13 TimToady perl6-p -e 42 coredumps in repossession
16:13 TimToady so we can't even run enough perl6-p to compile RESTRICTED
16:14 jnthn ffs
16:14 TimToady was that a cat hiss?
16:14 jnthn Yes. :)
16:15 jnthn Well...could always rip out the line I added
16:15 jnthn But other stuff will end up depending on it
16:15 jnthn But if I can keep that other stuff easy to not build on Parrot too, then I guess I don't have to care.
16:16 jnthn Bluntly, I've zero energy and motivation to do anything beyond not totally bust r-p.
16:17 TimToady bartolin: feel to check in that line deletion
16:17 jnthn +1
16:18 bartolin I'll make a PR
16:18 jnthn oh, let's not do a PR for just a line deletion...
16:18 * jnthn does it
16:19 bartolin thanks, jnthn++
16:19 TimToady bartolin++
16:20 dalek rakudo/nom: 6c4196d | jnthn++ | tools/build/Makefile-Parrot.in:
16:20 dalek rakudo/nom: Back out adding Metamodel::Primitives on Parrot.
16:20 dalek rakudo/nom:
16:20 dalek rakudo/nom: It breaks the build, for a likely hard-to-debug reason.
16:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6c4196d57c
16:24 Akagi201 joined #perl6
16:29 pmurias masak: when I was using the quasi quoting in haskell I was escaping for example integer and floating point literals differently
16:30 mr-foobar joined #perl6
16:34 masak Haskell has a need to know the type of the thing it's parsing. Perl 6 doesn't, not in that sense.
16:46 zakharyas joined #perl6
16:51 ab5tract hmmm... this is failing a new way every time https://gist.github.com/ab5tract/28aa420074909a6925ae
16:51 ab5tract segfaults galore
16:53 dalek rakudo/prune-deftrap: 8677689 | hoelzro++ | src/Perl6/Grammar.nqp:
16:53 dalek rakudo/prune-deftrap: Remove non-builtins from deftrap
16:53 dalek rakudo/prune-deftrap:
16:53 dalek rakudo/prune-deftrap: It clutters up deftrap, and a new Perl 6 user might attempt something
16:53 dalek rakudo/prune-deftrap: like 'stat', and when they get the error message and they try '.stat'
16:53 dalek rakudo/prune-deftrap: and don't get the result they expect, it could be very confusing.
16:53 dalek rakudo/prune-deftrap: review: https://github.com/rakudo/rakudo/commit/8677689df7
16:53 hoelzro could someone sanity check that branch for me?
16:59 pmurias masak: yes, things work more smoothly in haskell if we can specify if a placeholder in sql should be filled with a integer or a sql expression
17:01 pmurias with the place holder being the wrong word here
17:02 pmurias as {{{$thing}} and ? are executed at different moments
17:08 dalek rakudo/nom: b4da833 | TimToady++ | src/core/Kernel.pm:
17:08 dalek rakudo/nom: default to uname if it exists
17:08 dalek rakudo/nom:
17:08 dalek rakudo/nom: The previous code assumed all Unix distributions could eventually be
17:08 dalek rakudo/nom: enumerated somehow, which is delusional.  :)
17:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b4da8333b2
17:15 yogan joined #perl6
17:19 M_o_C joined #perl6
17:23 anaeem1_ joined #perl6
17:23 itz_ https://twitter.com/rundavidrun/status/543480950739308544/photo/1
17:23 itz_ not on perl6 ;-)
17:31 TimToady those puppies need a scheduler
17:42 Alula joined #perl6
17:47 anaeem1_ joined #perl6
17:54 dalek roast: 9990bba | moritz_++ | S05-modifier/overlapping.t:
17:54 dalek roast: Fix and unfudge overlapping.t
17:54 dalek roast:
17:54 dalek roast: * make number of tests not dependent on number of matches
17:54 dalek roast: * remove (1) x $count 5ism
17:54 dalek roast: * remove duplicate tests
17:54 dalek roast:
17:55 dalek roast: Overall we now have 20 instead of 41 subtests, but we still test the same
17:55 dalek roast: functionality, and more transparent than before
17:55 dalek roast: review: https://github.com/perl6/roast/commit/9990bba818
17:55 dalek rakudo/nom: 795a327 | hoelzro++ | src/Perl6/Grammar.nqp:
17:55 dalek rakudo/nom: Remove non-builtins from deftrap
17:55 dalek rakudo/nom:
17:55 dalek rakudo/nom: It clutters up deftrap, and a new Perl 6 user might attempt something
17:55 dalek rakudo/nom: like 'stat', and when they get the error message and they try '.stat'
17:55 dalek rakudo/nom: and don't get the result they expect, it could be very confusing.
17:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/795a327d94
17:56 rurban_ joined #perl6
17:57 flussence joined #perl6
17:58 flussence joined #perl6
18:00 flussence left #perl6
18:02 isBEKaml joined #perl6
18:07 mr-foobar i think this will sound silly, but can a programming language interpreter have more than one process ?
18:08 BenGoldberg You mean, via fork()?
18:09 mr-foobar no I mean the interpreter itself.
18:09 mr-foobar lexer = 1st process, parser = 2nd process, executor = 3rd process, .....
18:10 psch i don't see why it couldn't
18:10 psch you could try prototyping it with Supplies and Promises :)
18:11 dalek roast: 8bca161 | TimToady++ | S05-modifier/overlapping.t:
18:11 dalek roast: re-add capture tests
18:11 dalek roast: review: https://github.com/perl6/roast/commit/8bca16166f
18:11 mr-foobar yeah. i just wonder if this an inefficient way to do things because c / c++ / java / perl .. all seem to be using just 1 process.
18:12 BenGoldberg Making the lexer work lazily isn't a horrible idea.  However, the parser has to completely finish processing the file before doing execution, otherwise there could be syntax errors.
18:12 psch i'd guess that's mostly because a) you mostly want everything parsed before you start generating an AST and b) multithreading is hard
18:12 TimToady you end up spending a lot of time serializing/deserialing if you pipeline that
18:12 psch eh, "everything parsed before AST" is not quite right i think...
18:13 TimToady also, the language is continually changing lexers on the fly
18:13 TimToady because we use many slangs all the time
18:14 mr-foobar TimToady: they you can have a scheduling process too right, which lexer to invoke can be decided by the scheduler ?
18:14 TimToady the old school compilers were often multi-pass because you couldn't fit all the passes into memory
18:14 TimToady mr-foobar: now yer just stringin' words together and hoping they'll make sense :P
18:16 mr-foobar :) I just keep looking at x86. it's amazing !
18:16 TimToady anyway, there's certainly prior art for it, but only for languages that are not trying to mutate themselves on the fly
18:17 TimToady basically, a lexer is a very large source filter
18:17 TimToady as normally implemented
18:17 flussence joined #perl6
18:18 TimToady I mean, not in the sense that it spits out source, but in the sense that it blindly translates one language to another without really understanding the language it's translating
18:19 mr-foobar yeah, in perl6 grammars context becomes very crucial.
18:19 TimToady It's the killer feature—we're just not sure yet whether it will kill us or them...
18:20 mr-foobar :D
18:22 mr-foobar I donno if you thought about it. But such mutability is a great win for legacy code.
18:23 mr-foobar not the old xxx code now (maybe even that), but code written in perl6 will be future compatible
18:26 anaeem1_ joined #perl6
18:27 mr-foobar that's also how x86 works in a way. 128-bit won't affect 64-bit and so on ...
18:28 TimToady 64 bits should be enough for anyone... :)
18:29 mr-foobar :D
18:29 TimToady but yes, the design is that if you say 'use v6.0;' then that's the version of the language you get, even if you're running under a later version
18:29 TimToady how well that works in practice, we'll see
18:30 mr-foobar I lived through py2/py3 ruby1.8/1.9 php4/5/5.3 ....
18:31 mr-foobar i hate hate hate dealing with that.
18:33 mr-foobar The c/c++ model however, I can live with.
18:41 moritz mr-foobar: "I lived through py2/py3" sounds like that topic is over
18:41 moritz at least for me, it's not :(
18:42 TimToady well, you ain't seen nothin' yet, wait till you see our transition... :P
18:44 moritz :-)
18:44 moritz though AngularJS 1 -> 2 also promises to be a fun one
18:45 mr-foobar Give me CGI please :)
18:45 TimToady actually, I'm kinda hoping not to live through the entire p5/p6 transition, cuz it'll probably go on for another 50 years or so...
18:45 moritz TimToady: I kinda guess there won't much of a transition, just like there isn't a C -> C++ transition
18:46 smls What moritz said.
18:46 yoleaux 12:35Z <psch> smls: thanks, i've corrected the description of the descriptor
18:49 mr-foobar moritz: I see it as Perl+- as in perl will always remain perl :)
18:49 perltricks joined #perl6
18:50 moritz mr-foobar: it will, just American English and British English will remain English
18:50 moritz *just like
18:53 mr-foobar I certainly hope that Australians, Scotts, South Africans and Dyslexians are counted in that :P
18:53 flussence C++ has a rickety ABI too, y'know...
18:54 pmurias moritz: isn't AngularJS 1 -> 2, like Perl 5 -> 6?
18:54 moritz pmurias: well, it's even more curious. It's a library that's going to be reimplemented in another language
18:57 isBEKaml moritz: what was surprising was - Angular folks announced EOL for v1 just after 18 months and announced v2...
18:58 masak isBEKaml: surely there's been no EOL announcement for AngularJS 1.x.
18:58 masak isBEKaml: what I mean is, do you have a source for that?
18:58 masak moritz: frankly I don't see why the Angular people are so willingly throwing themselves into the Second System Syndrome situation.
18:58 masak moritz: maybe I'm colored by the Perl 6 experience there. but I'd like to shout at all of them "don't you see what you are doing!?"
18:59 masak meanwhile, they emit blog posts like "don't worry, people. we've listened to your concerns, and have decided to have *two separate teams* working on the two versions!"
18:59 * masak facepalms
18:59 isBEKaml masak: yeah, that's what made me think of EOL'd v1
19:00 masak no, they keep assuring that Angular 1.x is still going to be around, and maintained.
19:00 masak no EOL in sight.
19:00 masak reason being, they say, many people are still using 1.x and will for the forseeable future without switching.
19:01 isBEKaml masak: when they say things like  2 teams for 2 versions - there's a chance they'll pull the rug under you over v1
19:01 masak I don't understand your reasoning there.
19:01 masak this is an open-source project we're talking about.
19:02 masak a thing will stay maintained as long as there is interest and resources for maintaining it.
19:02 isBEKaml simple - which project talks about supporting 2 versions of the same software with *two* teams behind them? For a moment, ignore that it's google supporting them with funds/backing
19:02 isBEKaml just think of them as plain open source projects - manpower is certainly a concern and consider that there are other people using these projects.
19:03 isBEKaml What would they think when they see things like this?
19:03 masak I guess that's why they have to blog the "2 teams" assurance.
19:03 smls Sometimes, I wish there was a shortcut for calling a function with a single string argument, like there is for hash indexing.  %foo{"foo"} ===
19:04 smls %foo<foo>
19:04 isBEKaml "yeah, we have big swords. but rest assured that we won't cut you down!"
19:04 smls but alas, there are no brackets left in  ASCII...
19:04 moritz otoh foo 'foo' is just one char shorter than foo<foo>
19:05 masak sounds like an 'is parsed' macro to me...
19:05 mr-foobar moritz: It's really about interface coupling with frameworks.
19:06 smls moritz: not if you need to add parens, like in chained method calls,
19:06 mr-foobar doesn't compare with prog langs which are an even more basic coupling.
19:07 smls moritz: "a,b,c".split(',').join('.')   # that sort of thing
19:07 isBEKaml masak: anyway, I'm not holding out for any argument as far as Angular is concerned. What they did goes into my book as "What not to do..."
19:08 isBEKaml masak: but only time will tell if they were right in doing what they did, I guess...
19:09 masak I like what both projects are doing. and I wish them well.
19:10 FROGGS__ joined #perl6
19:14 raydiak g'mornin * \o
19:15 * mr-foobar avoids inheritance from frameworks.
19:26 vendethiel masak: when did they do such a blogpost?
19:26 vendethiel masak: EOL announcement for angular1 is angular2 release+18 months
19:28 atroxaper joined #perl6
19:30 Sqirrel joined #perl6
19:33 isBEKaml vendethiel: That was me getting things mixed up. :-)
19:33 isBEKaml vendethiel: that's what I read when I saw this post: http://blog.dantup.com/2014/10/have-the-angular-team-lost-their-marbles/
19:33 vendethiel ah, right
19:37 TimToady m: say 42.&log
19:37 camelia rakudo-moar 795a32: OUTPUT«3.73766961828337␤»
19:37 TimToady there's a function with 1 arg
19:39 masak "If you are building web applications today, this is the version you should use. This is the tried and true version that we really believe in. With over 1600 apps at Google built with Angular 1.x, we are committed to supporting it as the first class AngularJS version for a long time to come." -- http://angularjs.blogspot.se/2014/10/ng-europe-angular-13-and-beyond.html
19:39 TimToady oh, smls is gone
19:39 masak vendethiel: ^^
19:40 telex joined #perl6
19:40 lucas__ joined #perl6
19:41 vendethiel masak: well, I already rewrote $work's ng-app to remove angular
19:43 lucas__ Oh, people are talking about transitions? That's what is been decided right now about PHP 5.7 vs. PHP 7...
19:43 masak vendethiel: using Angular as a prototype is completely fine by me...
19:43 vendethiel masak: but it wasn't a prototype :)
19:44 vendethiel also, ew iterating directly on a prototype :p
19:44 masak *nod*
19:44 lucas__ So... the consensus is that there is NO consensus on dashes vs. underscores. Do you confirm that?
19:45 mr-foobar lucas__: 5.7-7 ? luxury ! I am at 5.3 ...
19:45 masak lucas__: I thought the rule was simple: `internal ?? underscore !! hyphen`
19:45 isBEKaml ehh? There *will* always be people who will quibble about these conventions. Pick what works for you and stick with it :)
19:46 lucas__ isBEKaml: would say the same thing goes for the P6 public API?
19:46 lucas__ *would you say
19:47 isBEKaml lucas__: nah, I'm not an authority on that. Like I said - you're free to decide. You'll know it when people complain :)
19:48 lucas__ isBEKaml: ok :)
19:53 masak I have some days when I start a project and go all underscores -- sometimes for no better reason than vim highlighting it more nicely.
19:53 masak then again, I have some days when I start a project and go all hyphens.
19:56 perltricks left #perl6
19:57 raydiak when to comes to many such conventions, /me is consistently inconsistent, except when he isn't
19:58 timotimo o/
19:58 isBEKaml raydiak: that is, sometimes you're inconsistently consistent? doesn't work too well, does it? :-)
19:58 raydiak \o timo
19:59 raydiak isBEKaml: sometimes yes, sometimes no :)
20:00 isBEKaml raydiak: hit and miss coding is the worst :)
20:02 tinyblak joined #perl6
20:02 raydiak isBEKaml: idk...bad maybe, but "worst" to me is being a slave to an obsession with the unattainable...so I swung the other way after enough years
20:04 raydiak though I still haven't nailed down that OCD tick about setting clocks to the second...
20:06 masak a little obsession with the unattainable can be a nice thing.
20:08 * TimToady wouldn't know anything about that
20:08 isBEKaml masak: Don Knuth levels?
20:08 isBEKaml masak: but then you could say nothing is unattainable to him
20:08 raydiak agreed it has a perfectly valid place in general, I'm just poor at mixing "obsession" and "little" in pleasing proportions, perhaps
20:10 gtodd vendethiel: to remove angular altogether or to get ready for version 2
20:10 vendethiel gtodd: remove angular altogether
20:10 gtodd !
20:10 vendethiel (I used websockets instead. much better.)
20:10 gtodd what will you use instead?
20:10 gtodd oh
20:11 gtodd wait are backbone and  angular cboth lient side MVC "frameworks"  for SPAs?
20:11 gtodd both client
20:12 vendethiel kind-of
20:12 gtodd hmm why did I ask that you said "websockets" ...  I glanced at my other screen where backbone docs are open ... sheesh
20:14 masak vendethiel: I've never seen Angular and Web Sockets as an either-or thing.
20:14 gtodd anyway I like how the source to underscore and backbone is annotated with docco :-)
20:14 vendethiel masak: I've never seen them as such either
20:22 masak no-one picked up today's mini-challenge, it seems: http://irclog.perlgeek.de/perl6/2014-12-13#i_9800695
20:22 gtodd what javascript "framework" (?) should I learn to ease the effect on my brain .... besides just using coffeescript :-)
20:22 gtodd I like angular ... was looking at backbone ...
20:22 masak gtodd: "ease the effect on my brain"? please clarify.
20:23 gtodd I find it clunky for doing basic things like accessing elements of an array, looping, etc.
20:24 gtodd coffeescript has a bit more built in ...
20:24 masak maybe look into EcmaScript 6, and Traceur?
20:24 masak I would also recommend looking at TypeScript.
20:25 gtodd :-)  javascript and ecmascript are the same no ? :-D
20:25 masak JavaScript is the common name. EcmaScript is the name in the standard.
20:25 masak when we say "EcmaScript <version>", we use EcmaScript.
20:25 isBEKaml ES is JS by standard name
20:25 gtodd I heard ES6 will be more errm "perl like" with better scoping and more builtin functions
20:26 gtodd and I've been looking at some sysadmin type scripts people have "ported" form perl to node.js
20:29 gtodd but I'm more interested in ES/JS in the browser (where there is no alternative) ... not sure how a sysadmin would gain that much by making scripts out of javascript ...
20:29 colomon joined #perl6
20:29 atroxaper joined #perl6
20:31 tinyblak_ joined #perl6
20:31 gtodd people really like npm grunt etc but they compare it to using perl5 circa 1995 ... maybe because cpanm pinto perlbrew  aren't as well known outside of perl community
20:33 ab5tract joined #perl6
20:39 vendethiel masak: you're not hype enough, you should use flow rather than ts :p
20:40 masak I'm aware of Flow. in fact, not long after I found TypeScript, I went "oh wait, that also means we could statically say a lot about JavaScript itself". I'm glad someone is now taking that route.
20:40 masak TypeScript is still relevant for various other reasons, though.
20:41 vendethiel *g*
20:52 tinyblak joined #perl6
20:55 tinyblak_ joined #perl6
20:57 prime joined #perl6
20:58 prime joined #perl6
21:06 zakharyas joined #perl6
21:14 immortal joined #perl6
21:16 tinyblak joined #perl6
21:22 davido_ joined #perl6
21:23 masak heh. I just realized that Category Theory is "abstract nonsense" in the same way XML is. :P
21:23 masak that is, "abstract" = "pulled away from the concrete", and "nonsense" = "not imbued with meaning".
21:24 davido_ joined #perl6
21:30 moritz after my daughter stumbles, I pull here away from the concrete; is she abstract now? :-)
21:33 masak yes. not only that, she's probably also embeddable in a category *and* expressible as an XML schema :P
21:37 * raydiak keeps going in mental metacircles of overabstraction that start with "if X is just a funny-looking Y, and Y is just a special case of Z" and ending up in scary places that look like lisp or haskell
21:52 arnsholt Oh, is dalek moved over to the new server?
21:56 raydiak can anyone suggest a simple compact way to disallow a particular public attribute in my class's otherwise-default BUILD, without having to explicitly re-list all the other attrs as BUILD params?
21:58 masak arnsholt: yes, to p6c. see backlog.
22:00 bartolin earlier today jnthn++ undid the adding of Metamodel::Primitives on parrot since parrot didn't build
22:00 bartolin . (there was a segfault when building the restricted settings; the undo commit was 6c4196d57c)
22:00 bartolin I tried to find the reason for the breakage but without success. in case someone with a better understanding of parrot than me will take a look at the problem, here are my thoughts so far:
22:00 bartolin to me it looks like the class Metamodel::Primitives somehow messes up with the Namespace "Perl6::Metamodel".
22:00 bartolin in src/gen/p-CORE.setting.pir "Primitives" suddenly appears alongside "C3MRO", "WrapDispatcher" and other Classes from namespace "Perl6::Metamodel". the latter classes are found in src/gen/perl6-bootstrap.pir and I doubt they belong to p-CORE.setting.pir
22:00 bartolin I got this impression by renaming "Metamodel::Primitives" to "NotExistingNamespace::Primitives" and comparing the resulting src/gen/p-CORE.setting.pir with the faulty version using "Metamodel::Primi
22:00 bartolin tives". btw: it looks like the content of class "Metamodels::Primitives" doesn't have an impact.
22:08 klebsiella joined #perl6
22:08 masak bartolin++ # research so far
22:10 klebsiella left #perl6
22:12 rurban joined #perl6
22:15 rurban joined #perl6
22:20 KCL_ joined #perl6
22:22 ab5tract joined #perl6
22:22 liztormato joined #perl6
22:23 liztormato raydiak: Maybe something like:
22:25 liztormato Method new(:$special, |c) { self.bless(|c) }
22:29 araujo joined #perl6
22:34 liztormato left #perl6
22:37 raydiak liztormato++ : thanks...you're right, moving it into the constructor instead of BLESS makes it much simpler
22:39 raydiak and out the door I go \o
22:45 dalek roast: 1ecd460 | usev6++ | S02-types/nested_arrays.t:
22:45 dalek roast: Add test for RT #98954
22:45 dalek roast: review: https://github.com/perl6/roast/commit/1ecd460c8e
22:45 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=98954
22:45 ab5tract joined #perl6
22:46 onebitboy joined #perl6
22:54 masak 'night, #perl6
22:55 bartolin o/
22:55 vendethiel \o
22:59 araujo O/
23:00 onebitboy joined #perl6
23:23 Mouq joined #perl6
23:23 Mouq masak: A very quick solution to the mini-challenge: https://gist.github.com/Mouq/0f07bedc2a06208efba8
23:23 Mouq o/
23:27 esaym153 joined #perl6
23:28 konsolebox joined #perl6
23:42 ab5tract joined #perl6
23:59 tgt joined #perl6

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

Perl 6 | Reference Documentation | Rakudo