🦋 Welcome to the former MAIN() IRC channel of the Raku Programming Language (raku.org). This channel has moved to Libera (irc.libera.chat #raku) Set by lizmat on 23 May 2021. |
|||
00:05
reportable6 left
00:08
reportable6 joined
00:10
rbt left
01:01
lucs left
01:03
xelxebar joined
01:17
[Sno] joined,
kvw_5_ joined
01:30
rbt joined,
rbt left
01:31
lucasb left
02:46
rbt joined
02:56
rbt left,
rbt joined
02:59
freenodecom joined,
freenodecom sets mode: +o freenodecom
|
|||
freenodecom | This channel has been reopened with respect to the communities and new users. The topic is in violation of freenode policy: freenode.net/policies | 02:59 | |
02:59
freenodecom sets mode: -v samebchase,
freenodecom sets mode: -v literal,
freenodecom sets mode: -v benaiah,
freenodecom sets mode: -v Mithaldu,
freenodecom sets mode: -v KotH,
freenodecom sets mode: -v perry,
freenodecom sets mode: -v riatre,
freenodecom sets mode: -v SmokeMachine,
freenodecom sets mode: -v a3f,
freenodecom sets mode: -v mojca,
freenodecom sets mode: -v pnu__,
freenodecom sets mode: -v charsbar,
freenodecom sets mode: -v tyil,
freenodecom sets mode: -v pierrot,
freenodecom sets mode: -v Util,
freenodecom sets mode: -v xi,
freenodecom sets mode: -v UukGoblin,
freenodecom sets mode: -v ambs,
freenodecom sets mode: -v vaskozl,
freenodecom sets mode: -v bdju,
freenodecom sets mode: -v sjn,
freenodecom sets mode: -v Grrrr,
freenodecom sets mode: -v ecocode,
freenodecom sets mode: -v nicholatian,
freenodecom sets mode: -v silug,
freenodecom sets mode: -v __jrjsmrtn__,
freenodecom sets mode: -v sivoais,
freenodecom sets mode: -v defaultxr,
freenodecom sets mode: -v japhb,
freenodecom sets mode: -v agentzh,
freenodecom sets mode: -v kst,
freenodecom sets mode: -v mrsolo,
freenodecom sets mode: -v PotatoGim,
freenodecom sets mode: -v bonz060,
freenodecom sets mode: -v vrurg,
freenodecom sets mode: -v rypervenche,
freenodecom sets mode: -v maggotbrain,
freenodecom sets mode: -v broquaint,
freenodecom sets mode: -v brass,
freenodecom sets mode: -v spycrab0,
freenodecom sets mode: -v peteretep,
freenodecom sets mode: -v Voldenet,
freenodecom sets mode: -v jhill,
freenodecom sets mode: -v robinsmidsrod,
freenodecom sets mode: -v BuildTheRobots,
freenodecom sets mode: -v stux|RC-only,
freenodecom sets mode: -v nine,
freenodecom sets mode: -v xinming,
freenodecom sets mode: -v solitario3,
freenodecom sets mode: -v gordonfish,
freenodecom sets mode: -v jcallen,
freenodecom sets mode: -v Grauwolf,
freenodecom sets mode: -v jdv79,
freenodecom sets mode: -v Ulti,
freenodecom sets mode: -v klapperl,
freenodecom sets mode: -v Manifest0,
freenodecom sets mode: -v cooper,
freenodecom sets mode: -v sena_kun,
freenodecom sets mode: -v krunen,
freenodecom sets mode: -v Benett,
freenodecom sets mode: -v Maylay,
freenodecom sets mode: -v Henry151,
freenodecom sets mode: -v rba,
freenodecom sets mode: -v esh,
freenodecom sets mode: -v albino,
freenodecom sets mode: -v camelia,
freenodecom sets mode: -v zostay,
freenodecom sets mode: -v solitario,
freenodecom sets mode: -v cpage,
freenodecom sets mode: -v xkr47,
freenodecom sets mode: -v elcaro,
freenodecom sets mode: -v lizmat,
freenodecom sets mode: -v eater,
freenodecom sets mode: -v karupanerura,
freenodecom sets mode: -v tadzik,
freenodecom sets mode: -v lnx,
freenodecom sets mode: -v cxreg,
freenodecom sets mode: -v BinGOs,
freenodecom sets mode: -v hvxgr,
freenodecom sets mode: -v m6locks,
freenodecom sets mode: -v ingy,
freenodecom sets mode: -v brown121407,
freenodecom sets mode: -v pel,
freenodecom sets mode: -v timotimo,
freenodecom sets mode: -v Sir_Ragna,
OperServ sets mode: +o freenodecom,
ChanServ sets mode: +impscf ##raku,
ChanServ sets mode: -bb mst!*@* *!*5c9a5b04@*.w92-154.abo.wanadoo.fr
|
|||
freenodecom | The new channel is ##raku | 02:59 | |
02:59
freenodecom left
03:11
rbt left,
rbt joined
|
|||
frost | the raku channel on freenode has got hijacked? | 03:11 | |
03:11
rbt left
|
|||
moon-child | frost: that seems to have happened to a few channels | 03:24 | |
mika.l3ib.org/tmp/zsh-takeover.log e.g. | 03:26 | ||
04:07
rbt joined
04:17
rbt left,
rbt joined
|
|||
simcop2387 | frost: staff on freenode closed many many channels | 04:19 | |
00:15:31 [freenode] -rasengan(~rasengan@freenode/staff/rasengan)- [Global Notice] In the recent policy enforcement, some channels were erroneously included. We greatly apologize for the inconvenience. Please contact us in #freenode-services or contact-us@freenode.net. Thanks for your patience and choosing freenode! | 04:20 | ||
04:31
japhb left
04:32
rbt left,
rbt joined
04:33
rbt left,
rbt joined,
rbt left,
rbt joined
04:36
ggoebel_ left
|
|||
guifa | Phew. That took more time than I expected, but finally figured out a way to track the code-order of subpackages | 04:37 | |
japhb | Thanks for mentioning something here. I looked back at the channels I had on Freenode, and in most of them I'd been -o -v'ed. All the ones that mentioned libera.chat, strangely enough. *rolls eyes* | 04:45 | |
04:49
guifa left
04:50
guifa joined
|
|||
simcop2387 | japhb: yep, they closed a couple hundred channels by my estimation. many of them with <20-30 members | 04:53 | |
literally anything that had "libera.chat" in the /topic it seems, as a perceived policy violation | 04:54 | ||
they changed the freenode.net homepage to talk about it all | |||
moon-child | 'this channel will never move to libera.chat' shut down. Seems like a good strategy :P | ||
japhb | Brilliant! | 05:08 | |
japhb just finished pushing changes to the MUGS repos to repoint IRC contacts to this network, sigh. | 05:09 | ||
... and resent MUGS org request to Libera.Chat, now that they have a ticketing system apparently. | 05:20 | ||
05:23
rbt left
05:34
rbt joined
06:05
reportable6 left,
reportable6 joined
06:18
holyghost joined,
holyghost left
06:34
b4283 left
06:40
frost left,
frost joined
06:44
rbt left,
rbt joined,
rbt left,
stoned75 joined,
rbt joined,
rbt left
06:50
guifa left
06:55
rbt joined
07:00
rbt left,
rbt joined
07:15
rbt left
07:30
renormalist left,
renormalist joined
07:31
renormalist left,
renormalist joined
07:32
renormalist left
07:37
renormalist joined
07:40
dakkar joined
|
|||
tyil | our channel on Freenode has been nuked | 07:57 | |
07:58
patrickb joined
08:00
Sgeo left
08:06
rbt joined
08:08
Woodi_ is now known as Woodi
08:14
hankache joined
|
|||
lizmat | www.reddit.com/r/rakulang/comments..._channels/ | 08:24 | |
Altreus | kind of making it a moot question eh | 08:25 | |
lizmat | yes, indeed.. and sore losers they are indeed | ||
it does make clear that current Freenode management thinks you're the product | |||
hankache | What exactly did the channels violate? | 08:26 | |
Lol | |||
Altreus | I have this image of Lee wringing his hands and cackling that he's finally king of the whole freenode, and then his squires bring him word that everyone's on boats | 08:27 | |
hankache: rule number 1 of freenode club is you do not talk about libera club | |||
raydiak | our channels and about 700 others. did we expect otherwise? changing the topic to indicate the move basically said "libera is better than this". BDFLs notwithstanding, dictators tend to take a dim view of such things... | 08:28 | |
Altreus | is this new, or the same as it ever was? freenode.net/policies | 08:29 | |
hankache | I think it's just a stunt to say that they kicked the communities instead of saying they left | ||
Altreus | dictatorship only works when you cannot prevent the subjugated from leaving | ||
08:29
GreaseMonkey joined
|
|||
nine | At least this finally triggered me dropping my nick registration | 08:30 | |
Altreus | oh ... that would require me reconnecting | 08:31 | |
maybe I can do it from webchat :D | |||
GreaseMonkey | it appears i have finally gotten to this language on my programming language todo list and i'm looking forward to it | 08:35 | |
Altreus | welcome | ||
GreaseMonkey | i'm a big fan of static typing | ||
and thanks | |||
Altreus | I am looking forward to being equally stumped by your questions | ||
GreaseMonkey | yeah that's how it goes | 08:36 | |
Altreus | I do like raku but there are bits I wish it didn't have | 08:37 | |
coming from perl5 anyway | |||
where do you come from, GreaseMonkey? | |||
If you have a todo list I suppose you have tried many | |||
GreaseMonkey | quite a few things but the things that are sticking out the most here are Python and Common Lisp | ||
and i use copious buckets of mypy when coding in Python | 08:38 | ||
and copious buckets of (declare (type ...)) when coding in CL | |||
moon-child | raku is basically common lisp but with syntax | ||
Altreus | Common Lisp! How scandalous! | 08:39 | |
moon-child | (and just as extensible, if not more so, wrt syntax as cl is wrt semantics) | ||
GreaseMonkey | ...considering that there's something called the metaobject protocol here, i have to concur | ||
Altreus | We only take hoi polloi lisps here | ||
dpk | as a Lisper, i'm inclined to agree | ||
Altreus | Dave Lisper? | ||
I have never used a lisp, unless you count Perl and Raku | 08:40 | ||
People have described perl as a lisp | |||
dpk | Raku is the most successful attempt since Dylan to create a language with the power of Lisp with non-S-expression notation | ||
Altreus | It's definitely an impediment hohoho | ||
dpk | Perl 5 is most definitely not a Lisp, hah | ||
moon-child | dpk: didn't julia have some of that | ||
haven't used it. But I hear it at least has dynamic dispatch | |||
GreaseMonkey | wait, how did people call Perl a Lisp | ||
dpk | oh, yeah, or Julia in the same category | ||
indeed, i think i'd probably recommend people to learn Raku over Common Lisp these days | |||
GreaseMonkey | i do like dynamic dispatch | ||
Altreus | I didn't understand the comment so I can only repeat it after this many years | ||
dpk | because Common Lisp is old and nobody is developing the language further | ||
but that's maybe my Scheme bias showing 😏 | 08:41 | ||
Altreus | The only feature of Lisps that I really have any handle on is them requiring me to think backwards | ||
Which was also an issue when I tried Haskell | |||
moon-child | dpk: common lisp has a much better ecosystem, and in particular development environment | ||
dpk | that's true | ||
but other languages are catching up in general. is there an LSP server for Raku yet? | |||
GreaseMonkey | Scheme has the advantage that it's easy to implement, and the disadvantage that it's about a third of a language | 08:42 | |
dpk | GreaseMonkey: wait until R7RS Large is finished ;-) | ||
out of curiosity, i know Raku has macros, but are they hygienic? | |||
GreaseMonkey | yeah R7RS Large will probably end up quite practical | ||
until then i have CHICKEN | |||
dakkar | dpk: raku's macros are… not quite there yet | ||
moon-child | lsp server...I think the main thing an lsp server does is autocomplete, which I can take or leave | ||
dpk | LSP should also offer meta-point and all the cool stuff SLIME and friends offer, no? | 08:43 | |
moon-child | scheme in practice isn't a third of a language; instead it's fragmented because everybody implements the other two thirds differently. Case in point: my poison of choice is s7, not chicken | ||
08:43
summer joined
|
|||
dpk | again, we're trying to clean that up in R7RS Large | 08:43 | |
Altreus | hygienic? | 08:44 | |
dpk | (well, they tried to clean it up in R6RS, but they imposed so many requirements on implementations that no existing Schemes moved over) | ||
Altreus | as in do you have to wash your hands afterwards? | ||
moon-child | isn't chez scheme based on r6? | ||
GreaseMonkey | i will say it's nice to see this lang has a JIT | ||
dpk | yes, that's the exception, but it doesn't really count as the author of Chez was also the chair of the R6RS committee | 08:45 | |
moon-child | don't get too excited about performance :P | ||
nine | dpk: RakuAST (end of the year) will bring hygienic macros | ||
dpk | the Michael Kay approach to programming language standardization | ||
Altreus: as in, avoiding accidental variable capture is happened automatically, and referential transparency is preserved in macro definition and expansion | |||
moon-child | fair fair | ||
Altreus | dpk: those sound like the exact sort of challenges that would explain why it's not ready yet :) | ||
dpk | so if i use a temporary variable in the expansion of my macro, its name won't collide with any variable names used in the place where the macro is invoked | ||
Altreus | not to be taken as an authoritative statement | 08:46 | |
GreaseMonkey | AST macros are a woefully underimplemented feature a lot of programming languages could do with | ||
Altreus | I like the word hygienic to describe this | ||
dpk | and if i refer to a procedure, variable, or other macro that i know of in the place where i defined the macro, it will work even if those procedures/variables etc aren't defined in the place where the macro is invoked, or if the names refer to something else at that spot | ||
Altreus | hermetic macros | ||
dpk | Altreus: well, Scheme has had this solved since the early 1990s ;-) | 08:47 | |
Altreus | at this point I wonder why they are semantically different from not-macros | ||
nine | Once you've implemented your first proper compiler, everything below AST level seems dirty | ||
dpk | but you're correct that this sort of thing is only just coming into non-Lisps today | ||
moon-child | dpk: I hear oleg implemented define-macro atop hygienic macros | ||
iow: beware! | |||
dakkar | in other words, names in macros should behave like names in normal subs (i.e. lexically) and not like names in C preprocessor "macros" (i.e. as text) | ||
dpk | yes, if your name is Oleg Kiselyov, automatic hygiene is more of a suggestion than a rule | 08:48 | |
dakkar | Altreus: jnthn.net/papers/2020-gpw-realizing...macros.pdf is a good presentation with examples of what macros can do (and subs can't) | 08:49 | |
Altreus | This has been an informative few minutes in the raku channel! | ||
and a new person with actual communication skills has arrived | 08:50 | ||
2021 is looking up | |||
dpk | Altreus: same as with non-hygienic macros: i can define operations on the arguments my macro is called with before those arguments are evaluated | ||
Altreus | parsing ... | ||
moon-child is looking forward to imlementing adts and destructuring pattern-matching once macros arrive | |||
dpk | so i can implement a 'swap the values of these two variables' operation, for example, which needs to know the *names* of the variables involved and not their values | ||
Altreus | ah, and in fact you can completely avoid evaluating them at all if you want to | 08:51 | |
and with Raku involved you can probably work on their metaobjects without ever actually invoking the values themselves | |||
dpk | or a let/variable-binding construct, which again, needs to know the names of the variables it wants to bind. knowing their values is useless, as presumably there aren't any … | ||
nine | dpk: just a note. Since containers (variables) are first class citizens in Raku, you can actually swap two variables without knowing their name. | 08:52 | |
moon-child | I _just_ realised that 'RakuAST' can be abbreviated 'RAST'. Where 'R' follows 'Q' | ||
that is super cute | |||
Altreus | It must be earliy because all I see there is QRST | ||
definitely early because I keep putting an i in early | 08:53 | ||
dpk | i believe the minimal set of syntactic forms a Scheme actually needs is something like lambda, begin, set!, and quote, and the rest can be done with macros and procedures | ||
dakkar | eerily early | ||
nine | m: my $a = 1; my $b = 2; sub swap($one is rw, $other is rw) { my $temp = $one; $one = $other; $other = $temp }; swap($a, $b); say "$a $b"; | ||
camelia | 2 1 | ||
Altreus | oh QAST is a thing | ||
dakkar | Altreus: yes, it's the current internal representation of the parse tree | 08:54 | |
oh, which reminds me… | |||
is NQP part of Raku, or just Rakudo? | |||
nine | It's an implementation detail of RAkudo | 08:55 | |
dakkar | ok, so ecosystem modules should try not to use it, right? | ||
nine | exactly | ||
dakkar | otherwise we end up with the same problems that XS causes in CPAN | ||
nine | Well, not as bad, but still bad | 08:56 | |
dakkar | (there is 1 `use nqp` in roast…) | ||
(2, actually) | 08:57 | ||
Altreus | NQR I suppose | 08:58 | |
dakkar | eh… | ||
dpk | picking one LSP server at random github.com/clojure-lsp/clojure-lsp | 09:00 | |
with that one you do get meta-point and reverse meta-point and error tracing and all the good stuff that you get from SLIME | 09:01 | ||
my main experience with LSP so far was installing lsp-mode in Emacs to see if it offered better HTML editing than any of the built-in HTML modes, discovering that the HTML server's response to my use of implicit close tags for <p> was to construct a parse tree that looked like html > body > p > p > p > p > p > p > p etc, giving up, and disabling it | 09:02 | ||
09:02
patrickb left
|
|||
moon-child | the main thing I want is debugging, restarts, and interactively redefining stuff | 09:05 | |
I don't care a tonne about static introspection | |||
(though I recognize that other people do) | 09:06 | ||
09:07
tadzik joined
09:13
abraxxa joined
|
|||
Altreus | implicit close tags are one of those conveniences I wish we didn't have | 09:14 | |
lizmat | abraxxa: welcome! | 09:15 | |
Altreus | abraxas is a really good kitchenware shop from around here | 09:16 | |
just so you know | |||
09:16
rbt left
|
|||
abraxxa | test | 09:17 | |
I had bookmarked both the old and the new channel and it seems I've deleted the wrong one. The freenode one gives this error since today. | 09:18 | ||
lizmat++ # thanks for the quick help! | |||
Altreus: and a bar in the town my brother lives ;) | |||
Altreus | it's a cool name so it's probably ancient greek, right? | 09:19 | |
lizmat | yeah, current Freenode staff decided that mentioning libera.chat is a violation of terms | ||
Altreus | > Macros receive an AST # ohhhhhhh | 09:20 | |
I wonder if I can shoehorn a Macross Frontier joke in at this point | 09:21 | ||
hankache | Well the way they are behaving it looks like freenode will kill freenode | ||
Altreus | It's very much a hoist by one's own petard sort of situation | 09:22 | |
hankache | Some people were still logged there and they decided to kill their channels. | 09:23 | |
El_Che | hi | ||
so, freenode #raku was taken over? | |||
tadzik | seems like it | 09:24 | |
it used Bad Words | |||
Altreus | only newspeak is allowed | ||
hankache | Should have updated the motd to say: join us on the network that shall not be named | 09:26 | |
Altreus | set up a redirect to libera :D | 09:29 | |
buy freenode.chat and redirect it to libera.chat | |||
eh they'll cotton on quick | |||
and that feels like fighting dirty | |||
09:32
rbt joined
|
|||
El_Che | www.gentoo.org/news/2021/05/26/gen...acked.html | 09:42 | |
maybe raku could post an statement as well? <= PSC | |||
09:44
KotH joined
|
|||
El_Che | www.reddit.com/r/haskell/comments/...r_haskell/ | 09:46 | |
09:47
nige joined
09:49
nige left,
nige joined
|
|||
El_Che | lol: "Fitting his fake princehood, he will soon be left with a fake IRC kingdom- nothing but bots and trolls." | 09:49 | |
lizmat | I've posted: www.reddit.com/r/rakulang/comments..._channels/ | 09:53 | |
El_Che | matrix integration isn't far off I heard | 09:55 | |
few days | |||
nige | just wondering if there is a url to visit for the web log of the channel? | 10:07 | |
10:09
cog is now known as cognominal
10:11
nige left,
nige joined
|
|||
tyil | El_Che: nice | 10:12 | |
the sooner the better | |||
I dont trust the current freenode staff one bit after they purged shit everywhere | 10:13 | ||
lizmat | nige: logs.liz.nl for now, am working on getting the libera.chat logs in there as well | 10:15 | |
nige | nice! thanks lizmat++ | ||
lizmat | should be more or less live in a few days | ||
10:16
nige left,
nige joined
10:18
moctezuma joined
10:20
cognominal left
10:21
nige left,
nige joined
10:24
cognominal joined,
cognominal_ joined
|
|||
lizmat | nige: logs.liz.nl should now be up-to-date on everything that has been on Freenode | 10:24 | |
10:26
nige left,
nige joined
10:29
stoned75 left
|
|||
lizmat | nige: logs.liz.nl should now be up-to-date on everything that has been on Freenode | 10:29 | |
10:31
goblin joined
|
|||
El_Che | "cheapie has coined the name "Leenode" for this abomination. Let's start using it!" :) | 10:46 | |
10:50
m_athias joined,
lichtkind joined
10:55
ggoebel_ joined
11:04
hankache left
11:05
lichtkind left,
lichtkind joined
|
|||
lichtkind | would it be allright if i talk again about math::Matrix and compare it to libGSL too? | 11:06 | |
raydiak | bed time for me, g'night all. in parting, I'd like to dedicate this Metallica song chock full of almost eerily apropos lines to Andrew Lee: www.youtube.com/watch?v=6gSb2A4mXtg | 11:18 | |
lizmat | raydiak: :-) | 11:21 | |
lichtkind: as a presentation at Raku conf? | |||
lichtkind | lizmat: yes | 11:23 | |
lizmat | *I* see no reason why not, but then I don't have much to do with the organization :-) | 11:24 | |
11:25
Doc_Holliwood joined
|
|||
Doc_Holliwood | well. that was painless | 11:26 | |
hello libera | |||
goblin | o/ | ||
lizmat | Doc_Holliwood o/ | ||
Doc_Holliwood | m: "test".say | ||
camelia | test | ||
11:27
morayj joined
|
|||
morayj | camelia: say 'hello' | 11:29 | |
11:29
jercos joined
11:32
rbt left,
rbt joined
|
|||
lizmat | morayj: camelia listens to "m: " | 11:35 | |
morayj | lizmat: Ah, thank you. Just testing the new libera water | 11:36 | |
11:36
nige left
|
|||
morayj | m: say "hello" | 11:36 | |
11:36
nige joined
|
|||
camelia | hello | 11:36 | |
lichtkind | lizmat: it woul be a way for me to drop a lot of nmeric knowledge i just learn | 11:37 | |
11:38
hankache joined
|
|||
lizmat | sure... knowledge spreading is good | 11:38 | |
11:39
lizmat left
11:40
lizmat joined
11:41
lizmat left
11:45
lizmat joined,
LizBot joined
11:59
xkr47 left
12:00
xkr47 joined
12:07
morayj left,
morayj joined
12:16
nige left,
nige joined
12:17
moctezuma left
12:19
hank38 joined
12:26
nige left,
nige joined
|
|||
Geth | doc/master: 4 commits pushed by (JJ Merelo)++ | 12:27 | |
12:31
hank38 left
12:32
moritz_ is now known as moritz
12:34
kaskal_ left
12:37
morayj left
12:38
rbt left
12:40
jercos left
12:42
jercos joined
12:49
ecocode_ left
12:53
Manifest0 joined,
ecocode_ joined,
kawaii_ left
12:56
kawaii_ joined
13:20
m6502 joined,
b2gills left
13:23
m6502 left
|
|||
kybr | reading jnthn's slides linked earlier.. excited about macros and rakuast. question: are macros already worked out at the language level? is the work on implementation only or is the syntax TBD? | 13:32 | |
13:39
Doc_Holliwood left
13:48
synthmeat left
13:49
synthmeat joined
|
|||
simcop2387 | ooo neat, raku is getting macros? I gotta check that out, it's one of the things i regularly lament about perl5 not having | 14:01 | |
14:04
rbt joined
|
|||
Altreus | why are they called macros? | 14:06 | |
moritz | that's what you call such things usually :D | 14:08 | |
Altreus | yeah, why | 14:10 | |
are they somehow bigger than other code? | |||
14:12
morayj joined
|
|||
jercos | that is in fact, the literal etymology. | 14:14 | |
Altreus | oh, interesting | ||
jercos | "bigger" is perhaps in a different sense though, more like "outside", or "meta" | ||
Altreus | a macro view in the sense of not concerned with details | 14:15 | |
jercos | perhaps, yeah. like macrobiology isn't concerned with smaller life... it just depends entirely on it :-) | 14:16 | |
14:16
Doc_Holliwood joined
|
|||
lichtkind | lizmat: hugs man not seen long time | 14:17 | |
14:20
Od1n joined
|
|||
Od1n | hello people | 14:20 | |
i try to figure out the easiest way to get a int32 matrix from a file. my current attempt is to try to read a Buf[int32] and .Capture it | 14:24 | ||
(actually i try to read data produced by a numpy script) | |||
codesect` | re: 'macro' etymology: here's how the Wikipedia article puts it: "they are called "macros" because a "big" block of code can be expanded from a "small" sequence of characters." | 14:25 | |
(imo, that's most literally true for assembly macros. Which is where the name got started, right?) | 14:27 | ||
Altreus | sure thing | 14:28 | |
I'm not one to complain about words not staying true to their original meaning | |||
... any more | 14:29 | ||
14:31
nige left,
nige joined
14:36
nige left,
nige joined
14:41
Sgeo joined
14:43
b2gills joined
14:59
rbt left,
rbt joined
15:03
jmerelo joined
|
|||
jmerelo | Well, this works | 15:03 | |
Hey! | |||
15:05
peteretep joined
15:07
peteretep left,
peteretep joined
|
|||
tadzik | o/ | 15:11 | |
jmerelo | So this is the new IRC... | 15:13 | |
jercos | meet the new IRC, same as the old IRC | ||
15:16
Od1n left
|
|||
daimon | pretty much just the server_name changed ;p | 15:19 | |
15:26
nige left
15:30
morayj left
|
|||
Altreus | hello | 15:30 | |
jmerelo | No changes === good | 15:37 | |
15:40
Doc_Holliwood left
|
|||
codesect` | ^^^^ as the functional programmers have been telling us all for decades! | 15:40 | |
Altreus | we replaced freenode with a mutated copy of freenode | 15:42 | |
jercos | somewhere out in the aether, a monad takes a "Maybe IRCNet" and happens to produce a result equal to "Just Libera" | 15:56 | |
15:57
timo joined
|
|||
jercos | good to know the side-effects of the move are safely contained :p | 15:57 | |
tonyo | he says from atop the Box | ||
16:06
cognominal_ left
|
|||
summer | just wish there was cloaking by default, going into a channel to request cloak was embarrassing, I felt naked | 16:08 | |
16:18
dolmen joined
16:24
dolmen left
16:25
dolmen joined
16:26
dolmen left,
dolmen joined
16:32
bdju joined
16:39
dakkar left
16:40
nine left,
nine joined
16:42
synthmeat left
16:43
synthmeat joined
16:48
dolmen left
16:51
dolmen joined
|
|||
lizmat | logs.liz.nl/raku/index.html now contains merged Freenode / Libera logs for the period 19-25 May | 16:57 | |
hankache | Lizmat++ | 17:12 | |
17:15
guest123 joined
17:17
Altai-man_ left
17:18
guest123 left
17:19
just_lurking joined
17:21
Altai-man joined
17:22
just_lurking left
17:25
scriplit_ joined
17:26
scriplit_ left
17:27
scriplit_ joined,
scriplit_ left
17:30
Altai-man left
17:31
scriplit joined
17:45
patrickb joined
17:54
guifa joined
17:59
feb joined
18:14
corwin is now known as CNN
18:17
annuges joined
18:19
CNN is now known as corwin
18:20
annuges left
18:21
dolmen left,
corwin is now known as CNN
18:24
RaycatWhoDat joined
|
|||
RaycatWhoDat | Ah, here we are | 18:24 | |
18:25
rbt left,
rbt joined
18:26
CNN is now known as corwin
|
|||
RaycatWhoDat | When do people reach for grammars here? | 18:26 | |
18:26
Doc_Holliwood joined
|
|||
RaycatWhoDat | That is to say, when is a grammar the obvious answer to the problem? | 18:26 | |
lizmat | when a simple regex doesn't cut it? | 18:28 | |
fsvo "simple" :-) | |||
18:28
jmerelo left
|
|||
RaycatWhoDat | Fair. So, let's say I wanted to parse the CSV and collect a number of matches into a variable and output them later. Grammar is probably the answer here but I would wonder how many lines that would be. | 18:30 | |
lizmat | Ah, for CSV we have Text::CSV :-) | ||
raku.land/github:Tux/Text::CSV | 18:31 | ||
RaycatWhoDat | Is the no-library approach too verbose? | ||
Realistically, yes, I would use the library. But I'm trying to see if the base language has what I need. | 18:33 | ||
guifa | a lot of tiems I switch to a grammar when the regex starts getting unwieldy | ||
for example, CSV *theoretically* could just be $text.split("\n")>>.split(",") | 18:34 | ||
RaycatWhoDat | What a perfect world that would be | ||
18:35
feb left
|
|||
guifa | when you regex it, you get / [ … %% \n] %% \n ] / | 18:35 | |
well, probs with parentheses, but you get the idea, where … is the definition of a value | |||
there's a certain elegance to / ( <value> %% \n] %% \n ) /, and the definition of <value> is the more complex bit | 18:36 | ||
18:37
stoned75 joined
|
|||
RaycatWhoDat | Oh, does the regex understand multiple instances of a named thing? | 18:37 | |
guifa | yup! | ||
RaycatWhoDat | Like, when this is all said and done, is there something akin to `@values = <list of Match objects>`? | 18:38 | |
Oh, neat | |||
guifa | Where the grammars are really useful is you can also attach actions to them | ||
18:38
stoned75 left
18:39
stoned75 joined
|
|||
guifa | Because while you can match a quoted CSV value fairly easily, you're still going to have to go back later and take out the quotes, and figure out the internal quotes | 18:39 | |
When you use a grammar, you can have write actions to handle that automatically, when you do CSV.parse($file), you get an array of arrays of pure/correctly parsed text, in an easily maintainable format | 18:40 | ||
put another way, think about JSON. Can you do it in a regex? I mean, maybe. | 18:41 | ||
But look at how elegant (elegant == easy to read and maintainable) this is | |||
modules.raku.org/dist/JSON::Tiny:c...Grammar.pm | |||
RaycatWhoDat | That is elegant | 18:42 | |
guifa | The actions are here | ||
modules.raku.org/dist/JSON::Tiny:c...Actions.pm | |||
They convert the matches into Raku structures (take note, for instance, on the str_escape one) | |||
codesect` | (Though it's worth noting that the elegance can come at a price, which may not be worth paying if the code in question is performance-critical, as JSON parsing sometimes is. Hence, JSON::Fast) | 18:43 | |
guifa | ^^ grammars can be a bit slower, 'tis true. But no need for premature optimization, and more importantly, it's easier to verify correctness | 18:44 | |
codesect` | Agreed | ||
guifa | codesect`: I've made lots of progress on the GTK + declarators btw | ||
codesect` | Cool :) | 18:45 | |
RaycatWhoDat | Hmm. | 18:46 | |
So, I have a choice between using Raku and making elegant but longer code or using this other thing but not having any sort of maintainability | 18:47 | ||
codesect` | what is the "this other thing" ^^^? | 18:48 | |
RaycatWhoDat | TXR | ||
Looks like this for what I'm doing: github.com/RayMPerry/kitchen-sink/...-parse.txr | 18:49 | ||
I have to check if it handles internal quotes, though | |||
18:50
ilogger2 joined
|
|||
guifa | codesect`: gist.github.com/alabamenhu/0b02c93...44729765a9 | 18:51 | |
creates | |||
imgur.com/a/ZDK3ths | |||
codesect` | snazzy! | 18:53 | |
guifa | AFAICT it should be possible to even allow a 'use Foo::Bar::CalculatorKeys' and allow for more external definitions | ||
codesect` | Do you have state or actions/events yet or just static GUI output? | ||
guifa | I've got clicks working | 18:54 | |
But trying to figure out the best way to handle referencing other elements | |||
codesect` | How does that work? I notice `text` is a constant … doesn't it need to change? | 18:55 | |
guifa | codesect`: yeah, that's one of those I'm also trying to figure out. there that's the just the default, probs should rename it "default-text" | ||
The catch is, all of these items are technically packages, and so I run into the issue of some of them not being defined yet. I'm thinking about maybe making a function for all gui elements that searches at increasing levels for the nearest named element | 18:56 | ||
so if you did Dot.find('One'), it'd search inside of Dot (nothing), then look at Other, and it recursively (nothing), then RowE and search recursively through it, finding Calculator::Container::RowD::One | 18:57 | ||
codesect` | Hmmm, that's basically re-implementing lexical scope, isn't it? | 18:58 | |
18:59
swagg_boi left
|
|||
codesect` | (Many of the changes I've ended up making to épée have been because I implemented something cool, and then realized I was reimplementing something Raku has built in and that I'd be better of using the real thing) | 19:00 | |
guifa | That's one way of putting it. I'm still toying around with things, but the inability to forward reference without an avalanche of stubs has been the main stumbling block. | ||
I mean, you could always use ::('Application::Container::RowD::One') and it would work anywhere, since it's doing it at a runtime. But that's also a lot of typing, so I figure doing a JS-esque "elementById" would be nice, just not requiring it to be unique and going up the chain as well. | 19:02 | ||
19:02
swaggboi joined
|
|||
codesect` | This may be my own biases (current experience) talking, but my inclination would be to make everything a function. I.e., `button Seven { … }` desugaring to `sub Seven is button { … }` | 19:03 | |
and then you can use lexical lookup | |||
19:03
rypervenche joined
|
|||
codesect` | (but maybe that doesn't work with GTK, idk) | 19:03 | |
guifa | everything desugars in the background to pretty procedural native code calls, so there's lots of options | 19:05 | |
19:05
rypervenche left,
rypervenche joined
|
|||
guifa | what would Seven.CALL-ME be though? | 19:05 | |
19:06
scriplit left
19:09
rypervenche left,
rypervenche joined
19:10
rbt left,
rbt joined
|
|||
codesect` | Hmm, well, again I'm coming at this from a web perspective, so my instinct is to say it'd be { '<button>7</button>' }, but I don't know whether that translates to a less declarative setting than HTML | 19:10 | |
19:13
rypervenche left
19:18
rypervenche joined
19:20
rypervenche left,
rypervenche joined
19:28
ilogger2 left
19:29
ilogger2 joined
19:39
stoned75 left
|
|||
GreaseMonkey | remind me when i get home in, say, 8.4 hours, i think i'll have to have a go at parsing React-ish stuff for my first hopefully-small project | 19:49 | |
wait i meant 7.8ish, whatever | |||
[Coke] | Has anyone reviewed Text::CSV lately to see if there's speedups to be gained (or certain idioms to avoid)? I know it's the canary for core performance, but was just wondering. | 19:59 | |
MasterDuke | i think lizmat has relatively recently, but i also know Tux is of the opinion that optimizing flow control (e.g., next, last) are where the next big gain will come from rakudo | 20:03 | |
[Coke] | (y) | 20:09 | |
👍 , I mean. | 20:10 | ||
(so many people at $DAYJOB use (y) because it was some old shorthand) | |||
20:11
lichtkind left
20:12
m6502 joined
20:13
m6502 left
|
|||
guifa was about to ask haha . o O ( I think it was MS Messenger's shortcut, they did things between parentheses iirc ) | 20:13 | ||
pc.net/emoticons/shortcuts/live <--- yup | |||
20:36
patrickb left
20:38
summer left
20:51
bd3i joined
20:52
tejr left,
tejr joined
20:55
rbt left,
rbt joined
|
|||
japhb | guifa: Worked on Google Hangouts, too. Or at least, Hangouts Classic, I dunno about Hangouts Chat. | 21:05 | |
I still do it habitually | |||
21:09
hankache left
21:11
hankache joined
21:16
hankache left
|
|||
codesect` | guifa: ping / are you still around? | 21:16 | |
21:17
hankache joined
21:45
AlexDaniel joined
21:51
rbt left
|
|||
juanfra | the reddit sidebard still has links to freenode | 21:54 | |
21:56
rbt joined,
committable6 left,
bloatable6 left,
reportable6 left,
sourceable6 left,
linkable6 left,
quotable6 left,
releasable6 left,
coverable6 left,
nativecallable6 left,
notable6 left
21:57
notable6 joined,
committable6 joined
21:58
nativecallable6 joined,
sourceable6 joined
21:59
releasable6 joined,
linkable6 joined,
bloatable6 joined,
coverable6 joined,
quotable6 joined,
reportable6 joined
|
|||
codesect` | juanfra: Thanks. Does anyone have a good idea for where that link should point now? There doesn't seem to be a webchat.libera.chat set up like there was for freenode | 22:01 | |
guifa | codesect`: yup | 22:02 | |
22:02
greppable6 joined,
squashable6 joined
|
|||
MasterDuke | kiwiirc.com/nextclient/ but you have to enter the information manually | 22:03 | |
codesect` | guifa: here's a version of the same calculator, but with épée: gist.github.com/codesections/b4104...64add0743b | ||
22:03
evalable6 joined
|
|||
codesect` | output: gist.github.com/codesections/b4104...64add0743b | 22:03 | |
guifa | codesect`: yeah, a grid makes things much nicer (I haven't quite yet coded that one for GTK ha). How do you connect a click action to épee? | 22:04 | |
juanfra | codesect`: you have the links to kiwiirc at the bottom of raku.org | 22:05 | |
codesect` | ok, thanks, I'll update the subreddit | 22:06 | |
22:06
bisectable6 joined,
statisfiable6 joined,
bd3i left
|
|||
japhb | codesect`: I think both those gist links were the same (the code) | 22:06 | |
22:07
benchable6 joined
22:08
unicodable6 joined
|
|||
codesect` | (guifa: all of this is still preliminary, which is why I haven't released anything) you add a click event like (div :évent{:click("some js")}) or (div :évent{#`(some raku block)}) | 22:08 | |
guifa | ah okay | 22:09 | |
codesect` | with the string version being executed on the client, and the raku one on the server (not that that would really make sense for a click event in most setups) | ||
fosstodon.b-cdn.net/media_attachme...ad620c.png | 22:10 | ||
the second link was supposed to be ^^^ sory | |||
japhb | Looks like a pretty good conversion. :-) | 22:11 | |
codesect` | Ok, I updated the reddit #raku link. I didn't change the link for the logs yet though, but don't see any reason not to | 22:13 | |
guifa | codesect`: ah interesting. With GTK, everything is user-side. I figure not many people will want a GUI but even for small processing scripts it could be nice to have an easy interface for choosing files, displaying progress, etc. | 22:15 | |
22:16
benchable6 left,
squashable6 left,
shareable6 joined
|
|||
codesect` | yeah, that makes sense | 22:16 | |
22:16
rbt left,
rbt joined
22:17
benchable6 joined,
tejr left,
squashable6 joined,
ggoebel_ left
22:18
tellable6 joined
22:20
tejr joined
|
|||
MasterDuke | codesect`: AlexDaniel pointed out that colabti started logging libera today, so no need to change any links to the logs | 22:20 | |
codesect` | oh, ok, sounds good | 22:26 | |
guifa | codesect`: eventually I'd like to also create a hook for GtkBuilder XML files. THen folks can use something like Glade to build the UI | 22:27 | |
22:29
dogbert11 joined
22:31
dogbert12 joined,
dogbert12 left
22:33
dogbert12 joined,
dogbert17 left
22:34
dogbert11 left
|
|||
lizmat | [Coke] I could optimize Text::CSV significantly, by using nqp, but agreed with [Tux] only "standard" language should be used | 22:39 | |
maybe one day, I'll make a Text::CSV::Fast :-) | 22:40 | ||
[Coke] | Yes, I would agree it shouldn't be in NQP if we're looking to it for core speed indicators. | ||
moon-child | maybe there should be a portable implementation of nqp::* that can be used by non-rakudo implementations? | 22:41 | |
lizmat | [Coke] in a little while, I'm going to see if Text::CSV compiles under RakuAST | 22:42 | |
probably not, as it requires Slang::Tuxic... but yeah.... | 22:43 | ||
22:45
dogbert17 joined
|
|||
[Coke] | wonder if the slang is slowing it down. (I know we can't have the module without the slang) | 22:47 | |
22:49
dogbert12 left
|
|||
lizmat | no, the slang wouldn't be slowing it down | 22:50 | |
but support for slangs in RakuAST may be a long way off :-) | |||
22:53
hankache left
23:01
bd3i joined
23:07
rbt left,
rbt joined
|
|||
lizmat | meh: modules.raku.org still has a "Chat with us" link that isn't updated yet | 23:12 | |
23:17
rbt left,
rbt joined
23:18
ecocode_ left
|