»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by moritz on 25 December 2014. |
|||
timotimo | avar: yes, nom is our current main branch | 00:00 | |
avar | Where's the build instructions for all of this? | 00:01 | |
masak | avar: github.com/rakudo/rakudo/blob/nom/INSTALL.txt | ||
00:02
espadrine left
|
|||
ab5tract | avar: alternatively, you can use rakudobrew github.com/tadzik/rakudobrew/ | 00:03 | |
avar | amazing | ||
ab5tract | avar: is that your response to ./Configure.pl --backends= ? :) | 00:04 | |
anyway, looking forward to the backlog. ciao for now #perl6! | 00:06 | ||
00:07
adu joined
|
|||
timotimo | gnite | 00:08 | |
avar | mm, the INSTALL.txt needs some instructions for how to use your own clones of nqp/moarvm, I tried to compile my own moarvm and --with-moar just whinees about missing .so's | 00:10 | |
00:10
KCL_ joined
|
|||
timotimo | what i usually do is just point the --prefix= at the same place for all three components | 00:11 | |
but we also now have a flag that'll let you use existing git clones or at least existing git repos so you don't have to fetch everything over the 'net all the time | |||
00:12
hzhou321 left
00:17
KCL_ left
|
|||
btyler | avar: here's my "I'm sick of doing this by hand" 3-minute script for refreshing clones of moar, nqp, and rakudo: ssl.thorsen.pm/paste/4a9cbc9b6700 . not as a "use this code" but "pull out the perl Configure.pl lines to suit you" | 00:22 | |
00:23
SevenWolf joined,
KCL_ joined
|
|||
avar | btyler: cool | 00:24 | |
vendethiel prefers perl6's ffi to nim | 00:36 | ||
though we don't have memory regions... oh wait that's good | |||
00:38
SevenWolf left
00:44
rjbs- joined
00:50
flussenc1 is now known as flussence
01:04
broquaint left
|
|||
raydiak_ | just curious...did something weird happen in the rakudo repo? "On branch nomYour branch is ahead of 'origin/nom' by 92 commits." I didn't commit anything, much less 92 anythings | 01:08 | |
01:08
raydiak_ is now known as raydiak,
hzhou321 joined
01:13
muraiki_ joined
|
|||
hoelzro | ab5tract: happy to be of serivce =) | 01:18 | |
service, too | 01:20 | ||
Peter_R | raydiak, looks like your repo's come back from the future | 01:22 | |
raydiak | guess so :) | 01:23 | |
hoelzro | your kids, Marty! | 01:24 | |
something has to be done about your kids! | |||
raydiak | hey it's 2015, where's the holographic sharks already? | 01:25 | |
01:25
kurahaupo joined
|
|||
raydiak | .oO( everyone goes on about the flying cars and hoverboard and forgets the holographic sharks ) |
01:25 | |
Peter_R | Don't forget the self lacing shoes | 01:30 | |
Soon to be a reality I hear | |||
raydiak | heh | 01:33 | |
01:34
kurahaupo left
|
|||
muraiki_ | does anyone know if there are any efforts to make subset constraints checked at compile type? I guess that'd essentially be on the way to implementing dependent types, so I imagine that answer is no :) | 01:39 | |
masak | muraiki_: no. | 01:42 | |
muraiki_: but I don't really see any reason some "safe" subset (pun not intended) of subset constraints couldn't be checked at compile time, as a friendly bonus on the part of the compiler. | 01:43 | ||
the only thing that it has to be careful about is that the subset check terminates. which can be checked in a fair number of cases without angering the Halting Problem Beast. | |||
...but (a) it's not done yet, and (b) who knows whether it will be | 01:44 | ||
muraiki_ | masak: thanks! | ||
masak | same thing with enforcing return types. *theoretically*, Perl 6 could warn and say "you're clearly returning a Str here, but you declared you'd return an Int. that'll never work, and so I'm telling you now instead of letting you find out at runtime." | 01:45 | |
...but it's not done yet. | |||
I consider those things optional compile-time bonuses on which you should not depend (because they'd likely be implementation-dependent) but which will ultimately save you time because you don't have to rebuild your whole project. | |||
vendethiel | masak: I think the return type one will come a long time before liquid types ;-) | 01:47 | |
Peter_R | I wish I knew what half the stuff talked about here meant | 01:50 | |
vendethiel | masak: makes me think about CL's optional types | 01:52 | |
it's not required in the specs that compiler do it, but most of them will do it anyways | |||
masak | Peter_R: just so you know, I was once in your current place. | ||
Peter_R: it gets better, fast, to the extent you curiously explore the terrain. | 01:53 | ||
Peter_R: half of the confusion is just language barrier. we're pretty specific in our terminology and lingo. | |||
Peter_R | I'm not a complete stranger to compilers and such, but certainly no expert | 01:54 | |
masak | I remember looking at the backlog of pmurias and ruoso the way a deer looks at approaching car headlights. | ||
that must be many years ago now. | |||
Peter_R | All very interesting to hear anyway :) | ||
masak | when in doubt, ask people to show you stuff on camelia. you'd be surprised how concrete some things can be made ;) | 01:55 | |
Peter_R | Will do, thanks for the encouragement | ||
masak is all about encouragement | 01:56 | ||
masak .oO( "We should consider an actual prime." -- "You mean an actual number?" -- "Yes, an actual prime number." -- "All right, take 57." ) | 01:57 | ||
01:59
kurahaupo joined,
BenGoldberg left
02:00
BenGoldberg joined
|
|||
masak | vendethiel: ooc... "liquid types"? | 02:04 | |
vendethiel | masak: "ooc"? | ||
02:04
[Sno] left
|
|||
masak | "out of curiousity" | 02:05 | |
curiosity* | |||
vendethiel | masak: would allow to check for "where"s at compile time -- see liquid haskell | ||
that's what I'm interested in in the very very very long term :) | 02:06 | ||
02:07
fwilson left
|
|||
masak | vendethiel: lately I've been hearing like a refrain in my head, but it's still hard to verbalize. something like, if you do TDD and eschew side effects to some degree, your editor/IDE should be able to run circles around your typing, helping you in all manner of ways by abstractly interpreting the code you're writing. | 02:07 | |
not sure if that makes sense. | |||
vendethiel | it does to every haskell/idris/...-er out there :-) | ||
02:08
fwilson joined
|
|||
masak | but let's say you start by writing a test case. an input and an expected output. now the IDE knows what you should have once you're done/happy. | 02:08 | |
then do that for a couple of tests. | |||
vendethiel | masak: you should try agda or idris, often enough, the compiler can generate implementation for the function :P | ||
masak | ideally, you could get feedback for all the tests at each *keypress* you do in the editor. just nicely tabulated next to your code. | ||
vendethiel | with data Bool = True | False then a "not" function with Bool -> w/e, the ide-slave will generate different implems. for each constructor in the type | 02:09 | |
masak | vendethiel: I will. thanks for the tip. I sometimes skim some agda/idris docs just to make sure I have a clue what they're about. | ||
vendethiel | (ctrl-c ctrl-l iirc for agda2-mode emacs) | ||
I call that "try by autocompletition" :P. I just type w/e, and try to complete until the compiler finds stuff to put in holes | 02:10 | ||
02:14
virtualsue joined
02:18
yeahnoob joined,
kurahaupo left
02:29
BenGoldberg left,
BenGoldberg joined
|
|||
[Coke] finally catches up post-conference. | 02:44 | ||
~~, sixers. | |||
02:44
chenryn joined
02:45
ilbot3 left
02:46
andreoss left
02:47
ilbot3 joined
|
|||
hzhou321 | I am new to perl6. Does perl6 have method to interface with C like xs? | 02:53 | |
masak | yes | 02:55 | |
hzhou321 | Do you have pointer to documentation? | 02:56 | |
masak | github.com/jnthn/zavolaj/ | 02:57 | |
02:57
yqt joined
|
|||
masak | 'night, #perl6 | 02:57 | |
hzhou321 | masak: thx. | ||
japhb | masak++ # Advice? Rant? Manifesto? ... starting at irclog.perlgeek.de/perl6/2015-01-27#i_10016004 and continuing at irclog.perlgeek.de/perl6/2015-01-27#i_10016097 | 03:10 | |
hzhou321 | Is there any benchmark between Perl5 and Perl6? | 03:17 | |
Peter_R | I've seen graphs, they must exist... | 03:18 | |
03:18
Psyche^ joined
|
|||
Peter_R | The cliff notes of the graph were "lists are slow" | 03:19 | |
moritz | \o/ | 03:20 | |
itz_: do you have any idea why my old blog posts are showing up as new in the pl6anet feed? | 03:21 | ||
03:22
Patterner left,
risou is now known as risou_awy,
risou_awy is now known as risou
03:25
virtualsue left
|
|||
dalek | kudo/nom: d5c67dc | hoelzro++ | src/ (3 files): Don't pass capture to invoke/postcircumfix:<( )> when performing Type(...) If a user wants to override the behavior of Type(...), they have to know that the invoke/postcircumfix:<( )> method takes a single argument that is a Capture, rather than the actual values provided. This is an implementation detail, not in the spec, and unintuitive. |
03:25 | |
ast: d32ba94 | hoelzro++ | S13-overloading/typecasting-long.t: Take the full argument list when overriding (...) for Type(...) |
03:26 | ||
muraiki_ | night p6 | 03:27 | |
03:27
muraiki_ left
03:35
yqt left
|
|||
skids | hoelzro++ I remebering going WTF over that. | 03:39 | |
hoelzro | skids: oh, good on me then =) | 03:40 | |
hopefully others are ok with the change | |||
03:41
kurahaupo joined
03:43
Mouq joined
03:47
noganex_ joined
03:50
noganex left
03:52
vendethiel left,
vendethiel joined
|
|||
moritz | hoelzro: I'm not OK with it missing from ChangeLogs | 04:02 | |
s/s$// | |||
hoelzro | moritz: ah, noted | ||
I'll add that | |||
dalek | kudo/nom: ffc5836 | hoelzro++ | docs/ChangeLog: Document the change to overriding Type(...) |
04:04 | |
hoelzro | moritz++ # advice | ||
dalek | kudo/nom: 9f15442 | moritz++ | docs/ChangeLog: Add more changelog entries |
04:07 | |
moritz | hoelzro++ # acting on it :-) | ||
time to sleep again, now that $smallone also sleeps again | 04:08 | ||
hoelzro | o/ moritz | 04:09 | |
Mouq | hoelzro: Does that commit break nativecall? | 04:11 | |
Mouq also has to try catching some sleep | 04:12 | ||
dalek | ast/coerce-multi: a22c42c | hoelzro++ | S02-types/COERCE.t: Start implementing tests for COERCE |
04:14 | |
ast/coerce-multi: b717214 | hoelzro++ | S02-types/COERCE.t: Test that Type(...) still calls invoke if present |
|||
ast/coerce-multi: e142fd0 | hoelzro++ | S02-types/COERCE.t: Test COERCE + subclasses |
|||
hoelzro | Mouq: eesh, I sure hope not | ||
hoelzro tests | |||
dalek | kudo/coerce-multi: a298d34 | hoelzro++ | src/ (2 files): Start on implementation of COERCE COERCE is a multi that takes a value and a type object; users wishing to define special semantics for how a value of a given type is coerced to other type may implement the appropriate candidate for COERCE to perform that coercion. The default is call a method of the same name as the type object's class on the value. |
||
kudo/coerce-multi: d9460c5 | hoelzro++ | t/spectest.data: Use new COERCE test in roast |
|||
04:17
Mouq left
|
|||
japhb | hzhou321: Yes, there are p5/p6 benchmarks. I wrote the framework and the majority of the tests: github.com/japhb/perl6-bench . timotimo++ has published the graphs from some of his perl6-bench runs, but I don't have the URL at hand. | 04:19 | |
04:19
vendethiel left
|
|||
japhb | This is getting to be enough of a channel FAQ that I'm considering adding the github URL to the topic. I was planning to wait for us to have an arewefastyet clone in place, but that has been slow in appearing. (And I can't host it myself.) | 04:20 | |
hoelzro | Mouq was right; that *does* break NativeCall o_O | 04:27 | |
unfortunately, my NQP fu is not strong enough to fix it | |||
if anyone could help me fix that, I would really appreciate it | 04:34 | ||
if it's a blocker for anyone, feel free to revert my commits and we can chat about how to fix it tomorrow | 04:35 | ||
04:46
yeahnoob left
04:47
sivoais left
04:48
sivoais joined
04:56
charsbar_____ left
05:03
KCL_ left
05:06
chenryn left
05:07
chenryn_ joined
05:10
chenryn_ left,
chenryn_ joined
05:23
raiph left
05:33
charsbar joined
05:54
chenryn__ joined
05:55
chenryn_ left
05:56
mr-foobar left
06:00
chenryn__ left
06:01
chenryn__ joined
06:04
chenryn__ left
06:05
chenryn__ joined
06:08
broquaint joined
06:18
bjz joined
06:20
bjz left
|
|||
dalek | volaj: 339501e | moritz++ | lib/NativeCall.pm6: Fix for latest rakudo postcircumfix:<( )> now receives a normal argument list, not a single-item capture |
06:22 | |
moritz | hoelzro: ^^ FTFY. No NQP hackery required | ||
06:22
[Sno] joined
06:32
BenGoldberg left
06:33
Khisanth left
06:34
Khisanth joined
06:35
spider-mario left
06:45
baest left
06:46
bartolin_ left,
bartolin joined
|
|||
bartolin | fwiw Parrot builds again and last nights spectest on Parrot was clean | 06:48 | |
lizmat++ moritz++ jnthn++ # bisecting and fixing | |||
07:09
telex left
07:10
telex joined,
vendethiel joined
07:11
[Sno] left
07:16
rindolf joined,
kaleem joined
07:36
rindolf left
|
|||
lizmat confirms parrot builds and tests ok again | 07:38 | ||
although I'm not quite sure what caused the fix | 07:39 | ||
07:39
kjs_ joined
|
|||
lizmat | offline until late& | 07:40 | |
07:56
vendethiel left
07:57
chenryn__ left
|
|||
TimToady | sitting in AMS waiting for our next flight | 07:57 | |
07:58
Rounin joined,
chenryn__ joined
|
|||
El_Che | TimToady: it's not raining, so that's a good thing :) | 07:59 | |
TimToady | boarding... | 08:01 | |
08:05
prime- left
08:06
yeahnoob joined
08:08
chenryn___ joined
08:09
chenryn__ left
08:10
yeahnoob left
08:11
avuserow left,
FROGGS joined,
prime joined
08:14
yeahnoob joined,
[Sno] joined
08:15
avuserow joined,
vendethiel joined
08:21
darutoko joined
08:22
xfix joined
08:29
moritz left
08:33
pdcawley joined
08:34
moritz joined
08:35
espadrine joined
08:38
vendethiel left
08:40
Kristien joined,
bjz joined,
telex left
08:45
telex joined
08:50
espadrine left
08:53
adu left
08:57
zakharyas joined,
brrt joined
|
|||
Kristien | How can you make grammars ignore whitespace from the input between tokens? | 08:58 | |
I tried to google this, but all I can find is the difference between the token and rule and sigspace. | 08:59 | ||
brrt | iirc - and i'm not at all a regular perl6 user btw - that's the difference between rules and tokens | ||
oh | 09:00 | ||
that's what you said | |||
Kristien | or do I have to put \s* before all of my rules and tokens? | ||
brrt | i'd be surprised if that were the case | 09:01 | |
Kristien | yeah, me too | ||
or perhaps proto token lexeme { \s* * } | 09:02 | ||
FROGGS | m: my rule foo { a b }; say "a b" ~~ /<foo>/ | 09:03 | |
camelia | rakudo-moar 9f1544: OUTPUT«「a b」 foo => 「a b」» | ||
FROGGS | m: my rule foo { a b }; say "ab" ~~ /<foo>/ | ||
camelia | rakudo-moar 9f1544: OUTPUT«Nil» | ||
FROGGS | m: my token foo { a b }; say "ab" ~~ /<foo>/ | ||
camelia | rakudo-moar 9f1544: OUTPUT«「ab」 foo => 「ab」» | ||
FROGGS | m: my token foo { a b }; say "a b" ~~ /<foo>/ | ||
camelia | rakudo-moar 9f1544: OUTPUT«Nil» | ||
FROGGS | Kristien: see? | ||
consider a token a word, and rule about sentences | 09:04 | ||
Kristien | ah I see | ||
thanks | |||
now it works :D | 09:05 | ||
09:06
andreoss joined
|
|||
JimmyZ | FROGGS: github.com/MoarVM/dyncall/wiki | 09:07 | |
09:08
pecastro joined
|
|||
FROGGS | JimmyZ++ | 09:09 | |
awesome :o) | |||
09:11
Kristien left
|
|||
andreoss | rakudo.org is 500 now | 09:15 | |
09:17
fhelmberger joined
|
|||
moritz | pmichaud: ^^ rakudo.org gives a 500 internal server error. Could you please investigate? | 09:20 | |
09:22
mvuets joined
09:24
kjs_ left
09:25
abraxxa joined
09:29
kjs_ joined
09:32
kjs_ left
09:35
vendethiel joined,
espadrine joined
|
|||
timotimo | hzhou321: t.h8.lv/p6bench/ | 09:38 | |
09:39
Kristien joined
09:43
dakkar joined
09:44
kjs_ joined
09:52
baest joined
09:56
vendethiel left
10:02
sirdancealot joined
|
|||
andreoss | error: pathspec '2015.01-22-g5a33762' did not match any file(s) known to git. | 10:11 | |
Command failed (status 256): git checkout 2015.01-22-g5a33762 | |||
Kristien | why does Grammar.parse return Any on failure? | 10:12 | |
Rather than say Nil or Failure | 10:13 | ||
moritz | it returns Nil, I think | ||
10:13
nyuszika7h left
|
|||
andreoss | Configure.pl tries to checkout MoarVM sources with some tag, but it seems non-existent | 10:13 | |
moritz | and assigning Nil to a scalar resets the scalar to the default value | ||
Kristien | Oh, I see. | ||
Ah right nice. | 10:15 | ||
10:18
nyuszika7h joined
10:21
yeahnoob left
|
|||
andreoss | i can't compile parrot backend | 10:29 | |
its failing to link with this error | |||
/usr/bin/ld: h_errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS definition in /home/local/local/lib/libc.so section .bss | |||
why parrot needs TLS? | |||
FROGGS | andreoss: I am forwarding it to #parrot on irc.perl.org | 10:30 | |
10:30
virtualsue joined
|
|||
andreoss | might be something wrong with my localy installed libc, links ok against system one | 10:34 | |
masak | good mor'n, #perl6 | 10:37 | |
andreoss | /usr/lib/gcc/x86_64-redhat-linux/4.9.2/../../../../lib64/crt1.o: In function `_start': | 10:39 | |
(.text+0x12): undefined reference to `__libc_csu_fini' | |||
FROGGS: may be i should make distclean somewhere? | 10:40 | ||
10:42
Sqirrel left
10:44
vendethiel joined
10:55
sirdancealot left
|
|||
masak | japhb: actually, my rant started at irclog.perlgeek.de/perl6/2015-01-27#i_10015898 and the parts you pointed to were kind of a continuation of that. | 10:56 | |
11:00
btyler left
11:03
Kristien left
11:04
chenryn___ left
|
|||
tadzik | PLPW 2015 is cooking :} | 11:04 | |
11:05
brrt left
|
|||
El_Che | pw.pl? | 11:05 | |
11:05
brrt joined
|
|||
tadzik | Polish Perl Workshop | 11:05 | |
11:05
chenryn___ joined
|
|||
El_Che | nice | 11:05 | |
11:07
vendethiel left,
rurban_ joined
11:08
kjs_ left,
vendethiel joined
|
|||
masak | tadzik: \o/ | 11:09 | |
11:10
chenryn___ left
11:11
chenryn___ joined
11:12
noganex joined
11:13
mvuets left
11:14
noganex_ left
11:16
mvuets joined
11:17
Kristien joined
|
|||
Kristien | I wrote my first parser written in Perl 6! | 11:19 | |
moritz | \o/ | ||
11:20
Kristien left
11:23
brrt left
11:37
ka05 left
11:53
kaleem left
11:55
chenryn____ joined
11:57
chenryn___ left,
Kristien joined
|
|||
Kristien | I'm writing a tool to generate data structures in various languages and serialization/deserialization code | 11:58 | |
12:01
Kristien left
12:02
kjs_ joined
12:04
Kristien joined
|
|||
vendethiel | seems like something ingy would love :) | 12:05 | |
12:07
rindolf joined
|
|||
Kristien | currently looks like this: gist.github.com/rightfold/9296916eb5f32c6580d6 | 12:09 | |
vendethiel | "grammar Grammar" always make me feel uneasy | 12:10 | |
Kristien | not me :D | 12:11 | |
FROGGS | m: grammar Grammar { }; say Grammar.WHAT | 12:12 | |
camelia | rakudo-moar 9f1544: OUTPUT«(Grammar)» | ||
FROGGS | andreoss: did you just pull and rebuild? perhaps you can remove your install directory | 12:13 | |
12:16
chenryn____ left
12:20
rindolf left
12:21
brrt joined
|
|||
andreoss | FROGGS: yes, i've already removed it, parrot still fails to link | 12:23 | |
12:28
pmurias joined
|
|||
hoelzro | moritz: thanks for fixing that; I didn't think about just grabbing the whole Capture! | 12:32 | |
moritz | hoelzro: you're welcome | ||
12:33
chenryn____ joined
|
|||
moritz | with the right idea, it was trivial. Otherwise it might have been quite nasty | 12:33 | |
12:37
brrt left
12:38
rmgk_ joined,
rmgk left,
rmgk_ is now known as rmgk
|
|||
dalek | p-js: c46c987 | (Pawel Murias)++ | src/vm/js/bin/run_tests: Add passing test 64 to run_tests. |
12:40 | |
p-js: 3cca062 | (Pawel Murias)++ | t/nqp/59-nqpop.t: Add a test for nqp::isnull_s/nqp::null_s. |
|||
p-js: 6b6a8f1 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp: Implement nqp::isnull_s/nqp::null. |
|||
12:47
chenryn____ left
12:48
risou is now known as risou_awy,
risou_awy is now known as risou
|
|||
pmurias | what would be a good way to test nqp::time_n(), nqp::time_i()? | 12:50 | |
Kristien | m: say('a') ==> say() | 12:53 | |
camelia | rakudo-moar 9f1544: OUTPUT«aTrue» | ||
moritz | pmurias: you can call time_n() several times, and test that the results are increasing | ||
pmurias: and you can sleep (if you have implemented that), and test that the time difference is larger or equal the sleep time | 12:54 | ||
jnthn | Please don't write tests that sleep. | ||
yoleaux | 27 Jan 2015 21:27Z <moritz> jnthn: bisecting of nqp tells me that your commit 98c0b61f8b5fee6e383b6ee03070139ebf04106f "Add parametricity bits to STable." causes the rakudo-parrot core compilation segfault | ||
jnthn | That already makes spectest horribly slow for me during S17... | 12:55 | |
moritz: Yes, matches with github.com/rakudo/rakudo/commit/34...55d1c077e4 having fixed it :) | 12:56 | ||
pmurias | and the other question is how accurate is time_n supposed to be? | ||
is one millisecond resolution enough? | 12:57 | ||
moritz | pmurias: on the femtosecond level, please | ||
:-) | |||
pmurias: there's no spec on how accurate it must be | |||
Kristien | millenia | ||
the function will be fast as hell | |||
nobody runs Perl 6 code anymore in 3001 | 12:58 | ||
moritz | Kristien: the maintainers in 986 years will resurrect you for that statement, just to be able to torture you to death again :-) | ||
dalek | p-js: ab9ea8b | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp: Implement nqp::time_n()/nqp::time_i(). |
12:59 | |
Kristien | not me | ||
I won't implement it! | |||
moritz | pmurias: I'd just go with millisecond resolution for now, and if somebody complains, you can still try to improve on it later | ||
but until them, YAGNI applies | |||
13:03
btyler joined
|
|||
vendethiel | .oO( si-defects ) |
13:04 | |
dalek | p-js: 4dc5253 | (Pawel Murias)++ | t/nqp/59-nqpop.t: Add some weak tests for nqp::time_i/nqp::time_n. |
13:05 | |
Kristien | vendethiel: :O | 13:07 | |
I think I should write my compiler in Perl 6. | |||
Instead of in JavaScript. | |||
vendethiel | "put the javascript down, we can help you" | 13:08 | |
Kristien | Though I don't think there's an escodegen-like library for Perl 6. :v | ||
There is Rhino, though. | |||
pmurias | Kristien: what are you compiling? | 13:09 | |
vendethiel | pmurias: lasagnas :P | ||
Kristien | language I'm working on | 13:10 | |
pmurias | any description of that? | ||
Kristien | The language is like Eiffel and Scala and the compiler generates ECMAScript 5 code. | 13:11 | |
Or rather, is to generate ECMAScript 5 code. | 13:12 | ||
pmurias | is it a lightweight layer on javascript like coffescript or something more removed like nqp-js/rakudo-js? | 13:13 | |
vendethiel | less lightweight | ||
it changes semantics, big time | |||
Kristien | Much less lightweight. | 13:14 | |
and much more strict | |||
pmurias | is the code/description somewhere? | 13:15 | |
Kristien | vaguely: github.com/rightfold/lasagnascript | ||
but the compiler is junk currently; I'm rewriting it asap | |||
13:19
kjs_ left
|
|||
Kristien | I want to use an SSA intermediate representation since that's much more flexible than directly converting the AST to an ECMAScript AST | 13:22 | |
pmurias | in nqp-js I'm using a "chunks" abstraction, Chunk.new($type, $sideeffect_free_js_expression, @array_of_js_statements_as_strings_or_chunks_needed_to_make_expression_valid) | 13:26 | |
Kristien | and I want to focus less on ES interop and more on sanity | ||
pmurias: my current compiler has two functions: one to generate statmeents and one to generate an expression | |||
which one is used depends on context | |||
if something can only be compiled to a statement and an expression is expected, it's put in an IIFE | 13:27 | ||
(e.g. throw and switch) | |||
pmurias | IIFE? | ||
Kristien | immiediately-invoked function expression | ||
you can use that to turn statements into expressions | |||
vendethiel | *sometimes* | ||
13:27
yqt joined
|
|||
Kristien | You can't do it for return statements obviously. | 13:27 | |
vendethiel | that'll work with throw (somehow), but will completly fail with break/return | ||
and also, generators | 13:28 | ||
Kristien | Good thing LasagnaScript has neither return statements nor generators. | ||
vendethiel | well, compiling with "yield* IIFE" *should* work | ||
Kristien | I've never written a return statement in Perl :P | 13:30 | |
pmurias | re sanity vs transprency, IMHO not having fully transparent interop is a serious barrier | ||
Kristien | I still have to design the whole interop stuff | 13:32 | |
pmurias | we won't be able to have fully transparent interop in nqp-js/rakudo-js to the degree coffescript because the language is too far removed from javascript | 13:34 | |
Kristien | how does nqp-js do stuff like Int? | 13:35 | |
pmurias | what do you mean by that? | ||
Kristien | well rather, uint32 | ||
e.g. integer arithmetic and overflow stuff | 13:36 | ||
JS has only floats so you have to use bitwise operations on integers | |||
pmurias | that's what I use | ||
Kristien | nice | ||
pmurias | I currently have int32 only | 13:37 | |
nqp doesn't expose uint32 | |||
Kristien | OK | ||
dalek | ecs/coerce-multi: b994904 | hoelzro++ | S13-overloading.pod: Document COERCE |
||
pmurias | having 64bit integers is a harder problem | ||
13:37
sqirrel joined
|
|||
hoelzro | ok, I have implementation, tests, and specs for COERCE in the coerce-multi branch on the various repos | 13:37 | |
what's the next step to getting this accepted/rejected into the current spec? | 13:38 | ||
pmurias | Kristien: the exact code for something like adding two integers is pastie.org/9868250 | 13:39 | |
13:40
DieGraueEminenz joined
|
|||
Kristien | m: my uint $x = 0; $x = $x - 1; say $x | 13:41 | |
camelia | rakudo-moar 9f1544: OUTPUT«-1» | ||
vendethiel | obviously... | ||
Kristien | :V | ||
13:43
brrt joined
|
|||
pmurias | bbl& # job interview for what I fear might be a php job :( | 13:43 | |
Kristien | PHP is nice. | ||
vendethiel | :( | 13:44 | |
brrt | Kristien - that's one of those things you're going to find a lot of people disagreeing with | 13:47 | |
:-P | |||
Kristien | What is? | ||
brrt | php's niceness | ||
Kristien | Oh :P | ||
I wish I were competent enough to implement a static type system. | |||
brrt | php is effective, *if* your program is a CGI-style form-to-database CRUD | 13:48 | |
13:48
DarthGandalf left
|
|||
brrt | otherwise, it's horrible | 13:48 | |
14:00
Kristien left
14:01
dayangkun joined
|
|||
nwc10 | pmurias: I'm curious - where in the world are you? | 14:02 | |
(To be clear, I'm not hiring, nor am I asking "for a friend") | |||
[and this is not because I have no friends :-)] | 14:03 | ||
14:04
salv0 left,
salv0 joined
14:06
Kristien joined
14:07
go|dfish left
|
|||
brrt | how many qualifications do you need for a question :-) | 14:08 | |
anyway, last year the perl devroom was quite full | |||
14:09
_4d47 joined
|
|||
moritz | nwc10: where on the planet are you that you're *not* hiring? :-) | 14:09 | |
hzhou321 | Kristien: instead of using bitwise operations, what's wrong with converting to integer back and forth? | 14:12 | |
nwc10 | moritz: we *were* hiring. But the new sysadmin starts on Monday | ||
and also, there's no space for any more warm bodies | |||
14:12
rindolf joined
14:16
darutoko- joined
14:17
darutoko left
|
|||
Kristien | hzhou321: there are no integers. | 14:19 | |
hzhou321 | Kristien: I thought you were implementing integer types in Javascript | ||
14:25
[Sno] left
|
|||
andreoss | how do i add a new bench case in perl6-bench? I see there're 67 benches, i found some of them in ./perl5 and ./perl6, but not all of them. | 14:26 | |
14:26
kaleem joined
14:28
Sqirrel_ joined
14:30
raiph joined
|
|||
timotimo | andreoss: there are many more in microbenchmarks.pl | 14:34 | |
andreoss | thanks | 14:39 | |
timotimo: if I need to generate some auxiliary input where I place it | 14:40 | ||
moritz | andreoss: can't you put into a heredoc? | 14:41 | |
14:41
lestrrat left
|
|||
Kristien | I'm part of a conspiracy that denies the existence of heredocs. | 14:43 | |
andreoss | moritz: i guess it wouldn't scale this way. I would have to generate random ints within bench case, it may affect results. | ||
moritz | andreoss: but you assume that reading from disc is faster than generating random ints? | ||
14:44
lestrrat joined
14:45
sqirrel left
|
|||
andreoss | % seq 1 100000 | time perl -ne '' | 14:48 | |
0.02user 0.00system 0:00.02elapsed 87%CPU (0avgtext+0avgdata 3948maxresident)k | |||
0inputs+0outputs (0major+174minor)pagefaults 0swaps | |||
'~/src/perl6-bench' (master % u=) | |||
% seq 1 100000 | time perl6 -ne '' | |||
15.73user 0.22system 0:17.28elapsed 92%CPU (0avgtext+0avgdata 196208maxresident)k | |||
39896inputs+0outputs (159major+44841minor)pagefaults 0swaps | |||
moritz: i guess it should be a separated benchmark case | 14:49 | ||
moritz | andreoss: aye | 14:51 | |
andreoss: the you should add -CS to the perl 5 benchmark | |||
andreoss: because Perl 6 also decodes the UTF-8, which the perl 5 doesn't do as-is | 14:52 | ||
14:52
kaleem left
|
|||
Kristien | m: my uint8 $x = 255; $x += 1; say $x; | 14:53 | |
camelia | rakudo-moar 9f1544: OUTPUT«256» | ||
andreoss | moritz: what's -CS? | 14:54 | |
Kristien | m: my uint32 $x = 2**32-1; $x += 1; say $x; | ||
camelia | rakudo-moar 9f1544: OUTPUT«4294967296» | ||
andreoss | % seq 1 100000 | time perl -Mopen=":std,:encoding(utf-8)" -ne 'utf8::decode $_' | 14:55 | |
0.07user 0.00system 0:00.08elapsed 85%CPU (0avgtext+0avgdata 5600maxresident)k | |||
14:57
lestrrat left
15:05
Kristien left
15:06
lestrrat joined
15:07
kaleem joined,
fwilson left,
molaf joined
15:11
Woodi joined
15:13
sqirrel joined
15:14
kurahaupo left
15:16
kaleem left,
gfldex joined
15:17
lestrrat left
15:21
lestrrat joined
15:22
dayangkun left
|
|||
rjbs- | So, what's going on on FOSDEM Friday? :) | 15:25 | |
15:26
Rounin left,
lestrrat left
|
|||
tadzik | slide hacking... :P | 15:26 | |
15:27
fwilson joined
15:28
lestrrat joined
15:29
kaleem joined
|
|||
moritz | wouldn't the conference be more fun if you did the slide hacking before? :-) | 15:31 | |
El_Che | rjbs-: there is a drink | ||
15:31
kurahaupo joined
|
|||
tadzik | moritz: I wouldn't know :P | 15:31 | |
15:32
abraxxa left,
Kristien joined
15:33
rjbs- is now known as rjbs,
rjbs left,
rjbs joined
15:36
lestrrat left
|
|||
FROGGS | andreoss: does that cover your bug? github.com/parrot/parrot/issues?q=...s%3Aclosed | 15:37 | |
15:38
yqt left
15:40
brrt left
15:44
lestrrat joined
15:47
kaleem left
15:48
mr-foobar joined
15:51
Kristien left
15:53
lestrrat left
15:56
telex left
15:58
telex joined
15:59
lestrrat joined
|
|||
andreoss | FROGGS: i have a simple script for building rakudo on cron, i found out today that it doesn't work anymore. As i see Configure.pl trying to get sources from git repositories with wrong tags. So I can't build master anymore. The attempt to build the latest release ends with linkage errors. | 16:04 | |
may be i'm doing something wrong | 16:05 | ||
PerlJam | "build master"? You mean "nom", right? | 16:07 | |
FROGGS | andreoss: can you gist your build commands? | 16:08 | |
16:09
andreoss_ joined
16:10
andreoss left,
sqirrel__ joined
16:13
Mouq joined,
AndChat-458964 joined
|
|||
andreoss_ | PerlJam: what branch comes from just cloning repo? | 16:13 | |
dalek | p: 3766c15 | Mouq++ | Configure.pl: Correct --git-reference doc, mj41++ |
16:14 | |
16:14
sqirrel left
|
|||
dalek | kudo/nom: 21265fc | Mouq++ | Configure.pl: Correct --git-reference doc, mj41++ |
16:14 | |
16:14
Sqirrel_ left
16:16
raiph left
|
|||
PerlJam | andreoss_: pretty sure you get nom by default. | 16:18 | |
(unless the universe has shifted and I didn't notice :) | 16:19 | ||
16:20
lestrrat left
16:22
raiph joined
16:25
lestrrat joined,
sqirrel__ left
|
|||
masak | you get nom by default. | 16:28 | |
16:28
sqirrel__ joined
16:29
spider-mario joined
16:31
andreoss_ left,
profan left
16:32
lestrrat left,
profan joined
|
|||
Mouq | What's buggy about RT #68572 ? | 16:35 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=68572 | ||
Mouq | m: role A { class B {} } | ||
camelia | ( no output ) | ||
Mouq | 'class' is lexically scoped to A. I could see a role that uses a local class internally in one of its methods... and I don't really see why we should forbid a user from being able to do so | 16:36 | |
16:37
lestrrat joined
|
|||
PerlJam | Mouq: S12:106 | 16:38 | |
synopsebot | Link: perlcabal.org/syn/S12.html#line_106 | ||
Mouq | Oh! Idk why I thought class was automatically my. PerlJam++ | 16:39 | |
PerlJam | Mouq: probably because P6 leans heavily on lexicals :) | ||
Mouq | True :) | 16:40 | |
raydiak | good morning #perl6 o/ | 16:43 | |
16:43
zakharyas left
|
|||
hoelzro | o/ raydiak | 16:44 | |
raydiak | hi hoelzro how goes it? | 16:45 | |
16:47
[Sno] joined
|
|||
japhb | .ask andreoss Do you still need help creating your perl6-bench test? | 16:48 | |
yoleaux | japhb: I'll pass your message to andreoss. | ||
hoelzro | it's going alright; how about yourself? | 16:49 | |
dalek | kudo/nom: 358d1d9 | Mouq++ | src/Perl6/Grammar.nqp: [Pod] Allow indented code blocks to contain blank lines, moritz++ Previously, this code would produce two code blocks, where one was preferred: =begin pod Here's our Foo role: role Foo { has $.bar; method baz { ... } } =end pod |
||
ast: 88d0e1e | Mouq++ | S26-documentation/04-code.t: Add test that indented code blocks span blank lines |
|||
16:52
AndChat-458964 left
|
|||