»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:00 beastd left 00:01 rurban1 left 00:26 denis_boyun joined
raydiak ab5tract: +1 to a PP6 terminal gui...don't have suggestions for your performance concern, but +2 if it's cross-platform :) 00:31
00:35 denis_boyun left 00:55 Sqirrel joined 01:03 Rounin left 01:04 Sqirrel left 01:09 grettis left 01:26 jimmy2 joined, jimmy2 is now known as JimmyZ_ 01:28 ab5tract left 01:30 adu joined 01:31 JimmyZ_ left 01:32 JimmyZ_ joined 01:37 araujo left, araujo joined 01:44 sftp_ joined 01:46 sftp left, sftp_ is now known as sftp
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
don't need to turn your screen over if it supports scroll down
Timbus .. thats cool as hell 01:49
im just leaving that running on my other monitor
is " " xx 60 any worse than " " => 60? is the xx lazy in some way? 01:52
when it comes to populating a bag, that is
TimToady probably worse, but if I use => then I have to use Bag instead of bag :) 01:53
and I'm too lazy to type SHIFT
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) }'
is surely more efficient
the other one recalculated the bag every line
well, unless it's a lot smarter about constant folding than I think it is...
it does seem to suffer some GC jitter though 01:57
Timbus perl6's official graphical benchmark 01:58
adu it's snowing!
02:02 atroxaper joined
TimToady it might not work on windows, which is purported not to support scroll down 02:03
adu it works on MacOSX Yosemite 02:04
raydiak not tmux tho
adu would it be terminal-specific? or shell-specific? 02:06
02:06 atroxaper left
TimToady just needs the tput program plus the various ANSI escape codes 02:06
\e[T is the scroll down that might not be supported on some terminals 02:07
oops, getting called to dinner &
retupmoca can I get someone on linux/osx to test github.com/perl6/gtk-simple/pull/4 ? 02:08
02:09 ssqq joined
adu I can test 02:11
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?
retupmoca adu: no - you'll need to pull github/retupmoca/gtk-simple
adu retupmoca: I mean is it in the master branch of retupmoca/gtk-simple 02:13
retupmoca oh
yes
adu ok
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 :)
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…»
BenGoldberg p56: '123' =~ / [[digit]] /x; 02:15
camelia p5-to-p6 : OUTPUT«'123' ~~ m:P5:x! [[digit]] !␤»
adu retupmoca pastie.org/9777549
02:16 rmgk left
retupmoca adu: Can you try with perl6/gtk-simple ? 02:16
adu retupmoca: it's probably going to fail
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"
retupmoca oh
actually, let me try another commit, I may be able to fix that at the same time
02:17 rmgk joined
adu retupmoca: pastie.org/9777551 02:17
one is from perl6-j the other is from perl6-m 02:18
perl6-p is broken at the moment
retupmoca adu: try mine again 02:19
adu: I pulled out the explicit '.so'
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?
retupmoca whoever wrote that was probably on a linux box, so added .so out of habit 02:20
or somesuch
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?
ssqq p56: /<?digit>/
camelia p5-to-p6 : OUTPUT«m:P5!<?digit>!␤»
ssqq p56: / <?ident> / 02:21
camelia p5-to-p6 : OUTPUT«m:P5! <?ident> !␤»
retupmoca that's odd. The java library resolver must be automatically adding the extra bits in
raydiak still works here...and retupmoca++ \o/ for windows support
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
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
ssqq: P6 /<?digit>/ is a positive lookahead like P5 /(?=\d)/ 02:25
adu pastie.org/9777559
retupmoca: do I need to add /opt/local/lib to -L or something? 02:26
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
dalek_p6c k-simple: 0543879 | (Andrew Egeler)++ | lib/GTK/ (2 files):
Use different library names on Windows

When we're loading .dll's instead of .so files, use the library filenames that come in the gtk3 windows binary download.
Also note the definition of g_idle_add - the library was changed from libgtk to libglib, as it was throwing a 'symbol not found' error.
02:28
k-simple: 892737f | (Andrew Egeler)++ | lib/GTK/Simple.pm6:
Remove explicit '.so' for non-windows

This should let things work on OS X as well.
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:28 gfldex left, vendethiel- left
retupmoca adu: and libgtk-3.dylib is in /opt/local/lib? 02:29
does it work if you put that in the env var?
adu pastie.org/9777561
02:30 vendethiel joined
retupmoca if that's not in your library search path by default, that's why perl6-m is failing 02:31
I don't know wtf perl6-j is doing, though
adu retupmoca: I got it working!
retupmoca \o/
adu pastie.org/9777564 02:32
retupmoca: however, the libraries it's looking for still don't match even the *basename* of the actual file
I just symlinked the files into the local directory
retupmoca: but I think something is interpreting the ".0" as a library extension, which it isn't... 02:33
so it doesn't add ".dylib" even though it should
02:33 araujo left
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>/* ?
raydiak: or P6 /<?digit>/ equivalent to */<before digit>/* ? 02:35
JimmyZ_ I guess 'maybe have digit'? :) 02:36
retupmoca m: say '0' ~~ /^<.alpha>+$/ 02:37
camelia rakudo-moar 3fa1bd: OUTPUT«Nil␤»
retupmoca adu: I don't know why it's doing that :/
adu: FYI, the filename-picking code is at github.com/jnthn/zavolaj/blob/mast...l.pm6#L104 02:38
JimmyZ_ TimToady: Do we still need port keyspace/nofun/endsym from STD to rakudo? 02:39
adu retupmoca: what is the difference between \.\w+ and \.<.alpha>+ ? 02:41
does \w include numbers?
retupmoca m: say '0' ~~ /^\w$/ 02:42
camelia rakudo-moar 3fa1bd: OUTPUT«「0」␤␤»
retupmoca adu: yes, \w includes numbers and alpha does not
adu ahh, then I need to update rakudo 02:43
my version has \w instead of <.alpha>
raydiak ssqq: before...lookahead, not lookbehind
retupmoca adu: note that line is not actually in rakudo - that's in the NativeCall module
which is external to perl6 itself 02:44
adu then how do I update $prefix/languages/perl6/lib/NativeCall.pm6 ?
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'" :)
retupmoca adu: although if you're running rakudo star, then updating rakudo will also update that module 02:46
adu I'm using rakudo-star 02:48
retupmoca then updating that may be the simplest way
adu I like simple 02:49
02:52 JimmyZ_ left, JimmyZ_ joined 03:09 noganex joined 03:12 noganex_ left 03:16 Alula left 03:19 JimmyZ_ left, JimmyZ_ joined 03:30 Alula joined 03:40 vendethiel left, JimmyZ_ left 03:41 JimmyZ_ joined 03:47 vendethiel joined
adu retupmoca: ok, trying again 03:47
retupmoca: are you still here? 03:52
03:55 kurahaupo1 left
adu pastie.org/9777638# 04:00
it looks like bash is trying to interpret panda with /bin/sh 04:03
JimmyZ_ adu: I think your nqp is too old. 04:08
04:08 JimmyZ__ joined, JimmyZ__ is now known as JimmyZ
adu JimmyZ_: I just updated 5 minutes ago 04:08
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 konsolebox left
JimmyZ_ it doesn't when nativecall has some new feature that relies new nqp 04:12
04:12 JimmyZ left, JimmyZ_ is now known as JimmyZ
JimmyZ and panda doesn't support installing old-version package 04:15
adu maybe I should "panda install panda" 04:21
04:35 marconrd joined 04:37 lsm-desktop joined
adu JimmyZ: when I build everything from scratch I get Missing or wrong version of dependency 'gen/moar/stage2/QRegex.nqp' 04:49
during every single line of the compilation
pastie.org/9777673
05:01 ssqq_ joined
ssqq_ nqp-m: say: 'hello world!'; 05:02
camelia ( no output )
ssqq_ perl6: say: 'hello wrold'; 05:03
camelia ( no output )
05:05 atroxaper joined 05:09 atroxaper left 05:14 marconrd left, tinyblak joined, adu left 05:21 adu joined 05:22 ssqq_ left, ssqq left
adu has anyone here heard of Truffle? 05:24
05:29 kurahaupo left
JimmyZ adu: you need `make clean` when rebuild nqp and rakudo 05:31
adu I'm trying that now
well, I deleted my .local directory and redownloaded everything 05:32
05:39 konsolebox joined 05:46 BenGoldberg left 05:47 tinyblak_ joined 05:49 tinyblak left 06:06 rindolf joined, jack_rabbit joined
dalek_p6c ast/underscore_to_dash: 2af9d0c | (Jimmy Zhuo)++ | S12-meta/primitives.t:
change part of underscore to dash
06:07
06:10 davido_ left 06:11 davido_ joined 06:15 vendethiel left
adu pastie.org/9777736 06:17
06:23 vendethiel joined 06:45 vendethiel left 06:47 lsm-desktop left
moritz \o 06:51
06:54 vendethiel joined 06:56 mr-foobar joined 06:58 dalek left, rindolf left, dalek joined, ChanServ sets mode: +v dalek 07:02 dalek left 07:04 rurban joined 07:20 konsolebox left 07:35 mr-foobar left 07:42 adu left 07:45 vti joined 07:53 Isp-sec joined 07:54 Sqirrel joined 07:56 atroxaper joined 07:59 vendethiel left 08:01 atroxaper left 08:04 rurban_ joined 08:05 vendethiel joined 08:15 darutoko joined 08:22 jack_rabbit left
dalek_p6c kudo/nom: 5a06ace | TimToady++ | src/ (7 files):
allow $x ~~ s/// to return Match or list of Match

s/// is now implemented in terms of .subst-mutate, which returns the matches instead of the result, just as normal matching does.
08:29
ast: 3cef4f5 | TimToady++ | S05-substitution/subst.t:
update tests for s:g/// returning Match or List
08:29 kaare_ joined
08:37 ssqq joined 08:38 dalek_p6c left, dalek joined, ChanServ sets mode: +v dalek
ssqq If any-place where use *«* could replace with *<<*? 08:39
08:40 jack_rabbit joined
moritz ssqq: I don't know if I understood your question correctly, but afaict nearly all uses of « could be replaced with << 08:41
ssqq: just not those where there's a << inside the quotes 08:42
TimToady However, *«* is not a valid construct
moritz for example infix:«<<»
ssqq in *infix:«<<»*, if could use other syntax to replace *«...»"? 08:43
moritz: this character is not easy to write in some editor. 08:44
TimToady in vim it's just ^K-<< 08:46
if you have a compose key, it's just COMPOSE-<<
ssqq thanks, TimToady and moritz. I see. 08:47
TimToady or you can say infix:<\<\<> since it is just a kind of quote 08:48
m: say <\<\<>
camelia rakudo-moar 3fa1bd: OUTPUT«<<␤»
Timbus m: say <<<>> 08:50
camelia rakudo-moar 3fa1bd: OUTPUT«<␤»
Timbus er
m: say <<<<>>
camelia rakudo-moar 3fa1bd: OUTPUT«===SORRY!=== Error while compiling /tmp/luGPOBCLr9␤Unable to parse expression in shell-quote words; couldn't find final '>>' ␤at /tmp/luGPOBCLr9:1␤------> say <<<<>>⏏<EOL>␤ expecting any of:␤ argum…»
Timbus wait 08:51
m: say <<<<>>>>
camelia rakudo-moar 3fa1bd: OUTPUT«<<>>␤»
Timbus haha
08:52 gfldex joined
lizmat fwiw: confirmed that current parrot build builds, but cannot build RESTRICTED setting because executing any code results in a segfault 09:04
$ ./perl6-p -e 1
Segmentation fault: 11
09:05 f1ay joined
vendethiel well, it's certainly restricted :p 09:07
woolfy To celebrate the coming of Perl 6 (and sometimes we all need a rainbow unicorn butterfly kitten): media-cache-ak0.pinimg.com/736x/bf/...bc7cc6.jpg 09:11
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
lizmat commute& 09:15
TimToady of course, the wings on ƸöƷ seem to upside-down as well 09:16
vendethiel .u Ƹö 09:17
yoleaux U+00F6 LATIN SMALL LETTER O WITH DIAERESIS [Ll] (ö)
U+01B8 LATIN CAPITAL LETTER EZH REVERSED [Lu] (Ƹ)
woolfy Kitten does not want to fly high? 09:18
09:21 telex left 09:22 telex joined
timotimo raydiak: i'm not sure if i'll find the energy to restart development of catui 09:25
09:25 Rounin joined 09:27 erkan joined 09:32 woolfy left, jack_rabbit left 09:34 ptc_p6 joined 09:40 spider-mario joined 09:47 atroxaper joined 09:52 atroxaper left 09:54 ptc_p6 left
dalek on: a5c83eb | moritz_++ | lib/JSON/Tiny.pm:
uncomment pod

Rakudo does not get confused by it these days :-)
09:56
10:02 kurahaupo joined 10:05 dalek left, dalek joined, ChanServ sets mode: +v dalek, denis_boyun joined 10:11 denis_boyun left
dalek frastructure-doc: 2c3e1a0 | moritz_++ | hosts/hack.p6c.org.pod:
Document dalek systemd services
10:15
: 45efb53 | moritz_++ | misc/dalek-start.txt:
Replace old dalek-start with link to more current documentation
10:16
10:28 kurahaupo left 10:31 ab5tract joined 10:34 ptc_p6 joined 10:35 risou is now known as risou_awy 10:36 risou_awy is now known as risou
masak happy Lucia, everyone! 10:38
vendethiel masak: oooh, so that's why my sister was mad at me :o) 10:44
masak I feel I am missing a few steps of that inference. 10:45
vendethiel masak: hahaha. well, I didn't wish her 10:47
masak I don't think it's commonly wished, to be fair.
vendethiel seems pretty common around here 10:48
masak: err, the last part for the inference you're missing is -- it's her name
moritz oh
10:49 rurban left
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
vendethiel "#perl6 - your daily dose of advent calendar, and more" 10:50
10:54 anaeem1_ left, yeahnoob joined
masak published some feedback on last week's blog post: strangelyconsistent.org/blog/feedba...eholdeeers 11:09
11:12 mvuets joined
vendethiel masak: ha! I didn't even read your previous blog post. nice! 11:23
masak++
moritz masak++ 11:25
masak oh, and two additional comments about Lisp: 11:28
(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
11:29 pecastro joined
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
masak right, that's what I'm saying.
(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:30
not only is the comma up for grabs, it gets in everywhere because everything is an AST. 11:35
by which I mean to say, in Lisp, if it's an AST, then it's also a meaningful program. (kinda) 11:36
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
i wish i could help out with it more
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.
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
masak then you have a bug :P 11:40
hahainternet masak: or more exactly, it's missing or undecided on features yet
FROGGS_ hahainternet: if you'd paste them as gists to github and link them here, we'd be happy to help
hahainternet i'm implementing a libtcl binding and it requires for example i allocate a Tcl_DString struct
FROGGS_ ahh
hahainternet which i don't believe the syntax is nailed down sufficiently to do yet
FROGGS_ okay, I was hoping for more trivial problems :o)
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
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
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…»
ab5tract_ m: class A { method postcircumfix:<{ }> ($idx) { $idx.say } }; A.new{4};
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…»
ab5tract_ o_O 11:50
11:53 atroxaper joined, ab5tract_ left, atroxaper left 11:54 atroxaper joined
jnthn ab5tract: You implement at_pos or at_key in the class 11:54
ab5tract jnthn: there's only one way to do it?! ;) 11:55
jnthn ab5tract: No, you can also implement multi *sub* postcircumfixes :)
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
11:56 pmurias joined 11:58 atroxaper left
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…»
ab5tract jnthn: i expect i'm thinking the wrong way about it, but is at_pos also able to handle multi-dimensions? 11:59
m: class A { method at_pos(*@i) { @i.say } }; A.new[4,5];
camelia rakudo-moar 3fa1bd: OUTPUT«4␤5␤»
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"
4,5 is a slice, not multi-dim
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.
ab5tract m: class A { method at_pos(*@i) { @i.say } }; A.new[4;5];
camelia ( no output )
jnthn hahainternet: Well, first let me find the section and make sure none of it is todone... :)
oh wow
hahainternet jnthn: fixed sized allocations, union support etc :p 12:02
jnthn I just found the file named TODO :)
hahainternet i'm trying to work with tcl bindings and they're quite finnicky
not that i expect you to work on it, i'm trying to learn how it all is put together
jnthn And that lot is mostly done. But yes, it misses the things you mentioned. 12:03
hahainternet hokey dokey, not a problem
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
timotimo like malloc
hahainternet for example
timotimo ok
yes
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
fun times :)
jnthn Ah, so arrays flattened in structs. OK. 12:05
hahainternet well, i'm not exactly a C expert either, so i am well out of my depth here 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
hahainternet but i read i believe one of your posts inviting people to play with concurrency
jnthn np, I understand what it is you're after. :)
hahainternet btyler: oh i'm sure i could
JimmyZ still wonders wheter there are objections to change underscore to dash or not for the API in Metamodel:: namespace
hahainternet btyler: but it's not a practical concern, i will just mess around with cgo for now
jnthn (And I know it's going to be tricky to get right. :))
hahainternet jnthn: no pressure from me
just trying to find excuses to do p6
jnthn JimmyZ: Yes, objection is we break, like, the entire ecosystem. :P
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:07
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 :)
jnthn: i also watched one of your talks recently and try and keep up with your papers, so i owe you plenty
thanks :)
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
jnthn JimmyZ: I'm not accepting a PR that makes one class in Metamodel:: inconsistent with all the others. 12:12
JimmyZ ok.
jnthn hahainternet: You're welcome; no problem :)
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
so, same problem set regardless
timotimo mhm
hahainternet also jnthn if you have any plans to head up to manchester or surrounding i'll buy you a pint
jnthn Yes, I'm already pondering if the two are related problems. 12:14
mvuets hello #perl6 12:16
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. :)
mvuets: Well, many of the operators, for one. :)
JimmyZ I think the general policy is update API and then update all the ecosystem modules? like we did before :P
mvuets or in other words: is it valid to say that all built-in subroutines are wrappers of methods of some type?
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.
JimmyZ: I meant on whether to use dashes *everywhere*... 12:19
JimmyZ oh
moritz using dashes in C would be weird :-)
12:20 psch joined
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'?
jnthn moritz: That does rather take away from the idea... :P
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
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
hahainternet well not that bit, it's more the nqp parts i have no clue whatsoever about
i have a pdf that explains the repr stuff but i'm not there yet :)
JimmyZ
.oO(Port tinycc to Perl6...)
12:23
mvuets what defines or how to define precedence for operators?
jnthn mvuets: traits 12:24
is looser, is tigheter, etc.
osfameron what happens if you define contradictory traits?
e.g. is looser(X) is tighter (X) ?
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
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
btyler I'll probably continue the path of least resistance and just spit out strings of p6
hahainternet dealing with C is always a pain :)
osfameron jnthn: hehe
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␤»
jnthn m: sub infix:<foo>($a, $b) is looser(&infix:<+>) is tighter(&infix:<+>) { "$a foo $b" }; say 1 + 2 foo 3 + 4
camelia rakudo-moar 3fa1bd: OUTPUT«3 foo 7␤»
btyler hahainternet: github.com/kanatohodets/struct-zap...-zapper.p6 is the little grammar I hacked up
jnthn Well, that looks like the last wins... :)
btyler (of course) super incomplete, but libgit2 is fairly consistent, so I'm just scratching my own itch 12:27
12:28 oetiker left
osfameron last? hmm, maybe I have "looser" and "tighter" the wrong way around in my head? 12:28
12:30 rindolf left, oetiker joined
jnthn osfameron: Uh, no, I just didn't have enough coffee yet today. :) 12:33
12:35 oetiker left
psch .tell smls thanks, i've corrected the description of the descriptor 12:35
yoleaux psch: I'll pass your message to smls.
osfameron jnthn: praise be to coffee :-) 12:37
JimmyZ psch: new HashMap< >() # I'm not sure though ... 12:41
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 :)
psch JimmyZ: although maybe there's another spot i'm missing?
i think they call it diamond operator, fwiw 12:43
JimmyZ don't know, I 'm not good at java syntax :)
colomon psch++ # sorry again 12:45
jnthn psch++ has it right, afaik 12:47
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
dalek p: 499c890 | jnthn++ | docs/ops.markdown:
Add missing op name. Closes #207.
12:51
psch colomon: no worries, i've struggled with the same problem. wordpress' handling of angled brackets is kind of weird i guess 12:54
it's not even consistent...
jnthn bbi30 12:55
13:09 jnthn joined 13:11 H2O1 joined 13:12 H2O1 left 13:19 BenGoldberg joined 13:20 BigBear joined 13:21 ssqq left, khisanth_ joined 13:23 Khisanth left
masak today's mini-challenge: 13:45
moritz Nil
masak there was this old BASIC computer game that I used to like as a teenager: atariarchives.org/basicgames/showpage.php?page=4 13:46
I just re-implemented it, for fun: gist.github.com/masak/9cb23eadba7d9dc52210
(in Perl 6)
if anyone else writes a conformant implementation, I will share mine and we can compare :)
the game learns as you play it, which is quite nice.
of course, in the BASIC version it all happened through an array of inscrutable numbers, which is not so nice ;) 13:47
in Perl 6, we can do better. it's the specific implementation I'm curious about.
so aim for some sort of elegance/cohesion.
ab5tract jnthn: now that i've experienced it, i think the at_pos semantics are awesome. they really encourage thoughtful class composition :) 13:48
13:50 yeahnoob left
timotimo masak: now implement rebalancing of the decision tree 13:54
masak heh. is that possible without asking new questions on the way? :)
timotimo no
don't think so
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:55
an unexpected difficulty is having to do in-place replacement of things in the tree. 13:56
I think that can be solved in various ways
13:59 Akagi201 joined 14:00 JimmyZ left 14:01 JimmyZ joined
JimmyZ Yeah! byobu :) 14:01
masak yeah! hi JimmyZ :)
JimmyZ hi,masak! 14:02
masak .oO( "bring your own... 不?" ) :P
14:02 rindolf joined
JimmyZ so how about the child :) 14:03
14:03 anaeem1 joined, anaeem1 left 14:04 yeahnoob joined 14:09 yeahnoob left 14:11 Rounin left, anaeem1 joined
masak walk & 14:12
14:13 anaeem1 left 14:14 atroxaper joined 14:16 pochi_ is now known as pochi 14:20 anaeem1_ joined 14:22 anaeem1_ left, yeahnoob joined
[Coke] TimToady++ #snow 14:24
psch hrm, the org.objectweb.asm.util.Textifier just writes jvm bytecode mnemos, not actual java code :/ 14:29
and that's kind of hard to read... 14:30
14:31 millican joined
millican join ##bicycles 14:32
sorry about that
ab5tract TimToady: you got the snow going the right way :D 14:35
14:36 raiph joined
timotimo so, what's cooking on everyone's local checkouts of rakudo, nqp and moarvm? :) 14:37
psch timotimo: overridden constructors 14:38
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?
psch for java classes
for interop
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:40
14:40 atroxaper left
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
14:41 atroxaper joined
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.
timotimo ah, of course
i didn't realize ^foo was something to be found in the specs 14:42
or is it new both in spec and in implementation?
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 :)
timotimo OK 14:43
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
*endsym 14:45
timotimo keep nofun out of rakudo, please
psch .oO( add allfun instead! ) 14:46
JimmyZ and how about the other two?
timotimo i was only making a joke because we want to have fun in rakudo, so "nofun" would be bad ... 14:47
disregard that comment please :)
JimmyZ ah ...
hoelzro morning #perl6 14:49
psch o/ hoelzro 14:50
hoelzro o/ psch 14:51
timotimo hey mister wood :) 14:53
wööd?
hoelzro heh 14:58
I makes a certain amount of sense =)
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
(list = alarm chroot eval glob lstat readlink readpipe require stat)
jnthn hoelzro: I think we just copied that list from STD... :) 15:03
hoelzro that's how it looks =)
I'm just wondering if there's anything in there that could use pruning 15:04
15:08 molaf joined 15:29 tinyblak_ left 15:30 tinyblak joined
hoelzro hmm...removing all of them still passes roast 15:31
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…
pmurias [Coke]: ping
hmm, would it be possible to set up automated test runs for nqp-js on the new perl6 community box? 15:46
and if so how should I do it?
timotimo you should do it 15:47
:)
perhaps it'd be simpler to do using that open source continuous integration thingie? what's it called again?
where moarvm is also being CI'd?
travis ci, iirc 15:49
psch i think travis has some limit on runtime, which is why we're not roasting there
i don't know if nqp-js fit under that limit though
or maybe not roasting there is due to memory usage 15:50
timotimo mhm
TimToady psch: I think I'd call those "overloaded" rather than "overridden" 15:55
psch TimToady: oh, you're right of course, did i put it wrong in the advent post..? 15:56
ah, no, it has overloaded there :)
masak pmurias: do you have a concrete example in mind? 15:57
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
15:58 smls joined
masak +1 15:58
TimToady darn, missed an opportunity...
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
tjat
that's better, except that last line
masak TimToady: which is why the STD rule is called "apostrophe", right? :P
TimToady yes, they're both related to catastrophes :) 16:00
JimmyZ :)
TimToady had a friend who was awarded a cat-ass-trophy once... 16:01
it wasn't pretty...
lessee, what am I working on now...I guess I'm done with smartmatching vs s///, unless the parrot crash is my fault 16:02
we never made an easier way to fire up gdb, did we? 16:03
oh, perl6-p is a normal executable 16:04
arnsholt Yeah, perl6-p is directly gdbable 16:05
It's perl6-m you have to extract it from
TimToady ooh, it's a gc_free in repossess 16:06
I don't think I did that one...
16:07 yeahnoob left
TimToady who has changed something that would affect deserialization lately? 16:07
.u todo 16:08
yoleaux U+1806 MONGOLIAN TODO SOFT HYPHEN [Pd] (᠆)
U+1843 MONGOLIAN LETTER TODO LONG VOWEL SIGN [Lm] (ᡃ)
U+1844 MONGOLIAN LETTER TODO E [Lo] (ᡄ)
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
TimToady jnthn: you have bruck the build! 16:12
jnthn Well bother. :/
How does it break?
TimToady perl6-p -e 42 coredumps in repossession 16:13
so we can't even run enough perl6-p to compile RESTRICTED
jnthn ffs 16:14
TimToady was that a cat hiss?
jnthn Yes. :)
Well...could always rip out the line I added 16:15
But other stuff will end up depending on it
But if I can keep that other stuff easy to not build on Parrot too, then I guess I don't have to care.
Bluntly, I've zero energy and motivation to do anything beyond not totally bust r-p. 16:16
16:16 Akagi201 left
TimToady bartolin: feel to check in that line deletion 16:17
jnthn +1
bartolin I'll make a PR 16:18
jnthn oh, let's not do a PR for just a line deletion...
jnthn does it 16:19
bartolin thanks, jnthn++
TimToady bartolin++ 16:20
dalek kudo/nom: 6c4196d | jnthn++ | tools/build/Makefile-Parrot.in:
Back out adding Metamodel::Primitives on Parrot.

It breaks the build, for a likely hard-to-debug reason.
16:24 Akagi201 joined
pmurias masak: when I was using the quasi quoting in haskell I was escaping for example integer and floating point literals differently 16:29
16:30 mr-foobar joined
masak Haskell has a need to know the type of the thing it's parsing. Perl 6 doesn't, not in that sense. 16:34
16:40 rurban_ left 16:46 zakharyas joined
ab5tract hmmm... this is failing a new way every time gist.github.com/ab5tract/28aa420074909a6925ae 16:51
segfaults galore
dalek kudo/prune-deftrap: 8677689 | hoelzro++ | src/Perl6/Grammar.nqp:
Remove non-builtins from deftrap

It clutters up deftrap, and a new Perl 6 user might attempt something like 'stat', and when they get the error message and they try '.stat' and don't get the result they expect, it could be very confusing.
16:53
hoelzro could someone sanity check that branch for me?
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 16:59
with the place holder being the wrong word here 17:01
as {{{$thing}} and ? are executed at different moments 17:02
dalek kudo/nom: b4da833 | TimToady++ | src/core/Kernel.pm:
default to uname if it exists

The previous code assumed all Unix distributions could eventually be enumerated somehow, which is delusional. :)
17:08
17:12 colomon left 17:15 yogan joined 17:19 M_o_C joined 17:23 anaeem1_ joined
itz_ twitter.com/rundavidrun/status/543...44/photo/1 17:23
not on perl6 ;-)
TimToady those puppies need a scheduler 17:31
17:41 Alula left 17:42 Alula joined 17:45 anaeem1_ left 17:47 anaeem1_ joined
dalek ast: 9990bba | moritz_++ | S05-modifier/overlapping.t:
Fix and unfudge overlapping.t

  * make number of tests not dependent on number of matches
  * remove (1) x $count 5ism
  * remove duplicate tests
Overall we now have 20 instead of 41 subtests, but we still test the same functionality, and more transparent than before
17:55
kudo/nom: 795a327 | hoelzro++ | src/Perl6/Grammar.nqp:
Remove non-builtins from deftrap

It clutters up deftrap, and a new Perl 6 user might attempt something like 'stat', and when they get the error message and they try '.stat' and don't get the result they expect, it could be very confusing.
17:56 rurban_ joined 17:57 flussence joined 17:58 flussence left, flussence joined 18:00 flussence left 18:02 isBEKaml joined
mr-foobar i think this will sound silly, but can a programming language interpreter have more than one process ? 18:07
BenGoldberg You mean, via fork()? 18:08
mr-foobar no I mean the interpreter itself. 18:09
lexer = 1st process, parser = 2nd process, executor = 3rd process, .....
psch i don't see why it couldn't 18:10
you could try prototyping it with Supplies and Promises :)
dalek ast: 8bca161 | TimToady++ | S05-modifier/overlapping.t:
re-add capture tests
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.
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
TimToady you end up spending a lot of time serializing/deserialing if you pipeline that
psch eh, "everything parsed before AST" is not quite right i think...
TimToady also, the language is continually changing lexers on the fly 18:13
because we use many slangs all the time
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
mr-foobar: now yer just stringin' words together and hoping they'll make sense :P
mr-foobar :) I just keep looking at x86. it's amazing ! 18:16
18:16 zakharyas left
TimToady anyway, there's certainly prior art for it, but only for languages that are not trying to mutate themselves on the fly 18:16
basically, a lexer is a very large source filter 18:17
as normally implemented
18:17 flussence joined
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:18
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 anaeem1_ left
mr-foobar :D 18:20
I donno if you thought about it. But such mutability is a great win for legacy code. 18:22
not the old xxx code now (maybe even that), but code written in perl6 will be future compatible 18:23
18:26 anaeem1_ joined
mr-foobar that's also how x86 works in a way. 128-bit won't affect 64-bit and so on ... 18:27
TimToady 64 bits should be enough for anyone... :) 18:28
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
how well that works in practice, we'll see
mr-foobar I lived through py2/py3 ruby1.8/1.9 php4/5/5.3 .... 18:30
18:30 anaeem1_ left
mr-foobar i hate hate hate dealing with that. 18:31
The c/c++ model however, I can live with. 18:33
18:34 M_o_C left
moritz mr-foobar: "I lived through py2/py3" sounds like that topic is over 18:41
18:41 rurban left
moritz at least for me, it's not :( 18:41
TimToady well, you ain't seen nothin' yet, wait till you see our transition... :P 18:42
moritz :-) 18:44
though AngularJS 1 -> 2 also promises to be a fun one
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...
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.
yoleaux 12:35Z <psch> smls: thanks, i've corrected the description of the descriptor
mr-foobar moritz: I see it as Perl+- as in perl will always remain perl :) 18:49
18:49 ab5tract left 18:50 perltricks joined
moritz mr-foobar: it will, just American English and British English will remain English 18:50
*just like
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...
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
isBEKaml moritz: what was surprising was - Angular folks announced EOL for v1 just after 18 months and announced v2... 18:57
masak isBEKaml: surely there's been no EOL announcement for AngularJS 1.x. 18:58
isBEKaml: what I mean is, do you have a source for that?
moritz: frankly I don't see why the Angular people are so willingly throwing themselves into the Second System Syndrome situation.
18:58 rindolf left
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:58
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
isBEKaml masak: yeah, that's what made me think of EOL'd v1
masak no, they keep assuring that Angular 1.x is still going to be around, and maintained. 19:00
no EOL in sight.
reason being, they say, many people are still using 1.x and will for the forseeable future without switching.
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.
this is an open-source project we're talking about.
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
just think of them as plain open source projects - manpower is certainly a concern and consider that there are other people using these projects.
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.
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"} ===
%foo<foo> 19:04
isBEKaml "yeah, we have big swords. but rest assured that we won't cut you down!"
smls but alas, there are no brackets left in ASCII...
moritz otoh foo 'foo' is just one char shorter than foo<foo>
masak sounds like an 'is parsed' macro to me... 19:05
mr-foobar moritz: It's really about interface coupling with frameworks.
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.
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..."
masak: but only time will tell if they were right in doing what they did, I guess... 19:08
masak I like what both projects are doing. and I wish them well. 19:09
19:10 FROGGS__ joined 19:12 Sqirrel left 19:13 FROGGS_ left 19:14 smls left
raydiak g'mornin * \o 19:14
mr-foobar avoids inheritance from frameworks. 19:15
vendethiel masak: when did they do such a blogpost? 19:26
masak: EOL announcement for angular1 is angular2 release+18 months
19:28 atroxaper left, atroxaper joined 19:29 atroxaper left 19:30 Sqirrel joined
isBEKaml vendethiel: That was me getting things mixed up. :-) 19:33
vendethiel: that's what I read when I saw this post: blog.dantup.com/2014/10/have-the-an...r-marbles/
vendethiel ah, right
TimToady m: say 42.&log 19:37
camelia rakudo-moar 795a32: OUTPUT«3.73766961828337␤»
TimToady there's a function with 1 arg
19:38 telex left
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." -- angularjs.blogspot.se/2014/10/ng-eu...eyond.html 19:39
TimToady oh, smls is gone
masak vendethiel: ^^
19:40 telex joined, lucas__ joined
vendethiel masak: well, I already rewrote $work's ng-app to remove angular 19:41
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...
vendethiel masak: but it wasn't a prototype :)
also, ew iterating directly on a prototype :p 19:44
masak *nod*
lucas__ So... the consensus is that there is NO consensus on dashes vs. underscores. Do you confirm that?
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`
isBEKaml ehh? There *will* always be people who will quibble about these conventions. Pick what works for you and stick with it :)
lucas__ isBEKaml: would say the same thing goes for the P6 public API? 19:46
*would you say
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:47
lucas__ isBEKaml: ok :) 19:48
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
then again, I have some days when I start a project and go all hyphens.
19:56 perltricks left
raydiak when to comes to many such conventions, /me is consistently inconsistent, except when he isn't 19:57
timotimo o/ 19:58
isBEKaml raydiak: that is, sometimes you're inconsistently consistent? doesn't work too well, does it? :-)
raydiak \o timo
isBEKaml: sometimes yes, sometimes no :) 19:59
isBEKaml raydiak: hit and miss coding is the worst :) 20:00
20:01 tinyblak left 20:02 tinyblak joined
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:02
though I still haven't nailed down that OCD tick about setting clocks to the second... 20:04
masak a little obsession with the unattainable can be a nice thing. 20:06
TimToady wouldn't know anything about that 20:08
isBEKaml masak: Don Knuth levels?
masak: but then you could say nothing is unattainable to him
raydiak agreed it has a perfectly valid place in general, I'm just poor at mixing "obsession" and "little" in pleasing proportions, perhaps
gtodd vendethiel: to remove angular altogether or to get ready for version 2 20:10
vendethiel gtodd: remove angular altogether
gtodd !
vendethiel (I used websockets instead. much better.)
gtodd what will you use instead?
oh
wait are backbone and angular cboth lient side MVC "frameworks" for SPAs? 20:11
both client
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
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 :-)
vendethiel masak: I've never seen them as such either
masak no-one picked up today's mini-challenge, it seems: 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 :-)
I like angular ... was looking at backbone ...
masak gtodd: "ease the effect on my brain"? please clarify.
gtodd I find it clunky for doing basic things like accessing elements of an array, looping, etc. 20:23
coffeescript has a bit more built in ... 20:24
masak maybe look into EcmaScript 6, and Traceur?
I would also recommend looking at TypeScript.
gtodd :-) javascript and ecmascript are the same no ? :-D 20:25
masak JavaScript is the common name. EcmaScript is the name in the standard.
when we say "EcmaScript <version>", we use EcmaScript.
isBEKaml ES is JS by standard name
gtodd I heard ES6 will be more errm "perl like" with better scoping and more builtin functions
20:26 lucas__ left
gtodd and I've been looking at some sysadmin type scripts people have "ported" form perl to node.js 20:26
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
20:29 colomon joined, atroxaper joined 20:31 tinyblak_ joined
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:31
20:33 ab5tract joined 20:34 tinyblak left 20:36 atroxaper left 20:37 ab5tract left
vendethiel masak: you're not hype enough, you should use flow rather than ts :p 20:39
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
TypeScript is still relevant for various other reasons, though.
vendethiel *g* 20:41
20:45 prime left 20:47 darutoko left 20:50 tinyblak_ left 20:52 tinyblak joined 20:55 tinyblak_ joined 20:57 prime joined 20:58 prime left, prime joined 20:59 tinyblak left 21:06 zakharyas joined 21:11 erkan left 21:13 tinyblak_ left 21:14 raiph left 21:15 immortal joined 21:16 tinyblak joined, isBEKaml left 21:21 davido_ left 21:22 davido_ joined, davido_ left
masak heh. I just realized that Category Theory is "abstract nonsense" in the same way XML is. :P 21:23
that is, "abstract" = "pulled away from the concrete", and "nonsense" = "not imbued with meaning".
21:24 davido_ joined
moritz after my daughter stumbles, I pull here away from the concrete; is she abstract now? :-) 21:30
masak yes. not only that, she's probably also embeddable in a category *and* expressible as an XML schema :P 21:33
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:37
21:43 kaare_ left 21:51 molaf left
arnsholt Oh, is dalek moved over to the new server? 21:52
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:56
masak arnsholt: yes, to p6c. see backlog. 21:58
bartolin earlier today jnthn++ undid the adding of Metamodel::Primitives on parrot since parrot didn't build 22:00
. (there was a segfault when building the restricted settings; the undo commit was 6c4196d57c)
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:
to me it looks like the class Metamodel::Primitives somehow messes up with the Namespace "Perl6::Metamodel".
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
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
tives". btw: it looks like the content of class "Metamodels::Primitives" doesn't have an impact.
22:08 klebsiella joined
masak bartolin++ # research so far 22:08
22:10 klebsiella left 22:12 rurban joined 22:14 rurban left 22:15 rurban joined 22:20 KCL_ joined 22:22 ab5tract joined, liztormato joined
liztormato raydiak: Maybe something like: 22:23
Method new(:$special, |c) { self.bless(|c) } 22:25
22:26 ab5tract left 22:29 araujo joined, araujo left, araujo joined 22:34 liztormato left
raydiak liztormato++ : thanks...you're right, moving it into the constructor instead of BLESS makes it much simpler 22:37
and out the door I go \o 22:39
22:40 rurban left 22:44 onebitboy left
dalek ast: 1ecd460 | usev6++ | S02-types/nested_arrays.t:
Add test for RT #98954
22:45
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=98954
22:45 ab5tract joined 22:46 onebitboy joined 22:50 ab5tract left
masak 'night, #perl6 22:54
bartolin o/ 22:55
vendethiel \o
araujo O/ 22:59
22:59 onebitboy left 23:00 onebitboy joined 23:06 KCL_ left 23:09 zakharyas left 23:16 ptc_p6 left 23:18 spider-mario left 23:23 Mouq joined
Mouq masak: A very quick solution to the mini-challenge: gist.github.com/Mouq/0f07bedc2a06208efba8 23:23
o/
23:23 Mouq left 23:27 esaym153 left, esaym153 joined 23:28 konsolebox joined 23:33 gfldex left 23:34 millican left 23:35 Isp-sec left 23:42 ab5tract joined 23:49 BigBear left 23:59 tgt joined