🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). This channel is logged for the purpose of keeping a history about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Log inspection is getting closer to beta. If you're a beginner, you can also check out the #raku-beginner channel!
Set by lizmat on 25 August 2021.
00:07 reportable6 left 00:10 reportable6 joined 00:44 bdju left 01:00 bdju joined 01:57 frost joined 02:57 committable6 left, releasable6 left, shareable6 left, reportable6 left, bisectable6 left, quotable6 left, sourceable6 left, tellable6 left, notable6 left, bloatable6 left, statisfiable6 left, benchable6 left, greppable6 left, coverable6 left, unicodable6 left, evalable6 left, linkable6 left, nativecallable6 left 02:58 evalable6 joined, releasable6 joined, shareable6 joined, committable6 joined 02:59 linkable6 joined, benchable6 joined, reportable6 joined, greppable6 joined, notable6 joined, quotable6 joined, tellable6 joined, statisfiable6 joined, nativecallable6 joined 03:00 coverable6 joined, bisectable6 joined, sourceable6 joined, unicodable6 joined, bloatable6 joined 03:58 Guest35 left 04:03 vrurg_ joined, vrurg left 04:52 xinming left 04:54 xinming joined 05:54 linkable6 left, evalable6 left 05:55 linkable6 joined, evalable6 joined 06:08 reportable6 left 06:10 reportable6 joined 06:34 Sgeo left 06:43 yyyy joined 06:45 yyyy left, nebuchadnezzar joined 07:05 abraxxa joined 07:09 mexen joined 07:11 abraxxa left 07:12 abraxxa joined 07:21 razetime joined 07:24 xinming left 07:26 xinming joined 07:27 jjido joined 08:16 jjido left 08:32 xinming left 08:33 xinming joined 08:34 razetime left
p6steve .tell drakonis on Pandas API - (i) In Dan have built a VERY minimalist Array-like API (for DataFrames, Series) - for example there are only 3 mutator ops array assign, concat() and splice() 08:51
tellable6 p6steve, I'll pass your message to drakonis
p6steve .tell drakonis on Pandas API - (ii) In Dan::Pandas this API is implemented via Inline::Python for shadow Pandas objects - plus an ugly way to get all Pandas API df.pl: ".write_csv('path')" so you get all Pandas features and interop (esp. for matplotlib / seaborn) and so on 08:55
tellable6 p6steve, I'll pass your message to drakonis
08:56 razetime joined
p6steve .tell drakonis on Pandas API - (iii) In Dan::Polars I am now hacking on the base Dan API via Rust/Polars/Arrow2 and will probably build a restricted Polars-like API extension to the Dan API - overall I think that Polars is likely to be the most practical short term route to Raku analytics that are feature rich and performant 08:58
tellable6 p6steve, I'll pass your message to drakonis
p6steve .tell drakonis on Pandas API - (iv) In doing this I am working out how to wrestle with these huge APIs (Pandas has 435 methods) ... I would say that Dan APIs needs a few more things (like Polars 'with_column', lazy and immutability) in the base API 09:00
tellable6 p6steve, I'll pass your message to drakonis
p6steve .tell drakonis on Pandas API - (v) - then, Dan will have a very minimalist Base API (think - much less to learn, very raku like), and Mezza (?) extensions like Dan::Mezza::Polars, ::Query(like SQL), ::Math(like Math::Matrix), ::Set, ::Regex 09:05
tellable6 p6steve, I'll pass your message to drakonis
p6steve .tell drakonis on Pandas API - (vi) for the Mezzas they will either tunnel eg Polars functions or be a layer on top of the Base (to help focus native / AST? performance tuning) - PHEW! 09:06
tellable6 p6steve, I'll pass your message to drakonis
p6steve .tell drakonis on Pandas API - (*-1) err - sorry for the essay ... my TPCRC talk covers these ideas - to get all this done will need some tuits 09:08
tellable6 p6steve, I'll pass your message to drakonis
Anton Antonov <@928301352029937715> Very interesting! 09:21
09:56 evalable6 left, linkable6 left 09:58 evalable6 joined, linkable6 joined 10:03 razetime left 10:04 razetime joined 10:06 kaskal left, kaskal joined 10:10 razetime left 10:11 razetime_ joined, razetime_ left
p6steve Anton: thanks for the f/back! I have been watching some of your talks with interest (although my Bulgarian is pretty poor!) IIRC on one occasion you did a demo and the cols were unordered - so one benefit to you to use Dan is that you get the familar datatypes (to analysts from R and Pandas and so on) and an interface to Pandas which gives you all the functions (eg. plotting) that I cannot just write 10:17
I would suggest that your Natural Language implementation is at a higher layer and that Dan can help you with a similar (but different) execution layer in raku to the other languages that you target 10:19
and no, there is only the README for now, and this is all very much at the pre-release phase ... I am soft launching and will be keen to hear .any && .all feedback from the raku community and try to fit it in the limited tuits 10:20
Anton: you are welcome to include raku Dan in your review ... it is public and the idea of a soft launch is that the profile will gradually raise and I can handle issues as they arise 10:22
please can you include that the API is deliberately minimal (in contrast to Pandas) - actually, for practical reasons, I think that Dan::Polars will be the most effective tool and that is still some months away 10:25
Oh antononcube.shinyapps.io/DSL-evaluations/ wow - very cool ... I think that we should be thinking about interop at some point - to be honest until Dan::Polars is stable I think that the Dan API will still be evolving quite fast - after that then we can dicuss what is missing for a natural language execution engine 10:34
Anton: python pipelines (i) need a module and (ii) are presentation only due to the GIL, right? 10:37
10:51 lizmat joined
lizmat is back for now... offloading all of the hard CPU work (such as spectesting) onto a new MacMini 10:57
El_Che Intellij support remote developing in case you use comma as a plugin 11:07
tellable6 2022-05-30T19:44:04Z #raku <tbrowder> El_Che see my remarks about rakudo-pkg at 09:27 above
El_Che dunno about the standalone version 11:08
p6steve El_Che: great to see IntelliJ remote support with Comma plugin! Now I can install in all my dockers! 11:14
El_Che p6steve: I don't know if you need the ultimate intellij version or not 11:15
lizmat clickbaits rakudoweekly.blog/2022/05/30/2022-...-timeline/
p6steve El_Che: I had it working on paid version (ultimate I think) (not raku) - that was one of the aspects of my decision to go for vftools on mac 11:16
El_Che I don't know what that is
:)
:) 11:17
p6steve El_Che: ie. a roadmap to getting Comma working on vftools Dockers
El_Che I see
p6steve El_Che: sorry vftools for me is many Ubuntus on Docker on Ubuntu on macOS (its the first laver) 11:19
El_Che And I thought I was advanced when using podman when on macos :P
p6steve El_Che here's the recipe I followed medium.com/carvago-development/my-...886af0ebba 11:20
El_Che: take a look to see how Jan describes 40x load speed improvements (from 160s to 3.7s) 11:21
El_Che: vs. Docker Desktop on macOS
Anton Antonov <@928301352029937715> With Python pipelines I mean the standard OOP dot-method sequences, like the ones used here for the recommender objects : pypi.org/project/SparseMatrixRecommender/ 11:25
p6steve Anton: tx! 11:27
Anton Antonov <@928301352029937715> So, no separate Python package is needed — “just” methods of a class to return objects of that class. 11:28
<@928301352029937715> Sure! As for Dan::Polars — it can be included relatively easily to be on of the interpretation targets of the natural language data wrangling DSL. 11:31
<@928301352029937715> I am inclined to say that that might help with design of Dan::Polars.
p6steve Anton: that's great - between the lines there's Dan::Polars (which will have some kind of syntax to access much/all of the Polars methods) and also I will adopt a VERY minimal subset of the Polars API and add it to the Dan base API - so Dan::Polars would be the first thing for you to apply (and maybe that will help us what bits of Polars to add to the Base) - I will make a splash when it is ready for early 11:37
adoptors like you
Anton Antonov <@928301352029937715> Sounds good. To be more concrete, my proposal is to make another, Dan-actions file here: github.com/antononcube/Raku-DSL-En...tions/Raku 11:41
p6steve Anton: github.com/p6steve/raku-Dan-Polars/issues/1 11:45
11:47 discord-raku-bot left 11:48 discord-raku-bot joined 11:49 discord-raku-bot left, discord-raku-bot joined 11:51 jjido joined 12:08 reportable6 left, reportable6 joined
Anton Antonov <@928301352029937715> thanks — I will make a first version of that file this week. 12:10
12:10 frost left
tbrowder El_Che: hi, did you see my comment on rakudo-pkg.sh paths? 12:11
GramFilipem Hi all, any idea why `require JSON::Fast <&from-json>` stopped working? 12:14
(long time no see, hi all! 🙂 )
lizmat GramFilipem: was that ever a thing ? 12:15
GramFilipem Yes, looks like it was: github.com/sergot/http-useragent/b...0-ua.t#L47 12:16
tests started failing due to this hehe 12:17
btw I'm sergot, I'm using the discord rakudo server and it's taking a different nickname I guess 🙂 12:18
It works fine if I simply do `require JSON::Fast` and call `JSON::Fast::from-json`. It's ok to go that way 12:20
12:21 jjido left
lizmat and if you do "import JSON::Fast"? 12:24
GramFilipem: any idea *when* this changed ?
GramFilipem It was reported on Mar 20 12:26
`Could not find module JSON::Fast to import symbols from` 12:27
github.com/sergot/http-useragent/issues/239 12:28
I did `require` the whole module, for now, I'm happy to fix it differently 🙂 12:29
lizmat OOC, why not just "use JSON::Fast" ?
12:30 Kaiepi left
tbrowder has anyone using rakudo-pkg seen a change in its directory structure since its inception? 12:33
GramFilipem Hmm, I don't really remember the difference between require and use
Probably a good idea, thanks lizmat 12:34
tbrowder i think use is compile time and require is run time 12:35
lizmat yup, compile time vs runtime
GramFilipem thanks tbrowder
lizmat and automatic imports
tbrowder: I haven't, but I didn't pay attention much 12:36
apt upgrade && raku -v basically :-)
tbrowder have you been using it a long time? i've noticed a change in paths which is causing me some problems trying to manage multiple hosts 12:38
i'm about to nuke everything and start over on my oldest and most used host 12:39
12:39 Sankalp- joined 12:40 Sankalp left, Sankalp- is now known as Sankalp
lizmat tbrowder: I've only used it to test someLinux specific modules 12:44
going to be offline again, don't trust my MBP to be left on when not at home
12:45 lizmat left
El_Che tbrowder: I saw the teller msg, but need to look it in detail (I almost haven't been home the last week) 12:52
tbrowder thnx so much 12:53
El_Che (and now off again) 12:59
13:02 frost joined
tbrowder .tell El_Che i think yr current instructions and code vary from yr orig stuff--new has better integration with zef and the origini see several sig diffs on my old host--cleaning house and starting over 13:24
tellable6 tbrowder, I'll pass your message to El_Che
13:24 Guest35 joined
tbrowder ff 13:24
.tell El_Che the other thing i noticed was on another old host i had mixed the two methods: manual setup and automated. that was a self-made stew i'm sure 13:43
tellable6 tbrowder, I'll pass your message to El_Che
13:58 kaskal left 13:59 kaskal joined 14:10 Sgeo joined
guifa GramFilipem / sergot ! I just saw the stuff on github re DateTime::Parse 14:15
I'm happy to help help out, but it'll probably be like july — I was gonna also try to see if I could somehow finangle it so that it's fully compatible with the new DateTime::Timezones (I can't remember if it was yours or someone else's that had just a straight up namespace conflict with when I changed to lizmat's simpler way of adding the TZ methods) 14:17
14:36 frost left 14:46 Kaiepi joined 14:56 jjido joined
tbrowder can anyone show the correct zef syntax to install a module in a certain, existing directory, say, for example, '/opt/rakudo-pkg/share/perl6/site'? 15:24
ugexe 'site' is a built in repo so you wouldn't install to a directory per-se: `zef install My::Module --install-to=site` 15:26
assuming zef is being run by the raku located in /opt/rakudo-pkg
otherwise `zef install My::Module --install-to=/home/foo/bar/my-private-repo` 15:27
tbrowder ok, that helps. so i, as root, just use the bare word 'site' which is immutably fixed to whatever raku i use? 15:29
and that site is one that will be searched by any other user of that raku? 15:30
ugexe 'site', 'core', and 'home' are the built in repo names you can use. zef also supports the repo name 'auto' which picks site if you have perms to write to that repo or otherwise home 15:31
'site' repo will be visible by any user using the raku in /opt/rakudo-pkg
tbrowder thnx, nick, i will go play with that for a while. it sounds like the solution i've been looking for. 15:33
ugexe m: say CompUnit::RepositoryRegistry.repository-for-name("site")
camelia inst#/home/camelia/rakudo-m-inst-1/share/perl6/site
ugexe you could also use a path like that, but might as well use the name 15:34
15:37 jjido left 15:43 Kaiepi left 15:57 Kaiepi joined
drakonis p6steve: i see 16:06
tellable6 2022-05-31T08:51:37Z #raku <p6steve> drakonis on Pandas API - (i) In Dan have built a VERY minimalist Array-like API (for DataFrames, Series) - for example there are only 3 mutator ops array assign, concat() and splice()
hey drakonis, you have a message: gist.github.com/dd422ee763c67ece7d...82a6eb0766
2022-05-31T09:06:41Z #raku <p6steve> drakonis on Pandas API - (vi) for the Mezzas they will either tunnel eg Polars functions or be a layer on top of the Base (to help focus native / AST? performance tuning) - PHEW!
hey drakonis, you have a message: gist.github.com/0660e6d469aa123022...7149b6961b
hey drakonis, you have a message: gist.github.com/6f2a5678c64f260404...e61ff611a4
2022-05-31T09:08:03Z #raku <p6steve> drakonis on Pandas API - (*-1) err - sorry for the essay ... my TPCRC talk covers these ideas - to get all this done will need some tuits
hey drakonis, you have a message: gist.github.com/6ebfab7bb108bab98c...35161d6524
drakonis well then
Anton Antonov <@135870802489901056> Maybe I have asked this before -- what is your interest in Data Science, Statistics, and related disciplines? (If, any...) 16:16
drakonis mine? 16:24
Anton Antonov 🙂 yes 16:25
drakonis my interest is in making it a pleasant experience
16:25 lizmat joined
drakonis i have been doing a couple data science projects and it hasnt been entirely smooth 16:26
16:35 jjido joined 16:39 mexen left 16:54 Kaiepi left
uzl[m] weekly: codegolf.stackexchange.com/questio...ng-in-raku 17:06
notable6 uzl[m], Noted! (weekly)
17:37 Kaiepi joined
Anton Antonov <@135870802489901056> "my interest is in making it a pleasant experience" -- Ok, you are a target audience, then, for my DSLs. 17:45
18:07 reportable6 left
Xliff Near near future... FluidSynth bindings. 18:09
:)
18:09 reportable6 joined
drakonis so i am indeed 18:17
i've been playing with common lisp recently while i wait for rakuast to be live
Anton Antonov <@135870802489901056> Same here, I am waiting for AST to be get live! (So, I can generate random sentences with my DSL grammars.) 18:22
lizmat Anton Antonov: I think for *your* purposes, RakuAST is already ready to be used 18:37
if that is: constructing your own AST's and having them turn into executable bytecode 18:38
what nine and jnthn are working on now, is to do the same for Raku itself using a new version of the actions associated with the Raku grammar 18:39
well, ideally, sadly some "actions" have crept into the (old) grammar of Raku itself, so they will need some TLC while being extracted
Anton Antonov @lizmat Really good to know! Thanks! 18:43
lizmat e.g., in the rakuast branch, printf has already been rewritten to create code out of the format specification 18:44
and then just run the Callable generated from that for a format, rather then re-parsing the format over and over again
drakonis any improvements in macros? 18:50
18:50 jjido left
Anton Antonov Can I install rakuast branch through rakubrew. (Probably not -- I assume I have download it and compile it locally.) 18:55
ugexe you can build specific commits with like `rakubrew build moar $rakudo_commit_id` so probably 18:56
there are also --configure-opts=... to pass whatever else along to the various Configure.pl scripts 18:58
18:58 jjido joined
ugexe where if you wanted to pass something to the moarvm Configure.pl it'd be like --configure-opts="--moar-opts=foo" 18:59
Anton Antonov @ugexe Great!
drakonis you can target the branch 19:01
docs.raku.org/language/experimental#macros are macros going to be any different from what's in here? 19:20
lizmat there's no guarantee they're going to be the same 19:36
hence the "experimental"
19:43 jjido left 19:55 jjido joined
Xliff bitbucket.org/clifton-wood/raku-fl.../src/main/ 20:01
bitbucket.org/clifton-wood/raku-fl.../src/main/ 20:02
Can confirm its working via examples/01-basic.t
Self contained, too! ;)
20:05 [Coke] left 20:12 Sgeo left, [Coke] joined 20:13 lizmat left 20:38 holyghost left 20:44 Sgeo joined
nine drakonis: why wait? If you help, it'll arive sooner 20:53
Anton Antonov @nine Good point! 🙂 Personally, I can't affort not to wait. 20:55
21:38 euandreh left, jjido left 21:39 jjido joined 21:57 jjido left 22:40 euandreh joined
guifa Anton Antonov: please feel free to try out (and improve) my RakuAST pretty print module too 22:43
I need to make it a bit more maintainable (one of 59320 projects I have lol) but please feel free to add PRs for new nodes as you use it 22:44
see: github.com/alabamenhu/PrettyRAST (not in the ecosystem because anything with RakuAST will fail tests) 22:45
22:52 abraxxa left
drakonis nine: how could i help? 22:58
Anton Antonov @guifa Well, I was trying to say that I cannot afford to helping. (Using double negation, and misspelling "afford.") 22:59
@guifa But right now I am browsing the repository you linked...
drakonis is there any work on a library for manipulating the ast? 23:47
the existing macro work has a bunch of issues that have been solved in other consuming languages 23:49
other macro using languages 23:50
ie: symbol generation in macros to prevent them from interfering with the environment
hygienic macros and all that, i guess 23:51
23:52 evalable6 left, linkable6 left 23:54 evalable6 joined
Voldenet m: proto sub whoa($x) { ENTER "e.$x".say; LEAVE "l.$x".say; {*} };multi sub whoa($y) { say "burp"; }; whoa(42) 23:54
camelia e.42
burp
l.42
Voldenet what is pretty neat
s/w/t/
23:55 linkable6 joined