»ö« 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. | |||
00:01
b2gills joined
|
|||
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 | |||
00:07
mauke left
00:08
mauke joined
00:10
vendethiel left
00:11
bjz left
00:20
avuserow left,
smls left,
araujo left,
Alula left,
grondilu left,
cognominal left,
grettis left,
nebuchadnezzar left,
carlin left,
camelia left,
rmgk left,
esaym153 left,
frew left,
TuxCM left,
djanatyn left,
pierrot left,
brother left,
ivanshmakov left,
yogan left,
ggherdov left,
mattp_ left,
wk_ left,
Woodi left,
itz left,
skarn left,
Celelibi left,
notfix left,
grep0r left,
[Tux] left,
dylanwh left,
sorear left,
flussence left,
DarthGandalf left,
baest left,
stux|RC-only left,
PZt left,
tardisx left,
cibs left,
mauke left,
[Sno] left,
khisanth_ left,
jac50 left,
aindilis left,
sivoais left,
ilbot3 left,
kurahaupo left,
Tene left,
odc left,
thou left,
pdcawley left,
retupmoca left,
Akagi201 left,
_sri left,
noganex left,
erkan left,
silug left,
kshannon left,
peteretep left,
davido_home left,
MilkmanDan left,
robinsmidsrod left,
abraxxa left,
yakudza left,
ChoHag left,
BenGoldberg left,
Alina-malina left,
japhb left,
leont left,
cxreg left,
firefish5000 left,
gtodd left,
Exodist left,
lue left,
timotimo left,
sftp left,
colomon left,
haroldwu left,
kst left,
epochbell left,
yukko left,
slavik left,
ggoebel11111116 left,
bartolin left,
vukcrni left,
hobbs left,
j4jackj left,
SHODAN left,
muraiki left,
Rounin left,
raydiak left,
yeltzooo left,
BinGOs left,
jtpalmer left,
mst left,
jdv79 left,
diegok left,
Guest50117 left,
xinming_ left,
nickpatch left,
Grrrr left,
funjon left,
Pleiades` left,
hugme left,
synopsebot left,
Maddingue left,
ingy left,
lestrrat left,
revdiablo left,
coffeeyy_ left,
smash left,
dg left,
ugator left,
dwarring left,
ibo2perl6 left,
Meteo__ left,
b2gills left,
woshty left,
wtw left,
Tekk_ left,
Possum left,
ruoso left,
betterwo1ld left,
risou left,
jantore left,
avar left,
yoleaux left
00:27
yukko joined,
tinita_ joined,
epochbell joined,
renormalist joined,
geekosaur joined,
kst joined,
haroldwu joined,
colomon joined,
sftp joined,
timotimo joined,
erkan joined,
jantore joined,
vendethiel- joined,
mauke joined,
b2gills joined,
avuserow joined,
BenGoldberg joined,
frew joined,
[Sno] joined,
cognominal joined,
carlin joined,
funjon joined,
ugator joined,
Alula joined,
Alina-malina joined,
khisanth_ joined,
grondilu joined,
dwarring joined,
smls joined,
grettis joined,
jac50 joined,
slavik joined,
nebuchadnezzar joined,
araujo joined,
ibo2perl6 joined,
thou joined,
Meteo__ joined,
Guest50117 joined,
camelia joined,
pdcawley joined,
muraiki joined,
itz joined,
japhb joined,
Rounin joined,
retupmoca joined,
Akagi201 joined,
rmgk joined,
wolfe.freenode.net sets mode: +v camelia,
TuxCM joined,
kurahaupo joined,
davido_home joined,
skarn joined,
esaym153 joined,
MilkmanDan joined,
ggoebel11111116 joined,
Celelibi joined,
_sri joined,
cxreg joined,
notfix joined,
noganex joined,
firefish5000 joined,
Tene joined,
djanatyn joined,
aindilis joined,
Tekk_ joined,
pierrot joined,
grep0r joined,
odc joined,
brother joined,
xinming_ joined,
bartolin joined,
ivanshmakov joined,
robinsmidsrod joined,
woshty joined,
abraxxa joined,
[Tux] joined,
vukcrni joined,
gtodd joined,
yogan joined,
Exodist joined,
ggherdov joined,
dylanwh joined,
hobbs joined,
nickpatch joined,
sorear joined,
mattp_ joined,
silug joined,
flussence joined,
DarthGandalf joined,
cibs joined,
wk_ joined,
j4jackj joined,
lue joined,
baest joined,
Grrrr joined,
sivoais joined,
yakudza joined,
Woodi joined,
ilbot3 joined,
wtw joined,
kshannon joined,
peteretep joined,
stux|RC-only joined,
sunnavy joined,
krunen joined,
leedo joined,
erdic joined,
danaj_ joined,
rjbs joined,
atta joined,
[particle] joined,
broquaint joined,
oetiker_ joined,
huf joined,
petercommand joined,
TimToady joined,
oskie joined,
integral joined,
mathw joined,
isacloud______ joined,
jepeway joined,
mephinet joined,
cotto joined,
btyler_ joined,
ugexe joined,
Util joined,
simcop2387 joined,
eternaleye joined,
labster joined,
mtj joined,
ntln- joined,
hoelzro joined,
Juerd joined,
nine_ joined,
jercos joined,
bonsaikitten joined,
dagurval_ joined,
apejens joined,
Ulti joined,
lucs joined,
bcde joined,
clkao joined,
ClarusCogitatio joined,
\00 joined,
daxim joined,
Bucciarati joined,
Gothmog_ joined,
cosimo joined,
breinbaas joined,
mls joined,
moritz joined,
awwaiid joined,
zoosha joined,
ribasushi joined,
dalek joined,
m_athias joined,
Guest12380 joined,
rhr joined,
Timbus joined,
exixt joined,
[Coke] joined,
tadzik joined,
sergot joined,
pmichaud joined,
Possum joined,
Pleiades` joined,
ChoHag joined,
raydiak joined,
ruoso joined,
betterwo1ld joined,
hugme joined,
dg joined,
smash joined,
coffeeyy_ joined,
revdiablo joined,
lestrrat joined,
ingy joined,
Maddingue joined,
synopsebot joined,
jdv79 joined,
risou joined,
yeltzooo joined,
BinGOs joined,
SHODAN joined,
diegok joined,
avar joined,
yoleaux joined,
jtpalmer joined,
tardisx joined,
wolfe.freenode.net sets mode: +vvv dalek hugme yoleaux,
mst joined,
charsbar____ joined,
BooK joined,
ivan`` joined,
tony-o joined,
arnsholt joined,
mtj_ joined,
nhayashi joined,
go|dfish joined
|
|||
frew | so how do I say, "this function takes a coderef that takes two args and returns an int?" | 00:34 | |
00:36
haroldwu left
|
|||
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:(...) | ||
00:44
smls left
|
|||
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 | |
00:52
Alina-malina left
|
|||
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 | ||
00:53
Alina-malina joined
|
|||
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 | ||
01:09
bcde is now known as bcode
01:15
Mso150 joined
01:20
fhelmberger joined
|
|||
timotimo | i'm going to sign off for the night | 01:23 | |
01:25
fhelmberger left
01:31
dayangkun joined
01:45
slavik left
01:47
Mso150 left
01:48
grettis left
01:50
jack_rabbit joined
01:57
slavik joined
02:04
kurahaupo left
02:15
leont joined
02:47
noganex_ joined
02:50
noganex left
02:57
dayangkun left
03:04
chenryn joined
03:10
Exodist left
03:13
Exodist joined
03:31
mauke_ joined
03:34
mauke left
03:38
mauke_ is now known as mauke
03:58
kurahaupo joined
04:28
Guest50117 is now known as ponbiki
04:31
BenGoldberg left
04:38
sftp left
04:42
sftp joined
04:43
virtualsue joined
04:46
ggoebel11111117 joined
04:49
ggoebel11111116 left
04:50
chenryn left
04:53
Blizzy joined
04:59
Blizzy left
05:12
chenryn joined
05:19
kurahaupo1 joined
05:21
fhelmberger joined
05:22
araujo left,
araujo joined
05:25
fhelmberger left
05:49
masak joined
05:50
masak is now known as Guest62323
05:53
Guest62323 is now known as masak_grr
06:02
kurahaupo1 left
|
|||
masak_grr | rurban++ FROGGS++ usev6++ # Parrot committers this month | 06:07 | |
06:08
gfldex joined
|
|||
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 | ||
06:25
gfldex left
06:45
jack_rabbit left
06:47
Mso150 joined
06:49
FROGGS joined
06:52
Mso150 left,
Mso150_z joined
06:53
kaare_ joined
06:56
kaleem joined
07:05
zakharyas joined
|
|||
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 | |
07:10
wk_ left
|
|||
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 |
|||
07:23
darutoko joined
07:25
thou left
07:26
SamuraiJack joined
07:31
kurahaupo left
|
|||
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 |
|||
07:41
ghostlines joined
07:42
chenryn left,
chenryn joined
07:46
firefish5000 left
|
|||
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 | ||
07:49
kjs_ joined
07:51
fhelmberger joined
08:01
_slade_ left
|
|||
tadzik | Tekk_: you probably want grammars sooner or later :) | 08:02 | |
08:02
[Sno] left,
looper joined,
looper is now known as uniqueloop
|
|||
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 | |
08:04
[Sno] joined
08:05
ptc_p6 joined
08:10
ptc_p6 left
08:11
ptc_p6 joined
|
|||
Tekk_ | tadzik: I'm not sure | 08:11 | |
because the format is so simple, I mean | |||
08:12
dayangkun joined
08:16
mauke_ joined
08:18
mauke left
08:20
mauke_ is now known as mauke
|
|||
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 | ||
08:25
kjs_ left
|
|||
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 | ||
08:29
PZt joined
08:30
virtualsue left,
aristotle joined
|
|||
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 | ||
08:40
SamuraiJack left
|
|||
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 | ||
08:42
flaviusb joined,
flaviusb left
|
|||
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 | ||
08:44
Mso150_z left
|
|||
aristotle | timotimo: well that’s why I said it that way :) | 08:45 | |
08:45
hypolin joined,
hypolin left
|
|||
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 | |||
08:48
rindolf joined
|
|||
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 | |||
08:57
kjs_ joined
08:58
thou joined
|
|||
Tekk_ | I guess it's probably still useful for language prototyping | 08:59 | |
but I'm nowhere near an expert on such things | |||
09:03
thou left
|
|||
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 | |
09:11
chenryn left
09:12
bjz joined
09:18
rmgk is now known as Guest10121,
rmgk_ joined,
Guest10121 left,
rmgk_ is now known as rmgk
09:21
pmurias joined
|
|||
pmurias | Tekk_: nqp + MoarVM is a much better platform to prototype your language on | 09:21 | |
09:22
cognominal left,
kjs_ left
|
|||
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 | |
09:27
chenryn joined
|
|||
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 | |
09:34
virtualsue joined
|
|||
timotimo | moarvm has quite a few tricks up its sleeve nowadays | 09:40 | |
09:40
rindolf left
|
|||
moritz | with ~150ms, startup time is not a burden anymore when used interactively | 09:42 | |
09:43
vladtz joined
09:45
rindolf joined
09:46
masak_grr is now known as masak
09:47
masak is now known as Guest98996
|
|||
timotimo | and the repl itself is up after just ~20ms | 09:48 | |
09:48
Guest98996 is now known as masak_grr
|
|||
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 | |
09:57
cognominal joined
|
|||
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 | |
10:05
[Sno] left
10:06
kurahaupo joined
10:17
erkan left
10:18
erkan joined,
erkan left,
erkan joined
10:26
kurahaupo left
10:28
kjs_ joined
10:32
denis_boyun_ joined
|
|||
timotimo | .o( hands, arms, back ... ) | 10:38 | |
10:42
dayangkun left
10:45
rurban joined
10:47
thou joined
10:49
kaleem left
10:51
thou left
10:52
kurahaupo joined
10:56
dayangkun joined
11:00
[Sno] joined,
denis_boyun__ joined
11:01
denis_boyun_ left
11:04
Perl6newbie joined
|
|||
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 | ||
11:16
smls joined
|
|||
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 | ||
11:21
yeahnoob joined
|
|||
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 | ||
11:31
chenryn left
|
|||
smls | abraxxa: item containers are sort of like P5 references, but less explicit | 11:32 | |
they prevent flattening of what's inside them | |||
11:32
dakkar joined
11:34
lizmat joined
|
|||
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 | |
11:37
bjz left
11:39
Perl6newbie left
11:43
bjz joined
|
|||
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 | |
11:52
aristotle left
|
|||
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 |
||
11:55
masak_grr is now known as masak
11:57
pmurias left
|
|||
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 | |
12:02
raiph joined
|
|||
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 | ||
12:03
SamuraiJack joined
|
|||
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 | |||
12:14
chenryn joined
12:15
kaleem joined
|
|||
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. | |||
12:20
haroldwu joined
|
|||
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 | |
12:22
bartolin left
|
|||
masak | then we have a whole month to test fallout of the change, too | 12:22 | |
12:27
xinming joined,
bartolin joined
12:30
xinming_ left
12:32
dayangkun left
12:35
JimmyZ joined,
thou joined
12:38
haroldwu left,
haroldwu joined
12:40
thou left
|
|||
colomon | do we have an "edit file in place" command line option for rakudo? | 12:41 | |
-p close enough, I guess | 12:42 | ||
12:42
JimmyZ left
|
|||
moritz | no -i option though | 12:45 | |
12:45
JimmyZ joined
|
|||
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 | |||
12:53
Ven joined
|
|||
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... | |||
12:55
SamuraiJack left
|
|||
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 | ||
12:56
rurban left
|
|||
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 ;-) | |||
13:02
woolfy joined
|
|||
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 | |
13:03
chenryn left
|
|||
Ven | yep | 13:03 | |
13:06
SamuraiJack joined,
Meteo__ left
13:07
bjz left
|
|||
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 | |
13:10
Exodist left
|
|||
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! | ||
13:14
cognominal left
13:16
SamuraiJack left,
notfix is now known as xfix
|
|||
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 | |
13:35
fhelmberger left
13:36
kaleem left
|
|||
masak | I knew there was a backside to responding to those pull requests! :P | 13:37 | |
13:37
bjz joined
|
|||
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 | |
13:45
Akagi201 left
13:57
Exodist joined
|
|||
dalek | rlito: ee5b3b7 | (Flavio S. Glock)++ | / (3 files): Perlito5 - standard tests for split() - failed 15/81 |
14:00 | |
14:00
abraxxa left,
cognominal joined
14:07
ptc_p6 left
|
|||
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 | |
14:28
cognominal left
14:29
kjs_ left
14:35
thou joined
|
|||
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 | ||
14:43
virtualsue left
|
|||
timotimo | should be able to hack something up with panda look | 14:46 | |
.o( not saying i'm going to ) | 14:47 | ||
14:47
spider-mario joined
|
|||
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 | ||
14:54
treehug88 joined,
PZt left
|
|||
FROGGS | though, I'd like it to ask on first use, ala: Generate and submit test reports (yes/no/ask)? [yes] | 14:57 | |
14:58
treehug88 left
14:59
treehug88 joined
|
|||
timotimo | (but only if isatty ...) | 15:00 | |
15:03
virtualsue joined
15:04
kjs_ joined
15:06
kaleem joined,
bjz left
15:07
bjz joined
15:08
yeahnoob left
15:11
cosimo left
|
|||
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 | ||
15:19
cosimo joined,
cosimo left
15:20
cosimo joined
|
|||
raiph | Tekk_: irclog.perlgeek.de/perl6/2014-10-20#i_9536912 | 15:25 | |
15:28
denis_boyun__ left
|
|||
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 | |
15:33
pyrimidine joined,
treehug8_ joined
|
|||
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 | |||
15:35
FROGGS left,
treehug88 left
|
|||
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 | ||
15:42
Ven left
|
|||
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 | ||
15:45
ghostlines left
15:50
JimmyZ left
15:53
FROGGS[mobile] joined
15:56
kaleem left
15:57
immortal joined,
immortal left,
immortal joined
|
|||
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 | ||
15:59
erkan left
|
|||
geekosaur | "slightly" | 15:59 | |
arnsholt | Yeah | 16:00 | |
16:01
raiph left
|
|||
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 | ||
16:05
census joined
|
|||
arnsholt | Thankfully I can probably steal jnthn++'s Rubyish variable stuff from the RaNIW slides | 16:08 | |
16:08
Akagi201 joined
16:09
thou left
16:11
thou joined
16:12
raiph joined
16:13
smls left
16:14
smls joined
16:19
dwarring left
16:20
kjs_ left
|
|||
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 | |||
16:27
treehug8_ left
16:32
treehug88 joined
16:35
Mso150_z joined
|
|||
leont wonders what ["] would mean, given " is not an infix operatorx85 | 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 | ||
16:39
virtualsue left,
raiph left
16:45
prevost joined
16:46
prevost left,
_slade_ joined
16:47
FROGGS joined
|
|||
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 | |
16:53
ezra1 joined
|
|||
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? | |||
16:54
camelia left
|
|||
ezra1 | me either :) | 16:55 | |
jnthn | smls: Typically the structure is lexpad -> Scalar -> value | ||
16:55
pyrimidine left
|
|||
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 | |||
16:58
camelia joined
|
|||
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 | |
16:59
ChanServ sets mode: +v camelia
|
|||
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 | |
16:59
dwarring joined
|
|||
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 |
|||
17:00
camelia left
|
|||
jnthn | Both of which retain the original thing so it can be assigned within the routine | 17:00 | |
17:00
camelia joined
|
|||
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 | ||
17:02
ChanServ sets mode: +v camelia,
ugator left
|
|||
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... | |||
17:05
[Sno] left
|
|||
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 | |
17:11
grettis joined
|
|||
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? | ||
17:21
ugator joined
|
|||
smls | or objects of custom types as well? | 17:21 | |
17:22
ptc_p6 joined
|
|||
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 | ||
17:24
pyrimidine joined
|
|||
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 | ||
17:29
dakkar left
|
|||
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 | ||
17:38
Mso150_z left,
Mso150_z joined
|
|||
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 | |
17:47
ptc_p61 joined
|
|||
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. | |||
17:48
ptc_p6 left
|
|||
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 copyxBB 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 | |
17:52
rurban joined
|
|||
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 | ||
17:54
danaj_ left
|
|||
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 | ||
17:57
Mso150_z_z joined
|
|||
jnthn | timotimo: Though not so prettily I guess ;) | 17:58 | |
17:58
Mso150_z left
|
|||
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 | ||
18:01
pyrimidine left
18:05
Mso150 joined
|
|||
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 | ||
18:06
Mso150_z_z left
18:08
danaj_ joined
|
|||
jnthn added some stuff to act.useperl.at/apw2014/wiki?node=Ha...chievments | 18:08 | ||
I've got a feeling I did more | |||
18:08
ivanshmakov left
|
|||
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 | |
18:12
[Sno] joined
18:13
pyrimidine joined
|
|||
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)» | ||
18:16
zakharyas left
|
|||
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 | ||
18:18
ivanshmakov joined
|
|||
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 | ||
18:28
pyrimidine left
18:31
brrt joined
|
|||
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" | ||
18:37
virtualsue joined
|
|||
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 :) | |||
18:39
FROGGS_ joined
|
|||
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 | |||
18:40
FROGGS left
|
|||
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 | ||
18:49
treehug88 left
|
|||
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 | |||
18:51
treehug88 joined
|
|||
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. | ||
18:53
gfldex joined
|
|||
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)» | ||
18:56
[Tux] left
|
|||
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 | |
18:58
[Tux] joined
|
|||
vendethiel- | Right. "never make it impossible" is a weird way to say it, though. | 18:58 | |
okay, booting up my laptop. | 18:59 | ||
18:59
pyrimidine joined,
pyrimidine left
|
|||
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 | |||
19:02
Ven joined
|
|||
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... | ||
19:05
Mso150 left
|
|||
masak | won't get that until we get Qtrees. | 19:05 | |
19:05
Mso150_c joined
|
|||
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. | ||
19:09
mauke_ joined
19:10
darutoko left
19:12
mauke left
|
|||
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! | |||
19:15
mauke_ is now known as mauke
|
|||
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. | |||
19:19
rindolf left
|
|||
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 | |||
19:20
ezra1 left
|
|||
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"... | ||
19:37
pyrimidine joined
|
|||
tony-o | geekosaur: lol | 19:37 | |
19:38
Ven left
|
|||
masak | 'night, #perl6 | 19:39 | |
brrt | sleep well masak | 19:40 | |
19:41
SamuraiJack joined
|
|||
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 | |
19:53
raiph joined
19:54
raiph left,
pyrimidine left
19:55
Ven joined
|
|||
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 | ||
19:57
_slade_ left
|
|||
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 | |
20:01
pyrimidine joined,
pyrimidine left
|
|||
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 } | ||
20:03
FROGGS_ left
|
|||
Ven | erm... ... yes and no? | 20:03 | |
20:04
FROGGS[mobile] left
|
|||
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 | |
20:11
SamuraiJack left
|
|||
colomon | moritz++ | 20:11 | |
timotimo | cool | 20:12 | |
20:14
grettis left
|
|||
moritz | STD and rakudo compiling | 20:14 | |
20:15
colomon left
|
|||
timotimo | i'm liking the sound of that | 20:16 | |
20:17
census left
|
|||
moritz | STD done. | 20:17 | |
Ven | okay, writing some tests for Text::Nephrite | 20:20 | |
20:22
camelia left,
camelia joined
|
|||
moritz | m: say 'test test test' | 20:23 | |
20:23
Mso150_c left
20:24
ChanServ sets mode: +v camelia
|
|||
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 directoryLost connection to server irc.freenode.org.» | 20:24 | |
moritz | n: say 42 | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«Rebuild in progress» | ||
20:24
smls left
|
|||
moritz | n: say 42 | 20:24 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«Rebuild in progress» | ||
20:25
ptc_p61 left
|
|||
Ven | TUUUT... TUUUT... TUUT :P | 20:25 | |
brrt afk | |||
20:25
brrt left
20:26
azawawi joined
|
|||
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 | ||
20:28
mauke left
|
|||
[Coke] | moritz: is it running on mono 3? | 20:30 | |
20:30
rurban left
|
|||
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 | |
20:31
rurban joined
|
|||
moritz | [Coke]: nope; just a new box to play with | 20:31 | |
20:32
mauke joined,
mauke left,
mauke joined
|
|||
dalek | albot: a857d10 | moritz++ | lib/EvalbotExecuter.pm: Disable locking for now |
20:32 | |
20:32
camelia left,
camelia joined
|
|||
azawawi | paste.debian.net/128194/ # 100% CPU usage due to trying to trap Ctrl-C on rakudo moar | 20:32 | |
timotimo++ | 20:33 | ||
20:34
ChanServ sets mode: +v camelia
|
|||
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 | ||
20:37
kaare_ left
|
|||
azawawi | # 100% cpu usage | 20:37 | |
20:37
colomon joined,
mauke left
|
|||
azawawi profiles it | 20:38 | ||
moritz | m: say 42 | 20:39 | |
camelia | rakudo-moar 315ec6: OUTPUT«42» | ||
20:40
camelia left
|
|||
bartolin | moritz++ | 20:40 | |
20:41
camelia joined
|
|||
timotimo | my lord ... it's beautiful! | 20:41 | |
20:41
mauke joined
20:42
ChanServ sets mode: +v camelia
20:43
spider-mario left
|
|||
azawawi | timotimo: it is the cursed Ctrl-C signal trapping that is causing the 100% cpu usage ... | 20:44 | |
timotimo: and hi :) | |||
20:45
mauke_ joined
|
|||
nine_ | moritz: MAKEFLAGS="-j 4" might speed things up a bit | 20:45 | |
20:46
mauke left
|
|||
moritz | nine_: ... except in the star build, where it messes things up :-) | 20:47 | |
20:48
mauke joined
|
|||
moritz | anyway, star building now, cron jobs etc. coming tomorrow | 20:48 | |
nine_++ # hosting | |||
sleep& | |||
20:48
kurahaupo left
20:50
mauke_ left
|
|||
timotimo | hi azawawi | 20:50 | |
that's annoying ;( | |||
nine_++ # machinez | |||
20:52
grettis joined
|
|||
colomon | nine_: hosting? | 20:54 | |
20:58
grettis left
|
|||
azawawi | so basically a --profile of a signal tap is practically useless | 20:59 | |
is that done in libuv? | |||
21:00
dalek left,
mauke_ joined,
Util left,
erdic left
21:01
mauke left
21:02
denis_boyun joined
|
|||
Ven ended up reading about canada news and not writing code | 21:02 | ||
world :( | |||
21:02
Ven left,
erdic joined
21:03
treehug88 left,
dalek joined,
ChanServ sets mode: +v dalek,
mauke_ is now known as mauke
21:04
rindolf joined,
grettis joined
21:06
Util joined
|
|||
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 | ||
21:09
grettis left
21:10
jack_rabbit joined
21:11
mauke_ joined
21:13
mauke left
21:14
colomon left,
azawawi left
21:15
rurban left
21:16
bbkr joined,
mauke_ is now known as mauke
|
|||
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 | ||
21:25
BenGoldberg joined
21:33
rindolf left
|
|||
tony-o | bbkr: i'll give it a shot after work | 21:34 | |
21:35
grettis joined,
ive joined
21:36
mauke_ joined
|
|||
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 | |
21:39
mauke left,
colomon joined
21:40
cognominal joined,
denis_boyun left,
mauke_ is now known as mauke
|
|||
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 | |
21:46
raiph joined
|
|||
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 | |
21:48
ive left
21:49
mauke_ joined
21:51
mauke left
21:52
mauke_ is now known as mauke
|
|||
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 | |
21:59
gfldex left
22:08
virtualsue left
22:11
bbkr left
22:18
raiph left
22:21
lizmat_ joined,
lizmat left
22:23
djanatyn left,
djanatyn joined
22:37
kurahaupo joined
23:04
thou left
23:19
kjs_ joined
23:30
kjs_ left
23:33
vike joined
|