»ö« 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. |
|||
Kristien | Is there a nicer way to do the for loop? | 00:00 | |
Couldn't find an each function or something like that | |||
masak | map? | ||
Kristien | map is lazy | 00:01 | |
AFAIK | |||
masak | troo | ||
but you're feeding things into it, so that shouldn't be a problem, I think. | |||
vendethiel | m: : 1..* Z @lines ==> map { "$^i: $^l" } ==> map(&say); | 00:02 | |
camelia | rakudo-moar f12020: OUTPUT«===SORRY!=== Error while compiling /tmp/CkJoJ8iYDBInvocant colon not allowed hereat /tmp/CkJoJ8iYDB:1------> :⏏ 1..* Z @lines ==> map { "$^i: $^l" } ==» | ||
Kristien | m: sub each(&f, @xs) { for @xs { &f($_) } }; each (1, 2, 3, 4, 5), &say | ||
camelia | rakudo-moar f12020: OUTPUT«Type check failed in binding &f; expected 'Callable' but got 'Parcel' in sub each at /tmp/bboYqen_J_:1 in block <unit> at /tmp/bboYqen_J_:1» | ||
Kristien | m: sub each(&f, @xs) { for @xs { &f($_) } }; each &say, (1, 2, 3, 4, 5) | ||
camelia | rakudo-moar f12020: OUTPUT«12345» | ||
vendethiel | m: : 1..* Z @lines ==> map { "$^i: $^l" } ==> each(&say); | ||
camelia | rakudo-moar f12020: OUTPUT«===SORRY!=== Error while compiling /tmp/uWM3fyBizIInvocant colon not allowed hereat /tmp/uWM3fyBizI:1------> :⏏ 1..* Z @lines ==> map { "$^i: $^l" } ==» | ||
Kristien | m: map &say, (1, 2, 3, 4, 5) | ||
camelia | rakudo-moar f12020: OUTPUT«12345» | ||
vendethiel | m: 1..* Z @lines ==> map { "$^i: $^l" } ==> each(&say); | ||
camelia | rakudo-moar f12020: OUTPUT«===SORRY!=== Error while compiling /tmp/t3qGX7NwwyVariable '@lines' is not declared. Did you mean '&lines'?at /tmp/t3qGX7Nwwy:1------> 1..* Z @lines⏏ ==> map { "$^i: $^l" } ==> each(&say); expecting any…» | ||
Kristien | well it only shows that because I force it to print the result of say | ||
how about | |||
vendethiel | m: 1..* Z <a b c> ==> map { "$^i: $^l" } ==> each(&say); | ||
camelia | rakudo-moar f12020: OUTPUT«===SORRY!=== Error while compiling /tmp/QrAAdolFhDUndeclared routine: each used at line 1» | ||
vendethiel | oh,yes, you declared it | 00:03 | |
Kristien: sink() | |||
Kristien | m: sub ignore(Any $x) { }; ignore(map(&say, (1, 2, 3, 4, 5))) | ||
camelia | ( no output ) | ||
vendethiel | which is like ml's sink | ||
m: 1..* Z <a b c> ==> map { "$^i: $^l" } ==> map(&say); | |||
camelia | rakudo-moar f12020: OUTPUT«1: a2: b3: c» | ||
vendethiel | this works though | ||
Kristien | no | 00:04 | |
it only works in this case because the output of map is iterated over | |||
I need eager map which returns Nil | |||
00:04
dayangkun left
|
|||
vendethiel | m: 1..* Z <a b c> ==> map { "$^i: $^l" } ==> map(&say); 1 | 00:05 | |
camelia | rakudo-moar f12020: OUTPUT«1: a2: b3: c» | ||
Kristien | but sink should work | ||
m: my @lines = "Hello", "World"; sink { 1..* Z @lines ==> map { "$^i: $^l" } ==> map &say }; | 00:06 | ||
camelia | rakudo-moar f12020: OUTPUT«1: Hello2: World» | ||
Kristien | Dankeschön! | 00:09 | |
00:10
espadrine_ left
|
|||
Kristien | I like sub each(&f, @xs) { for @xs { &f($_) } } better, though. | 00:14 | |
Plays nicely with ==>. | |||
I guess sink is implicit when an expression is used as a statement in non-return position? | 00:15 | ||
masak | aye | 00:16 | |
Kristien | When a good Perl 6 book comes out I'll be the first one to buy a copy! | 00:18 | |
masak | "a good Perl 6 book" might be our biggest weakness... :/ | 00:19 | |
we tried to do it as a community effort once, and ran into difficulties. | 00:20 | ||
00:30
zakharyas left
|
|||
Kristien | Methods like join and uc seem to be callable without . | 00:35 | |
m: say(join(' ', <1 2 3>)) | |||
camelia | rakudo-moar f12020: OUTPUT«1 2 3» | ||
Kristien | however, I can only find documentation of methods | 00:36 | |
Is this special behaviour for method calls or am I overlooking something? | |||
m: say(<1 2 3>.join(' ')) | 00:39 | ||
camelia | rakudo-moar f12020: OUTPUT«1 2 3» | ||
vendethiel | Kristien: it's there if you put the "is export" on the method, IIRC | ||
m: class Foo { method bar is export { 1 } }; bar(Foo.new); | |||
camelia | rakudo-moar f12020: OUTPUT«===SORRY!=== Error while compiling /tmp/RFlM_J46TPUndeclared routine: bar used at line 1. Did you mean 'bag'?» | ||
vendethiel | no, so, probably just declared below. | ||
(I know what is export does, but I thought it also did that) | |||
Kristien | > Methods also take the "is export" trait: the method will then be exported as a multi sub that takes the object as the first parameter: | ||
vendethiel | right :-) | 00:40 | |
masak | I don't know if that's supposed to work or not, but I can say this: | 00:44 | |
the notion that the sub form of built-in methods are an exported form of the method in Perl 6 has been replaced by other things. | 00:45 | ||
usually, the sub is just defined in the setting, and calls the corresponding method. | 00:46 | ||
Kristien | m: class Foo { method bar is export { 1 } }; import Foo; say bar(Foo.new); | 00:47 | |
camelia | rakudo-moar f12020: OUTPUT«1» | ||
vendethiel | Kristien++ # smarter than me | ||
masak | hey, it works :) | ||
Kristien | :D | ||
masak | what I said still holds true, though. | 00:48 | |
I don't end up exporting methods a lot. | |||
IIRC, even Perl 5 lore considers it a Bad Thing. | |||
Kristien | This is also interesting: | 00:51 | |
This works: | |||
m: sub filter-profanity(Str $s) { $s.subst(/Java/, '****', :g) }; "Perl 6 is so much more fun than Java!" ==> filter-profanity() ==> uc() ==> say() | |||
camelia | rakudo-moar f12020: OUTPUT«PERL 6 IS SO MUCH MORE FUN THAN ****!» | ||
Kristien | whereas this fails: | ||
m: sub filter-profanity(Str $s) { $s.subst(/Java/, '****', :g) }; "Perl 6 is so much more fun than Java!" ==> filter-profanity ==> uc ==> say | |||
camelia | rakudo-moar f12020: OUTPUT«===SORRY!=== Error while compiling /tmp/71EN2a_iYqPreceding context expects a term, but found infix ==> insteadat /tmp/71EN2a_iYq:1------> fun than Java!" ==> filter-profanity ==>⏏ uc ==> say» | ||
00:51
agentzh joined
|
|||
vendethiel | Kristien: you currently need () after a call inside a ==> | 00:52 | |
m: 'a' ==> say | |||
camelia | rakudo-moar f12020: OUTPUT«===SORRY!=== Error while compiling /tmp/Eod2xKzdcTUnsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argumentat /tmp/Eod2xKzdcT:1------> 'a' ==> say⏏<EOL>…» | ||
vendethiel | m: 'a' ==> say() | 00:53 | |
camelia | rakudo-moar f12020: OUTPUT«a» | ||
Kristien | "currently" so will it not stay that way? | ||
vendethiel | well, it works in std | ||
std: 'a' ==> say | |||
camelia | std f9b7f55: OUTPUT«===SORRY!===Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/AWH6U6dwVw line 1:------> 'a' ==> say⏏<EOL>Check failedFAILED 00:00 134m» | ||
vendethiel | TimToady: can you confirm that's a STD bug? | ||
or maybe masak++ can find the RT ticket associated to this one | |||
Kristien | ==> is most shiny. |> was my favourite feature in LiveScript and F# | ||
vendethiel | we completly and utterly stole it from f#, yes :P | 00:54 | |
Kristien | I wonder if Arabs like normal calls better. :) | ||
vendethiel | I think elixir did that as well | ||
Kristien | In Elixir x |> f(1) is sugar for f(x, 1) | ||
In LiveScript and F# it's sugar for f(1) x | 00:55 | ||
Well in F# it's slightly different | |||
TimToady | well, we're still trying to figure out what feed operators are | ||
Kristien | in F# it's sugar for let __1 = x; f(1) x | ||
because of order of evaluation being LTR always | |||
TimToady | and we certainly didn't steal it from F# | ||
Kristien | uh s/x$/__1/ | 00:56 | |
TimToady | it's really just the idea of Unix pipes that can transmit objects, is all | ||
I think we thought of it before PowerShell | |||
Kristien | Joe the Plumber is proud. | ||
vendethiel | TimToady: sorry, my "we" was from LiveScript ;-) | 00:57 | |
TimToady | as for join, that can't be done by 'is export' because the order of arguments is different | ||
ok | |||
vendethiel | Kristien: I'd certainly like f# better with more curry | 00:58 | |
Kristien | vendethiel: LasagnaScript steals it from Elixir because almost no JS APIs are curried. | ||
vendethiel | Kristien: that's why prelude.ls has curry() | ||
Kristien | Meh | 00:59 | |
I kinda implemented protocols btw :P | |||
masak | wait... LasagnaScript? | ||
vendethiel | masak: Kristien's altJS :P | 01:00 | |
also, ls's |> allows for the "_" placeholder, so that if a API is considered "poxy", you can just work around it. ('foo' |> fn arg1, _) | |||
masak | I see. | ||
Kristien | vendethiel: I generalised that; % operator takes any term and turns it into a function, turning %n into the nth argument | ||
vendethiel | this is like clojure's %, right? | 01:01 | |
Kristien | jawohl, except it doesn't restrict to calls | ||
E.g. %%1 is the identity function. %(%1 * %2 + %3) and %try { foo(%1) } finally { bar() } are other examples. | 01:02 | ||
vendethiel | oh, pretty good | 01:03 | |
Kristien | Not sure about nesting of them though. Could disallow or make %n pick arguments from the innermost %-function | ||
masak | a little bit like we use whatever and placeholder parameters for in Perl 6. | ||
Kristien | If you want a constant function returning a number you have to parenthesise the number though, so %(42) instead of %42 | 01:05 | |
since the latter will try to yield the 42nd argument :P | |||
01:05
BenGoldberg left
01:06
BenGoldberg joined
01:10
spider-mario left
01:28
telex left
01:30
telex joined
01:42
beastd left
|
|||
masak | 'night, #perl6 | 01:48 | |
Kristien | masak: goodbye | 01:50 | |
psch | hi #perl6 \o | 01:51 | |
vendethiel: you mis-containered %num-to-notes in your PR :) | |||
vendethiel: it's still neater though ;) | 01:52 | ||
vendethiel | psch: mmh? | ||
did I? :p sorry! | |||
psch | vendethiel: yes, you scalared it, even though it's a hash | ||
vendethiel: also, there's a tad more in the repo now, including a README, and tritone-in-c.pl has fallen to the wayside | 01:53 | ||
vendethiel | psch: 'twas a typo, sorry :( | 01:54 | |
psch | vendethiel: it's fine. the repo is a collection of stuff i'm trying and that file in particular was just a check to see if what i'm imagining could be feasible :) | 01:55 | |
tony-o_ | jnthn: ab5tract: bsd32 fails to build JVM perl6 too with the same error | ||
too weird | |||
01:56
fil_ left
|
|||
tony-o_ | ab5tract: what 686 linux distro did you use? | 01:58 | |
02:00
Kristien left
02:08
ggoebel111111111 joined
02:09
retupmoc1 joined,
nine_ joined,
felher_ joined
02:10
Psyche^ joined,
robins joined
02:11
Tux__ joined,
xinming_ joined,
breinbaa1 joined
02:12
broquain1 joined
02:14
raydiak_ joined
02:16
Pleiades` left,
Patterner left,
vukcrni left,
raydiak left,
xinming left,
ggoebel111111119 left,
breinbaas left,
|Tux| left,
tadzik left,
mattp_ left,
avuserow left,
robinsmidsrod left,
retupmoca left,
nine left,
broquaint left,
lestrrat left,
felher left,
mattp__ joined,
Pleiades` joined
02:18
avuserow joined
02:20
tadzik joined
02:21
vukcrni joined
02:22
cxreg joined,
skaufman_ joined
02:23
japhb_ joined
02:24
[particle]1 joined,
nebuchad` joined
02:26
simcop2387_ joined
02:27
TimToady_ joined,
slavik1 joined,
risou is now known as 17SABKHBC,
risou joined,
VAB17AF joined,
lestrrat joined
02:28
gfldex left,
gfldex joined
02:29
rmgk_ joined,
rmgk left,
rmgk_ is now known as rmgk
02:33
daxim_ joined,
agentzh left
02:35
cxreg2 left,
skaufman left,
TimToady left,
japhb left,
nebuchadnezzar left,
petercommand left,
[particle] left,
17SABKHBC left,
slavik left,
simcop2387 left,
daxim left,
simcop2387_ is now known as simcop2387
02:40
Ben_Goldberg joined,
[particle] joined
02:41
kst` joined
02:44
[Coke]_ joined,
huf_ joined,
bartolin_ joined,
Juerd_ joined,
cosimo_ joined
02:45
ab5tract_ joined,
BinGOs_ joined,
osfamero1 joined,
krunen_ joined,
yeltzooo joined
02:46
Gothmog_1 joined,
bcode_ joined
02:49
[particle]1 left,
BenGoldberg left,
bcode left,
dalek left,
IllvilJa left,
PZt left,
[Tux] left,
lue left,
pnu left,
Juerd left,
krunen left,
jferrero left,
BinGOs left,
Gothmog_ left,
bartolin left,
woolfy left,
ab5tract left,
renormalist left,
kst left,
osfameron left,
huf left,
[Coke] left,
yeltzooo9 left,
dg left,
cosimo left,
charsbar_____ left,
bcode_ is now known as bcode,
Juerd_ is now known as Juerd,
Gothmog_1 is now known as Gothmog_
02:50
jferrero joined
02:51
renormalist joined
02:52
dg joined,
TimToady_ is now known as TimToady,
TimToady left,
TimToady joined
02:55
lue joined
02:56
IllvilJa joined
02:57
gfldex left
02:58
[Tux] joined
02:59
charsbar_____ joined
03:00
woolfy joined
03:02
pnu joined,
dalek joined,
pnu left,
pnu joined,
ChanServ sets mode: +v dalek
03:15
VAB17AF joined
03:29
dj_goku left,
dj_goku_ joined,
dj_goku_ left,
dj_goku_ joined
03:37
Maddingu1 joined
03:39
kaare__ joined
03:41
ugexe_ joined
03:45
kst` is now known as kst
03:48
stux|RC joined,
Timbus_ joined
03:50
silug_ joined,
noganex joined
03:52
Timbus left,
stux|RC-only left,
Alina-malina left,
molaf_ left,
kaare_ left,
silug left,
ugexe left,
Maddingue left
03:54
noganex_ left,
molaf_ joined
03:58
dj_goku_ left
04:18
dj_goku joined,
dj_goku left,
dj_goku joined
04:35
dj_goku left
04:38
dj_goku joined,
dj_goku left,
dj_goku joined
|
|||
skids | .tell japhb "The last statement in a module with more than one statement seems to have some extra-sinky context (because it supplies the return value of "use" I think). I just put 1; at the end of the module to prevent that." | 04:58 | |
yoleaux | skids: I'll pass your message to japhb. | ||
timotimo | i don't think we have return values from use | ||
TimToady | the last statement of a module file should be sunk just as much as the other statements; if not, it's a bug | 05:13 | |
in fact, the 1; should be complaining about a useless use of '1' in a sink context | 05:16 | ||
skids | Well, I can't get it do error anymore so maybe it is fixed? I'll try with the code I needed to put it in way back when. | 05:19 | |
TimToady | and, in fact, it doesn't complain, so it's a bug I thnk | ||
if the final statement is a for loop, that used to require a more explicit sink | 05:20 | ||
nowadays we autosink any loop in a statementlist | |||
skids | Yeah, no complaints about the final 1; in my Sum module, which uses it in most of the files. | 05:22 | |
TimToady | but it does seem to sink the final statement anyway, just won't complain about useless use there for some reason | 05:23 | |
m: module Foo { 42; 43; 44 } | |||
camelia | rakudo-moar f12020: OUTPUT«WARNINGS:Useless use of constant integer 42 in sink context (line 1)Useless use of constant integer 43 in sink context (line 1)Useless use of constant integer 44 in sink context (line 1)» | ||
TimToady | warns there | 05:24 | |
m: module Foo; 42; 43; 44 | |||
camelia | rakudo-moar f12020: OUTPUT«WARNINGS:Useless use of constant integer 42 in sink context (line 1)Useless use of constant integer 43 in sink context (line 1)Useless use of constant integer 44 in sink context (line 1)» | ||
TimToady | and there, huh | ||
but use seems to suppress the final one somehow | 05:25 | ||
skids | It used to more than sink it, it somehow extra-double-super-secret-sunk it and punned the role. I have to yank out all the 1s and try all combos of precomp to see if there is still any such problem. | 05:26 | |
TimToady | weird, if I put a module foo; at the front of my foo.pm, it warns on the last one now | ||
so the whole file is treated as a block that might return a value, but if we switch into module, it enforces sink on the last statement | 05:27 | ||
skids | .tell japhb well, maybe read the backlog before doing what I just said. | 05:29 | |
yoleaux | skids: I'll pass your message to japhb. | ||
05:30
adu joined
|
|||
skids | m: (role A { }).HOW.WHAT.say; A.HOW.WHAT.say; # scratches head, wishes he had more time to read code. | 05:50 | |
camelia | rakudo-moar f12020: OUTPUT«(Perl6::Metamodel::ParametricRoleHOW)(Perl6::Metamodel::ParametricRoleGroupHOW)» | ||
06:02
Alina-malina joined
06:08
atroxaper joined
06:54
espadrine_ joined
|
|||
japhb_ | Thanks for taking a gander at my Role problem, skids. | 07:11 | |
07:11
japhb_ is now known as japhb
|
|||
japhb | .botsnack | 07:11 | |
yoleaux | :D | ||
04:58Z <skids> japhb: "The last statement in a module with more than one statement seems to have some extra-sinky context (because it supplies the return value of "use" I think). I just put 1; at the end of the module to prevent that." | |||
05:29Z <skids> japhb: well, maybe read the backlog before doing what I just said. | |||
moritz | \o | 07:16 | |
07:30
adu left
07:32
darutoko joined,
espadrine joined
07:33
espadrine_ left
07:36
xfix joined
07:52
rindolf joined
|
|||
FROGGS[mobile] | o/ | 08:04 | |
08:04
prime left
|
|||
FROGGS[mobile] | mornäng | 08:04 | |
08:05
Ben_Goldberg left,
Ben_Goldberg joined
08:09
adu joined
08:11
prime joined
08:28
xinming_ left
08:29
xinming joined
|
|||
moritz | .ask jnthn is there a good reason to keep $!started in Proc::Async private? sounds like potentially useful information for the caller | 08:37 | |
yoleaux | moritz: I'll pass your message to jnthn. | ||
dalek | ast: 7eb85d9 | usev6++ | S32-str/substr-rw.t: Add test for RT #114526 (fudged 'skip' for Parrot) |
08:42 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=114526 | ||
dalek | ast: f16e55e | usev6++ | S32-str/sprintf.t: Fudge two tests (todo) since error message would change with NQP PR 219 |
08:48 | |
08:52
zby_home joined
|
|||
dalek | c: 1517511 | moritz++ | lib/Type/ (2 files): Start to documtn Proc::Async |
08:54 | |
09:05
agentzh joined,
ptc_p6 joined
09:06
atroxaper left,
telex left
09:08
telex joined
|
|||
dalek | p: 878c6ae | usev6++ | src/HLL/sprintf.nqp: Change message for mismatch between specified arguments in directives and supplied arguments |
09:11 | |
p: 6fa84cc | usev6++ | t/hll/06-sprintf.t: Adjust error message for directives/arguements mismatch in nqp tests |
|||
p: 5a33762 | moritz++ | / (2 files): Merge pull request #219 from usev6/master Improve error message for sprintf |
|||
09:16
jakesyl left
09:17
jakesyl joined
09:22
nebuchad` is now known as nebuchadnezzar
09:23
vendethiel left
09:24
vendethiel joined
09:27
mr-foobar left
09:30
molaf__ joined
09:33
molaf_ left,
Ben_Goldberg left
09:34
Ben_Goldberg joined
09:35
Ben_Goldberg left,
Ben_Goldberg joined
09:36
Rounin joined
09:39
kaare__ is now known as kaare_
09:46
vendethiel left
09:50
BinGOs_ is now known as BinGOs,
zby_home left,
BinGOs left,
BinGOs joined
10:00
espadrine_ joined
10:01
virtualsue joined
10:04
espadrine left
10:09
vendethiel joined
10:11
bjz_ joined,
bjz left
10:13
Ben_Goldberg left
10:19
gfldex joined
10:27
sz joined,
mvuets joined,
sz left
10:29
abraxxa joined
10:30
szabgab joined,
breinbaa1 left
|
|||
szabgab | rakudo: say 19+23 | 10:30 | |
camelia | rakudo-{parrot,moar} f12020: OUTPUT«42» | ||
masak | good antenoon, #perl6 | 10:37 | |
10:42
breinbaas joined
10:43
zby_home_ joined,
zby_home_ left
10:49
agentzh left
|
|||
moritz | good *, masak | 10:53 | |
dalek | c: 1c9eace | moritz++ | lib/Type/ (2 files): Document X::Proc::Async::AlreadyStarted |
10:59 | |
szabgab | hello ppl | 11:01 | |
moritz | \o szabgab | ||
szabgab | I have a really strange bug on the Perl6Maven site | ||
\o moritz | |||
beside it leaking memory like hell :) | |||
once in a while it seems as if the regex engine stopped working | 11:02 | ||
ab5tract_ | m: my $x = '\E]45;65H'; say $x.substr(/45/,77) | ||
camelia | rakudo-moar f12020: OUTPUT«No such method '!cursor_start' for invocant of type 'Int' in sub substr at src/gen/m-CORE.setting:7679 in method substr at src/gen/m-CORE.setting:4097 in block <unit> at /tmp/161RXUN10t:1» | ||
moritz | szabgab: are you ever using user-supplied strings in regexes? | ||
11:03
Woodi left
|
|||
szabgab | every time someone visits the site, it loads a file, parses it using some regexes | 11:03 | |
do you mean the regex part? | |||
I think no | |||
let me check | |||
but I finish the sentence first :) | |||
moritz | oh, you weren't | ||
then go ahead :-) | |||
ab5tract_ | ah, never mind.. another confusion of subst and substr | 11:04 | |
szabgab | so the code parses the header that looks like =title Title | ||
but sometimes it seems it stops the parsing | |||
and does not recognize the matching rows | |||
then after the restart (I have to restart the server every 30 requests) it works again | 11:05 | ||
so far I could not figure out what might trigger the behaviour | |||
pastebot? | 11:06 | ||
moritz | none here | ||
just use gist.github.com or so | |||
szabgab | gist.github.com/szabgab/35359cfe441fd0a9f9fb | 11:07 | |
those seem to be the only regexes | 11:08 | ||
but that's just my code, maybe some of the modules I use... | |||
Maybe the template module? | |||
moritz | which one do you use? | ||
szabgab | Template::Mojo | 11:09 | |
Eerything is Rakudo Star 2014.12 except Bailador which I've patched | |||
I thin Bailador builds regexes on-the-fly | 11:11 | ||
from the routes in the application | |||
moritz | but I hope those aren't user-input | ||
szabgab | If that's what you were after | ||
not from the end-user | |||
from the source code of Perl6::Maven | 11:12 | ||
moritz | but I think my question as mis-guided. I thought the regexes hangs, but it seems they simply don't match= | ||
s/=/?/ | |||
szabgab | right | ||
they stop matching | |||
and never resume matching | |||
moritz | can you identify the place where the first stop matching? | 11:13 | |
11:13
rurban_ joined
|
|||
szabgab | probably not | 11:14 | |
I might need to add lots of logging and that might help | |||
moritz | well, I haven't heard of this phenomenon before | 11:15 | |
szabgab | OK, if there is nothing obvious to you, then I'll just add more code to be able to log the requests well | ||
moritz | it might or might not help | ||
szabgab | and then I might have better input | ||
11:16
espadrine_ left
|
|||
szabgab | is there a logging module ? | 11:16 | |
11:17
spider-mario joined
11:20
isBEKaml joined
|
|||
moritz | I'm not aware of any | 11:23 | |
dalek | kudo/nom: 6429a22 | moritz++ | src/core/Proc/Async.pm: Proc::Async.write: accept Blob, not Buf |
11:24 | |
szabgab | ok, thanks | 11:26 | |
11:37
kjs_ joined
11:41
szabgab left
|
|||
rurban_ | got now msvc on win64 working | 11:56 | |
dalek | kudo/nom: 7e8d8af | moritz++ | src/core/Proc/Async.pm: Proc::Async: fix exception throwing |
12:00 | |
12:11
rindolf left
|
|||
dalek | line-Python: c26bd6e | (Stefan Seifert)++ | .gitignore: .gitignore file |
12:13 | |
12:15
abraxxa left
12:18
jluis_ joined
12:19
Kristien joined
12:31
kjs_ left
12:38
rmgk_ joined,
rmgk left,
rmgk_ is now known as rmgk
|
|||
Kristien | hola #perl6 | 12:50 | |
masak | \o | 12:54 | |
vendethiel: which would you say was the first altJS? has someone written a history/chronicle about them? which altJS languages do you think will be in use/remembered 20 years down the line, and why? | 12:55 | ||
12:56
rurban_ left
12:57
jluis_ left
|
|||
vendethiel | masak: GWT would probably be it | 13:00 | |
masak | oh, right. | ||
GWT is basically abandoned now, is it? | 13:01 | ||
13:02
virtualsue left
|
|||
vendethiel | masak: I think gmail still uses it? | 13:03 | |
masak | oh, mebbe. | ||
vendethiel | masak: sorry, apparently it isn't anymore. But it seems chrome web store and google groups use it groups.google.com/forum/#!msg/goog...WzIrZ1vzcJ | 13:04 | |
it was from 2011 though, so maybe not up to date | |||
masak | ah. | ||
interesting that Gmail moved off it. | |||
I wonder why. | |||
vendethiel | masak: I'm not *sure* it did. gwt's website doesn't mention it -- it mentions adwords and wallet | 13:05 | |
masak | *nod* | ||
vendethiel | masak: GWT 2.7 on nov 14. I don't think it's been "abandoned" -- it's just that no one wants to write java | ||
masak | fair enough | 13:07 | |
isBEKaml | masak: Gmail didn't abandon GWT - but AFAICR, they maintain their own version of GWT | 13:10 | |
masak: that was in addition to open source releases of GWT (by its own team) | 13:11 | ||
masak | ugh | ||
13:11
jluis_ joined
|
|||
isBEKaml | yeah, as I read it back then - their use of GWT was simply too complex and it cannot be integrated into the main release. | 13:11 | |
so they had to maintain their own internal version of GWT | 13:12 | ||
Kristien | masak: Objective-C is also pretty old | 13:20 | |
I mean Objective-J | |||
masak | heard about it, but not more'n that | 13:21 | |
what is it? | |||
Kristien | It's Objective-C except with JavaScript instead of C. | ||
masak | but... hm. | 13:22 | |
JS already has an object system. and a syntax for method calls. | |||
I guess I don't see the point. | |||
Kristien | Objective-J has a new separate object system xD | ||
masak | o.O | 13:23 | |
they must've not liked the first one... | |||
moritz | .oO( how did that happen? :-) |
13:28 | |
13:29
adu left
|
|||
masak | random thought: P6 is a bigger breaking change than py3k because Larry had more to atone for than Guido (language-wise) | 13:30 | |
ab5tract_ | masak: that's an interesting perspective | 13:34 | |
masak | maybe that's obvious, I dunno. the Perl 5 line didn't shirk from sinning if it got the job done. | ||
Perl 6 aims to do better. Python somehow always did. | |||
13:37
Kristien left
|
|||
ab5tract_ | for that generation of dynamic languages, it seems to me that python "won" in the sense that it runs the spectrum of teaching to sysadmin to web to science and back again | 13:38 | |
and i always take the POV that perl 6 caused some sort of irreperable harm to the reputation of perl 5 with a grain of salt | 13:39 | ||
because it was pretty clear to me that people were leaving perl 5 to python at a pretty big clip even prior to the announcement | 13:40 | ||
masak | yes, Python sure has mindshare. | 13:42 | |
and deservedly, if you ask me. I say that as someone who loves Perl. | |||
(and as one who isn't all that into indentation-as-blocks) | 13:43 | ||
ab5tract_ | it is almost certainly a retcon on my part, but i always took the design of python as directly inspired by perl, but in the sense that guido's design was in realizing the power of exploring a language where DWIM is reinforced by the fact that !(TMTOWTDI) | 13:44 | |
moritz | as a relative beginner in python, I find that it seldom DWIM | 13:45 | |
but it usually gives an error instead of doing the wrong thing | 13:46 | ||
ab5tract_ | moritz: that's because when there is one way to do it, 'do what i mean' takes on a new dimension where you must 'mean what you do' | ||
when TMTOWTDI, meaning what you do can come free-form, even retaining the jazz definition; the multiplicity is a double edged sword, though. that's why part of p5's continued popularity is at least partly a result of the "modern perl" movement, which advocated heavily for trimming down the cuteness and dark magic | 13:51 | ||
13:56
isBEKaml left
|
|||
ab5tract_ | i'm a huge fan of TIMTOWTDI, but i've always largely attributed python's near-universal appeal (minus the haters-for-life) to guido's rejection of the principle | 13:56 | |
14:00
osfamero1 is now known as osfameron
|
|||
ab5tract_ | what makes perl 6 so appealing to me is that it really does feel like it has been carefully designed to host that multiplicity of 'ways to do it', while addressing things like the dangers of building a monkey patching culture by making it basically unnecessary *and* still provide support for it :) | 14:02 | |
*providing | |||
dalek | ast: 3101a04 | usev6++ | S11-modules/export.t: Add test for RT #84280 |
14:03 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=84280 | ||
dalek | c: c9d67d3 | moritz++ | lib/Type/ (3 files): Document a bit more of Proc::Aync, related exceptions |
14:06 | |
14:08
Kristien joined
|
|||
moritz | lizmat: Proc::Async.say doesn't use .gist to stringify its argument. Is that intentential? | 14:09 | |
14:12
jluis_ left
|
|||
moritz | m: say $*KERNEL.signal('KILL') | 14:16 | |
camelia | rakudo-moar 7e8d8a: OUTPUT«9» | ||
moritz | m: say $*KERNEL.signal('SIGKILL') | ||
camelia | rakudo-moar 7e8d8a: OUTPUT«9» | ||
moritz | m: say $*KERNEL.signal(SIGKILL) | ||
camelia | rakudo-moar 7e8d8a: OUTPUT«9» | ||
moritz | m: say $*KERNEL.signal(9) | ||
camelia | rakudo-moar 7e8d8a: OUTPUT«9» | ||
14:17
jluis_ joined,
Peter_R joined
|
|||
Kristien | m: say $*KERNEL.WHAT | 14:18 | |
camelia | rakudo-moar 7e8d8a: OUTPUT«(Kernel)» | ||
Kristien | Interesting. | ||
dalek | c: 3b83fb1 | moritz++ | lib/Type/Proc/Async.pod: mostly finish documenting Proc::Async |
14:22 | |
14:22
rindolf joined
|
|||
lizmat | moritz: Proc::Async.say not gisting is probably an oversight | 14:25 | |
14:28
mr-foobar joined
|
|||
dalek | c: 83a1c78 | moritz++ | lib/Type/Proc/Async.pod: Add a note that only MoarVM supports Proc::Async |
14:28 | |
Kristien | m: ObjAt.new | 14:29 | |
camelia | ( no output ) | ||
Kristien | Segfaults on my machine :P | ||
moritz | :( | ||
14:30
sirdancealot joined
|
|||
dalek | ast: bc2983c | moritz++ | S17-procasync/basic.t: start to test some exceptions for Proc::Async |
14:31 | |
Kristien | seems to be an old bug | 14:34 | |
dalek | ast: e223c44 | moritz++ | S17-procasync/basic.t: Proc::Async: test more exceptions |
14:35 | |
Kristien | Stuff like Set uses WHICH to determine equality right? | ||
moritz | identity | 14:36 | |
Kristien | right | ||
good | |||
moritz | (sorry for being pedantic) | 14:37 | |
Kristien | And it should be perfectly fine to override WHICH for immutable user-defined types? | ||
lizmat | Kristien: yes, that's the idea | 14:38 | |
Kristien | Nice. | ||
Perl 6 is well-designed. | 14:39 | ||
moritz | can anybody on windows confirm that 'type' on the command line without arguments reads from STDIN? | ||
or do I have to use 'copy con' or such weird magics? | 14:40 | ||
lumimies | moritz: It does not | 14:43 | |
type con: seems to | 14:44 | ||
moritz | lumimies: thanks | 14:48 | |
Kristien | This is interesting: gist.github.com/rightfold/f05c4d4c31e09ca0d9bf | 14:53 | |
moritz | Kristien: the REPL has known problems with natively typed variables | ||
Kristien | OK! | ||
moritz | Kristien: basically, it starts a new compilation unit for each line | ||
Kristien: but to make the previous variables available, it copies them into an outer scope | 14:54 | ||
Kristien: and that doesn't work well yet in some corner cases | |||
Kristien | I have to implement a REPL soon. | 14:55 | |
moritz | +1 | 14:56 | |
Kristien | I think I have an idea of how I'll do it. | ||
14:58
jmark joined
14:59
_4d47 joined
|
|||
dalek | ast: 67bb8b3 | moritz++ | S17-procasync/basic.t: more tests for Proc::Async in particular: * test .write and .print, open for writing * .close-stdin * more exceptions |
15:07 | |
Kristien | Just a reduction over the lines of stdin :P | 15:08 | |
vendethiel | moritz: it doesn't either here :P | 15:12 | |
15:14
virtualsue joined
|
|||
[Tux] | what is the perl way to do «my Str $foo = function (); is_valid_utf8 ($foo) and "UTF8".say» ? | 15:15 | |
where full-ASCII would return False | 15:16 | ||
15:16
rurban_ joined
15:18
Ben_Goldberg joined
|
|||
moritz | [Tux]: checking of a Str is valid utf-8 is mixing of levels | 15:19 | |
[Tux] | ? | ||
moritz | [Tux]: Str is an encoding-indepenent sequence of codepoints (later hopefully graphemes) | ||
Kristien | > Perl 6 is well-designed. | 15:20 | |
[Tux] | fine :) | 15:21 | |
Ben_Goldberg | Somewhere hidden behind the Str is a Buf, which will contain some form of utf, but that's a separate level. | ||
moritz | [Tux]: what do you want to achieve in the end? | ||
[Tux] | So, how can I check id *all* codepoints in a string are inside ASCII? | ||
moritz | all($str.ords) < 128 # but probably not most efficient | 15:22 | |
[Tux] wants to copy as much as possible of Text::CSV_XS (perl5) to Text::CSV (perl6) | |||
it is lazy, so I do not care about performance there | |||
Kristien | encode it to ASCII and check for encoding errors | 15:23 | |
that's what I'd do | |||
I don't like hardcoding 128 | |||
moritz | m: say so 'abc' ~~ /^ <[\x0 .. \x127]>* $ / | ||
camelia | rakudo-moar 7e8d8a: OUTPUT«True» |
|