»ö« 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/luGPOBCLr9Unable 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«4Unhandled 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«45» | ||
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
|