»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:01
cdg left
|
|||
AlexDaniel | gfldex: while you probably have your own TODO list, maybe you can take a look at github.com/perl6/doc/issues/38 ? | 00:02 | |
gfldex: it is the oldest issue right now, but it does not look very hard | |||
but it is very confusing… | 00:03 | ||
gfldex: to me it seems like you can add “This is not a real operator” sentence to docs.perl6.org/routine/$LESS-THAN_...ix_%3C_%3E and we can close the issue | 00:04 | ||
by the way, I am going through older tickets again. Please don't mind my annoying comments | 00:08 | ||
00:08
yqt left
00:12
zacts joined
00:13
addison left
|
|||
dalek | c: 38036e1 | (Wenzel P. P. Peppmeyer)++ | doc/Language/quoting.pod6: untangle index entry for < > |
00:16 | |
00:19
rindolf left
|
|||
gfldex | m: say &circumfix:«< >»; | 00:19 | |
camelia | rakudo-moar c9dcc9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: circumfix:«< >» used at line 1. Did you mean 'circumfix:<{ }>', 'circumfix:<:{ }>', 'circumfix:<[ ]>'?» | ||
gfldex | m: say &circumfix:«( )»; | 00:22 | |
camelia | rakudo-moar c9dcc9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: circumfix:<( )> used at line 1. Did you mean 'circumfix:<{ }>', 'circumfix:<:{ }>', 'circumfix:<[ ]>'?» | ||
gfldex | m: say &circumfix:<( )>; | ||
camelia | rakudo-moar c9dcc9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: circumfix:<( )> used at line 1. Did you mean 'circumfix:<{ }>', 'circumfix:<:{ }>', 'circumfix:<[ ]>'?» | ||
gfldex | ENOSUCHOPERATOR | 00:23 | |
00:24
adu left,
[particle] joined
|
|||
dalek | c: 22ddf6d | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod6: ( ), < >, { } are terms (at least they are not circumfixes) |
00:26 | |
c: b3dc4f2 | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod6: add index entry for the empty list |
00:28 | ||
00:29
addison joined
|
|||
dalek | c: 58b051d | (Wenzel P. P. Peppmeyer)++ | doc/Language/quoting.pod6: fix index typo |
00:30 | |
00:31
jack_rabbit left
00:55
raiph left
|
|||
dalek | c: 2eb85f3 | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod6: untangle index entry for .( ), .{ }, .[ ] |
01:01 | |
01:21
dj_goku joined,
dj_goku left,
dj_goku joined
01:26
dj_goku left
01:43
kid51 joined,
Actualeyes joined
01:44
kaare_ left
01:46
ilbot3 left
01:47
ilbot3 joined
01:55
kalkin- left,
kalkin-_ joined
01:59
addison left
02:14
committable joined,
committable left
|
|||
dalek | c: dcab8da | (Wenzel P. P. Peppmeyer)++ | html/js/main.js: remove #__debug__ and add [Debug: off] to footer |
02:23 | |
c: 461a54c | (Wenzel P. P. Peppmeyer)++ | html/js/main.js: add embedded svg link check |
|||
02:41
zacts left
02:44
holyghost left
02:45
noganex joined
02:48
noganex_ left
02:54
BenGoldberg_ joined
02:57
holyghost joined,
kid51 left
03:03
perlawhirl joined
|
|||
dalek | sectbot: 20c5d19 | MasterDuke17++ | committable.pl: Group commits by output (#10) |
03:06 | |
sectbot: a1fd6fc | MasterDuke17++ | committable.pl: Fix debugging value left in accidentally |
03:09 | ||
03:22
dj_goku joined,
dj_goku left,
dj_goku joined
03:27
dj_goku left
03:49
zacts joined
03:57
dj_goku joined,
dj_goku left,
dj_goku joined
03:59
skids left
|
|||
dalek | sectbot: 841ee41 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Perl6IRCBotable.pm: Use nickname as a description for gists |
04:01 | |
sectbot: c6b2106 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Perl6IRCBotable.pm: Indentation |
|||
sectbot: 7c22ea4 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Perl6IRCBotable.pm: Comments, refactoring Nothing important really, just code mangling |
|||
sectbot: c763c0c | (Aleks-Daniel Jakimenko-Aleksejev)++ | / (2 files): bisectable: more magic and rainbows * More detailed bisect log (show exit codes, script output, etc.) * If the output is identical, then show it. Gist it if it does not fit. |
|||
04:06
zacts left
04:18
BenGoldberg_ left,
dj_goku left
04:19
dj_goku joined,
dj_goku left,
dj_goku joined
04:30
rgrinberg left
|
|||
dalek | sectbot: 111cebb | MasterDuke17++ | committable.pl: Switch order of revision(s) and output |
04:30 | |
osystem: 41b277b | (Sam Morrison)++ | META.list: Add Uzu to ecosystem |
04:35 | ||
osystem: 896d3f1 | azawawi++ | META.list: Merge pull request #226 from scmorrison/master Add Uzu to ecosystem |
|||
04:37
Cabanossi left
|
|||
dalek | sectbot: 48693da | MasterDuke17++ | committable.pl: Sort output The ordering doesn't have any meaning, but multiple runs with the same input will now have the output in the same order |
04:41 | |
04:41
Cabanossi joined
04:42
rgrinberg joined
04:45
khw left
|
|||
holyghost | Hello | 04:46 | |
04:47
sno left
|
|||
holyghost is going to learn swift | 04:48 | ||
I looks as swift uses syntax of haskel where perl uses CLOS | |||
s/per/perl6/ | |||
I might be wrong though | 04:49 | ||
dalek | sectbot: 40fb215 | (Daniel Green)++ | / (3 files): Clean up alt_nicks |
05:00 | |
holyghost | and the other way round as far as I can see | 05:07 | |
geekosaur | I'd say ML instead of Haskell, since it's the generic parts that all the ML family languages have | 05:09 | |
05:14
rgrinberg left
|
|||
holyghost | geekosour, ML ? | 05:23 | |
geekosaur, Markup Languages ? | |||
parabolize | en.wikipedia.org/wiki/ML_(programming_language) | ||
geekosaur | that, yes | 05:24 | |
holyghost | ok I understand now | ||
geekosaur | although the language family itself is larger and includes Haskell, Curry, Mercury, F#, etc. | ||
holyghost | and gofer | 05:25 | |
geekosaur | and historical pre-Haskell languages Gofer and Miranda | ||
holyghost | a functional language | ||
we had to learn about gofer as a functional language at school | |||
geekosaur | and Lazy ML although about the only thing it was used for was to write the first version of ghc >.> | ||
holyghost | I read the gofer source code once, it's quite ellegant | 05:26 | |
where lua is just based on C's var args, gofer has its own system | 05:27 | ||
It also compiles everywhere | |||
I think I have a tarball around somehwere with my gofer modifications, I could' have lost it though | |||
ML is of the 70ies ... then it is older than haskel (Ediburgh?) | 05:28 | ||
s/Ediburgh/Edinburgh/ | 05:29 | ||
ok now I remember, you actually use lambda calculus for functionality | |||
geekosaur | yes. ML predates Haskell. I mentioned Lazy ML (essentially a basic ML with laziness) as a precursor already | 05:31 | |
holyghost | I see | 05:32 | |
geekosaur | the folks experimenting with laziness and purity were starting to fragment around LML, Gofer, Miranda, etc. and decided to make a common language | ||
holyghost | it's some sort of inference engine's rule firing then | 05:33 | |
TEttinger | and then they couldn't decide on whether it would be Miranda 5 or Miranda 6 so they called it Haskell | ||
geekosaur | well, only sort of, since Miranda was closed spec as well as closed source | 05:34 | |
TEttinger | wow | ||
closed spec, that's a hell of a relic | |||
holyghost | Haskel <-> 1985 | ||
AFAIK it's haskel vs. scheme at first year in uni | 05:35 | ||
geekosaur | basically it was Research Software Ltd.'s baby, which was part of why they wanted to define a new language with an open spec and open process | ||
holyghost | scheme is of 1986 | ||
TEttinger | hm, are there any major closed-source PLs these days? | ||
parabolize | why didn't ML take off? the wiki page shows guards, lets, tail recursion all sorts of good stuff. Did ML have that stuff in the 70s? | ||
TEttinger | yep | ||
like lisp, ahead of its time | |||
but a bit nicer syntax for people not used to it, I'd say | 05:36 | ||
05:36
dj_goku left
|
|||
TEttinger | also like plankalkul, which was just about literally ahead of its time | 05:36 | |
masak | or maybe everyone else was/is way behind | ||
:) | 05:37 | ||
hi, #perl6 | |||
geekosaur | TEttinger, I'd argue Verilog (VHDL is a rather weak open clone) and Matlab (Octave likewise) | ||
TEttinger | (around the time of the enigma machine, a professor in (nazi and not nazi) germany made what's very similar to APL with no implementation until 1990s) | ||
holyghost | plankakul is probably what the mainframes in the armies of WWII used | ||
TEttinger | nope | ||
masak | they did not | 05:38 | |
TEttinger | no implementation at his time | ||
they were still writing in machine code by flipping individual gates | |||
holyghost | I could be wrong though, an army man told me they had an assembler in WWII | ||
masak | Plankalkül was quite pioneering when it came to abstract data types | ||
dalek | sectbot: 4b7b3b4 | (Aleks-Daniel Jakimenko-Aleksejev)++ | committable.pl: committable: LIMIT constant, limit bumped to 300 Note that it does not run anything in parallel, so it is a bit slow. |
||
sectbot: 32cdbc8 | (Aleks-Daniel Jakimenko-Aleksejev)++ | committable.pl: committable: much better output Also, keep results in the same order |
|||
masak | there's a nice paper about it by Knuth and some others | ||
TEttinger | it's shocking that the guy was able to see so far ahead and without any way to prove that his notation was useful | 05:39 | |
konrad zuse | |||
holyghost | I see | ||
TEttinger | it was long before ASCII was a thing :) | 05:40 | |
holyghost | Ada then ? | ||
TEttinger | it used "real math" symbols, cough like a certain other language can, cough :) | ||
(plankalkul) | |||
holyghost | I meant the lady "*Ada*" | ||
TEttinger | oh yes | 05:41 | |
holyghost | It's somewhat of a saga :-) | ||
TEttinger | Countess Ada of Lovelace | ||
holyghost | she programmed machine code I though | ||
s/though/thought/ | |||
masak | holyghost: from what I've seen, Ada Lovelace didn't so much use a programming language, as describe algorithms in words and math operations | ||
TEttinger | I think her machine was analog, not electronic at all of course | ||
holyghost | sure | ||
TEttinger | yeah, founded programming I suppose | 05:42 | |
though you can argue it goes back much further | |||
masak | arguably | ||
holyghost | machine code in the sense that she used numbers (ALU) | ||
masak | algorithms go back to Al'Kwarismi at least ;) | ||
TEttinger | before or after al-jabr? | 05:43 | |
"that algebra guy" | |||
holyghost | Arabians also invented the cypher '0' | ||
ASCII is based on it in 8x8 rows | |||
TEttinger | and you can look at an algorithm as a recipe and suddenly everyone has invented recipes | ||
right, ciphers are definitely a sort of algorithm | 05:44 | ||
was it da vinci who had lots of ciphered journals? | |||
holyghost | Later on the school of Athens did "number theory" | ||
TEttinger | (I suppose lots of people back then were concerned about theft of their ideas) | 05:45 | |
geekosaur | note that she also "wrote programs for" a machine that did not exist. (iirc when someone finally did build a difference engine, they tried her programs... and found *one* bug.) | ||
TEttinger | nice. | ||
was that babbage's engine? | |||
geekosaur | yes | ||
TEttinger | (I guess named after the person who constructed one, or after the person who devised the plans?) | ||
05:46
AlexDaniel left
|
|||
holyghost | that's mentioned in the dictionary | 05:46 | |
babbage's engine | |||
geekosaur | it was ... well beyond the technology of the time. and by the time the tech had caught up, people were doing things in other ways, so an actual difference engine was only built within the past decade | ||
TEttinger | oh wow | ||
parabolize | Lovelace's first program: upload.wikimedia.org/wikipedia/com...umbers.jpg | ||
TEttinger | I wonder what kind of bug it was | ||
MasterDuke | wasn't the difference engine built longer ago? but the analytic engine was only built recently? | 05:47 | |
geekosaur | Charles Babbage built some simpler "computing engines", but only planned out the difference engine; metalworking was not up to actually building it | ||
TEttinger | looms were also programmable in the 1800s, with common implementations and actual standards... kinda amazing | 05:49 | |
05:49
jack_rabbit joined
|
|||
holyghost | TEttinger, what's a loom ? | 05:49 | |
TEttinger | (they still needed orphans to risk getting their arms chopped off for them to function, but I guess not much has changed, cough shenzhen) | 05:50 | |
holyghost: weaves fabric in automated patterns | |||
holyghost | right as a carpet | ||
TEttinger | like for mass-manufacturing rugs | ||
yeah | |||
05:50
AlexDaniel joined
|
|||
TEttinger | they needed to be able to reproduce some rather complex motions and used an early punch card system | 05:51 | |
geekosaur | yeh, the original Jacquard loom is still considered one of the earliest programmable machines | ||
holyghost | I cannot find the link tp babbage engine in the dictionary anymore, must be an older version (I cannot parse every TNHD tarball ;-) | 05:52 | |
TEttinger | en.wikipedia.org/wiki/Joseph_Marie...quard_loom | ||
holyghost | node scripture ? | 05:53 | |
I mean, there's this writing where you use knots in a piece of rope | 05:54 | ||
(It's not in freeciv though :-) | |||
TEttinger | quipu, yeah | ||
en.wikipedia.org/wiki/Quipu "talking knots" | |||
05:55
canopus left
|
|||
dalek | sectbot: 5671d64 | (Aleks-Daniel Jakimenko-Aleksejev)++ | committable.pl: committable: no need to chdir here It would be great to get rid of all “chdir”-s, but unfortunately it is not always possible. However, this one is not the case. |
05:55 | |
sectbot: b04f37b | (Aleks-Daniel Jakimenko-Aleksejev)++ | committable.pl: Missed one occurrence of LIMIT |
|||
holyghost | flood, 'do not mingle in the affairs of bots' I guess :-) | 05:57 | |
s/mingle/meddle | |||
06:00
jack_rabbit left
|
|||
holyghost | I am downloading 'star trek - voyager', I am going to watch some so I am a bit away from the computer | 06:02 | |
06:02
canopus joined
|
|||
holyghost | all seasons | 06:02 | |
Also, I am going to buy some beer in an hour | 06:06 | ||
My oldest daughter becomes 15 of age | |||
tomorrow | |||
dalek | sectbot: 5d7fd25 | (Aleks-Daniel Jakimenko-Aleksejev)++ | committable.pl: committable: handle uncompilable commits properly Also print warnings in exactly the same manner as other output. |
06:11 | |
holyghost | I bought her an mp3 player with a good interface, 4Gb of space and 4 albums on it | ||
06:11
bisectable joined
06:12
committable joined
|
|||
holyghost | She has a Vaio portable where she can put her music on it | 06:12 | |
06:13
sno joined
06:20
wamba joined
06:22
espadrine joined
|
|||
AlexDaniel | if anybody is wondering what all these bisectbot changes are about, see my explanation on #perl6-dev here: irclog.perlgeek.de/perl6-dev/2016-0...i_12844444 | 06:23 | |
06:23
ChoHag left,
Khisanth left
|
|||
holyghost | personal.ee.surrey.ac.uk/Personal/L...gon/jargon | 06:24 | |
Search for Babbage on that page | |||
I though I'd share | |||
s/though/thought | |||
and www.catb.org/~esr/jargon/html/E/engine.html | 06:25 | ||
06:28
firstdayonthejob joined
06:35
abraxxa joined
06:37
Khisanth joined
06:39
jack_rabbit joined
06:42
CIAvash joined
06:45
firstdayonthejob left
06:51
Dragon535 joined
|
|||
holyghost | apparently a truck drove in on a crowd in Nice, France | 06:56 | |
DrForr | Heard earlier this morning. :( | ||
06:59
RabidGravy joined
|
|||
holyghost | We're at 2 happenings such a month in Europe | 07:03 | |
07:16
TreyHarr1 joined
|
|||
dalek | osystem/MARTIMM-patch-1: 0d68a2c | (Marcel Timmerman)++ | META.list: new module Semaphore::ReadersWriters |
07:18 | |
CIAvash | holyghost: Khwarizmi was Persian/Iranian | 07:21 | |
holyghost | ok | ||
en.wikipedia.org/wiki/Main_Page | 07:23 | ||
excuse me, en.wikipedia.org/wiki/Muhammad_ibn...-Khwarizmi | |||
I once read a book on Islamic philosphy, Abu Sienna <-> Avicenna | 07:24 | ||
Ibm means droid AFAIK | |||
s/Ibm/Ibn/ | 07:25 | ||
c. 780-850, after the installation of muslims by Aristoteles | 07:26 | ||
Aristoteles was one of their prime figures for philosphy, I am not sure | |||
Avicenna was the name in Latin of Abu Sienna, he was the greatest ph. of them all the book said | 07:27 | ||
However there were other ph. who didn't speak freely because of the islam | |||
07:27
domidumont joined
|
|||
holyghost | "Islamititsche Filosofie" - author Leezenberg | 07:28 | |
I am driking to my daughter's best wishes for her birthday, so I might fluctuate somewhat | 07:29 | ||
15 years old | |||
Please take your time | |||
07:30
AndyBotwin left
|
|||
holyghost | I also read Arabian nights for 600 pages, which good in magic (the game) but not too good when you see some strains through the book | 07:31 | |
The only publisher we have in Dutch is "Bulaaq" for translations | 07:32 | ||
07:32
dj_goku joined
|
|||
holyghost | Finding the book in English would be difficult | 07:32 | |
Then, I had a course on standard modern arabic which I gave to my father who is more into religion -> philosophy | |||
07:33
AlexDaniel left
|
|||
holyghost | I even studied japanese for a month, I know some hiragana, katakana and kanji by heart | 07:33 | |
I try to read up on these things on wikipedia | |||
I have 2 japanese to english dictionaries, where one is from Oxford the other's bigger | 07:34 | ||
It's 4 years ago | |||
07:34
TreyHarr1 left
|
|||
holyghost | I really need to relearn the hiragana, vocabulary and grammar | 07:34 | |
07:35
domidumont left
|
|||
holyghost | If you know that, you can read most Japanese websites | 07:35 | |
07:35
araujo_ joined
|
|||
holyghost | here's what I mean : en.wikipedia.org/wiki/Hiragana | 07:36 | |
The characters are thereon | |||
07:37
dj_goku left
|
|||
holyghost | You just look up the word by english pronounciation e.g. fugu (fu and gu) and you have the english translation | 07:44 | |
07:44
holyghost left
07:45
holyghost joined
07:47
Dragon535 left
07:52
salva joined
08:07
perlawhirl left
08:08
domidumont joined
|
|||
xiaomiao | hey - if anyone has a minute or two to spare and wants to entertain me, I'd be interested in a simple perl6 program that just fetches one URL in a loop (say, 100 times) and prints the reply | 08:08 | |
08:09
domidumont left
|
|||
masak | "prints the reply" -- the reply being the body of the response? | 08:09 | |
08:10
domidumont joined
08:11
darutoko joined
08:16
holyghost left
08:27
TreyHarr1 joined
08:30
zakharyas joined
08:31
user9 joined
08:38
domidumont left
08:43
espadrine left
08:48
wamba left
|
|||
moritz | xiaomiao: add a loop around the example in github.com/sergot/http-useragent#usage | 08:52 | |
xiaomiao | moritz: ah, good idea | 08:53 | |
08:54
wamba joined
08:55
holyghost joined
|
|||
xiaomiao | now let's see if perl6 is faster than Go <_< | 08:56 | |
timotimo | haha, no. | 08:57 | |
TEttinger | but is it faster than INTERCAL? | 09:02 | |
09:02
araujo_ left
|
|||
gfldex | Perl 6 is mean to make the programmer faster, not the computer. | 09:03 | |
timotimo | well, we're hoping the speed penalty is going to go down even more with time | ||
hahainternet | Go's a fairly unique language anyway | 09:22 | |
its niche is limited in a computer science sense, but very large volume of actual use | |||
profan | TEttinger: only if you say please enough | 09:23 | |
masak | and not too much | 09:24 | |
09:26
brrt joined
09:33
dj_goku joined
09:34
Zoffix joined
|
|||
DrForr | Much as Perl 5 was. | 09:34 | |
09:36
abraxxa left
|
|||
konobi | go is also dangerous | 09:36 | |
Zoffix | .ask ugexe should the "New repository version 2 and new Distribution interface" be added to Rakudo's ChangeLog or is that entirely an internal change? If it should be added, would you let me know what to write into ChangeLog? github.com/rakudo/rakudo/commit/f4...6f7cd99e66 | ||
yoleaux | Zoffix: I'll pass your message to ugexe. | ||
konobi | dtrace.org/blogs/wesolows/2014/12/2...-is-trash/ | 09:37 | |
DrForr | Hey, I play quite a bit... Oh, the language :) | ||
hahainternet | it's actually fine as a language, it's extremely enjoyable and very pragmatic | 09:38 | |
but people hate the people behind it, and the fact it's so simple | |||
it's certainly not a language to end all language development, but in its niche it is superb | |||
09:38
dj_goku left
|
|||
konobi | and there was a recent fairly high profile article on how golang totally broke a running system because the authors make way way way too much assumption about what is "safe" | 09:38 | |
masak | it seems more enjoyable than C :) | ||
profan | that tends to come with the memory safety | 09:39 | |
hahainternet | konobi: could you link me to that article please? | ||
profan: threading and syncing too, also nice things like unicode strings | |||
konobi | masak: i'm playing with terralang for the same sort of stuff | ||
hahainternet | terra's very cool but a very very different language | ||
it targets the lowest level features it can, Go is much higher level | |||
Lua is a closer comparison to Go than Terra imho | |||
profan | hahainternet: i think they slipped abit on the threading bit | ||
konobi | github.com/golang/go/issues/1435 | ||
09:40
kurahaupo joined
|
|||
profan | i mean cps is nice, but go still has the shared memory history bit too | 09:40 | |
hahainternet | profan: 'shared memory history'? | 09:41 | |
konobi | you can do cps in perl though | ||
hahainternet | profan: do you mean the ability to share memory without intending to? | ||
profan | hahainternet: i mean, you still have race conditions and all that fun even with the channels | ||
hahainternet | oh absolutely you ca | ||
it in no way is fully safe in almost any regard, i see it as a valuable companion to Perl | |||
making a language that embodies all of these safety principles results in so many compromises in other areas you lose the simplicity that makes things enjoyable | 09:43 | ||
i think that's one of the greatest achievements of Perl 6 to me | 09:44 | ||
it has a simple appearance, and can be used in a simple way, but that simplicity is obtained by extremely thorough design, rather than naivete (sp) | |||
09:48
CIAvash left
09:53
rindolf joined
10:10
abraxxa joined
|
|||
konobi | i wonder if you could create an nqp runtime using the language/token/lexer features in terralang | 10:11 | |
10:11
labster left
10:13
pmurias joined
|
|||
pmurias | konobi: in order to run Perl 6 on it? | 10:13 | |
konobi | pmurias: yeah | ||
10:15
Actualeyes left
|
|||
konobi | pmurias: how's the JS backend working? | 10:15 | |
pmurias | konobi: it compiles rakudo to JavaScript and a few % of the setting. I'm working on making nqp-js emit faster code as the rakudo compiled to js is too slow and compiling the setting would take ages | 10:17 | |
konobi | pmurias: (terralang.org/api.html#the-language...lexer-api) | ||
pmurias: habe you looked at using node-inspector to do the JS profiling? | |||
it covers not just timing info, but you can use heap snapshotting too... and it'll take you down to the line of code that individual objects were defined at (using diffs to narrow it down) | 10:18 | ||
pmurias | konobi: I have used devtool to profile things but it has problems with native extensions | 10:19 | |
konobi | pmurias: node-agent-devtools? | 10:20 | |
pmurias | konobi: just the devtool package from npm | 10:21 | |
konobi | ah... you probably want node-inspector... it's the only one being actively developed now, since it's part of one of IBMs offerings | 10:22 | |
10:24
TEttinger left
|
|||
pmurias | konobi: I'll check that out | 10:25 | |
konobi | pmurias: oh! and built in flamegraph support | ||
github.com/node-inspector/node-inspector | 10:27 | ||
pmurias | devtool seems to have the same profiling as chrome does but it runs inside of electron so it doesn't like native extensions | 10:28 | |
konobi | this uses the remote debugging protocol within V8, so native addons won't affect anything | 10:30 | |
10:32
Actualeyes joined
10:33
perlawhirl joined,
perlawhirl left,
perlawhirl joined
|
|||
timotimo | blogs.dropbox.com/tech/2016/07/lep...-at-15mbs/ - kinda cool, but not interesting for us, probably | 10:34 | |
konobi | i'd have thought lz4 with shared dictionaries would have been better there | 10:36 | |
10:37
kaare_ joined
|
|||
gfldex | timotimo: that means, if you upload jpegs to dropbox, make sure you have the legal right to change them. If you don't you better encrypt them. | 10:37 | |
timotimo | go ahead and try it? :) | 10:38 | |
gfldex: did you see it's actually lossless? | |||
gfldex | timotimo: lossless, after decoding. If you compare the files, they are diffrent. There are plenty of agreements between companies that make that illegal. | 10:39 | |
timotimo | wait, really? | 10:40 | |
gfldex | if the file get's 20% smaller, they must differ | ||
timotimo | no. | 10:41 | |
if you zip a text file, it "gets smaller", but when you unzip it again, it's the same content again | |||
gfldex | as I understood the article they reencode the jpegs | ||
timotimo | no, they do not | 10:42 | |
gfldex | sorry, i'm misstaken then | ||
timotimo | "Lepton achieves a 22% savings reduction for existing JPEG images, by predicting coefficients in JPEG blocks and feeding those predictions as context into an arithmetic coder. Lepton preserves the original file bit-for-bit perfectly." | ||
that's all you need to know | |||
also this paragraph makes clear you don't get the lepton'd file, you get the original file | 10:43 | ||
"Lepton can decompress significantly faster than line-speed for typical consumer and business connections. Lepton is a fully streamable format, meaning the decompression can be applied to any file as that file is being transferred over the network. Hence, streaming overlaps the computational work of the decompression with the file transfer itself, hiding latency from the user." | |||
gfldex | github.com/dropbox/lepton actually makes it clear with a lot less words :) | 10:44 | |
10:44
perlawhirl left
|
|||
timotimo | *shrug* | 10:45 | |
anyway, now we all know what's what. and that's good | 10:46 | ||
10:49
yqt joined
10:56
holyghost left
10:59
TreyHarr1 left
11:00
holyghost joined
11:02
TreyHarr1 joined
11:12
hmmm joined
11:17
adu joined
11:25
pmurias left
11:32
kid51 joined,
pmurias joined
11:34
dj_goku joined
11:37
brrt left
11:38
itaipu joined
11:39
dj_goku left
|
|||
sammers | hi from Japan | 11:43 | |
rjbs | o/ | 11:44 | |
11:45
grondilu joined
|
|||
moritz | \o | 11:46 | |
11:49
itaipu left
11:50
TreyHarr1 left
11:52
TreyHarr1 joined
12:02
yqt left
|
|||
timotimo | o/ | 12:05 | |
12:06
TreyHarr1 left
12:07
holyghost left
12:18
M-Illandan left,
M-matthew left,
tadzik left
12:21
holyghost joined
12:22
abraxxa left
12:23
pmurias left
12:25
pmurias joined
|
|||
pmurias | konobi: re running on top of terra if you want to port Perl 6 to some VM, what you likely want to do is not to implement nqp the language on it but add QAST (which is Perl6/nqp already parsed into a tree) backend | 12:26 | |
12:26
TreyHarr1 joined
12:29
Actualeyes left
12:31
domidumont joined
12:32
Actualeyes joined
12:34
RabidGravy left
12:39
TreyHarr1 left,
dvinciguerra_ joined
12:42
TreyHarr1 joined
12:45
Sgeo left
12:49
RabidGravy joined
12:50
melezhik joined
|
|||
melezhik | hi Perl6 gurus! Does anybody know how to comment a _whole block_ of perl6 code, not commenting by `#' every single line? | 12:51 | |
psch | melezhik: we have #`[ ] as block comment form | 12:52 | |
melezhik: note that the amount of brackets is up to you, as long as it's matching | |||
moritz | also pod | ||
=begin comment | |||
... | |||
=end comment | |||
12:52
zakharyas left
|
|||
DrForr | #`( ... ) | 12:52 | |
melezhik | thanks, sounds good | ||
12:52
TreyHarr1 left
|
|||
melezhik | I anticipated that perl6 has the same way with pod comments (: | 12:53 | |
psch | oh, right, #` doesn't care which type of parenthesis you use | ||
m: say #`<< nothing >> "something" | |||
camelia | rakudo-moar 51a611: OUTPUT«something» | ||
gfldex | also ^VI#^[ :-P | ||
12:53
rgrinberg joined
|
|||
psch | m: say #^[ bar ] "foo" # uhh? | 12:55 | |
camelia | rakudo-moar 51a611: OUTPUT«5===SORRY!5===Argument to "say" seems to be malformedat <tmp>:1------> 3say7⏏5 #^[ bar ] "foo" # uhh?Other potential difficulties: Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invo…» | ||
12:55
tadzik joined
12:56
MasterDuke left
|
|||
moritz | #^... is a whole-line comment | 12:56 | |
so it complains about bare say | |||
m: say | |||
camelia | rakudo-moar 51a611: OUTPUT«5===SORRY!5===Argument to "say" seems to be malformedat <tmp>:1------> 3say7⏏5<EOL>Other potential difficulties: Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument, …» | ||
psch | yeah, which just means that the ^ does nothing, doesn't it | ||
moritz | right | ||
timotimo | m: say #`/ test / "yo" | ||
camelia | rakudo-moar 51a611: OUTPUT«5===SORRY!5===Argument to "say" seems to be malformedat <tmp>:1------> 3say7⏏5 #`/ test / "yo"Other potential difficulties: Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant or…» | ||
Frameless | timotimo: curious, is hack.p6c.org/~timo/coverage/ being updated on regular intervals? | 13:00 | |
And related question: how can I run that stuff locally? | |||
melezhik: it's worth noting most editors support keyboard shortcuts to comment out selected text. Like CTRL+D | 13:01 | ||
timotimo | it is not | ||
the process is a bit involved | |||
13:02
hmmm left
|
|||
timotimo | so, you start by having the "line_based_coverage_3" (or some number) branch of moarvm checked out and built | 13:02 | |
Frameless | Alright. I may be interested in increasing coverage in about a month | ||
timotimo | that'll give you access to a new environment variable | ||
i think it's MVM_COVERAGE_LOG or something | |||
set it to a filename that includes a %d somewhere for the PID | |||
and then run the test suite. multi-thread is allowed because of the PID thing | 13:03 | ||
Frameless | Sounds simple enough :) Thanks. | ||
timotimo | it's not all yet :) | 13:04 | |
Frameless | heh | ||
timotimo | the crapton of files you end up with would ideally go through sort, uniq, and grep for CORE.setting before you feed it to the tool | ||
the next step is the dumped moarvm file. you get that from moar --dump CORE.setting.moarvm | |||
and all that feeds together into moarvm's tools/parse_coverage_report.p6 | 13:05 | ||
melezhik | huh, #`[ ... ] even better then pod :) | 13:06 | |
thanks to all for advices! | |||
perlpilot | melezhik: serves a different purpose than pod | ||
melezhik | yeah, I know | ||
13:06
rgrinberg left
13:07
rgrinberg joined
|
|||
timotimo | what i like about pod is that my editor will highlight pod markup in pod comments :) | 13:12 | |
13:12
zakharyas joined
|
|||
perlpilot is slightly surprised the #`/ ... / comment above didn't complain about the delimiter | 13:16 | ||
timotimo | well, it would have to parse all comments starting immediately with a ` as "failed attempt at block comment" | ||
perlpilot | That seems preferable to silently treating everything to end of line as a comment. | 13:17 | |
If someone has #` in their code, they were most likely trying to do an embedded comment. | 13:18 | ||
dalek | c: 55332b8 | titsuki++ | doc/Language/terms.pod6: Fix a typo from "Pi" to "pi" |
||
c: 3a6e347 | (Itsuki Toyota)++ | doc/Language/terms.pod6: Merge pull request #708 from titsuki/fix-typo Fix a typo from "Pi" to "pi" |
|||
Frameless | .oO( pie... ) |
13:20 | |
13:21
M-matthew joined,
M-Illandan joined
13:23
cognominal joined
13:25
melezhik left
|
|||
holyghost | *smile* those bots are funny sometimes | 13:26 | |
s/*smile*/*lol* whatever/ | 13:27 | ||
13:29
domidumont left
13:30
huggable joined
|
|||
Frameless | huggable: hug holyghost | 13:30 | |
huggable hugs holyghost | |||
holyghost | *lol* | 13:31 | |
I really need to write an IRC bot once | 13:33 | ||
I don't know what I would put into it but on #perl and #perl6 nobody would mind too much though | |||
huf | meh. put an irssi in a screen and script it | 13:34 | |
13:34
molaf joined
13:35
dj_goku joined
|
|||
holyghost | right | 13:35 | |
13:37
TreyHarr1 joined
13:40
dj_goku left
13:43
skids joined
13:44
sufrostico joined
13:47
Praise- joined,
Praise- left,
Praise- joined
13:48
TreyHarr1 left
13:49
adu left
|
|||
dalek | -six-help: eb9b799 | coke++ | summary.p6: track and report on new @LARRY tag |
13:52 | |
[Coke] | is it intentional that the TOC is colored when shown above the content, but black when to the left? (docs) | 13:57 | |
13:57
Praise- is now known as Praise
|
|||
gfldex | [Coke]: it is intentional | 13:57 | |
[Coke] | what's the purpose? | 13:58 | |
gfldex | the internet seams to agree that ToC like navigation elements on the left side of the screen do not require blue links | 13:59 | |
i tried the same for the ToC on top and it look very out of place | |||
14:01
infina joined
|
|||
ugexe | Zoffix: gist.github.com/ugexe/5de557c23058...3af52a1609 # changeloggy notes on distribution stuff | 14:01 | |
yoleaux | 09:36Z <Zoffix> ugexe: should the "New repository version 2 and new Distribution interface" be added to Rakudo's ChangeLog or is that entirely an internal change? If it should be added, would you let me know what to write into ChangeLog? github.com/rakudo/rakudo/commit/f4...6f7cd99e66 | ||
14:02
infina left,
infina joined
|
|||
[Coke] | I'd rather it was consistent, but not enough to make a PR for it, so I guess it's fine. :) | 14:02 | |
14:02
cdg joined
|
|||
Frameless | ugexe: thanks | 14:04 | |
gfldex | [Coke]: if you look at developer.mozilla.org/en-US/docs/W.../undefined you will see that the site is split into two parts. The allways-there-alway-navigation-part and a main body. In the main body clickable elements are marked with blue. Likely because the clickyness is the exception, while in the left part it is not. | ||
14:05
khw joined
|
|||
[Coke] | I think "TOC" overrides "position on screen". links embedded in paragraphs are different than a TOC, sure | 14:05 | |
holyghost | Now that I thought of it, there's this new VRML thing : Babylon javascript for developing 3D browser apps, thought I'd let you know | 14:06 | |
14:06
salva left
14:09
cdg left
14:10
setty1 joined
14:13
zakharyas left
14:15
TreyHarr1 joined
14:16
AlexDaniel joined
14:27
TreyHarr1 left
14:32
ptolemarch joined
14:36
yqt joined
14:41
kid51 left
|
|||
AlexDaniel | sometimes I wonder how much stuff I have 「git stash」-ed in a gazzilion number of repos all over my filesystem… | 14:42 | |
14:44
ribasushi joined,
kid51 joined
|
|||
lucs | If in Perl 5 I would do 「$foobar = Foo::Bar->new or die "$@"」, in Perl 6, given 「use Inline::Perl5; use Foo::Bar:from<Perl5>; my $foobar = Foo::Bar.new」, how do I get P5's 「$@」? | 14:45 | |
14:47
pmurias left
|
|||
gfldex | if Foo::Bar.new returns a Failure it would be in $foobar and you could .Str that. | 14:47 | |
14:47
rgrinberg left
|
|||
geekosaur | ideally you got a Failure back from Foo::Bar.new and can extract it. otherwise you'd have to trap the exception it threw | 14:48 | |
hoelzro | how could Foo::Bar return a Failure if it's from Perl 5 land? | ||
Frameless | lucs: FWIW, you don't need explicit use Inline::Perl5 | ||
lucs | (trying...) | ||
geekosaur | $@ for that was considered a hack, but equivalent to the latter (if p5's eval caught an exception, it stuffed it in $@) | ||
lucs | Frameless: Oh, just the 「⋯:from<Perl5>」 is enough? | 14:49 | |
Frameless | lucs: yes | ||
lucs | Frameless: Thanks. | ||
geekosaur | hoelzro, presumably Inline::Perl5 would be doing that translation. except, I don't know if it actually does or not... | ||
hoelzro | ah, fair point | 14:50 | |
gfldex | if it doesn't a bug report might help | ||
geekosaur | the main problem is that $@ there is often "fake", as it was being set without using eval. so te Inline::Perl5 machinery would have to know to check p5-land $@ itself | 14:51 | |
lucs | Tried this, print 'Any': 「use Net::LDAP:from<Perl5>; my $ldap = Net::LDAP.new('junk'); say $ldap.perl」 | 14:53 | |
*prints | |||
14:54
skids left,
jack_rabbit left
|
|||
geekosaur | figured. the $@ abuse is custom, which Inline::Perl5 doesn't know about. file a bug to have it check $@ when .new fails? | 14:55 | |
lucs | Okay, thanks. | 14:56 | |
14:59
girafe joined
|
|||
perlpilot | better might be to find a way to provide $@ in P6 somehow as new is not the only thing that will fail to set it. | 14:59 | |
lucs | perlpilot: I'll try to formulate the issue in those terms. | 15:00 | |
15:04
esh joined
15:05
rgrinberg joined
|
|||
gfldex | maybe expose it as %*PERL5<$@>, together with all the other globals | 15:07 | |
15:08
TreyHarr1 joined
|
|||
perlpilot | aye, that would be nice. | 15:08 | |
lucs | gfldex: Can I quote you on that in the issue I'm preparing? | ||
15:09
skids joined
|
|||
gfldex | lucs: you can, as a likely bad idea with unforseeable consequences | 15:09 | |
perlpilot | gfldex: I'm thinking this is a "hard" problem or nine would have done it already :) | 15:10 | |
gfldex | maybe he just forgot | ||
Frameless | lucs: you can also link to IRC discussions using time stamp links on irclog.perlgeek.de/perl6/today like irclog.perlgeek.de/perl6/2016-07-15#i_12847309 | ||
gfldex | what would result in a swift fix | ||
15:10
apathor left
|
|||
lucs | Frameless: Ah, cool, thanks again. | 15:12 | |
15:12
donaldh joined
|
|||
dalek | c: 38a88ae | (Wenzel P. P. Peppmeyer)++ | doc/Language/functions.pod6: hide "Infix Form" from /routine-operator |
15:17 | |
gfldex | and yes, that's how you do that | ||
Frameless again mentions the need for a guide on how to add/remove stuff to docs index | 15:19 | ||
gfldex | Frameless: that would require someone who actually understands how it works | ||
15:21
TreyHarr1 left
|
|||
perlpilot | documenting what works empirically whether or not you understand how it works would still be useful. | 15:22 | |
maybe add a HOWTO.md to the repo and fill it with "here's what I've figured out" | 15:23 | ||
dalek | c: 3fda059 | Altai-man++ | doc/Language/glossary.pod6: Glossary page indexation |
||
perlpilot | plus, even if it's "wrong" it gives people that may know better a place to put their knowledge when they realize that you're wrong ;) | 15:24 | |
dalek | c: 1fb0a75 | (Wenzel P. P. Peppmeyer)++ | CONTRIBUTING.md: - doc change how to activate debug mode |
15:30 | |
15:31
kid51 left
|
|||
Frameless | \o/ | 15:32 | |
timotimo | "none-multi's"? | 15:34 | |
i think that wants to be "non-multis"? | |||
15:34
rindolf left
|
|||
timotimo | "Several wrapper file fixes" - i have no clue what that means :| | 15:34 | |
15:36
dj_goku joined
|
|||
ruoso | So... for anyone looking for something to profile and optimize... :) github.com/ruoso/Debian-IndexParse ... if you run t/002* with /var/lib/dpkg/available as an argument it takes way longer than I expected | 15:37 | |
timotimo | i wonder if you've heard of the % regex operator yet | 15:39 | |
ruoso | I probably have not | 15:41 | |
timotimo | on the other hand, that's just a grammar, so our typical abilities to optimize stuff are very strongly limited | ||
15:41
dj_goku left
|
|||
ruoso | yeah, when I ran the profiler I couldn't see anything really useful... | 15:42 | |
timotimo | OTOH, it could be that there's some backtracking or so. we don't have a good tool for analysing that kind of thing yet | ||
Frameless: were you able to run a coverage report yet? | 15:43 | ||
ruoso | maybe this is a case to go down to callgrind, as jnthn posted a few weeks ago | ||
Frameless | timotimo: I've not tried :) I'll do it in about a month, unless I get bored with other stuff. :) | 15:44 | |
(in which case sooner) | |||
timotimo | OK! | ||
you could do that, aye | |||
perlpilot | ruoso: is the only difference between the two character classes in the name token that the second one adds - and # characters? | 15:45 | |
ruoso | yes | ||
Frameless | timotimo: I bookmarked the log of you explaining how to do it. | ||
gfldex | ruoso: if you replace `map|foo -> $e { $e.do-it }` with `map|foo` { .do-it }` you make it a wee bit faster | ||
timotimo | cool | ||
gfldex: what, really? | |||
gfldex | timotimo: yes | 15:46 | |
[Coke] | wee enough that it's noise? | ||
perlpilot | probably. | ||
[Coke] | rephrase: how wee is the bit? | ||
ruoso | woudlnt' the optimizer do that already? | ||
I guess I'll try preventing some backtracking and see how much it helps | 15:48 | ||
also, remove the silly recursive thing in continuation line | |||
perlpilot | gfldex: where's your evidence that it's a wee bit faster? ;) | ||
15:50
dvinciguerra_ left
15:52
rindolf joined
|
|||
Frameless | m: for ^1000000 -> $e { $e.uc }; my $l1 = now; for ^1000000 { .uc }; say "First {$l1 - INIT now}; Second {now - INIT {now} - ($l1 - INIT now)}" | 15:54 | |
camelia | rakudo-moar 78ba3d: OUTPUT«First 1.34327975; Second 1.1736792740916» | ||
Frameless | m: for ^1000000 -> $e { $e.uc }; my $l1 = now; for ^1000000 { .uc }; say "First {$l1 - INIT now}; Second {now - INIT {now} - ($l1 - INIT now)}" | ||
camelia | rakudo-moar 78ba3d: OUTPUT«First 1.2949267; Second 1.1468783930180» | ||
Frameless | m: for ^1000000 -> $e { $e.uc }; my $l1 = now; for ^1000000 { .uc }; say "First {$l1 - INIT now}; Second {now - INIT {now} - ($l1 - INIT now)}" | ||
camelia | rakudo-moar 78ba3d: OUTPUT«First 1.3389298; Second 1.16844597241» | ||
timotimo | camelia is very noisy | ||
15:55
dvinciguerra_ joined
|
|||
timotimo | huh. | 15:55 | |
there is a difference there | |||
15:56
iamawesome joined,
iamawesome left
|
|||
ruoso | I don't think my code is suffering from backtracking at all... Let me see how much the code blocks in the grammar cost... | 15:56 | |
timotimo | by using an action class instead? | ||
ruoso | well, first by just removing them | 15:57 | |
10% | |||
gfldex | with 10 samples the avg went from 7.4938s to 7.448s | ||
ruoso | Way less than I expected | ||
gfldex | precomp cache was primed in both cases | ||
ruoso: diff gist.github.com/gfldex/239bf4dcb76...1247754e2a | 16:00 | ||
timotimo | i wonder if .map is faster than map as a sub | 16:01 | |
gfldex | map as a sub should be inlined | ||
timotimo | hopefully | ||
AlexDaniel | commit: HEAD for ^1000000 -> $e { $e.uc }; my $l1 = now; for ^1000000 { .uc }; say "First {$l1 - INIT now}; Second {now - INIT {now} - ($l1 - INIT now)}" | ||
committable | AlexDaniel: |«HEAD»: No build for this commit | ||
AlexDaniel | commit: HEAD~10 for ^1000000 -> $e { $e.uc }; my $l1 = now; for ^1000000 { .uc }; say "First {$l1 - INIT now}; Second {now - INIT {now} - ($l1 - INIT now)}" | 16:02 | |
committable | AlexDaniel: |«HEAD~10»: First 1.2712164; Second 1.165069157072 | ||
AlexDaniel | commit: HEAD~10 for ^1000000 -> $e { $e.uc }; my $l1 = now; for ^1000000 { .uc }; say "First {$l1 - INIT now}; Second {now - INIT {now} - ($l1 - INIT now)}" | ||
committable | AlexDaniel: |«HEAD~10»: First 1.270743642; Second 1.1404619790154 | ||
timotimo | maybe we're turning one of those into a loop and one stays a map call? | ||
ruoso | gfldex: not measurable difference... | ||
the cost of the block is being dwarfed by the cost of the match itself | 16:03 | ||
gfldex | also use \foo instead of $foo where you can | ||
ruoso | even if I add the no-backtrack modifier everywhere, it doesn't make any difference | ||
I think it's just the building of the match data structure that may be too expensive | |||
timotimo | both are turned into loops with a simple int-based counter | ||
Frameless | ruoso: tokens don't backtrack | 16:05 | |
timotimo | ah, i didn't look if it were tokens or ruler os what have you | ||
does perl6-debug currenty work? and Grammar::Debugger? | 16:06 | ||
ruoso | the grammar works | ||
timotimo | and why did nobody do the awesomesauce that would be a gtk-based or web-based debugger that can handle multithreaded execution? :3 | ||
ruoso | it matches correctly | ||
Frameless | I used Grammar::Tracer a couple of days ago. Worked then | ||
ruoso | it just takes forever doing so | ||
timotimo | Grammar::Debugger would have shown if it does any backtracking, but since you're using "token", it wouldn't backtrack anyway | 16:08 | |
ruoso | The format of the grammar also isn't structurally prone to backtracking | 16:09 | |
i.e.: there is no possible ambiguity at any moment | |||
16:11
yqt left
|
|||
timotimo | right | 16:12 | |
16:12
jkramer joined
|
|||
jkramer | Ahoy! | 16:12 | |
Frameless | \o | ||
ruoso | I just realized... | ||
I am running the default from rakudobrew | 16:13 | ||
which is probably not from HEAD | |||
so I'm probably missing all recent rakudo optimizations | |||
Frameless | Pretty sure it is head | ||
timotimo | those are almost all in core setting subs, operators, and methods | ||
jkramer | Is there some shortcut/operator that compares two strings but doesn't complain when one of them is undef so I don't have to type $foo.defined && $bar.defined && $foo eq $bar? | ||
timotimo | you're unlikely to benefit from them in the performance of your grammar | ||
psch | m: say quietly "foo" eq Str | 16:14 | |
camelia | rakudo-moar 78ba3d: OUTPUT«False» | ||
Frameless | m: my $foo; my $bar = 42; say quietly so $foo eq $bar; | ||
camelia | rakudo-moar 78ba3d: OUTPUT«False» | ||
jkramer | Woah, nice | ||
Frameless | m: sub infix:<deq> { $^a.defined and $^b.defined and $^a eq $^b }; my $foo; my $bar = 42; say $foo deq $bar; | ||
camelia | rakudo-moar 78ba3d: OUTPUT«False» | ||
jkramer | m: my $foo; my $bar; say quietly so $foo eq $bar; | 16:15 | |
camelia | rakudo-moar 78ba3d: OUTPUT«True» | ||
jkramer | Meh. I need false when both are undefined :( | ||
Frameless | m: sub infix:<deq> { $^a.defined and $^b.defined and $^a eq $^b }; my $foo; my $bar; say $foo deq $bar; | ||
camelia | rakudo-moar 78ba3d: OUTPUT«False» | ||
ruoso | Frameless: you're right... it is rakudo and maorvm HEAD (of a couple days ago) | 16:16 | |
psch | m: say quietly "foo" eq "foo" ne Str | ||
camelia | rakudo-moar 78ba3d: OUTPUT«True» | ||
16:16
dvinciguerra_ left
|
|||
psch | m: say quietly Str eq Str ne Str | 16:16 | |
camelia | rakudo-moar 78ba3d: OUTPUT«False» | ||
psch | jkramer: how's that? | ||
timotimo | maybe you want !eqv? | ||
Frameless | m: say quietly "Str" eq "Str" ne Str | ||
camelia | rakudo-moar 78ba3d: OUTPUT«True» | ||
timotimo | or maybe !=== | ||
16:16
dvinciguerra_ joined
|
|||
jkramer | psch: That looks good :) | 16:17 | |
Frameless | I thought eq stringified... | ||
m: say "Str" eq Str | |||
camelia | rakudo-moar 78ba3d: OUTPUT«Use of uninitialized value of type Str in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at <tmp> line 1False» | ||
Frameless | m: say Str.Str | ||
camelia | rakudo-moar 78ba3d: OUTPUT«Use of uninitialized value of type Str in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at <tmp> line 1» | ||
Frameless | Ah | ||
timotimo | yeah, but Str stringifies to "" after it warns | ||
psch | jkramer: what timotimo says is the only remaining pitfall - if you want empty Str treated differently to undefined Str you have to more work | 16:18 | |
Frameless | m: say quietly "" eq "" ne Str | ||
camelia | rakudo-moar 78ba3d: OUTPUT«False» | ||
gfldex | m: multi fancy(Any:D $a, Any:D $b){ $a eq $b }; multi fancy(Any:U $a, Any:_ $b){ False }; multi fancy(Any:_ $a, Any:U $b){ False }; say [fancy("abc, "abc"), fancy(Any, "abc), fancy("abc", Any); | ||
camelia | rakudo-moar 78ba3d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unable to parse expression in argument list; couldn't find final ')' at <tmp>:1------> 3, Any:U $b){ False }; say [fancy("abc, "7⏏5abc"), fancy(Any, "abc), fancy("abc", An expecting any of:…» | ||
psch | +do | ||
gfldex | m: multi fancy(Any:D $a, Any:D $b){ $a eq $b }; multi fancy(Any:U $a, Any:_ $b){ False }; multi fancy(Any:_ $a, Any:U $b){ False }; say [fancy("abc", "abc"), fancy(Any, "abc), fancy("abc", Any); | ||
camelia | rakudo-moar 78ba3d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unable to parse expression in argument list; couldn't find final ')' at <tmp>:1------> 3"abc", "abc"), fancy(Any, "abc), fancy("7⏏5abc", Any); expecting any of: infix in…» | ||
gfldex | m: multi fancy(Any:D $a, Any:D $b){ $a eq $b }; multi fancy(Any:U $a, Any:_ $b){ False }; multi fancy(Any:_ $a, Any:U $b){ False }; say [fancy("abc", "abc"), fancy(Any, "abc"), fancy("abc", Any); | 16:19 | |
camelia | rakudo-moar 78ba3d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unable to parse expression in array composer; couldn't find final ']' at <tmp>:1------> 3), fancy(Any, "abc"), fancy("abc", Any);7⏏5<EOL>» | ||
jkramer | psch: That's alright, can't be empty | ||
Frameless | gfldex: missing closing ] | ||
gfldex | m: multi fancy(Any:D $a, Any:D $b){ $a eq $b }; multi fancy(Any:U $a, Any:_ $b){ False }; multi fancy(Any:_ $a, Any:U $b){ False }; say [fancy("abc", "abc"), fancy(Any, "abc"), fancy("abc", Any)]; | ||
camelia | rakudo-moar 78ba3d: OUTPUT«[True False False]» | ||
ruoso | Is there an idiomatic way to convert a list of hashes with keys "name" and "value" to a hash where the values of "name" become the key? | ||
gfldex | jkramer: basically, you filter the undefined Strs out with a multi long before you get to the eq | ||
ruoso | in p5 I would just build the hash out of the list of pairs | 16:20 | |
Frameless | ruoso: a slice maybe? | ||
hm | |||
psch doesn't understand the question | |||
Frameless shrugs | |||
16:21
sno left
|
|||
ruoso | given [ { name => foo, value => bar }, {name => baz, value => qux }], generate { foo => var, baz => qux } | 16:21 | |
psch | oh | 16:22 | |
16:22
TreyHarr1 joined
|
|||
Frameless | : my $l = [ { name => "foo", value => "bar" }, {name => "baz", value => "qux" }]; my %h; %h{ $l».<name> } = $l».<value>; say %h | 16:23 | |
psch | m: my @a = [ { name => "foo", value => "bar" }, {name => "baz", value => "qux" }]; say @a>>.values.map({ $_[0] => $_[1] }); | ||
camelia | rakudo-moar 78ba3d: OUTPUT«(foo => bar baz => qux)» | ||
Frameless | m: my $l = [ { name => "foo", value => "bar" }, {name => "baz", value => "qux" }]; my %h; %h{ $l».<name> } = $l».<value>; say %h | ||
camelia | rakudo-moar 78ba3d: OUTPUT«{baz => qux, foo => bar}» | ||
ruoso | I was looking for something that wouldn't require an intermediate value | 16:24 | |
psch | m: my @a = [ { name => "foo", value => "bar" }, {name => "baz", value => "qux" }]; say [Z=>] @a>>.values | ||
camelia | rakudo-moar 78ba3d: OUTPUT«(foo => baz bar => qux)» | ||
psch | hm, no :| | ||
oh, the Z is bogus | |||
ruoso | can a list of pairs be read as a hash? | ||
Frameless | yes | ||
psch | you can assign it to a %-sigiled var and it does the right thing, yeah | ||
Frameless | m: my %h = :42foo, :72bar; dd %h | 16:25 | |
camelia | rakudo-moar 78ba3d: OUTPUT«Hash %h = {:bar(72), :foo(42)}» | ||
16:26
dvinciguerra_ left
|
|||
ruoso | is there a method to hash-ify? | 16:27 | |
or do I need an intermediate variable? | |||
psch | .hash, .Hash, %() | ||
the latter is a circumfix, not a method | |||
m: my @a = [ { name => "foo", value => "bar" }, {name => "baz", value => "qux" }]; say %(@a>>.values.map({ $_[0] => $_[1] })).WHAT | 16:31 | ||
camelia | rakudo-moar 78ba3d: OUTPUT«(Hash)» | ||
16:32
dvinciguerra_ joined
|
|||
ruoso | just did a round of improvements based on the conversations here... | 16:33 | |
16:33
TreyHarr1 left
|
|||
jdv79 | Zoffix: does github support pod6 yet? i think i saw some emails about it recently. | 16:35 | |
Frameless | jdv79: it doesn't. What you may have seen is a conversation about renaming .pod Pod6 files to .pod6 to prevent GitHub attempting to parse them as Perl 5 Pod and showing errors instead of the document | 16:37 | |
So now—even though you can't see the rendered document—at least you can see the source, without having to go to 'Raw' mode | |||
jdv79 | progess++ | 16:38 | |
gfldex | ruoso: you could also write { $/<paragraph>.map({.made}).&make; } to maintain the order of execution | 16:39 | |
16:39
donaldh left
|
|||
ruoso | I actually like the traditional map notation | 16:39 | |
moved all the transformations to the top token, that made it a wee bit faster | 16:40 | ||
but it still takes 20 secnods to parse a 2.7M file | 16:41 | ||
gfldex | nobody made the grammar engine fast yet | 16:42 | |
Frameless | ruoso: and what's your goal time? | ||
[Coke] | ruoso: do you have a way for a tester to grab that 2.7M file? | 16:43 | |
ruoso | I parse that in p5 in half a sec | ||
Frameless | Sounds about right. | ||
ruoso | using an dxplicit loop with an explicit state machine to parse it | 16:44 | |
Frameless ques in obligatory FAQ on speed docs.perl6.org/language/faq#Is_Per...gh_for_me? | |||
[Coke] | right, six is definitely still slower than five. | ||
ruoso | [Coke]: just grab the Packages file from debian's unstable | ||
16:45
Ven joined
|
|||
ruoso is not trying to use this in production, fotr, just playing, so yes, I know it's slower, but it seems like an interesting optimization avenue | 16:45 | ||
16:46
cdg joined
|
|||
ruoso | ftp.us.debian.org/debian/dists/unst...ackages.gz | 16:46 | |
that file is larger than the one I have now | |||
16:46
rgrinberg left
|
|||
ruoso | but the format is the same | 16:47 | |
gfldex | ruoso: could you do `time perl6 -e 'say [+] lines.map: *.chars' < /var/lib/dpkg/available` please? | ||
ruoso | 72k lines totalling 2.7Mb | 16:48 | |
jdv79 | is somebody investigeting speeing up the grammars yet? | 16:49 | |
that would be cool | |||
ruoso | with 4.2k paragraphs | ||
16:49
dvinciguerra_ left
|
|||
gfldex | jdv79: i believe the grammar engine is written in C | 16:50 | |
jdv79 | i don't thinkg so | ||
think its just nqp | 16:51 | ||
gfldex | i just checked, it's nqp | ||
ruoso | I think we may need a nqp profiler, not just a rakudo profiler, then | 16:52 | |
Frameless | jdv79: none one that I know of. | ||
ruoso | heh/// running my test with the profiller increased the time to run by only 6 seconds... that probably seem to indicate there's not a lot of useful information in there | 16:54 | |
jdv79 | i haven't looked in a long time but the profiler really doesn't cover nqp? | 16:55 | |
ruoso | hm, it does... | 16:56 | |
jdv79 | i'm not sure the grammar suffers from much low hanging fruit | ||
[Coke] | given that we're using the grammar engine to run everything, right. | 16:57 | |
psch | probably hardly any, and if it's more likely semantics bugs | ||
jdv79 | last i remember TimToady said something about wasted scanning or something | ||
psch | the biggest improvement for any kind of parsing is probably method invocation overhead | ||
ruoso following the call graph | |||
16:57
dvinciguerra_ joined
|
|||
psch | but well, it's also a pretty tough thing to get into and understand | 16:58 | |
jdv79 | well, "everything" that isn't terrible perf dependent at least | ||
psch | and doesn't really lend itself to the kind of optimizations that e.g. lizmat++ does regularly | ||
jdv79 | the glr helped alot with a grammar of mine | 16:59 | |
its still an order of mag or so slower than p5 | 17:00 | ||
Frameless | New blog post: "[Part 2] A Date With The Bug Queue or Let Me Help You Help Me Help You": perl6.party/post/A-Date-With-The-Bu...ou--Part-2 | 17:02 | |
jdv79 | that seems like awkward grammar right there | 17:03 | |
3 helps, 2 yous, and 2 mes too much | |||
ruoso | hmm.. the match code is not being jitted | 17:04 | |
at least that's what I think I'm seeing from the profiler output | 17:07 | ||
does the JIT have a recursion limit? | 17:09 | ||
when MATCH calls itself, the recursive call is no longer jitted | 17:10 | ||
and then the entire time is spent on that non-jitted execution | 17:15 | ||
17:20
TreyHarr1 joined
17:22
dvinciguerra_ left
17:23
firstdayonthejob joined
|
|||
Frameless | *sigh* someone brought their stupid kids to work | 17:23 | |
The noise is really interfering with my slacking off. I may just sue. | 17:24 | ||
AlexDaniel | Frameless: headphones? | 17:25 | |
Frameless | AlexDaniel: then I can't hear when someone is coming over to my desk so I could preten I'm working in time :) | 17:27 | |
m: "🤓".uninames.say | 17:28 | ||
camelia | rakudo-moar 78ba3d: OUTPUT«(NERD FACE)» | ||
Frameless | Heh | ||
17:28
dj_goku joined,
dj_goku left,
dj_goku joined
17:30
huggable left
17:31
huggable joined
17:32
dvinciguerra_ joined
17:33
sno joined
17:36
rgrinberg joined
|
|||
perigrin | w37 | 17:42 | |
lucs | Wingo! | 17:44 | |
17:49
firstdayonthejob left
17:52
domidumont joined
17:53
donaldh joined
17:54
firstdayonthejob joined
17:57
canopus left
18:01
mcmillhj left
18:04
canopus joined,
dj_goku left
18:06
girafe left
18:22
labster joined
18:24
ChoHag joined
18:31
zakharyas joined,
domidumont left
18:34
labster left
|
|||
tbrowder | Zoffix: excellent bug posts! need to post on the site somewhere... | 18:34 | |
hoelzro | Zoffix: excellent post; I especially enjoyed "This isn't the interface for the latest NASA space probe" | 18:37 | |
Frameless | Thanks. | 18:44 | |
18:48
kalkin-_ is now known as kalkin-,
skids left
19:05
itaipu joined,
zacts joined
19:10
dainis joined
19:14
sufrostico left
19:15
kurahaupo left
19:16
grondilu left
19:18
girafe joined
19:21
dainis left
19:22
labster joined
19:23
kurahaupo joined
19:24
kid51 joined
19:27
domidumont joined
19:28
mcmillhj joined
19:30
darutoko left
19:31
takadonet left
|
|||
ugexe | just tail -f a log file to always look busy | 19:31 | |
19:31
zakharyas left
19:33
furelypunctional joined
|
|||
Frameless | 80% of my job is designing marketing materials, so tail -f log can look suspicious :) | 19:34 | |
19:35
TreyHarr1 left
19:37
dainis joined
19:39
domidumont left
19:41
TreyHarr1 joined
19:46
girafe left,
skids joined
19:49
donaldh left
|
|||
dalek | c: 598a7ab | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Language/glossary.pod6: Glossary: remove items with no description if doced elsewhere For example, remove stuff that is tied to a type (per discussion on #622) |
19:51 | |
c: fcddb93 | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Language/glossary.pod6: Glossary: remove items even if they have description Perhaps it made sense to document these things in the glossary back then, but now that we have proper documentation for these things (which, by they way, is often much more detailed than these descriptions in the glossary), we do not have to keep it anymore. ⚠ Deletionism alert! Feel free to revert this commit partially. |
|||
19:51
addison joined
20:00
dj_goku joined,
dj_goku left,
dj_goku joined
20:05
dj_goku left
20:12
yqt joined,
kid51 left,
kid51 joined
20:34
kid51 left
20:38
TEttinger joined
20:41
ptolemarch left
20:54
telex left
20:56
telex joined
|
|||
dalek | c: caaaf24 | Altai-man++ | doc/Language/glossary.pod6: Move bots to IRC section |
21:00 | |
21:02
sena_kun joined,
sena_kun left,
skids left
21:08
itaipu left
21:09
mcmillhj left
21:16
dainis left,
TreyHarr1 left
21:17
TreyHarr1 joined,
dvinciguerra_ left
21:19
donaldh joined
|
|||
dalek | c: 75a689d | Altai-man++ | doc/Language/glossary.pod6: Deletion of Hash definition, which is alraedy greatly described in Class section. Feel free to revert. |
21:20 | |
21:23
Senji joined
21:25
TreyHarr1 left
21:27
Actualeyes left
21:31
huggable left
21:36
TreyHarr1 joined
21:51
rindolf left
22:00
TreyHarr1 left,
zacts left
22:01
dj_goku joined,
dj_goku left,
dj_goku joined
22:03
TreyHarr1 joined
22:04
setty1 left
22:06
dj_goku left
22:07
mohae joined,
girafe joined
22:08
mohae left
22:10
mohae_ left,
girafe left,
TreyHarr1 left
22:14
Sgeo joined
22:15
mohae joined,
cpage_ left,
donaldh left
22:19
Yule joined,
TreyHarr1 joined
|
|||
dalek | sectbot: db49d66 | (Daniel Green)++ | benchable.pl: Bring benchable in line with the others |
22:21 | |
22:23
Yule left
22:38
firstdayonthejob left
22:39
jack_rabbit joined
22:43
TreyHarr1 left
22:45
cpage_ joined
22:49
skids joined
22:51
yqt left
22:52
TreyHarr1 joined
22:58
wamba left
22:59
furelypunctional left
23:04
TreyHarr1 left
23:06
TreyHarr1 joined
23:08
captain-adequate left
23:17
Ven left
23:23
TreyHarr1 left
23:31
perlawhirl joined,
TreyHarr1 joined,
rgrinberg left
23:34
perlawhirl left
23:38
rgrinberg joined
23:45
dj_goku joined
|