»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
timotimo pmurias: 6pad is featured in today's advent calendar post! 00:01
pmurias timotimo: is the post up yet? 00:02
timotimo almost! 00:03
pmurias timotimo: can I have a sneak peek before going to bed? ;) 00:04
timotimo it'll be up in just a minute! 00:05
published! 00:07
perl6advent.wordpress.com/2018/12/...lar-level/
SmokeMachine pmurias: thank you very much! I’ll test it as soon as possible!
00:09 dct left
pmurias timotimo: you should have mentioned that earlier I would have got round to doing the "when there is some html in a pad" have it on by default instead of starting with the console ;) 00:09
timotimo hah
00:10 MasterDuke left
pmurias timotimo: I'll fix that tommorow, it's too late and I would just screw 6pad up at the worst moment 00:13
timotimo: also on a smaller screen the demos overflow in a bit of a weird manner 00:14
timotimo yeah, good call :)
they do on my monitor, too ;_;
i can't resize the thing vertically even though it shows a two-direction-arrow mouse cursor
i thought that's perhaps just my machine being weird
pmurias the resizing is broken, just noticed it 00:16
well, more not implemented at all more then broken
I copied the css from dart pad without noticing the cursor 00:17
timotimo ah, i see 00:18
pmurias I'll get some sleep and try to fix it up tommorow 00:19
timotimo have a good one!
pmurias if anyone wants to fix up the scroll bars, adding some css to github.com/perl6/6pad should fix it
good night 00:20
00:20 pmurias left 00:21 MasterDuke joined 00:22 p6bannerbot sets mode: +v MasterDuke 00:24 MasterDuke left, graphene left 00:26 graphene joined 00:27 p6bannerbot sets mode: +v graphene, MasterDuke joined 00:28 p6bannerbot sets mode: +v MasterDuke, w_richard_w joined 00:29 p6bannerbot sets mode: +v w_richard_w, MasterDuke left 00:50 w_richard_w left 00:53 oodani joined 00:54 p6bannerbot sets mode: +v oodani 00:58 confuseAcat19 joined 00:59 p6bannerbot sets mode: +v confuseAcat19 01:03 confuseAcat19 left, zacts joined, p6bannerbot sets mode: +v zacts 01:07 lizmat left 01:26 graphene left 01:28 graphene joined, p6bannerbot sets mode: +v graphene 02:05 zacts left 02:07 zacts joined, p6bannerbot sets mode: +v zacts 02:12 zacts left 02:19 movl left 02:28 molaf left 02:30 lucasb left, lizmat joined, p6bannerbot sets mode: +v lizmat 02:35 coet left 02:40 molaf joined 02:41 p6bannerbot sets mode: +v molaf 02:49 graphene left 02:50 graphene joined, graphene left 02:52 graphene joined, p6bannerbot sets mode: +v graphene 02:54 Kaiepi left, zacts joined, p6bannerbot sets mode: +v zacts 03:05 Kaiepi joined 03:06 p6bannerbot sets mode: +v Kaiepi 03:25 AlexDaniel left 03:29 ufobat___ joined 03:30 p6bannerbot sets mode: +v ufobat___ 03:33 ufobat_ left 03:40 ryn1x_ joined 03:41 p6bannerbot sets mode: +v ryn1x_ 03:47 ryn1x_ left 04:17 ryn1x_ joined 04:18 p6bannerbot sets mode: +v ryn1x_ 04:21 Cabanossi joined, p6bannerbot sets mode: +v Cabanossi 04:22 Cabanoss- left, ryn1x_ left 04:23 zacts left 04:25 zacts joined, p6bannerbot sets mode: +v zacts
SmokeMachine .tell pmurias I think there is a hardcoded path on rakudo.js... /home/pmurias/nqp/install/share/nqp/lib/nqp-js-on-js/node_modules/nqp-runtime 04:53
yoleaux SmokeMachine: I'll pass your message to pmurias.
SmokeMachine .tell pmurias www.irccloud.com/pastebin/HgDTYu5K/ 04:54
yoleaux SmokeMachine: I'll pass your message to pmurias.
SmokeMachine .tell pmurias nqp.libpath(["/home/pmurias/rakudo/node_modules/","/home/pmurias/nqp/install/share/nqp/lib/nqp-js-on-js/"]); 04:56
yoleaux SmokeMachine: I'll pass your message to pmurias.
04:59 zacts left 05:05 zacts joined, p6bannerbot sets mode: +v zacts
SmokeMachine .tell pmurias when I changed `require("/home/pmurias/nqp/install/share/nqp/lib/nqp-js-on-js/node_modules/nqp-runtime")`to `require("nqp-runtime")` (and installed nqp-runtime) it just worked! Thanks 05:05
yoleaux SmokeMachine: I'll pass your message to pmurias.
05:16 ryn1x_ joined 05:17 p6bannerbot sets mode: +v ryn1x_ 05:18 sauvin joined, p6bannerbot sets mode: +v sauvin 05:35 zacts left 05:42 robertle left 05:46 Kaiepi left 05:49 ryn1x_ left 05:52 bioexpress joined, p6bannerbot sets mode: +v bioexpress 05:54 curan joined, p6bannerbot sets mode: +v curan
bioexpress Hello, could bugs in my Perl6 code cause such errors or do errors from Perl6 code look always different? 05:55
moar: malloc.c:2422: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
*** Error in `/home/mm/.rakudo-star/bin/moar': realloc(): invalid next size: 0x00007f439f5b2650 ***
*** Error in `/home/mm/.rakudo-star/bin/moar': double free or corruption (out): 0x00007f2d3005ef80 *** 05:56
MoarVM panic: Heap corruption detected: pointer 0x7f4115e9cb00 to past fromspace
MoarVM panic: Internal error: zeroed target thread ID in work pass
06:20 cpage joined, p6bannerbot sets mode: +v cpage, jmerelo joined 06:21 p6bannerbot sets mode: +v jmerelo 06:23 bioexpress left
holyghost hi jmerelo 06:24
06:25 imcsk8 left
jmerelo hi 06:26
.tell AlexDaniel I no longer have access to hack.p6c.org 06:27
yoleaux jmerelo: I'll pass your message to AlexDaniel.
06:47 vrurg left 07:00 dct joined, p6bannerbot sets mode: +v dct 07:14 dct left 07:19 abraxxa joined, p6bannerbot sets mode: +v abraxxa 07:23 abraxxa1 joined, abraxxa left 07:24 p6bannerbot sets mode: +v abraxxa1, lizmat left, domidumont joined 07:25 p6bannerbot sets mode: +v domidumont 07:28 abraxxa1 left 07:29 movl joined 07:30 p6bannerbot sets mode: +v movl 07:32 kurahaupo_ joined 07:33 p6bannerbot sets mode: +v kurahaupo_, robertle joined 07:34 p6bannerbot sets mode: +v robertle
moritz jmerelo: why not? 07:35
07:35 kurahaupo left
moritz oh, seems to be down 07:36
time to reboot
07:37 dalek joined, ChanServ sets mode: +v dalek, p6lert joined, Geth joined, synopsebot joined, ChanServ sets mode: +v Geth, ChanServ sets mode: +v synopsebot, p6bannerbot sets mode: +v dalek 07:38 p6bannerbot sets mode: +v p6lert, p6bannerbot sets mode: +v Geth, p6bannerbot sets mode: +v synopsebot 07:40 kurahaupo_ left, kurahaupo joined 07:41 p6bannerbot sets mode: +v kurahaupo, abraxxa joined 07:42 p6bannerbot sets mode: +v abraxxa 07:56 rindolf joined 07:57 p6bannerbot sets mode: +v rindolf 08:00 imcsk8 joined, movl left 08:01 p6bannerbot sets mode: +v imcsk8 08:17 coet joined, p6bannerbot sets mode: +v coet 08:19 kurahaupo_ joined 08:20 p6bannerbot sets mode: +v kurahaupo_ 08:22 kurahaupo left 08:23 kurahaupo_ left, kurahaupo joined 08:24 p6bannerbot sets mode: +v kurahaupo 08:30 lizmat joined, p6bannerbot sets mode: +v lizmat 08:35 finanalyst joined, p6bannerbot sets mode: +v finanalyst
finanalyst moritz: Are yon online? 08:36
Any one with permissions on docs.perl6.org? 08:37
El_Che finanalyst: pretty much everyone here I suppose 08:38
yoleaux 5 Dec 2018 16:59Z <jmerelo> El_Che: look at th elines above for a bug report on the version of Perl needed in Ubuntu 14.04 packages.
finanalyst Is docs.perl6.org running with the new version of rakudo? It is now providing Pod::Defn and that could be blocking an update 08:39
El_Che finanalyst: you can raise issues or send PRs to github.com/perl6/doc/
finanalyst: or be added to the org
finanalyst I have a commit bit to github, but not sure about permissions on the site 08:40
08:40 ufobat___ is now known as ufobat
El_Che I see 08:40
it'on the code it runs
08:40 kurahaupo_ joined
El_Che probably moritz is the right person for that, maybe jmerelo 08:41
finanalyst jmerelo asked me to contact someone here
he has just twisted something and cant get to a computer
08:41 p6bannerbot sets mode: +v kurahaupo_
finanalyst docs.perl6.org is running in that it is serving documents, but the documents are not being updated. 08:42
08:42 kurahaupo left 08:44 kurahaupo_ left, kurahaupo joined 08:45 p6bannerbot sets mode: +v kurahaupo
moritz uhm, there was a squashaton related to the docs toolchain, no? 08:45
maybe somebody who participated in that should have a look -- I haven't touched that in ages 08:46
otherwise, take a look at docs.perl6.org/build-log/build-201...+00:00.log
Error while compiling /home/doc.perl6.org/doc/./build/Language/031-modules.pod6 08:47
Preceding context expects a term, but found infix = instead.
Did you make a mistake in Pod syntax?
at /home/doc.perl6.org/doc/./build/Language/031-modules.pod6:589
also, I haven't upgraded the rakudo that builds doc.perl6.org. No idea if anybody else did 08:48
the build log says 2018.06-24
08:50 kurahaupo left 08:52 kurahaupo joined 08:53 p6bannerbot sets mode: +v kurahaupo, kurahaupo left, kurahaupo joined 08:54 p6bannerbot sets mode: +v kurahaupo 09:02 kurahaupo left 09:03 kurahaupo joined 09:04 p6bannerbot sets mode: +v kurahaupo 09:07 kurahaupo left, tobs` joined 09:08 kurahaupo joined, kurahaupo left, p6bannerbot sets mode: +v tobs`, kurahaupo joined 09:09 p6bannerbot sets mode: +v kurahaupo, lizmat left, yqt joined 09:10 p6bannerbot sets mode: +v yqt 09:26 [particle]1 joined, p6bannerbot sets mode: +v [particle]1 09:27 [particle] left 09:33 [Sno] left
finanalyst moritz: syntax of modules.pod6 was not suspected. 09:47
If perl6 is 2018.06, then Rakudo is not providing Pod::Defn 09:48
09:49 Kaiepi joined
finanalyst moritz: it seems that you wrote the code for 'disambiguation-files'. What was the rational for them? There are now >2000 such files. 09:49
Are they for perl6doc?
09:49 sno joined 09:50 p6bannerbot sets mode: +v Kaiepi
Kaiepi so i spent a few hours trying to figure out why unicode was broken in urxvt after upgrading my os and it ended up being that i3 expects LC_ALL/LANG/LANGUAGE to be exported in .xsession/.xinitrc before it's started or else it'll just assume it's C 09:50
09:50 sena_kun joined, p6bannerbot sets mode: +v sno 09:51 p6bannerbot sets mode: +v sena_kun
Kaiepi why it ignores .profile idk 09:51
mornfall hmm, OS upgrades 09:59
i wanted to do that
finanalyst moritz: I have forked a fresh copy of docs.perl6.org and run make html. It had no problems with modules.pod6
09:59 lizmat joined, p6bannerbot sets mode: +v lizmat
moritz finanalyst: re disambigutation files: you have a word "foo". That could refer to a type, to an operator, a sub, a constant, a keyword etc. 10:00
finanalyst: and the idea was that you could just use docs.perl6.org/foo and find everything that applies 10:01
finanalyst Aha. I have been using the search box for items that I know have a disambiguation file and I have not hit the disambiguation file. 10:03
moritz the search box was a later addition :)
finanalyst So if we switch off disambiguation, everything else should then work. Writing the d-files takes a significant proportion of the build time 10:04
I have actually modified the makefile to set disambiguation to false, but the build is not happening. 10:05
How can I trigger a new build?
moritz git push 10:06
you might produce 404s for people who use the disamiguation URLs directly
Geth doc: 0b41594dd0 | (Richard Hainsworth)++ (committed using GitHub Web editor) | doc/Language/modules.pod6
Update modules.pod6

trigger rebuild
10:07
synopsebot Link: doc.perl6.org/language/modules
lizmat .
10:11 zakharyas joined
finanalyst moritz: I notice that the last build log for docs.perl6.org was 3 Dec. There have been changes since then. 10:11
10:12 p6bannerbot sets mode: +v zakharyas
finanalyst No new build seems to have been triggered with my minor change to modules.pod6 10:12
10:13 lucasb joined, p6bannerbot sets mode: +v lucasb
finanalyst who would use disambiguation URLs directly? 10:13
moritz me 10:17
finanalyst: docs.perl6.org/build-log/?C=M;O=A has the list of all build logs
some are from today
oh wait, no
the git repo is at commit 0b41594dd07abd37f438ef923d1fb7379753fbba 10:18
10:19 finanalyst left, finanalyst joined
moritz perlpunks.de/paste/show/5c0a4948.5e5a.2c3 this is what the cron job executes 10:20
10:20 p6bannerbot sets mode: +v finanalyst 10:24 finanalyst left, araujo joined, araujo left, araujo joined, p6bannerbot sets mode: +v araujo, finanalyst joined 10:25 p6bannerbot sets mode: +v araujo, p6bannerbot sets mode: +v finanalyst 10:28 pecastro joined 10:29 p6bannerbot sets mode: +v pecastro
sacomo hi all 10:30
Kaiepi m: (last if $_ == 5) or .say for 0..10
camelia 0
1
2
3
4
Kaiepi m: (last if $_ == 5) orelse .say for 0..10 10:31
camelia ()
()
()
()
()
sacomo 6pad / javascript is working in Firefox 65 now
Kaiepi what's going on with the orelse version?
nice sacomo
sacomo Kaiepi, it's pretty slick perl6.github.io/6pad/#baa305eff795...b83a9d4b26 10:35
gfldex m: (last if $_ == 5) orelse say $_.WHAT for 0..10 10:37
camelia (Slip)
(Slip)
(Slip)
(Slip)
(Slip)
gfldex Kaiepi: that is by design 10:38
at least the rebinding of $_ 10:39
Kaiepi oh
Geth doc: 2902d71dc0 | (Richard Hainsworth)++ (committed using GitHub Web editor) | Makefile
Update Makefile

Turn on disambiguation
10:40
gfldex m: say (last if $_ == 5).WHAT for 1 10:41
camelia (Slip)
gfldex i'm not quite sure what a last statement should evaluate to 10:42
Kaiepi: I have asked the powers that be. You have at least spotted an ENODOC. 10:44
10:55 kurahaupo_ joined 10:56 p6bannerbot sets mode: +v kurahaupo_ 10:57 kurahaupo left 10:58 domidumont left 11:02 kurahaupo joined
Kaiepi m: say (*..0)[0..10] 11:03
camelia (-Inf -Inf -Inf -Inf -Inf -Inf -Inf -Inf -Inf -Inf -Inf)
Kaiepi m: say (*...0)[0..10]
camelia No such method 'succ' for invocant of type 'Whatever'. Did you mean 'sum'?
in block <unit> at <tmp> line 1
11:03 p6bannerbot sets mode: +v kurahaupo, kurahaupo_ left
finanalyst .tell moritz would it be possible for you to upgrade the perl6 on docs.perl6.org ? JJ is not able to access the server at this moment 11:05
yoleaux finanalyst: I'll pass your message to moritz.
11:05 finanalyst left 11:07 kurahaupo left 11:10 scimon joined 11:11 p6bannerbot sets mode: +v scimon 11:13 Geth left, synopsebot left 11:14 Geth joined, ChanServ sets mode: +v Geth, coet|login joined, p6bannerbot sets mode: +v coet|login, coet|login left, coet left, p6bannerbot sets mode: +v Geth
moritz .tell finanalyst I've updated rakudo. Enjoy :) 11:18
yoleaux moritz: I'll pass your message to finanalyst.
11:05Z <finanalyst> moritz: would it be possible for you to upgrade the perl6 on docs.perl6.org ? JJ is not able to access the server at this moment
11:19 kurahaupo joined 11:20 p6bannerbot sets mode: +v kurahaupo 11:23 duffee joined 11:24 p6bannerbot sets mode: +v duffee, kurahaupo_ joined 11:25 p6bannerbot sets mode: +v kurahaupo_ 11:26 kurahaupo left 11:32 kurahaupo_ left
duffee Re: Advent Calendar - I'm looking for a WordPress ID for sunday's post and the instructions sent me here - currently shaping up at gist.github.com/duffee/9947a49b344...74df7af4a2 11:38
sena_kun ping moritz, ping jmerelo ^ 11:39
moritz duffee: please tell me your wordpress.com username, or an email address
abraxxa I want to code a linux panel applet displaying the current day and week worktime from the hamster sqlite database but I"ve never done any non-Web UI programming. Can someone point me in the right direction how this is possible with Perl 6 11:45
11:46 kurahaupo joined
sena_kun abraxxa, it depends on the panel. which one do you use? 11:47
abraxxa I use XFCE but it seems they all work independent of the DE
11:47 p6bannerbot sets mode: +v kurahaupo
abraxxa or at least gnome ones work in XFCE too or so 11:47
sena_kun I think conky might be the most safe route, configuring it is another question.
well, then you need to find a manual on how to write an applet for xfce-panel, what langauges are supported and so on.
also, if there is an applet that will execute a command and show its output already written(probability is high), then you can just use it. 11:48
abraxxa too easy! :P 11:49
there was a blog post about UI programming I've tried and it was extremely easy
but I can't remember which toolkit it used
sena_kun goodies.xfce.org/projects/panel-pl...mon-plugin <- this is it. :)
the applet you "likely" want to use, I mean. 11:50
11:50 kurahaupo left
abraxxa ah, GTK::Simple 11:50
this one www.tyil.nl/post/2018/03/20/perl6-...ogramming/ 11:51
sena_kun there is also GtkPlus - github.com/Xliff/p6-GtkPlus/
afk& 11:52
Kaiepi m: my $p = Promise.in(1000).then(-> $p { True }); $p.keep: False; await $p
camelia Access denied to keep/break this Promise; already vowed
in block <unit> at <tmp> line 1
Kaiepi m: my $p = Promise.in(1000).then(-> $p { True }); $p.vow.keep: False; await $p 11:53
camelia Access denied to keep/break this Promise; already vowed
in block <unit> at <tmp> line 1
abraxxa GTK::Simple is GTK3
Kaiepi is there a way to cancel a promise?
11:53 |oLa| joined, |oLa| left
mornfall Kaiepi: not if it's vow'd 11:56
tyil sena_kun: is it worth to do a blog post on GtkPlus? 12:04
I'm mostly waiting for a Qt module, so I can compare GTK and Qt 12:05
El_Che QT, ugly everywhere :) 12:15
mornfall tyil: don't hold your breath 12:21
tyil El_Che: not my favourite either, but you cant deny its popular nonetheless
El_Che tyil: I am good at denial :)
tyil I'd rather make a fair comparison in how either can be used first 12:22
mornfall are we talking qml or the legacy qt widgets?
tyil mornfall: I never made anything with Qt, so I have no clue
I'd just like a module for it to be available in Perl 6 so I can play around with it
mornfall qt is huge :)
tyil I'm aware 12:23
I compile it from time to time
mornfall it has interfaces for stuff like bluetooth, gps, web browsing, probably telephony... basically covers everything :p
so the question would sort of become which part of it you want in perl6 12:25
there are like 3 javascript interpreters in qt?
tyil the part that allows for making a gui
a simple application interface 12:26
mornfall so traditional desktop stuff?
tyil like the one I can make with GTK
mornfall i don't think it has much of a future, to be honest
El_Che ? 12:27
mornfall the widget set that qt keeps around
El_Che the rumours of the desktop's death have been greatly exaggerated 12:28
mornfall no they haven't
El_Che I am typing this on a desktop 12:29
mornfall i barely see any native desktop apps when i watch students work with computers
tyil yes, we are
but we are the exception here
El_Che there is a difference with multi device usage and death of desktops 12:30
I use all of them
tyil looking at my own family, I think I'm the only one with a desktop
mornfall they live in the browser... they even write C code in a browser
tyil my sisters, parents, aunts/uncles/neices all use tablets and rarely a laptop
Geth doc: taboege++ created pull request #2500:
Two Pod table fixes
mornfall it's not a 'desktop' if all you have it for is switching between browser windows
El_Che a desktop is also the interface 12:31
mouse, keyboard, bigger screen, powerful OS
mornfall not in the context of widget toolkits, it is not 12:32
El_Che they react differently
mobile-like widgets on desktops are a pest 12:33
(or deskop apps on mobile)
12:34 mrsolo joined, p6bannerbot sets mode: +v mrsolo
mornfall my point was that desktop apps are dying out... you can't counter that point by saying people still use keyboards and mice 12:34
even bloody office suites live in the browser now
El_Che and they suck terribly
mornfall (and have been for a while)
and people use them anyway
so what gives?
El_Che I don't think people pay expensive licenses for office to use it on a browser
mornfall people mostly just use the free google versions :p 12:35
tyil they actually do
El_Che I don't see people writing thesises or project charters on their phone
for simple stuff, there is google indeed
mornfall isn't there a free tier on ms office in the browser too?
12:35 timeless joined, p6bannerbot sets mode: +v timeless
mornfall El_Che: people write theses in overleaf 12:35
tyil El_Che: you'd be surprised what students nowadays use their phones for I guess
mornfall of course they do :)
tyil it wouldn't be the first time I'll see a student fill out some excel sheet on their phones 12:36
mornfall sure they open a laptop for that, but that's for the keyboard, not for desktop apps
tyil because "it's easier than grabbing the laptop"
El_Che we need to check with jmerelo, he's a professor 12:37
12:37 pmurias joined, p6bannerbot sets mode: +v pmurias
tyil I'm a student 12:38
tyil shrugs
mornfall i'm an assistant professor :p does that make my point more valid? ;-)
vs.code is pretty popular
El_Che mornfall: yes, it does, as you can see what 'the' youth does 12:39
(we're all doomed)
:)
tyil I find it odd that a student's perception of what students do is not valid, but their prof's perception is
mornfall the way i see it, there's a 3-way split
El_Che I was at dockercon this week, and many speakers we pushing Windows containers and using vs code 12:40
(bah)
tyil: no one says it's not valid
it's valid allright
mornfall there are the 'terminal people' (not too many, but still exists), there are the cloud people (vs.code or worse) and the middle road is the Java people
Java people stick to their Java apps somehow
tyil it's just a strange argumentation to say "we need to ask someone else who isn't even in the target group that was addressed"
mornfall Java and PyCharm, unless PyCharm is actually an electron app? no idea actually 12:41
tyil mornfall: no, PyCharm is a java based IDE iirc
El_Che mornfall: I am a terminal (vim) +'Java' person (IntelliJ for Go)
:)
no PyCharm is java
== IntelliJ
mornfall yeah... there's a perl6 ide in java isn't there
IDEA?
El_Che yes
Comma is also IntelliJ based 12:42
mornfall the Java IDEs somehow keep on going
El_Che they are good
mornfall i guess the hardware finally caught up :p
El_Che and... fast
mornfall compared to electron, they seem fast
i still remember waiting for eclipse or netbeans to redraw :D
i guess netbeans are not a thing anymore 12:43
tyil "fast" is not the term I'd use
El_Che tyil: fast-on-my-hardware
mornfall tyil: it's not hard to beat a blob of javascript on speed
tyil idk, Comma still takes a couple seconds to become usable
that doesn't strike me as "fast" when editors could start up in a split-second a decade ago 12:44
El_Che ok, true
it's stays java
but once it's up, it's fast
tyil it's acceptable in speed I guess
El_Che (they do the splash screen trick to work around the slow startup)
splash screen + small windows to select which project to open) 12:45
mornfall yeah splash screens... people actually make startup slower on purpose to be allowed a splash screen :p
El_Che here they need in order to prevent people to open the app several times because nothing happens :)
tyil I had to make an app with a splash screen for uni once 12:46
we unironically had to make startup slower so we could show a splash screen
>_>
12:46 pmurias left
mornfall but compare to discord or some other spawn-of-cthulhu electron app 12:46
tyil the splash screen was a required part of the assignment for some reason
El_Che slash screen is so silly
mornfall java doesn't seem slow in comparison to that
12:46 domidumont joined
El_Che well, once warmed up, Java is pretty fast 12:47
mornfall El_Che: but it gives users the feel that they are launching something substantial... something worth their money :p
El_Che mornfall: and then I think eclipse :)
12:47 p6bannerbot sets mode: +v domidumont
El_Che (why do they make splash screens also ugly?) 12:47
mornfall i'm pretty sure customers would feel cheated if apps just popped into existence in a split second, ready to use 12:48
even bloody spacemacs has a bloody progress bar starting up 12:49
its only saving grace is that i don't close it
12:54 pmurias joined, p6bannerbot sets mode: +v pmurias
pmurias tyil: I feel most people who use java IDEs keep their editor open instead of openning and closing it for every edit 12:55
yoleaux 04:53Z <SmokeMachine> pmurias: I think there is a hardcoded path on rakudo.js... /home/pmurias/nqp/install/share/nqp/lib/nqp-js-on-js/node_modules/nqp-runtime
04:54Z <SmokeMachine> pmurias: www.irccloud.com/pastebin/HgDTYu5K/
04:56Z <SmokeMachine> pmurias: nqp.libpath(["/home/pmurias/rakudo/node_modules/","/home/pmurias/nqp/install/share/nqp/lib/nqp-js-on-js/"]);
05:05Z <SmokeMachine> pmurias: when I changed `require("/home/pmurias/nqp/install/share/nqp/lib/nqp-js-on-js/node_modules/nqp-runtime")`to `require("nqp-runtime")` (and installed nqp-runtime) it just worked! Thanks
El_Che pmurias: amen, brother :) 12:56
pmurias personally I just hate how UI style of IDEs, I could wait 20seconds more if they just gave me a vim in terminal look without all the GUI shit 12:58
tyil pmurias: surely, but that's unrelated to the startup time
whether I keep any program open or not doesn't really have anything to do with it's startup time
12:58 pmurias left 13:00 pmurias joined, p6bannerbot sets mode: +v pmurias
pmurias tyil: it's super related, if you do the open-and-close-vim between every program run starup time is super important 13:00
tyil: if you start it up once per day it's not
tyil I keep vim open for long sessions as well
vim still starts up faster
El_Che (unrelated: unless you have the puppet plugin installed) 13:01
pmurias tyil: yes, but it doesn't matter much how long it starts up 13:02
tyil it does to me
pmurias why?
tyil when I want to stat working on a project, I want to start working on it now
I dont want to have to wait for some editor to start up because of inefficient programming
especially not when I'm on a laptop with limited power supply 13:03
El_Che not a lot beats vim on that kind of setup 13:05
tyil nano, ed, joe, emacs (in some configurations, that is) 13:06
nvim/vi
Geth doc: e83b221936 | (Tobias Boege)++ | doc/Language/operators.pod6
Escape '+' in identity value table

The '+' in "Arithmetic +" in the table of operator identity values acted as a column separator. Escape it.
doc: 8b83e2ff5b | (Tobias Boege)++ | doc/Type/Str.pod6
Fix multi-line content in sprintf flag table
doc: a454e6adea | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | 2 files
Merge pull request #2500 from taboege/identity-table

Two Pod table fixes
13:07 dogbert17 joined 13:08 p6bannerbot sets mode: +v dogbert17 13:11 go|dfish joined, p6bannerbot sets mode: +v go|dfish
tyil El_Che: my biggest issue with vim for Perl 6 is that it seems to be unbearably slow when using the vim-perl6 plugin to get decent syntax highlighting 13:11
but vim is so far the only editor that I can get to convert ascii ops to unicode ops as I write 13:12
Perl6::Tidy seems to crash on every file I've tried
(which supposedly should convert ascii ops to unicode ops)
pmurias hates that vim is configured extended in vimscript crap 13:13
13:13 gfldex joined 13:14 p6bannerbot sets mode: +v gfldex
pmurias it's interesting if a lot of people would use 'modern ide with a vim in terminal style interface' product 13:14
tyil there's nvim for those people 13:15
I find viml to be much more approachable than lisp
13:16 kensanata joined, p6bannerbot sets mode: +v kensanata
pmurias tyil: I wouldn't be surprised if you enjoyed going to the dentist ;) 13:16
tyil and having an actual programming language available for configuration is p nice
kinof a weird remark to make
SmokeMachine I like vimscript too... 13:17
El_Che my experience with vimscript was mostly trial-and-error
not much doc around
tyil it's certainly not my fave lang, but as a lang to get into from nothing? vim is much easier to configure than emacs in that regard
13:19 kurahaupo joined 13:20 p6bannerbot sets mode: +v kurahaupo
pmurias tyil: just a joke that you like something almost universally considered unpleasant ;) 13:21
timotimo: I added scroll bars to the 6pad dom output windows 13:23
tyil maybe by you, but certainly not "universally"
sjn tyil: pfft. everyone knows that pmurias has definotional authority over all things universal! :D 13:25
definitional*
tyil eh 13:26
I just dont think its adding anything wortwhile to the discussion to make a petty remark
El_Che sjn: there has been some talk to rename de Mu class to PMurias
sjn waits for pmurias' defining wand and point at something, shouting "UNIVERSAL"! :) 13:27
lizmat guys, cut it out (that molar, I guess :-)
sjn El_Che: hehehe
13:29 ChoHag left
sjn lizmat: now, dentist jokes - *those* give me a bad taste :) 13:29
lizmat
.oO( have another mint )
13:30
sjn hehe
lizmat attempts to change the type of joke
sjn you pierced my jokes with a spearmint
but sure, it was a breath of fresh air 13:31
lizmat
.oO( leaky lozenges )
Woodi hi today :)
sjn o/ Woodi 13:32
Woodi new Knuth lecture, if someone didn't see it yet: www.youtube.com/watch?v=t9OcDYfHqOk
so, linked lists can be represented as 3 column arrays :) and instant garbage collection is bad... 13:33
also some bilion-nth $ business is just subset of resolving sudoku theory :> 13:34
13:35 kurahaupo left, kurahaupo joined 13:36 p6bannerbot sets mode: +v kurahaupo
Woodi and on the current topic ;) : I just almoust decided to learn QT5 apps making and you saying desktops are dead :) but, imo, it's like with VMS and game consoles and 8bit computers in 80's - PC was just more universal so it have a niche :) 13:38
13:45 abraxxa left 13:46 abraxxa joined 13:47 p6bannerbot sets mode: +v abraxxa 13:49 abraxxa left 13:52 kerframil joined, p6bannerbot sets mode: +v kerframil
Woodi but maybe you are right with browser-future... eg. just released QT 5.12 LTS have just 3 years support. porting to 6 is predicted to be easy. but why rewrite app just after ~6 years, it's stupid. pure X apps have 20+ years and just works. but X is ending now. so: is pure PHP / CGI / server-side apps with basic HTML a long term recipe ? 14:03
14:04 pmurias left 14:05 pmurias joined, p6bannerbot sets mode: +v pmurias
pmurias Woodi: I would rather port a Qt app in 3 year to a new version than use PHP over CGI 14:08
14:09 jmerelo left
Woodi pmurias: problem is that big IT companies enforce apps rewrite/recycling. I would realy like some stable GUI platform... 14:12
masak Woodi: ooh, dancing links. thank you for the heads-up. :) 14:14
Woodi: you may or may not be familiar with my github.com/masak/dlx-simple 14:15
(certainly a project that could benefit a little from getting closer to its full vision)
14:16 curan left 14:17 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 14:18 AlexDaniel left
Woodi masak: I must confess that after that video and some wikipedia I still don't get "dancing nodes" idea :) probably Knuth explain it when he shows "3D" linked list... 14:18
14:18 vrurg joined, pmurias left 14:19 p6bannerbot sets mode: +v vrurg, pmurias joined, p6bannerbot sets mode: +v pmurias, pmurias left 14:20 harrison joined
masak Woodi: the fundamental idea is this. if you want to remove node B in a doubly linked list, that is, go from A<->B<->C to A<->C (and B on the side)... 14:20
14:20 vrurg left
masak ...then B can still *keep* its links back to A and C (even when A and C now point to each other)... 14:20
14:20 p6bannerbot sets mode: +v harrison
masak ...and that's enough information to later *re-insert* B in-between A and C! 14:20
even cooler: you can do this many times over, as long as you're careful to re-insert in LIFO (stack-based) order 14:21
the whole Dancing Links approach falls out from this "simple" observation
kurahaupo Doing it out of lifo order gets entertaining
masak main benefits of it: it's constant space, and it's *really* fast, since all we're doing is manipulating links (references) all over the place 14:22
Woodi maybe I don't get "array on the side" part :)
masak no copying in the recursive call at all
Woodi: maybe you need to start with doubly linked lists, then ;)
they're not so common in Perl
kurahaupo: LIFO order is just what a recursive search needs
Woodi: in (singly and doubly) linked lists, all the element nodes are allocated separately, and can be in non-contiguous parts of memory. unlike an array, where they are always next to each other. 14:23
Woodi: to know how to navigate between the nodes in a linked list, you have *links* (references) between the nodes. 1 in singly linked lists, 2 (backwards and forwards) in doubly linked. 14:24
Woodi: think of it maybe as a 1D graph :)
mornfall wait, where did the part about linked lists being fast come from?
Woodi masak: hey, I got that part :) 14:25
masak ok, just checking :)
mornfall: linked lists in themselves are not especially fast, I guess
mornfall: arrays can beat them on their own home turf, under some conditions
mornfall: what's fast in DLX is the complete lack of value copying between recursive calls, which is unusual 14:26
Woodi probably picture at 23:50 makes me dizzy
masak mornfall: instead of producing a safe-to-mutate copy, DLX is able to restore the state completely on the way back up out of the recursion
(again, because recursion means LIFO)
14:26 tobs` left
SmokeMachine timotimo: excuse me, but im just curious... on `EVAL :lang<JavaScript>, 'HTMLElement.prototype.defined = function() { return true }';` were you inspired by MemoizedDOM? 14:26
mornfall masak: DLX was the context i was missing 14:27
timotimo SmokeMachine: i stole it. i have no idea if it's for anything :D
masak Woodi: allow me to also recommend the very readable and colorful PDF: arxiv.org/pdf/cs/0011047.pdf
&
Woodi masak: thanx, checking
mornfall the whole state has to be sufficiently big for this to pay off either way 14:28
SmokeMachine timotimo: :)
timotimo: yes, I think you are not using that... I had to do that because I where testing the definiteness of a dom element... 14:29
timotimo: great article! :) 14:31
timotimo thanks!
Geth doc: hchienjo++ created pull request #2501:
Replace -v with --verbose
14:32
sena_kun tyil, o/ re GtkPlus: I am not its author, but not really sure. I have tried it recently, just running some tests, and it was very promising. OTOH, it has some tests failing, some errors and even segfaults, so I think it is "work in progress enough" to wait. 14:37
tyil sena_kun: alright, I'll leave it as is then (for now) :) 14:38
14:39 zakharyas left, MasterDuke joined, p6bannerbot sets mode: +v MasterDuke, MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke
sena_kun I just suggested it because for _internal_ play with some UI in Perl 6, it might be cool, if one won't touch some features(and you usually don't want to use _all_ features of Gtk :) ). Also, additional testing can help author a lot with even bug reports, which is a plus if one isn't going to write some "enterprisey" stuff. 14:40
[Coke] ARGH 14:42
I should have opened a ticket, I guess; the update of rakudo on the doc site has broken the build.
docs.perl6.org/build-log/build-201...+00:00.log
(there was a discussion in IRC days or weeksa go) 14:43
it now dies with
Cannot resolve caller handle(Pod::Defn{:term("Hap..., :part-config({anchored => True, h...), :toc-counter(Pod::To::BigPage::TO...), :part-number(35), :pod-name(/language/039-pod.pod6)); none of these signatures match:
there was about the error in general: github.com/perl6/doc/issues/2424 14:44
but not a separate one to safely update rakudo on the site.
so I would expect any new updates to not get pushed out until this breaking pod change that was introduced to rakudo is fixed. 14:45
(or dealt with in Pod::To::Bigpage)
14:51 MasterDuke left 15:01 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 15:02 kensanata left 15:03 pmurias joined, p6bannerbot sets mode: +v pmurias 15:05 yqt left 15:07 pmurias left 15:21 harrison left 15:23 kurahaupo left 15:26 kurahaupo joined, p6bannerbot sets mode: +v kurahaupo 15:27 Actualeyes left 15:50 kurahaupo left, kurahaupo joined 15:51 p6bannerbot sets mode: +v kurahaupo 15:53 zacts joined, p6bannerbot sets mode: +v zacts 15:55 zacts left, zacts joined, p6bannerbot sets mode: +v zacts 16:13 kurahaupo left 16:14 kurahaupo joined, p6bannerbot sets mode: +v kurahaupo 16:15 pmurias joined, p6bannerbot sets mode: +v pmurias 16:20 pmurias left 16:25 lizmat left 16:27 census joined, p6bannerbot sets mode: +v census 16:29 lizmat joined, p6bannerbot sets mode: +v lizmat 16:33 raynold_ joined, p6bannerbot sets mode: +v raynold_ 16:34 pmurias joined, p6bannerbot sets mode: +v pmurias, census left 16:36 zacts left
pmurias timotimo: btw have you noticed anything you want improved in 6pad/rakudo.js? 16:36
SmokeMachine: the 0.28.0 parcel-plugin-nqp shouldn't hardcode the /home/pmurias path anymmore 16:38
SmokeMachine pmurias: thanks! 16:39
16:45 domidumont left 16:46 kurahaupo left, kurahaupo joined 16:47 p6bannerbot sets mode: +v kurahaupo 16:48 robertle left 16:49 raynold_ left 16:58 araujo left 17:00 zacts joined, p6bannerbot sets mode: +v zacts
Altreus So I'm doing this Discord API and I have a design question 17:02
Sometimes, the API sends us partial data and so I can construct a partial object
I can use Attribute::Predicate to test whether I have a particular field set, and fetch the rest of the object if not
However, I'd then like a value that looks undefined except to Attribute::Predicate, so if we have already fetched and the API said it was undefined, we don't fetch again 17:03
Much like how Perl5's Moose can tell that an attribute has been explicitly set to undef, versus having not been set
Also I kind of want to have a pre-fetch modifier on all the attributes so that if they haven't been set I can synchronously fetch them before returning the value ... is that even possible? 17:04
I suppose the answer is yes but MOP 17:05
mornfall i would just add private attributes that specify whether the real thing was already fetched or not
but that's kinda lowtech 17:06
Geth doc: 417fcc8692 | (Harrison Chienjo)++ | doc/Language/create-cli.pod6
Squashed commit of the following:

commit c8eef326fc7efe6f0e09de6677e9dd1c1e7a9aa1 Author: Harrison Chienjo [email@hidden.address] Date: Fri Dec 7 17:25:16 2018 +0300
   Replace -v with --verbose.
doc: ec77bebbf9 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | doc/Language/create-cli.pod6
Merge pull request #2501 from hchienjo/fix-cmd-typo

Replace -v with --verbose
17:06 duffee left
pmurias Altreus: re pre-fetch modifier on attributes, it's not possible 17:08
Altreus :( cry 17:09
pmurias Altreus: you can't intercept attribute access at all, you can however have custom accessors
Altreus can I do them magically so I don't have to fill my file with boilerplate?
pmurias Altreus: yes 17:10
Altreus: you can add method with the MOP
* methods
Altreus mop is not in my wheelhouse yet :D 17:11
I tried figuring it out a couple of times but I need to grasp some more fundamentals first
17:13 scimon left
Xliff \o 17:19
mornfall nobody likes the mop :( 17:26
kinda like continuations
or even proper coroutines 17:27
for most students, the call stack is about as much magic as they can stomach :p
sena_kun likes MOP a lot
17:28 japhb_ joined, p6bannerbot sets mode: +v japhb_ 17:31 domidumont joined 17:32 lizmat left, p6bannerbot sets mode: +v domidumont
Geth doc: 04a027dbc0 | (JJ Merelo)++ | META6.json
Upgrades Pod::to::BigPage closes #2424
17:34
17:35 zacts left
SmokeMachine you could intercept attribute access if the were Proxy... at least until 2018.10 17:52
17:54 pmurias left
SmokeMachine commit: 2018.10 class C { has $!a }; C.^add_multi_method: "a", method () is rw { self.^attributes.head.get_value: self }; C.^compose; my $c = C.new; $c.^attributes.head.set_value: $c, Proxy.new: FETCH => method { say "FETCH" }, STORE => method (|) { say "STORE" }; say $c.a; $c.a = 42 # <- Altreus pmurias 17:58
committable6 SmokeMachine, ¦2018.10: «FETCH␤FETCH␤FETCH␤FETCH␤FETCH␤FETCH␤FETCH␤FETCH␤FETCH␤FETCH␤FETCH␤FETCH␤FETCH␤True␤STORE␤»
SmokeMachine m: class C { has $!a }; C.^add_multi_method: "a", method () is rw { self.^attributes.head.get_value: self }; C.^compose; my $c = C.new; $c.^attributes.head.set_value: $c, Proxy.new: FETCH => method { say "FETCH" }, STORE => method (|) { say "STORE" }; say $c.a; $c.a = 42 18:01
camelia FETCH
Cannot modify an immutable Bool (True)
in block <unit> at <tmp> line 1

FETCH
FETCH
True
FETCH
18:02 pmurias joined, p6bannerbot sets mode: +v pmurias
pmurias SmokeMachine: technically that's putting a Proxy into the attribute 18:02
you are intercepting the value being stored into the scalar taken from the attribute, not the attribute itself being accessed 18:03
SmokeMachine pmurias: yes, you are right, but that way you can "do that" that's how I mark an attribute as dirty on Red 18:05
18:11 Marcool joined 18:18 sauvin left 18:21 dct joined, p6bannerbot sets mode: +v dct
Xliff Can you pass Nil to a NativeCall function expecting a callback? 18:28
18:30 Thaeus joined 18:31 |oLa| joined, p6bannerbot sets mode: +v Thaeus 18:32 p6bannerbot sets mode: +v |oLa|
Kaiepi am i handling exceptions right here? hastebin.com/ajedoxenol.rb 18:33
AlexDaniel hmm did we have any consensus on whether module exceptions should start with X:: ? 18:35
in other words X::MyModule::Sumtinwong vs MyModule::X::Sumtinwong
sena_kun in Cro we do the first one. 18:37
Kaiepi hmm returning failures in methods that return promises might not be a good idea
maybe if i wrap them in a promise 18:38
18:38 |oLa| left
El_Che wouldn't MyModule::X::Sumtinwong result in less accidental overriding of exception classes? 18:39
(as it is scoped on the module level?) 18:40
Kaiepi depends on how you name it after the X 18:41
i've been doing X::<project name>::<error> 18:42
18:43 coet joined, p6bannerbot sets mode: +v coet
El_Che Kaiepi: I mean, they are both convention, but X:: is more liberal 18:47
18:48 Kaiepi left, Kaiepi joined
El_Che it reminds me a little of _this_is_a_private_method_in_a_sister_languege() :) 18:48
18:49 p6bannerbot sets mode: +v Kaiepi 18:54 dct left 19:05 |oLa| joined 19:06 p6bannerbot sets mode: +v |oLa| 19:19 Kaiepi left, Kaypie joined 19:20 p6bannerbot sets mode: +v Kaypie 19:21 Kaypie left 19:22 Kaypie joined, p6bannerbot sets mode: +v Kaypie 19:23 Marcool left 19:24 zakharyas joined 19:25 p6bannerbot sets mode: +v zakharyas 19:30 zacts joined, p6bannerbot sets mode: +v zacts 19:39 vike left 19:40 greppable6 left, bloatable6 left, bloatable6 joined, greppable6 joined, vike joined 19:41 p6bannerbot sets mode: +v bloatable6, p6bannerbot sets mode: +v greppable6, p6bannerbot sets mode: +v vike
Geth doc: 5c0d887690 | (Steve Mynott)++ | doc/Language/faq.pod6
update for 6.d release
19:47
19:50 Sgeo left 19:54 pmurias left, pmurias joined, p6bannerbot sets mode: +v pmurias 20:00 lizmat joined, p6bannerbot sets mode: +v lizmat, lizmat left 20:06 |oLa| left 20:08 lizmat joined, p6bannerbot sets mode: +v lizmat 20:15 zacts left, Sgeo joined 20:16 zakharyas left, p6bannerbot sets mode: +v Sgeo 20:18 domidumont left
mornfall Cro keeps being mentioned... but can someone tell me what it actually is? 20:21
yes i have seen the homepage, it has a lofty blurb which tells me nothing, unfortunately 20:22
when you say reactive distributed system, i think of erlang
pmurias a microservice oriented web framework
mornfall which is a bit of a buzzword itself... what does it actually do though? :) 20:23
El_Che it offers and consumes http request with support for middleware
like most http microservices or frameworks out there 20:24
mornfall so it's something like aiohttp for python asyncio? an http server + http client? 20:26
sena_kun no
give me a minute or something
I'll try to write it up shortly, but easy to grasp
:)
El_Che mornfall: something like the built-in http package in go
or the echo webframework slightly on top
mornfall i don't know much about go, unfortunately
El_Che (becasue of the middleware)
(I don't know much about python :) ) 20:27
sena_kun mornfall, do you know about Supply/Supplier?
mornfall sure
sena_kun ok, that'd be easier, so writing. :)
El_Che mornfall: or mojolicious if you know Perl 5? 20:28
mornfall i know about distributed applications too and distributed computing, even MPI if need be :p
El_Che: perl5 yes, but not mojolicious
sena_kun El_Che, I am sorry, but Cro is nothing like Mojolicious viewing from isides, I am afraid. :S It is not a web framework, but it can be. 20:29
mornfall i'm looking at cro-http-middleware, because that's clearly the bit i don't get :)
El_Che sena_kun: the same approache to routing as a sub?
mornfall (to be honest, i don't really know what middleware normally means, but when you say middleware i imagine jboss :p) 20:30
sena_kun El_Che, it does not matter. Cro::Transform and other primitives from Cro::Core are what makes it awesome. Everything else is just a plain application of a nice pattern. :) 20:31
though I am biased, of course.
El_Che hehe
I didn't mean it's a copy
mornfall well, i mostly imagine a frankenstein of an object persistence layer along with a bunch of overengineered protocols based on XML-RPC 20:34
i think i might have passed a course on middleware that involved doing a practical project too, but i basically passed it with my eyes glazed over
El_Che mornfall: middleware on cro (or go for that matter) is just wrapping functions
not like those in Java
mornfall to be fair, cro-http-middleware sounds a bit like aspect-oriented programming in disguise
20:34 graphene left
mornfall (aspects are nice, but unfortunately i find it hard to factor things cleanly into aspects because usually there are semantic dependencies between things, and then it isn't nearly as neat as theory says it should be) 20:36
20:36 graphene joined 20:37 p6bannerbot sets mode: +v graphene
mornfall also there's a zeromq class... that does seem related to java middlewares? 20:37
20:38 Kaypie left 20:39 Kaypie joined, p6bannerbot sets mode: +v Kaypie
sena_kun ok, so the basic idea is that you can, well, chain supplies. for example, you have a supply that gives you raw bytes from a socket. let's assume those bytes are actually plain HTTP/1.1 messages. You can write a nice incremental request parser to get those requests out. so our first supply gives us bytes, and our parser gives us requests already parsed... something like `whenever $bytes -> $message { (try to parse, if we have a complete 20:41
message, do something with the message) }`. but the code that does something with messages is not really nice to _compose_. To make it nicely composeable, we can do roughtly `supply { whenever $bytes { my $req = parse($_); emit $req } }` and then you can use this supply as a source of not some bytes anymore, but as requests. boom! in fact, Cro::Core describes a number of nicely designed primitives to have, for examples, "source of
messages A", "transformer that takes a stream of messages A and turns those into stream of messages B", "sink of messages B"(for example, when you send response bytes into socket, there is no way from there), "Conditional transform" and others. Everything above is built around the core concept that you can create computational chains: HTTP, HTTP/2, ZeroMQ, WebSockets, more to come. Those are not main things here, just things where this
pattern is applied nicely.
20:42 yqt joined
mornfall did you just describe the Oleg left fold enumerators? :p 20:42
sena_kun so it is more of a framework to do some `get-data.map.map.map-send`, but with modularity, async and _a lot_ of goodies out of the box. :) 20:43
mornfall, yup
kind of
20:43 p6bannerbot sets mode: +v yqt
mornfall okay, that's a language i can understand :p 20:43
i mean, it's what .lines does on Proc::Async's stdout/stderr supplies 20:44
sena_kun mornfall, you can see Cro as a thing that lets you build composable morphisms nicely in Perl 6, if you want. *yawns*
mornfall yes, it's a nice concept and having building blocks like that is useful
sena_kun yup, so that's about it. seeing Cro being compared to $some-web-framework just because it implements HTTP is a bit of underestimation if you ask me. :> 20:45
mornfall i just absolutely hate writing the plumbing for those :P
sena_kun for end users, I think, things like http web server with quite a smart router are easier to get and use. but at the end of the day, well, given an example... 20:47
mornfall i picked aiohttp in particular because that's based on coroutines and an event loop, which feeds the data from sockets into the coroutines in chunks, and aiohttp is part of the plumbing that'll dice the chunks into http-logical pieces
but it does fall short of the full iteratee/enumerator treatment 20:48
sena_kun HTTP/2 is based on HTTP/1.1, but is actually binary protocol transferred using binary frames. in usual HTTP, our chain for a server is like `bytes->RequestParser->router->ResponseSerializer`. To do HTTP/2, we just took old components, already written, and sticked two more Cro::Transforms, composing it like: `bytes->FrameParser->RequestParser->Router->ResponseSerializer->FrameSerializer`. 20:50
haven't used aiohttp, so cannot compare. 20:51
mornfall i didn't either, i just force students to try it out :p
sena_kun heh 20:52
mornfall asyncio and aiohttp is a pretty big step forward from anything else i have seen on python, tbh
but that doesn't say much, because a lot of python out there is just garbage :(
sena_kun well, I haven't written anything in python for a couple of years, so dunno. 20:53
20:53 CaptHindsight joined
pmurias ' 20:53
20:53 CaptHindsight left
pmurias sorry 20:53
mornfall (though there are a few sharp edges about perl6 that i already dislike, like its propensity to eat up exceptions :p) 20:54
(though some of that is my fault for taking an axe to it because i was time-constrained...) 20:55
sena_kun I got bitten by it too, sometimes. :/
pmurias sena_kun: it could be a good idea to have a "What's the secret sauce?" style page in cro docs
sena_kun on the other hand, I really love features Perl 6 offers. :P
pmurias, yup, that might be. Thanks for an idea! I'll file an issue, I guess. 20:56
though I wonder if a page buried in the docs will be enough.
I mean, we already have cro.services/docs/approach which describes, you know, `Approach`. 20:57
it is not being reached by e.g. mornfall is another question. :) 20:58
mornfall i think my main problem is that looking at the main page and lightly browsing the docs didn't answer the question "what can this do for me"? 20:59
still, people keep mentioning Cro so well, it is probably good for *something*? :)
sena_kun :) 21:00
well, thanks a lot for mentioning it here.
because such issues should be addressed as well as "normal" bug reports. :> 21:01
21:06 kerframil left
pmurias mornfall: people use it as a web framework in Perl 6 21:08
mornfall yes, that makes sense, and i would at least consider the client parts instead of HTTP::UserAgent for my test clients 21:10
i even installed some Cro components when Cro came up in zef searches, but couldn't really make much sense of the homepage :p 21:11
and i didn't need an http server
sena_kun created a ticket 21:12
mornfall (that Cro has an http server was about the only obvious thing to me at the time :p)
sena_kun mornfall, I hope this bit of mis-understanding is cleared up now. :)
21:13 xlat joined, p6bannerbot sets mode: +v xlat
mornfall yes, though i will need to explore the APIs a bit to see how useful it's going to be for my purposes :-) 21:14
sena_kun writes yet another large Cro module in the meanwhile 21:15
mornfall async is good, especially if i can combine it into a single event loop with Proc::Async
being able to fire off an http request and just react when it goes through would have saved me a lot of trouble :p 21:16
sena_kun: i think the other thing that put me off is $ p6doc Cro::SSL → No Pod found in [...] 21:20
(i have that command in history from a few days ago)
sena_kun Cro::TLS is a thing, Cro::SSL is deprecated.
mornfall yes, i just noticed on the web
unfortunately zef search SSL doesn't find Cro::TLS 21:21
sena_kun unfortunately, I don't use `p6doc` and not really sure what it does. in, like, I get it gets you some docs, but what sources are used and what we can do to support it.
mornfall sena_kun: it just looks at the module and shows you the pod in the module
sena_kun well, the docs are written separately in our case, so no pod. :/ 21:22
mornfall yeah, this is a disturbing trend in perl6 :(
each module or family of modules has its own documentation in its own location 21:23
sena_kun why so?
mornfall well with perl5, i can get virtually anything from cpan, type man Module::Foo and get decent docs
tbrowder moritz: looks to me like advent day has a problem: the day is not highlighted on the calendar
* day 5
mornfall or perldoc 21:24
i fall back to zef look which gives me the source of the module, but it's a fair bit less convenient 21:25
sena_kun then it is likely disturbing, yes. 21:26
mornfall sena_kun: the problem with everyone doing docs their way is that they become a lot harder to navigate... having docs instantly for every module is really convenient 21:27
sena_kun mornfall, agreed
21:28 dct joined, p6bannerbot sets mode: +v dct 21:40 daxim left
mornfall sena_kun: if you don't mind me complaining so much, considering how i had to go to a website for Cro docs, it's odd that references to other modules or classes are not hyperlinked 21:44
sena_kun I don't mind, can you give an example? 21:45
mornfall (like, Cro::TLS says Cro::TLS::Connector is just like Cro::TCP::Connector but I have to navigate back to contents to find out what that actually means?)
oh... maybe that's because Cro::TCP doesn't have docs?)
-)
sena_kun yes
that might be the reason
mornfall yeah i didn't find it yet, but assumed that was problem at my end 21:46
sena_kun on the site we automatically replace stuff like `Cro::HTTP::Router` into an appropriate link, if there is one.
mornfall i see
sena_kun for example, if you open `Cro::HTTP::Server` page, stuff like `Cro::HTTP::Request`, `Response`, `Router` will have links. 21:47
or, rather, _be_ links.
mornfall indeed it works on other pages
sena_kun and fact that docs for small percent of classes are missing is a known issue. 21:48
mornfall yeah, i usually go straight for the undocumented bit :)
i hate to deal with people like me :p 21:49
sena_kun no problem, really. :)
nothing is perfect and "Oh, folks, you have a flaw here, is it known or not really" is anyway way better than "Oh, something is wrong, this software piece is probably too bad to use, I'll pass". :) 21:51
Voldenet `nothing is perfect` - not true, perfection is 21:53
[Coke] .seen finanalyst 21:54
yoleaux I saw finanalyst 11:05Z in #perl6: <finanalyst> .tell moritz would it be possible for you to upgrade the perl6 on docs.perl6.org ? JJ is not able to access the server at this moment
[Coke] .tell finanalyst can you merge github.com/perl6/perl6-pod-to-bigpage/pull/33 and publish it, on the assumption that it will let us fix the doc generation for the public site? the upgrade to rakudo has broken it until we get the fix in. 21:55
yoleaux [Coke]: I'll pass your message to finanalyst.
sena_kun mornfall, by the way, there is a #cro irc channel, so feel free to post there if questions/bug reports/etc. I am always keeping an eye on it while online, cannot say exaclty so about this channel.
21:55 zacts joined 21:56 p6bannerbot sets mode: +v zacts
[Coke] .tell moritz in future, I think we should have some sort of test process before upgrade rakudo used to build the doc site. 21:56
yoleaux [Coke]: I'll pass your message to moritz.
21:59 dct left 22:00 xlat left 22:10 rindolf left
moritz can't we let travis build the site? 22:17
yoleaux 21:56Z <[Coke]> moritz: in future, I think we should have some sort of test process before upgrade rakudo used to build the doc site.
22:20 rindolf joined, p6bannerbot sets mode: +v rindolf
b2gills mornfall: If you have 45min, you could watch this talk on Cro by jnthn: www.youtube.com/watch?v=CH6Hmc9liRs 22:42
Also the http stuff was added to Cro because that was the most likely use-case. (Meaning that isn't all it does.)
mornfall b2gills: i'll watch that (though i mostly figured what cro is/does from the conversation with sena_kun) 22:56
though right now i would rather appreciate docs on IO::Socket::Async::SSL which is referenced from Cro::TLS 22:57
23:00 pyrimidine left 23:02 graphene left 23:03 irdr left
El_Che moritz: sure: docs.travis-ci.com/user/deployment/ 23:03
moritz: only problem is that many people would have access to the upload secret
23:03 graphene joined
El_Che moritz: maybe a 2nd deploy repo with a travis cron 23:04
23:04 p6bannerbot sets mode: +v graphene
mornfall my Cro::Service... seriously :D 23:08
timotimo yep!
mornfall what are you people :P 23:09
timotimo serious punsters 23:10
23:21 yqt left 23:23 zacts left 23:26 kensanata joined, p6bannerbot sets mode: +v kensanata 23:28 Actualeyes joined, p6bannerbot sets mode: +v Actualeyes 23:35 holyghost left
mornfall well, i learned a few bits about react/supply and about signatures :-) 23:42
sena_kun ;) 23:43
mornfall i didn't know the typechecker was Turing-complete :P 23:44
timotimo the "where" stuff is mostly run-time, though
mornfall yeah, a lot more of the typechecker happens at runtime than i would like :\ partially caused by dynamic everything 23:45
it's inconvenient that i can call non-existing methods without raising a compile-time alarm 23:46
(even more so that i can then accidentally catch the exception it causes and never know that i have a typo in the program) 23:47
pmurias mornfall: how do you accidently catch exceptions?
timotimo: did you notice stuff that needs to be improved when using 6pad?
timotimo pmurias: having to manually reset the contents of the HTML page, though that could be A Feature™ actually 23:48
mornfall okay this wasn't what i intended, but moar(51917) in calloc(): bogus pointer (double free?) 0xdfdfdfdfdfdfdfdf 23:49
oops?
pmurias timotimo: thanks that should be easy to fix
mornfall m: Supply.from-list(1, 2).throttle( 1, { say 'dying'; die 'x' } ).tap( { .() } ) 23:50
camelia dying
mornfall pmurias: ^^ this is how
(the tap doesn't make sense, sorry about that) 23:51
(it's a bona-fide accidental type error, nothing to do with my complaint about nonexistent methods :p) 23:52
pmurias timotimo: thanks for the feed back it really helps to make things sucks less ;)
timotimo \o/
mornfall m: Supply.from-list(1, 2).throttle( 1, { say 'dying'; 1.() } ).tap( { say "tap"; } )
camelia dying
tap
dying
tap
mornfall m: 1.() 23:53
camelia No such method 'CALL-ME' for invocant of type 'Int'
in block <unit> at <tmp> line 1
timotimo we need some more examples, like how to use canvas or maybe even webgl
also, some examples showing how easy it is to include 3rd party modules, like maybe three.js?
mornfall > Supply.from-list(1, 2).tap( { .() } ) 23:55
moar(72755) in free(): Tap.new
bogus pointer (double free?) 0xdfdfdfdfdfdfdfdf
This is MoarVM version 2018.11 built with JIT support
timotimo that wasn't actually the exact pointer, right? 23:58
mornfall timotimo: what do you mean?