»ö« 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.
camelia rakudo-moar 368750: OUTPUT«(timeout)» 00:00
colomon hmmm, locally that needs the end to be want-three-arg-function(&x); wants-three-arg-function(&wants-three-arg-function); 00:01
but then it works as desired.
timotimo right, if you write just wants-three-arg-function, that's a call to wants-three-arg-function 00:05
you need that to be &wants-three-arg-function
frew so how do I say, "this function takes a coderef that takes two args and returns an int?" 00:34
timotimo you would be able to write --> Int into the piece of the signature restricting thingie 00:36
with the hacky workaround, you can also write (&f where &f.args == 2 and &f.returns eqv Int)
eqv wouldn't allow int subtypes or roles applied to an Int, i believe 00:37
frew huh 00:38
timotimo explain your confusion? 00:40
frew I'm not confused 00:41
timotimo oh, ok
frew I just think it needs sugar ;)
timotimo yes, it does
it's supposed to have sugar, too
frew ah ok
so if the sugar worked, what would it look like?
timotimo sub very_picky_eater(&foo(Any, Any --> Int)) { ... } 00:42
frew beautiful
timotimo i'm not 100% sure about the syntax, though
frew sure 00:43
timotimo could be more like &foo[...] or &foo:(...)
frew timotimo: that where clause doesnt pares 00:46
parse
frew tries && 00:47
yeah that fixes it
looks like where clauses are not compile time 00:48
timotimo that is true 00:49
frew I suspect that it can be done somehow, since clearly arity can be verified at compile time 00:50
timotimo well, that way lies madness :)
frew how so? 00:51
timotimo it's a rabbit hole that goes deeper than you might think
frew what I mean is
timotimo especially if you have things that do method calls
frew the belief lies madness or persuing it does
timotimo in theory i could subclass Routine or something and give it a truly nasty .arity for example :P
frew all I want is to be able to statically validate coderefs and their arities basically 00:52
frew I'm ok with the answer being perl6 can't now 00:52
timotimo the sugared way is totally going to be compile time
frew but it's something I miss a lot
right
that's what I figured
timotimo the non-sugared way ... much harder to pull off 00:53
frew right, cause it's code
frew and running code at compile time is a good way to never compile 00:53
timotimo well, we do have BEGIN blocks, but there the programmer knows she's exposing herself to danger 00:57
frew right
timotimo also, we're not doing very deep type analysis yet; like, we hardly infer types when assignments or calls are done
frew sur 00:58
timotimo i don't think we ever use the specified return type of a subroutine to figure out if the value we get from it is an acceptable type to put into a variable or call something else with
but that's something that we (or at least I) would like to have
and the language specs surely allow for it 01:00
timotimo i'm going to sign off for the night 01:23
masak_grr rurban++ FROGGS++ usev6++ # Parrot committers this month 06:07
masak_grr bartolin++ # RT 06:14
dalek ast: 0e579ae | usev6++ | S02-magicals/dollar-underscore.t:
Extend tests for RT #113904
06:19
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=113904
Tekk_ tadzik: any suggestions for how I should handle testing of this? 07:07
this being the MPD module
tadzik unsure
I'd look at how Perl 5 does it :)
Tekk_ fair enough
it's pretty usable now 07:08
has more stuff than the old one at least; you can actually control mpd :)
tadzik cool :) 07:09
Tekk_ parsing is nasty atm though, just a bunch of regexes lined up 07:13
probably a much nicer way to do it
dalek ast: 14144ac | usev6++ | S19-command-line-options/02-dash-n.t:
Rewrite S19-command-line-options/02-dash-n.t
07:15
nda: 8148bf2 | (David Warring)++ | bin/panda:
Don't install deps when just 'look'ing

Refinement to last PR. Set :nodeps flag to stops panda installing dependent modules when just looking.
nda: 3db0fd2 | (Tobias Leich)++ | bin/panda:
Merge pull request #108 from dwarring/patch-1

Don't install deps when just 'look'ing
dalek kudo/nom: 76d75de | usev6++ | t/spectest.data:
Run now-passing test file
07:31
kudo/nom: 315ec62 | (Tobias Leich)++ | t/spectest.data:
Merge pull request #323 from usev6/nom

Run now-passing test file
dalek ast: 1345d8b | usev6++ | S12-attributes/class.t:
Add test for RT #114230
07:47
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=114230
tadzik Tekk_: you probably want grammars sooner or later :) 08:02
uniqueloop Hi there, am trying code that includes a once { } block that is only meant to be executed a single time. But Niecza is saying 'once' is an undeclared routine. But I see many examples of P6 supporting it.. What gives? 08:03
Tekk_ tadzik: I'm not sure 08:11
because the format is so simple, I mean
dalek ast: eae2dc7 | usev6++ | S04-blocks-and-statements/pointy.t:
Add test for RT #115372
08:24
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=115372
timotimo uniqueloop: hi there 08:28
uniqueloop: niecza has fallen behind with regards to features
can you tell me where you read about niecza that made you think it'd be a better choice than rakudo for trying perl6? i'd like to rewrite whatever text that was 08:29
tadzik Tekk_: I think that grammars, apart from making complex things simplier, are also very useful for making simple things readable 08:31
they seem scary at first, but I think they're well worth taming :)
aristotle I want to concat a list with intermediate results, which would be [\~] -- except, I want to fold from the right instead of the left. but I can’t figure out any way to say something like [\(infix:<~> but assoc<right>)] -- is it just me, or is it Rakudo, or isn’t that doable in Perl 6 at all? 08:33
also while I’m at that, but of separate interest -- is there a way to declare that infix:<~r> is infix:<~> except it’s assoc<right> other than spell it out fully as sub infix:<~r> is assoc<right> { $^a ~ $^b } ? 08:35
timotimo hm, does the reduce operator actually understand right-associative operators?
aristotle yes
timotimo ah, neat
aristotle if I do the latter and say [\~r], it works 08:36
timotimo i think you can only use assoc and looser/tighter at the moment when you're declaring a new operator
rather than with a but or does "after the fact"
uniqueloop timotimo: ah, okay thank you. That makes sense since it seems to have been a oneman initiative...
timotimo not 100% sure if the specs would allow you to do it that other way
uniqueloop timotimo, i just watched an old talk that Larry gave in Japan where he was using it instead Rakudo because it gave better error messages
timotimo uniqueloop: yeah, i'm sad it's abandoned
rakudo's error messages have had a significant amount of improvement done to them, too :) 08:37
uniqueloop and became interested in P6... have to say, niecza was easy to setup... git pull ; make and i was away to the races
aristotle at this moment, but is it going to stay that way i.e. by design? (hence my “is it just Rakudo”)
uniqueloop i'll give rakudo a go now... thanks again 08:38
timotimo right; in terms of necessary commands, rakudo is also easy to install, all you need is to git pull rakudo, perl Configure.pl --gen-moar and make, make install
but it probably takes a bit longer than niecza
uniqueloop timotimo: perfect, thanks for the pointer
timotimo aristotle: that's what i tried to say with my poorly formulated sentence up there %)
aristotle uniqueloop: I used rakudobrew last night to install Rakudo first time. it was very nearly as easy 08:39
timotimo rakudobrew has the added benefit of being able to build panda for you as well
uniqueloop aristotle: cool thanks... will go that way then
uniqueloop timotimo: justrakudoit.wordpress.com/2012/01/...ece-of-pi/ is the blog that got me to go niecza way.. it was crowing about how both implementations could run the code now. 08:40
is the problem with the web... there's no big red flag when something has bit rotted
aristotle uniqueloop: did you mean: Matt’s Script Archive 08:41
what is Niecza’s status anyway
timotimo ah, i believe that blog belongs to lue 08:42
aristotle uniqueloop: there *is* one big marker even on the URL in that case, tho
aristotle it says 2012 08:42
that’s a long, long time in Perl 6 08:43
timotimo it may be a long, long time in perl 6, but not everywhere else
uniqueloop aristotle: yeah, although I wouldn't have twigged onto it anyway.. because it was saying "this code now works in niecza"!
but... obviously it was just a link to code that had changed since way back then 08:44
aristotle it’s before MoarVM even existed I think
Tekk_ uniqueloop: oh, what does your code smell like?
the talk
uniqueloop Tekk_: yes
aristotle timotimo: well that’s why I said it that way :) 08:45
Tekk_ I am kinda disappointed with parrot 08:45
does it actually have much of a reason for existing now that perl has abandoned it?
aristotle . o O ( who ain’t? )
timotimo we haven't fully abandoned it 08:46
rurban and some others have put in some nice work for this release
and there was a nice GSoC project, too
but ... yeah :(
Tekk_ yeah
I like the idea of it
but the implementation is...hardly ideal
although 08:47
I guess you could take a very liberal interpretation and say that it helped push sun/oracle and MS into improving the dynamic capabilities of their VMs
Tekk_ their wiki ssl cert expired over 3 years ago.. 08:49
dalek ast: 18a47ab | usev6++ | S06-operator-overloading/sub.t:
Add test for RT #115724
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=115724
timotimo whose wiki's cert? 08:50
Tekk_ parrot's
also worth noting that 2/3 of the languages listed as active on parrot's site haven't had any real work done in at least 2 years :/ 08:51
lua hasn't been touched in what looks like 4 years, winxed had some tests updated a year ago, some examples updated 8 months ago, but no work on the language in 2 years..
timotimo well, winxed is kind of sort of "finished", no? 08:52
Tekk_ dunno
I've never looked at it until right now
I don't like js
tadzik lua was actually a complete implementation at some point, so it may not need to be touched :) 08:54
Tekk_ hm, fair point with that 08:55
it's .1 behind now (5.1 vs 5.2), but the 5.3 alpha isout 08:56
Tekk_ is installing parrot to play around with implementing a toy language
Tekk_ I guess it's probably still useful for language prototyping 08:59
but I'm nowhere near an expert on such things
timotimo i think prototyping a language with nqp is a bit better; you also get to run it on jvm and moarvm in addition to parrot 09:04
pmurias Tekk_: nqp + MoarVM is a much better platform to prototype your language on 09:21
pmurias Tekk_: I think it's best currently to generate QAST instead of pir 09:23
timotimo aye, moarvm lets you develop faster 09:26
Tekk_ alright 09:28
I'll look into that then
uniqueloop timotimo / aristotle : p6/moar now running and i'm once {block}'ing all over the place ;o) thanks for the help 09:30
timotimo yw :)
uniqueloop startup time for an empty program is 1/5 of what it was for niecza. very nice. 09:32
timotimo moarvm has quite a few tricks up its sleeve nowadays 09:40
moritz with ~150ms, startup time is not a burden anymore when used interactively 09:42
timotimo and the repl itself is up after just ~20ms 09:48
masak_grr yes, startup time for scripts and the REPL basically doesn't bother me anymore. 09:51
timotimo uh oh, masak is in grr mode again
masak_grr I think it was stormy on the IRCs last night.
went and lost my nick again.
all will be normal, soon.
TIL that the opposite of "equivalence relation" is "apartness relation". it's used in some constructive mathematics. 09:55
uniqueloop apartness relation sounds like something gweneth paltrow would call her ex
masak_grr uniqueloop: hey, I don't believe I have said hi to you. hi. 09:56
uniqueloop hi there masak_grr :o)
masak_grr uniqueloop: welcome to #perl6. sorry for camelia being down. the rest of us are ready to help, though. 09:57
uniqueloop already been nudged in the right direction, and am playing with p6 for first time. 09:57
masak_grr \o/ 09:58
uniqueloop __/\_____\o/____ <<< oh oh.. shark in the water
FROGGS *g*
masak_grr it's me. sorry. 09:59
they told me to bring this fin.
uniqueloop heh
FROGGS phew ________o______________)\____
uniqueloop only took your arms
masak_grr FROGGS: oh no, shark took your arms!
masak_grr hands FROGGS his arms back
FROGGS :o) 10:00
timotimo .o( hands, arms, back ... ) 10:38
Perl6newbie I found the feature comparison of the various compilers and I must say that they don't seemed to have changed much. Are those sites being updated regularly? 11:06
I checked that we page long ago and it doesn't seem like anything has changed when I just checked it again. 11:07
Sorry for the spelling errors. I am using an iPad.
It is difficult to tot and it auto-miscorrects things
See^ 11:08
That meant type.
tadzik Perl6newbie: any particular things you're missing?
Perl6newbie: there's a been a lot of work on polishing the little things lately, no big news like "we now have concurrency" anymore 11:09
colomon tadzik: please see your ClassX::StrictConstructor pull requests. ;)
tadzik colomon: oh, right on it
I swear it, one of these weekends I'll write a tool in perl 6 that uses github api to poke me about outstanding bugs and pull requests 11:10
colomon: wow, thanks. No idea how it worked before that
(maybe it did not :o)
Perl6newbie Don't you guys think you are getting bogged down in the details? How many years has it been? Groovy Ceylon etc were in development well after perl6 and they are done. 11:12
The VIM guy will probably finish his one man show programming language before perl6 Is done. 11:14
tadzik wake me up when C99 has a complete implementation 11:15
colomon tadzik: My guess is it never worked. :)
(ClassX::StrictConstructor, that is, not C99.) 11:16
tadzik (both) :P 11:16
masak_grr Perl6newbie: thank you for your unsolicited opinion about the Perl 6 development process. 11:19
Perl6newbie: I can only answer for myself. no, I don't think we're getting "bogged down in the deatils".
colomon Perl6newbie: the thing is, Perl 6 development is *not* bogged down. It's slow, but there's clear, regular progress in spec, tests, and implementation.
masak_grr what colomon said.
we're following some kind of path to some kind of completion.
vladtz for some definition of some :-) 11:20
abraxxa Perl6newbie: what is Groovy Ceylon?
some sort of English breakfast tea? 11:21
smls moritz, Mouq, anyone else interested in Perl 6 documentation/teaching resouces: What do you think of this way to visualize Perl 6 data structures? imgur.com/a/An3k4 11:22
(inspired by the diagrams on www.dlugosz.com/Perl6/web/info-model-1.html -- but I wanted to come up with something more compact & newbie-friendly) 11:24
rurban smls: there exist such automatic graph tools for data, forget the name
abraxxa i like it
rurban but looks very nice
vladtz yes, looks good. 11:26
smls thanks 11:27
abraxxa smls: is the list inside list example correct? what does the $? 11:28
the legend says the violet border means item container 11:29
is this a pointer to a list?
smls it puts the list in an item container
same as calling the .item method on it 11:30
although in current Rakudo those would be Parcels not List's, but I'm already thinking post-GLR... :)
abraxxa what to in perl5 land does an item container compare too?
i've read taht Parcels (whatever they are) go away
the simpler the better
i remember i had a hard time to understand why a list element can't be a list/array itself but only a reference (pointer) to one 11:31
smls abraxxa: item containers are sort of like P5 references, but less explicit 11:32
they prevent flattening of what's inside them
smls rurban, others: Superficial prettyness aside though, is this a sensible way to present P6 data structures?Does it help readers to form the right mental image of how P6 works? Will it run into problems with more complex cases? 11:35
smls abraxxa: More important than preventing flattening, is that an item container's content can be replaced at any time, which is what makes it possible to do imperative programming in Perl 6 despite the fact that most of the basic types (Str, Int, ...) are immutable. 11:49
lizmat smls: without looking at the nitty gritty of the presentation, I like it 11:50
wonder though how native variables, arrays would look like
"my int $foo = 42" for instance 11:51
smls TBH I'm not clear on the semantics of that 11:52
lizmat TBH, I'm not either... and wonder how much change NSA will bring 11:53
masak_grr smls++ # imgur.com/a/An3k4 11:54
smls: any chance that could be "productized" into something that can run automatically on some variable or data? 11:55
dalek ecs: 5a5d4e0 | (Elizabeth Mattijsen)++ | S99-glossary.pod:
Add lemma for NSA
smls masak: I was thinking more along the lines of having it generated from text written in a custom DSL (see the SVG file linked at the end for my ideas on that so far) 11:58
Generating it from live P6 objects would be theoretically possible I suppose, though it would have to be made very robust then :) 11:59
Also, can you introspect which lexpad entries are linked to a given data structure?
moritz smls++ 12:00
lizmat was nudged by woolfy to fill in her APW Hackathon achievements: act.useperl.at/apw2014/wiki?node=Ha...chievments 12:02
have you done yours?
smls++ indeed!! 12:03
colomon Hmmm. On my system, Compress::Zlib fails with Cannot locate native library 'libz.so.1.so' 12:04
seems like that's one too many .so
lizmat
.oO( that's only so-so }
12:05
moritz smls: the difficulty with generating such things is that you don't know the width of rendered text at the time you write the SVG
masak that tends to be the one stumbling block when I generate SVG. 12:06
timotimo smls: beautiful!
masak it's possible to get around if you're willing to shell out to an SVG renderer, for example Inkscape.
raiph imaginary-m: say 1, [2, 3] # does that currently flatten the 2,3? after the GLR? 12:08
moritz no, and no 12:09
masak is of the opinion that it's a mistake to stringify arrays as we currently do in Perl 6
for more on this, see github.com/masak/data-pretty 12:10
smls moritz, masak: Is there no existing layout engine that can render to SVG and take care of calculating widths and applying margin/padding?
masak smls: sure there is.
smls: if you do it all in JavaScript in the browser, for example, all the information is available at runtime. 12:11
the DOM nodes in the SVG have appropriate properties and methods.
lizmat masak: so why don't we just import Data::Pretty into the settings ?
masak lizmat: because (as far as I know) this remains my personal opinion, and not consensus. 12:12
moritz would be +1
masak I'd particularly like explicit agreement from TimToady, who I'm sure has thought about the stringification of things once or twice.
or, heck, a nod would be enough :> 12:13
lizmat fwiw, I would go for forgiveness 12:14
case in point: recent Supply.drip/item changes
raiph moritz: thx. and cool. that's what I thought. 12:15
masak: thanks, and nice module, and +1 12:17
colomon Ah, looks like github.com/jnthn/zavolaj/commit/97...889d84b60e broke native call's handling of Compress::Zlib
masak lizmat: it's a bit of a level difference, methinks. API naming vs differences in every output ever
lizmat masak: is there much spectest breakage with this? 12:18
masak ooh, good question. 12:19
I might have time to find out tonight.
masak but it might also break the ecosystem in unforseen ways 12:20
lizmat ok, so at least something for after tomorrow's release
masak aye. 12:22
masak then we have a whole month to test fallout of the change, too 12:22
colomon do we have an "edit file in place" command line option for rakudo? 12:41
-p close enough, I guess 12:42
moritz no -i option though 12:45
masak ooh, an -i option would be nice to have 12:46
smls
.oO( for $file.lines-rw { $_ ~~ s/foo/bar/ } )
12:49
moritz Tile::File! 12:51
erm
Tie::File
Ven colomon: really? damn! 12:53
it fixed a failure on gtk::simple for me :( 12:54
tadzik :o
Ven :o to you too, tadzik
colomon Ven: it's okay, I'm fixing Compress::Zlib right now
Ven colomon: I might very well have broken it, y'know
that'sprobably what happened...
colomon as far as I can tell, it's Zlib that's wrong 12:55
it was doing is native('libz.so.1')
Ven ah, maybe then :P
fair enough. I fixed it for supporting stuff like foo-1.2.3 (DOT NUMBER) 12:56
colomon your patch (it was yours?) stopped recognizing .so.1 as a "use this exactly" extension
JimmyZ well. on ubuntu ,it 's all *.so.1
colomon but I don't see why native('zlib') isn't used
colomon and that works great on my Linux and OS X machines 12:56
JimmyZ and no *.so
Ven colomon: yes, it was mine 12:57
(I'm not more nami-doc on github,though!)
(FROGGS++)
colomon it seems to me expressing the lib's full name instead of the short name is the wrong thing to do. I mean, zlib.so.1 is never going to work on Windows, is it? 12:58
Ven not even on osx
it's .dylib on osx
colomon hmmm, yes 12:59
right 13:00
cognominal Apparently Ven is now github.com/vendethiel on github
Ven apparently
cognominal breaking links is a way of web life
Ven not really. 13:01
github.com/nami-doc/nephrite click on that ;-)
colomon retupmoca: Just issued a pull request for P6-Compress-Zlib-Raw 13:02
cognominal Ven, how do you/github pull that magic?
Ven cognominal: github has redirects. has had them for a while :)
cognominal does not work for github.com/Nami-Doc though 13:03
Ven yep 13:03
FROGGS Ven++! 13:08
dalek rlito: 579f6b2 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - add standard tests for split() - failed 49/81
Ven FROGGS: I wanted a brighter future for your kids. A future where people have better pseudos! :P
FROGGS *g* 13:09
moritz that's the disadvantage of big networks like freenode and githu 13:12
b
Ven: in Norwegian, "venn" means "friend", so I have a hard time not to read "Ven" and "buddy" or so :-) 13:13
Ven moritz: I'm fine with being your buddy!
baest moritz: Ven means friend in Danish (and actually spelled 'ven') so even more reason to read it like that 13:18
moritz baest: :-) 13:20
Ven now I like this nick even more :P 13:24
dalek rlito: b98de35 | (Flavio S. Glock)++ | / (2 files):
Perlito5 - standard tests for split() - failed 18/81
13:25
osystem: 9875d68 | colomon++ | META.list:
Move IoC to perl6-community-modules

This lets us get needed fixes into the ecosystem. (No objection to returning control to Jason May if he fixes his version!)
13:31
tadzik heh, perhaps I should move all mine there too :| 13:32
masak tadzik: I had the same thought.
colomon I dunno if there's a lot of point to moving yours if you are responsive to pull requests. :) 13:34
masak I knew there was a backside to responding to those pull requests! :P 13:37
tadzik colomon: I'm responsive if I'm poked about it on the IRC 13:38
sometimes I accidentally see a bug report opened by someone I don't know half a year ago 13:39
probably they just waited, waited and said "screw it, this is hopeless"
and it makes me sad
colomon tadzik: on the flip side, rakudobrew and panda are important enough it might make sense to give them to the community.
tadzik yep
Ven right 13:40
dalek rlito: ee5b3b7 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - standard tests for split() - failed 15/81
14:00
dalek rlito: b9343ae | (Flavio S. Glock)++ | / (2 files):
Perlito5 - standard tests for split() - failed 13/81
14:16
retupmoca colomon: merged
colomon retupmoca++
retupmoca colomon++ :) 14:17
colomon reckons that if we can duplicate today's improvement in the number of passing modules tomorrow, we'll hit 200+ passing modules. 14:37
timotimo colomon: how many of those modules have next to no tests? :( 14:39
colomon timotimo: no easy way for me to tell
timotimo: if you want to go through the module list... 14:40
timotimo should be able to hack something up with panda look 14:46
.o( not saying i'm going to ) 14:47
timotimo maybe the emmentaler script could be taught a tiny bit of TAP, so that it can record the number of tests run 14:47
FROGGS I'd like to see Panda::Reporter though 14:48
timotimo that sounds like a nice thing to have 14:49
is that supposed to report all installations you do?
or just when you give it the "permission"
FROGGS in case you enable it, yes
FROGGS though, I'd like it to ask on first use, ala: Generate and submit test reports (yes/no/ask)? [yes] 14:57
timotimo (but only if isatty ...) 15:00
dalek rlito: de0910b | (Flavio S. Glock)++ | / (2 files):
Perlito5 - js - refactor split()
15:11
Tekk_ timotimo: You know of any simple langs built on nqp+moar? 15:15
Tekk_ is out of class so he has some time to play around with that now :P
timotimo yeah 15:16
we have a rubyish and the Rakudo and NQP Internals Workshop material teaches you how to implement a phpish 15:17
Tekk_ cool 15:18
github.com/edumentab/rakudo-and-nq...als-course this? 15:19
timotimo yes
raiph Tekk_: irclog.perlgeek.de/perl6/2014-10-20#i_9536912 15:25
Tekk_ raiph: hm? 15:31
oh
a python implementation on moar :P 15:32
timotimo ah, yeah
but it does almost nothing
it can if and else, but not elif
:P
Tekk_ oh good 15:33
colomon arnsholt++ 15:33
Tekk_ can it chain else and if?
that's one of those really small things in languages that annoys me
FROGGS probably not 15:34
or... perhaps it can...
should Just Work™, depending on how it is implemented 15:35
bbiab
Tekk_ hmm 15:38
can someone pull the latest nqp and see if it builds with just moar? I'm getting an error in make. pastebin.com/DErszT4d 15:39
moar build via rakudobrew yesterday or the day before, nqp pulled right now
my arguments to Configure.pl were --backends=moar --prefix=$home/.rakudobrew 15:40
PerlJam Tekk_: you didn't also --gen-moar ? 15:43
moritz Tekk_: seems $home didn't get expanded
Tekk_: did you mean $HOME?
Tekk_ moritz: yeah 15:44
and I didn't use --gen-moar
I thought htat it would just use the installed one
that*
Tekk_ is trying with --gen-moar now 15:45
dalek ake: af5f6f7 | (Arne Skjærholt)++ | / (3 files):
Implement elif.
15:58
arnsholt timotimo: It actually knows how to elif too
I'd just forgotten to push the commit, due to intermittent internet
=D
Now I need to implement variables though, which is another slightly annoying part of Python 15:59
geekosaur "slightly" 15:59
arnsholt Yeah 16:00
timotimo %) 16:04
arnsholt I'll probably fib some of the more annoying bits initially
Like def actually being a covert *assignment* operation 16:05
arnsholt Thankfully I can probably steal jnthn++'s Rubyish variable stuff from the RaNIW slides 16:08
Tekk_ anyone know of a decent emacs mode for nqp? 16:23
perl-mode kinda works, but it kinda breaks when you start writing a language using it and need stuff like ["]
since it then considers the entire file after to be in quotes
leont wonders what ["] would mean, given " is not an infix operator􏿽x85 16:36
TimToady suspects regexen 16:37
Tekk_ yeah
it's a character class
TimToady you could double it in p5 to suppress that, but in p6 you'd get a warning from <[""]> 16:38
m: /<[""]>/
TimToady predicts the "timeout" warning :)
camelia rakudo-moar 8102da: OUTPUT«(timeout)»
Tekk_ TimToady: nah, just seems that nqp-m just says it's unexpected but still works :)
Tekk_ moves on to looking at rubyish-2.nqp 16:39
smls TimToady, can you give me a quick primer on "read-only"-ness? 16:49
In this case it looks like "read-only" is an attribute of a Scalar container:
my @a := $(1, 2), 3; say @a[0] = 10;
In this case, it looks like it's a property of a variable, since both $x and $y refer to the same Scalar container (correct?) but only one of them is allowed to assign to it: 16:50
sub foo ($y) { $y++ }; my $x = 2; foo($x);
Both examples die with "Cannot assign to a readonly variable or a value" btw
So do I understand it correctly that "read-only" exists both as a flag on Scalar objects, and as a flag on lexpad entries?
Or am I thinking about it all wrong?
timotimo try using .DUMP on things? 16:52
smls doesn't seem to tell me much 16:53
jnthn waves tiredly from Melbourne airport
ezra1 is there any documentation beyond jnthns presentation about perl6 jvm interop? 16:54
jnthn ezra1: Not really :/
Uh, that I know of...
jnthn isn't all knowing :)
ezra1 examples?
maybe?
ezra1 me either :) 16:55
jnthn smls: Typically the structure is lexpad -> Scalar -> value
jnthn A Scalar is something you can assign into if it's rw flag is set 16:56
But another way to end up with readonlyness is
lexpad -> value
This is how it works in all cases really 16:57
ezra1 ok thats helpful
giving it a go. trying to do a libgdx example
if im successful ill put it up for others
smls jnthn: How about the case of subroutine paramter aliasing (2nd example I gave above)? 16:58
jnthn ezra1: That'd be great. Also, while I forget exactly how it's done, there is a way to take a JVM class and get all the signatures you could possibly use
smls Doesn't the variable inside the routine refer to the same Scalar as the variable at the callsite? 16:59
jnthn smls: That either ends up being lexpad -> value or lexpad -> Scalar' -> value. We do the first when we can get away with it. 16:59
jnthn No, you only get that if you write "is rw" 16:59
Or use the \foo syntax 17:00
dalek albot: dc7fb70 | moritz++ | README:
update README
albot: b9ab238 | moritz++ | lib/EvalbotExecuter.pm:
bump time limits

yes, speeding up the host would be nicer; I know
jnthn Both of which retain the original thing so it can be assigned within the routine 17:00
smls So, a new Scalar (without "rw" set) is created when calling the function? 17:01
jnthn Yes, if needed. (more)
These days we mostly just decontainerize the incoming value and put that in the lexpad, so avoid creating a new Scalar. BUT Scalar also plays the role of a "this doesn't flatten" indicator. 17:02
jnthn So if we get someting in that would flatten, we still need the Scalar 17:02
Either way provides the "can't assign" semantics we need. 17:03
And the cheaper one is the better one, naturally. :) 17:04
The only way I know of to actually spot that the optimization happens if with using uppercase thingies to go introspecting...
smls Is that behavior (creating a new non-rw-Scalar if needed) specced and conceptually part of the language, or is it just an implementation detail and it's ok to think of the whole thing in a more high-level sense as "read-only alias"? 17:06
( asking for imgur.com/a/An3k4 )
jnthn Well, the alias language to me has always been more about contrasting it with the more copy-ish semantics in Perl 5. 17:07
The exactly thing Rakudo does isn't spec'd. 17:08
But I think it's an acceptable optimization.
smls ok, thanks 17:11
TimToady well, actually, P5 is purely ref semantics at the @_ level, it's the my ($a,$b,@c) = @_ that typically does the copy 17:17
the spec language is such that if you can prove that nothing is trying to modify the ref arg or use its item nature, it doesn't need to be itemized 17:18
but it also allows pass by value 17:19
so if you already have something that is a value, and bind to normal parameter, it can just pass it "raw"
vendethiel- ezra1: that's all there is (jnthn's slides) 17:20
there's a *VERY* short article somewhere, but that's about it
TimToady moritz: how hard would it be to set up a temporary camelia on the 6-core in my house? 17:21
vendethiel- arnsholt: ooh, you're back on snake :D?
smls with "something that is a value" do you mean just things like Int and Str object that are known to be immutable value types?
smls or objects of custom types as well? 17:21
TimToady I'm not sure how it introspects that currently, but the intent is to treat user-defined value types as value types, in addition to the builtins 17:22
functionally, a value type as a WHICH that doesn't depend on its locatoin 17:23
*has
PerlJam
.oO( why don't we have several machines backing camelia yet? )
vendethiel- concurrent camelias
TimToady but that's an operational definition, not a reflective one
jnthn TimToady: At the moment it actually looks at the nominal type constraint. 17:27
timotimo jnthn, TimToady, a word on the role Callable with a signature as its arguments? 17:28
it kind of seems like Sub, Block and friends should do that role, eh?
TimToady someday
jnthn TimToady: And if it's it !~~ Iterable and it !~~ Parcel, and Iterable !~~ it and Parcel !~~ it, then it figures a flattening thing could never be bound there.
(Note it's a compile time check.) 17:29
dalek rl6-roast-data: f9b458a | coke++ | / (5 files):
today (automated commit)
17:31
jnthn timotimo: Probably possible, I just wonder how easy/cheap the check can be. 17:32
timotimo: The sub-typing relation probably gets fun. It may just fall out of what we already have, though...
The whole parametric stuff is getting a good going over when I get back from vacation, though. 17:33
So we can get rid of a load of those "Expected Array[Int] but got Array[Int]" WTFs.
And cache mixins. 17:34
timotimo that sounds good :)
jnthn And have the two work out properly with serialization stuff, which means some kind of interning.
I have a design sketched out.
timotimo how do you feel about the two goals on moarvm.org's roadmap? 17:35
better optimization around closures and the stability improvements for threads/async
jnthn The GLR might be helped by #1.
#2 is really needed.
Won't have much for this release :( 17:36
The roadmap really needs an update though
So it can be focused on the moar aspects of things we need for 6.0.0
So, NSA, GLR, and NFG.
And I think the N bit of NSA is going to come before NFG at this point. 17:37
leont Yeah, "Expected Array[Int] but got Array[Int]" hit me too at some point
(well, its brother at least) 17:38
jnthn Yeah. It wants fixing. 17:38
I managed to get a design that lets me solve 5 or so differnet problems with a single mechanism. 17:39
leont To the point where I gave up making that type parametric and rewriting that part of my framework
Sounds good
jnthn Think it should cover us for some aspects of coercion types too.
leont Yes please! 17:40
jnthn Anyway, that's what I hope to be working on post-vacation...
leont I like typed programming, but I keep running into various issues there :-/ 17:41
jnthn Yeah...well, some of them are real bugs (like the bogus error), and then some are mis-placed at the boundary of typed and untyped code. 17:42
*mis-placed exceptations
e.g. thinking that sub foo(Int @a) { }; foo([1, 2, 3]) is going to work out because it's an Array that happens to contain Int 17:43
leont I'd like some way to make that work
jnthn At best, you'll get some sugar.
leont e.g. some kind of coercion
jnthn (For Array[Int].new(1, 2, 3))
But yeah, it'll have to be a coercion, which means copying, which means it should be weighty enough to not look like it's "free" 17:44
[Coke] LHF: github.com/coke/perl6-roast-data/b....out#L1726 - this test is failing because it assumes the suggestions are in a particular order when they are not. 17:45
smls jnthn: Maybe a general mechanism for saying "Do not apply this type check to the input directly; instead, try to coerce the input to the required type and only throw an exception if that fails" 17:47
jnthn The reason it actually has to be an Array[Int], to be clear, is because a [...] thingy is mutable, and so even if you did go looking at "what does it contain" at the point of a type check, then proceed onwards assuming that's what you really have (or the optimizer assumes), something could at-a-distance add a thingy of a different type into the array. 17:48
smls: Yeah, I wonder if sub foo(Int() @a) { ... } can be made to work.
jnthn But it'll have to be special-cased, I think... 17:49
To imply "is copy" I guess...
leont Couldn't 􏿽xABInt @a is copy􏿽xBB be enough? 17:50
jnthn Hm
Well, it'd mean something else I guess...
(as in, actually check the values)
And somehow we'd have to make it suppress the check on what is coming in. 17:51
Which feels a little off. But it's 5am here so I probably shouldn't be trying to design type stuff. :)
smls «To imply "is copy" I guess...» - or simply fail at compile time if it is used without "is copy", requiring the user to be explicit (and making sure they know what they're doing)
jnthn smls: That'd be more conservative, yes 17:52
leont 􏿽xABwithout "is copy"􏿽xBB is a bit harsh, but demanding some kind of "is ro/rw/copy" might work 17:53
jnthn *nod*
It still means a sort of special case though 17:54
jnthn I mean, it's more that you want to convey Array[Int]() rathe rthan Array[Int()] 17:55
But it's not too easy to know where to dangle the () when writing it as Int @arr
And Int @arr() already means something. :) 17:56
timotimo @arr is Array[Int(Any)]? 17:57
jnthn timotimo: That does it, yes
jnthn timotimo: Though not so prettily I guess ;) 17:58
jnthn Note that Int @foo is really Positional[Int] rather than Array[Int] too. 17:58
Grr. Still an hour until my flight is boarding. 17:59
timotimo :\ 18:05
dalek ast: 82d502c | usev6++ | S04-statement-modifiers/for.t:
Add test for RT #118769
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=118769
jnthn added some stuff to act.useperl.at/apw2014/wiki?node=Ha...chievments 18:08
I've got a feeling I did more
jnthn But that's the ones I can remember :) 18:08
timotimo you inspired people :)
moritz m: say 'timeout?' 18:10
camelia rakudo-moar 8102da: OUTPUT«(timeout)» 18:11
masak m: say "\c[INTERNATIONAL SIGN OF TIMEOUT]" 18:15
camelia rakudo-moar 8102da: OUTPUT«(timeout)»
masak m: say time ** out 18:16
camelia rakudo-moar 8102da: OUTPUT«(timeout)»
masak m: say ")tuoemit(".backwards 18:16
moritz meh, adding a new tmux window and starting the bash therein takes ~10s 18:17
camelia rakudo-moar 8102da: OUTPUT«(timeout)»
moritz nine_: did you say you have linux box lying around that we could use?
nine_: I'd have a very good use case righ now :-)
nine_ moritz: indeed
moritz: and unbelievably epic timing. Right now was the first time that I looked at my IRC client in two days 18:18
PerlJam moritz: irclog.perlgeek.de/perl6/2014-10-22#i_9549312 18:18
jnthn moritz: I think TimToady mentioned he had some compute resources that could go on camelia earlier too? 18:19
PerlJam aye, that's what I linked to
jnthn ah, k
dalek ast: 489ebb2 | usev6++ | S04-phasers/begin.t:
Add test for RT #119749
18:20
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=119749
PerlJam moritz: see also irclog.perlgeek.de/perl6/2014-10-22#i_9549330 :-)
masak today I thought: what if quasiquoting looked less like this: `quasi { 2 + {{{$val}}} }` and more like this: `QQ" 2 + $val "` ? 18:24
moritz I don't care who provides the computer
I just want to run camelia somewhere where it doesn't time out 18:25
masak still just a thought. syntax just an approximation.
moritz and it's not too much effort (1h to get the most important stuff running)
masak moritz++ # thanks for doing this
masak (that is, the important part of the above syntax is that variables are quasi-spliced by default. if you wanted to avoid that (and just represent a regular variable in the code), you'd have to `\$val`) 18:33
vendethiel- masak: I feel a bit... uneasy about current "scoping" things, btw 18:34
like, macro { $a = 1; quasi { say $a } }; #kind of surprised it works 18:35
masak vendethiel-: you are? why?
vendethiel- I'd expect something non-unquoted to be "from outside"
masak if I get what you're saying, you're suggesting a kind of non-hygiene. 18:38
jnthn thought hygiene by default was a Good Thing :)
masak too 18:39
vendethiel- erm, not really
masak then, explain yourself ;)
vendethiel- I'm suggesting I should have to unquote stuff from outside the quasi
*even if they're not parameters*
yes, just leave me some time to write it down :P
masak breathes down the neck of vendethiel- :P
masak whether something is a parmeter or not is kinda beside the point. you can unquote any AST object, no matter where it came from. 18:40
jnthn notes that his only real use of macros in a module relied on the current semantics ;) 18:41
masak yeah, I'm not convinced at all.
the current semantics feels like one of the conceptually solid points of the macro implementation. 18:42
vendethiel- ..it did not
I'm just suggesting you need
my $a = 1; quasi { say {{{$a}}} };
jnthn In general, lexical scoping (and its visual nature) have served us quite well already
vendethiel- ... I'm not arguing against it. Or against hygiene 18:43
jnthn vendethiel-: But 1 is a literal Int, not an AST, so no need to AST inrepolate it.
vendethiel- moving a parameter to a local shouldn't have you change the use
masak vendethiel-: that... looks so wrong to me.
vendethiel-: are you *sure* you're not misunderstanding how macros currently work?
vendethiel- I am
masak I am strongly suggesting you should be less sure ;)
jnthn :P 18:44
OK, time to ponder moving gate-wards, methinks...
o/
masak \o
colomon o/
vendethiel- I know how macros work. 18:45
masak yes, you do.
vendethiel- this is not about implementation details, more about semantics
macros have "level". I can (or should be able to, I guess) have macro generating macros, etc. Not choosing at which level it's "unquoted" makes me very uneasy 18:46
masak vendethiel-: here's the invariant your proposal is breaking: whenever we do {{{$x}}}, then $x ~~ AST
vendethiel-: 1 !~~ AST
vendethiel- I know that 18:47
masak you still haven't really motivated to me how that isn't a problem with your proposal...
or if you did, it went by me.
vendethiel- because I'm not talking about technical "details" here
I'm just talking about consistency
if I have, say...
macro foo($bar) { my $a = 1; quasi { macro somename { quasi { say {{{$bar}}} + $a; } } } } 18:48
this feels terribly wrong.
masak *not to me*.
what you're proposing feels terribly wrong. 18:49
masak seems we're at an impasse, though, where neither of us can manage to explain our viewpoint to the other... 18:49
mauke how do I interpolate a value of type AST under the new proposal?
vendethiel- masak: I can manage to explain my viewpoint...
It's just that I'm taking next to *every single macro system in existence* and trying to get the same... consistency 18:50
well, we're probably the only ones with that kind of "AST nodes" thingies
moritz huh? 18:51
vendethiel- huh?
moritz in lisp, the AST nodes are simply lists
vendethiel- .. which also applies to variables assigned
not here
moritz so we're hardly the only ones 18:51
masak we're definitely not the only ones. 18:52
vendethiel- changing `macro ($foo) { }` to `macro { my $foo; }` makes you change every single appearance of $foo in the quasi
masak though I do confess I haven't found two macro systems yet that work exactly alike.
vendethiel-: no, you're missing the point.
vendethiel-: you don't have to change anything if `my $foo` contains an AST. 18:53
vendethiel- right.
moritz the problem is just that currently, ASTs only come from parameters 18:53
we need to change that
vendethiel- yes.
timotimo yes please
vendethiel- I'd be very happy with some kind of quoting, actually
masak vendethiel-: if that's *not* the case, then whatever you're doing with that refactor that makes something not be an AST, you must be *very* confused.
vendethiel- so I can do like, my $a = }}}1{{{; 18:54
*g* # syntaxes++
masak .oO( because {{{ }}} wasn't horrible enough... )
vendethiel- *g*² 18:55
masak re "ASTs only come from parameters" -- wrong.
they also come from quasis.
timotimo masak: don't forget to never make it impossible to have higher order macros!
vendethiel- m: macro { my $a = quasi { 1 } }
nonono what? what timo?
.oO( there's a bug in my timo )
18:56
dalek ast: 49ce219 | (David Warring [email@hidden.address] | integration/advent2010-day08.t:
added test descriptions and another "flip" test
camelia rakudo-moar 8102da: OUTPUT«(timeout)»
vendethiel- macros generating macros are great =( 18:57
masak vendethiel-: timotimo was asking for that to stay possible.
mauke ... is anything arguing against that?
er
anyone*
vendethiel- masak: ooh, never make it impossible
>_>
masak vendethiel-: are you having a reading comprehension problem tonight? :P
just curious.
vendethiel- ... I might be doing something else taking all my brain. 18:58
vendethiel- Right. "never make it impossible" is a weird way to say it, though. 18:58
okay, booting up my laptop. 18:59
timotimo well 19:00
masak is going to change a lot of stuff, probably
i wanted him to keep in mind that maybe, just maybe, you want to nest quasis and unquotes :P
moritz well, composability is a big concern for Perl 6 in general 19:01
so it would be very weird if macros didn't compose/nest
vendethiel- mmh. 19:02
masak rest assured that I am aiming for a macros design that will force-multiply well with other Perl 6 features, including macros and quasis.
Ven trying my stuff now...
vendethiel- ooh. it works 19:03
masak looks at both Ven and vendethiel- 19:04
whoa.
vendethiel- hello!
Ven hello!
masak o.O
vendethiel- he's quite surprised...
Ven I didn't realize I could store quasi{} result in variables
vendethiel- It's very useful
masak of course you can; they're just first-class values. 19:05
Ven I can actually do more than I first expected with the current macros...
vendethiel- I guess I only need introspections of AST nodes now...
masak won't get that until we get Qtrees. 19:05
Ven I still feel very strange about the fact that I can use a variable "just like that", but I guess I should find it nice and use it... 19:06
vendethiel- right, of course.
mauke macro foo() { my $x = quasi { 42 }; quasi { $x } } # is this code?
masak you should find it nice and use it.
vendethiel-
.oO( where is vende )
mauke: won't work - you're not unquoting $x
timotimo hmm
mauke I expect uses of foo to create AST values 19:07
masak mauke: a use of `foo()` simplifies down to `quasi { 42 }`
timotimo now that we have async sockets and multithreading, maybe hoelzro will work on xmpp again
mauke masak: good
masak mauke: you can do that in a normal sub!
no need for a macro.
mauke sure
masak sub foo() { quasi { 42 } }
mauke but I want to make sure my understanding is correct
vendethiel- m: sub foo { quasi { 42 } }; macro x { my $ast = foo; quasi { say {{{$ast}}} } }; x;
it woorks :o)
camelia rakudo-moar 8102da: OUTPUT«42␤» 19:08
masak yep.
Ven jumps around happily
masak I'm mainly surprised this is news
Ven: can I take your suggestion above as moot now? please? :)
vendethiel- I'm used to late-binding languages :)
timotimo m: say "i'm aliiiivveeeee"
vendethiel- yes. I'll still find it weird everytime someone does that, but i guess yes.
moritz timotimo: don't stretch it :-)
vendethiel- I'll need to think more about nested macros though 19:09
camelia rakudo-moar 8102da: OUTPUT«(timeout)»
timotimo ;(
masak vendethiel-: please do.
vendethiel- masak: does it currently work? 19:13
dalek ast: 238cd55 | (David Warring [email@hidden.address] | S32-exceptions/misc.t:
don't assume ordering of suggestions [Coke]++
masak vendethiel-: could you be more specific?
vendethiel- may the odds be in my favour... 19:14
m: macro foo { quasi { macro x { quasi {say 1 } } } }; say x # strict checking?
camelia rakudo-moar 8102da: OUTPUT«(timeout)»
vendethiel- m: macro foo { quasi { macro x { quasi {say 1 } } } }; say x # strict checking? 19:15
camelia, I'm trusting you with this!
camelia rakudo-moar 8102da: OUTPUT«(timeout)» 19:15
vendethiel- well. 19:16
masak vendethiel-: `x` is not in scope in the mainline.
moritz psycho tricks don't work on bots :-)
masak so no, that doesn't work.
vendethiel- masak: yah, strict checking :(.
moritz checking? just scoping
masak I have no idea what you mean by "strict checking".
it's just lexical scoping. 19:17
vendethiel- I guess name(/variable) existence needs to be done after macros have been extended
masak it's hard to discuss things with you when you just keep making up terms like that. :)
you're not even calling `foo`!
vendethiel- erm, compile-time checking of existing names
but I guess I need COMPILING to introduce the macro to an outer scope?
dalek ast: 2ad0fbe | (David Warring [email@hidden.address] | integration/advent2010-day08.t:
remove possible hash-key order dependency
hoelzro timotimo: after that deserialization bug is fixed, maybe
masak vendethiel-: you're not even calling `foo`!!!
vendethiel- I know. I've read you :P. You're suggesting it's gonna fail either way because the x macro is lexically-scoped under foo 19:18
masak vendethiel-: how could that possibly work, even in a world without "strict checking"?
yes, I am suggesting that.
vendethiel- so even if I called foo, it wouldn't work 19:19
masak no, not without something like COMPILING
moritz $ perl -wE 'sub foo { sub bar { 42 } }; say bar' 19:20
42
moritz that's how it could possibly work :-) 19:20
just with s/sub/macro/
vendethiel- :P
masak avoids thinking of what the macro equivalent of that would do
moritz not saying that it should, mind you
vendethiel- m: our macro masak {}
moritz our-socped macros!
uhm
camelia rakudo-moar 8102da: OUTPUT«===SORRY!===␤First child of a 'bind' op must be a QAST::Var␤» 19:21
mauke sub foo { ... } == BEGIN { *foo = sub { ... }; }
moritz are packge variables consulted at compile time?
vendethiel- camelia: ??
moritz if no, our-scoped macros can be forbidden outright
vendethiel-: you asked, she answered
vendethiel- I'm surprised she did. 19:22
"I chose to have these authors write JavaScript because it's the coding language that most resembles natural language."
ugh.
I'm gonna need a shower now... brb
masak if by "natural language" you mean cussing, babbling, and saying "this" a lot. 19:28
mauke f(this);
tony-o javascript is far and away the least natural sounding language 19:29
of the ones that aren't intentionally obscure
moritz "this."
though I disagree 19:30
tony-o javascript, where 'this' can be literally anything
moritz 'defun' sounds a lot less naturally to me than 'function'
tony-o you can pick things out where it works, sure, it's not something i'd consider natural language though 19:32
mauke en.wikipedia.org/wiki/Black_Perl#.2...ck_Perl.22 19:33
brrt moritz: what about define? 19:34
brrt has always had a weak spot for scheme
tony-o i love js and perl - i just don't think js resembles natural language 19:36
geekosaur depends. if your qualification is "idiosyncratic"...
tony-o geekosaur: lol 19:37
masak 'night, #perl6 19:39
brrt sleep well masak 19:40
dalek ast: 03f5fc7 | (David Warring [email@hidden.address] | S05-mass/charsets.t:
refudged parrot blank chars - still failing, e.g.:
19:41
rlito: b7a305d | (Flavio S. Glock)++ | / (2 files):
Perlito5 - js - split() with LIMIT
19:43
moritz perl ./viv --boot --noperl6lib --compile-setting CORE.setting 19:44
Unknown warnings category 'experimental' at /home/camelia/std/boot/Cursor.pm line 31.
this is with perl 5.16 19:45
mauke too old
moritz seems like 19:47
moritz perlbrews a newer one
nine_ simply removing the 'no warnings "experimental"' would fix it on 5.16
but of course lead to warnings on 5.18
mauke that's what 'use experimental' is for 19:48
Ven masak: really, the only thing bugging me is that, in lisp, this: 19:56
"let ((a 1)) `(a ,a))" gives me "(A 1)" (in CL) 19:57
Ven and "(let ((a '(1 2))) `(a ,a))" gives "(A (1 2))". You don't have to use a different syntax or anything because it's from a let. 19:58
But of course, our non-homoiconicity bites us.
(elixir mostly gets away with not being homoiconic by having a very "simple" ast format 19:59
mauke my $a = 1; eval "a($a)" 20:00
Ven mauke: it's EVAL :P 20:01
..and the day you'll see me using it has not come yet.
mauke it's homoiconic! see, code is made of strings and strings are also a data structure 20:02
Ven Strings are probably the worst kind of data structure :)
along with integers and booleans
mauke ok, so in lisp 1 == quasi { 1 }
Ven erm... ... yes and no? 20:03
mauke that's how lisp gets away with only having {{{ }}} 20:04
Ven i.e., `(,'1) is just (1)
but if you try to do `(,(1 2)) instead of `(,'(1 2)) you're gonne be in trouble :P 20:05
dalek ast: 32699ba | (David Warring [email@hidden.address] | S05-mass/charsets.t:
removed debugging
20:07
brrt when's the next big conference, by the way?
Ven okay, I should go ahead and write some code...
brrt FOSDEM?
moritz has a working niecza again 20:08
brrt \o/ 20:09
colomon moritz++ 20:11
timotimo cool 20:12
moritz STD and rakudo compiling 20:14
timotimo i'm liking the sound of that 20:16
moritz STD done. 20:17
Ven okay, writing some tests for Text::Nephrite 20:20
moritz m: say 'test test test' 20:23
camelia rakudo-moar : OUTPUT«Can't exec "./rakudo-inst/bin/perl6-m": No such file or directory at lib/EvalbotExecuter.pm line 185.␤exec (./rakudo-inst/bin/perl6-m --setting=RESTRICTED /tmp/UV16dR5bCu) failed: No such file or directory␤Lost connection to server irc.freenode.org.␤» 20:24
moritz n: say 42
camelia niecza v24-109-g48a8de3: OUTPUT«Rebuild in progress␤»
moritz n: say 42 20:24
camelia niecza v24-109-g48a8de3: OUTPUT«Rebuild in progress␤»
Ven TUUUT... TUUUT... TUUT :P 20:25
brrt afk
moritz std: say 42 20:26
azawawi hi #perl6
yoleaux 20 Oct 2014 15:40Z <timotimo> azawawi: i can run farabi6 when i clone it manually and run bin/farabi6
20 Oct 2014 15:59Z <timotimo> azawawi: i'm not really doing anything with farabi6, but it maxes out a single cpu on my machine :\
camelia std 14ad63b: OUTPUT«ok 00:00 136m␤»
azawawi waves
Ven \o
azawawi found a 100% cpu usage scenario for a Perl 6 script :) 20:27
[Coke] moritz: is it running on mono 3? 20:30
dalek ast: 698a635 | usev6++ | / (3 files):
Add test for RT #76606
20:30
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=76606
[Coke] guess not, as I see no new commits on niecza. 20:31
moritz [Coke]: nope; just a new box to play with 20:31
dalek albot: a857d10 | moritz++ | lib/EvalbotExecuter.pm:
Disable locking for now
20:32
azawawi paste.debian.net/128194/ # 100% CPU usage due to trying to trap Ctrl-C on rakudo moar 20:32
timotimo++ 20:33
moritz std: 1 20:34
camelia std 14ad63b: OUTPUT«ok 00:00 135m␤»
moritz n: say 42
camelia niecza v24-109-g48a8de3: OUTPUT«42␤»
moritz \o/
perlito: say 42
azawawi should signal(SIGINT).tap({}) cause such high cpu usage like maxing one core... 20:35
# signal(SIGINT).tap({ say "Got it" }); 20:37
azawawi # 100% cpu usage 20:37
azawawi profiles it 20:38
moritz m: say 42 20:39
camelia rakudo-moar 315ec6: OUTPUT«42␤»
bartolin moritz++ 20:40
timotimo my lord ... it's beautiful! 20:41
azawawi timotimo: it is the cursed Ctrl-C signal trapping that is causing the 100% cpu usage ... 20:44
timotimo: and hi :)
nine_ moritz: MAKEFLAGS="-j 4" might speed things up a bit 20:45
moritz nine_: ... except in the star build, where it messes things up :-) 20:47
moritz anyway, star building now, cron jobs etc. coming tomorrow 20:48
nine_++ # hosting
sleep&
timotimo hi azawawi 20:50
that's annoying ;(
nine_++ # machinez
colomon nine_: hosting? 20:54
azawawi so basically a --profile of a signal tap is practically useless 20:59
is that done in libuv?
Ven ended up reading about canada news and not writing code 21:02
world :(
dalek ast: 8a07d59 | usev6++ | S03-binding/ro.t:
Add test for RT #65900
21:06
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=65900
bbkr Just got Segmentation fault while building rakudo on MoarVM under OS X 10.10 Yosemite. Has anyone experienced this? 21:17
2014.09 Star 21:18
tony-o bbkr: i'll give it a shot after work 21:34
bbkr I've tried rakudobrew and it compiled "This is perl6 version 2014.09-258-g315ec62 built on MoarVM version 2014.09-54-g03ac9a7" fine 21:36
bbkr tony-o: when you build rakudo moar on OS X can you try to reproduce this - rt.perl.org/Ticket/Display.html?id=122803 - and see if it crashes randomly? I cannot reproduce it outside OS X. 21:45
tony-o bbkr: i don't have rakudo brew, i always build from the git repo - is that where you got this? 21:47
bbkr yes, i think rakudo brew just do the same 21:48
bbkr I mean - SegFault occured when i compiled 2014-09 Star from tarball. I have a feeling that something is broken with concurrency under OS X causing this SF. Thats why I asked you also if you can reproduce RT bug on any recent rakudo. 21:52