🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). Log available at irclogs.raku.org/raku/live.html . If you're a beginner, you can also check out the #raku-beginner channel! Set by lizmat on 6 September 2022. |
|||
00:00
reportable6 left
00:01
reportable6 joined
00:03
Zen96 joined,
Zen96 left
01:03
statisfiable6 left,
coverable6 left,
greppable6 left,
bloatable6 left,
releasable6 left,
squashable6 left,
bisectable6 left,
sourceable6 left,
committable6 left,
tellable6 left,
linkable6 left,
benchable6 left,
unicodable6 left,
nativecallable6 left,
quotable6 left,
notable6 left,
shareable6 left,
reportable6 left,
sourceable6 joined
01:04
squashable6 joined,
shareable6 joined,
committable6 joined,
reportable6 joined
01:05
greppable6 joined,
unicodable6 joined,
linkable6 joined,
tellable6 joined,
benchable6 joined
01:06
quotable6 joined,
bloatable6 joined,
coverable6 joined,
statisfiable6 joined,
notable6 joined,
nativecallable6 joined,
bisectable6 joined,
releasable6 joined
01:33
jpn joined
01:38
jpn left
02:38
reportable6 left,
unicodable6 left,
coverable6 left,
greppable6 left,
squashable6 left,
releasable6 left,
notable6 left,
nativecallable6 left,
shareable6 left,
linkable6 left,
statisfiable6 left,
committable6 left,
benchable6 left,
quotable6 left,
sourceable6 left,
bisectable6 left,
bloatable6 left,
tellable6 left,
tellable6 joined,
notable6 joined,
coverable6 joined,
shareable6 joined
02:39
sourceable6 joined,
releasable6 joined,
squashable6 joined,
razetime joined,
nativecallable6 joined,
benchable6 joined,
committable6 joined,
statisfiable6 joined,
linkable6 joined
02:40
unicodable6 joined,
bisectable6 joined,
greppable6 joined,
reportable6 joined
02:41
quotable6 joined,
bloatable6 joined
03:05
jpn joined
03:10
jpn left
03:32
razetime left
|
|||
guifa | SmokeMachine should be possible. Raku's grammar syntax is far more regular, but code blocks probably couldn't be supported | 03:46 | |
couldn't be easily supported* | 03:48 | ||
04:17
jpn joined
04:20
rf left
04:22
jpn left
05:00
jpn joined
05:05
jpn left
05:36
jpn joined
05:41
jpn left
06:00
reportable6 left
06:01
reportable6 joined
06:21
jpn joined
06:44
jpn left
06:45
jpn joined
07:00
siavash joined
07:57
siavash left
07:59
siavash joined
08:04
siavash left,
siavash joined
08:12
teatime left,
teatime joined
08:13
teatwo joined
08:15
_ramix_ joined,
_ramix_ left
08:17
teatime left,
jpn left
08:19
jpn joined
08:36
sena_kun joined
08:58
Sgeo left
09:00
siavash left,
siavash joined
09:22
tejr left
09:24
tejr joined
09:50
ab5tract joined
09:58
jpn left
10:53
ab5tract left
11:11
jpn joined
|
|||
tbrowder__ | .tell ugexe its the windows yml at github.com/tbrowder/path-finder/.g...s-spec.yml | 11:12 | |
tellable6 | tbrowder__, I'll pass your message to ugexe | ||
11:15
jpn left
11:35
razetime joined
12:00
reportable6 left
12:01
jpn joined
12:03
reportable6 joined
12:05
jpn left
|
|||
antononcube | @guifa I am tried to install "Intl::Token::Number" from Zef's ecosystem, and got multiple failings, because, it seems, of the attempt to install Intl::LanguageTag:ver<0.9.0>:auth<github:alabamenhu>:api<1>. | 12:19 | |
@guifa I cloned the corresponding project from GitHub: github.com/alabamenhu/IntlTokenNumber/tree/main , and the installation succeeded with the messages: (base) [8:14]alabamenhu/IntlTokenNumber> zef install . ===> Testing: Intl::Token::Number:ver<0.1>:auth<github:alabamenhu> [Intl::Token::Number] ⎡ The module Intl::UserLanguage has been renamed to User::Language. ⎤ [Intl::Token::Number] ⎢ | 12:22 | ||
Please use this name in the future. If you received this message ⎥ [Intl::Token::Number] ⎢ without having explicitly used the module, please contact the ⎥ [Intl::Token::Number] ⎢ author whose module called this to have them update accordingly. ⎥ [Intl::Token::Number] ⎢ ⎥ [Intl::Token::Number] ⎢ Please be aware that fallback languages are not | |||
supported when ⎥ [Intl::Token::Number] ⎢ calling by the old name for compile time reasons ⎥ [Intl::Token::Number] ⎢ ⎥ [Intl::Token::Number] ⎢ You may dismiss this by setting the environment variable ⎥ [Intl::Token::Number] ⎢ RAKU_USER_LANGUAGE_NAMECHANGE_WARNING to OFF. Updates after 2024 ⎥ [Intl::Token::Number] ⎣ | |||
will no longer provide under the old name. ⎦ | |||
guifa | Anton: hmm that token number hasn't been updated in a looooong tiime | 12:25 | |
I need to update it now that we have RakuAST | 12:26 | ||
antononcube | @guifa Ok, thanks! | 12:31 | |
13:05
linkable6 left,
evalable6 left
13:07
evalable6 joined,
linkable6 joined
13:17
ab5tract joined
13:18
jpn joined
13:22
jpn left
13:23
poohman joined
13:46
siavash left
13:50
vrurg_ is now known as vrurg
|
|||
librasteve | ^^ that's interesting - I am curious how to apply AST to number literals and you (@guifa) seem to be the guy in the know via your cool BF demo | 13:51 | |
so I think that an approach might be: | |||
(i) do a pre-compile pass (CHECK? phase) | 13:52 | ||
13:52
guifa_ joined
|
|||
(ii) somehow wrap the 4 calls to number literals like RakuAST::IntLiteral.new(42) | 13:53 | ||
(iii) also catch commas with expression => RakuAST::ApplyListInfix.new( | 13:54 | ||
m: '42,0'.AST.say | |||
Raku eval | Exit code: 1 No such method 'AST' for invocant of type 'Str' in block <unit> at main.raku line 1 | ||
antononcube | @librasteve The token <local-number> of "Intl::Token::Number" can help parsing factors in physical units. | ||
librasteve | [sorry you will have to try that at home] | 13:55 | |
guifa_ | I must be totally blind, where is the DEPARSE function in source? | ||
librasteve | (iv) have a Grammar (eg call Intl::Token::Number) and fix the AST | 13:56 | |
^^^ so, I see how to steal the BF demo to go bf name { BF }, but I would need some help to understand how to hook all the literals in vanilla raku | 13:57 | ||
wonders if there is an example for this ... or maybe guifa you can write a v simple one and then I can contribute from there? | 13:58 | ||
lizmat | guifa: method DEPARSE lives in src/Raku/ast | 14:01 | |
librasteve | @anton - yes that is what I have in mind - right now Physics::Measure exports postfixes to handle SI units like 1s, 2km (that's all the base SI units (7) and all the prefixes (12?) so doing anything in item literal position via a slang would extend to non metric, non SI base international and so on... | ||
guifa_ | lizmat: yeah, I got an error on EVAL- | 14:03 | |
err | |||
I got an error on EVAL'ing a node, and the error was DEPARSE wasn't yet supported. I was trying to track it down since I figured the frugal modifier should be low hanging fruit (just add ?) | 14:04 | ||
but I couldn't find the DEPARSE on any nodes, I guess | |||
lizmat | which node: maybe I forgot to add support for it ? | ||
DEPARSE support doesn't come out of thin air: it needs to be added for each node that needs deparsing | 14:05 | ||
deparse support is currently at 2500+ lines :-) | |||
guifa_ | QUantifiable claims no support for Frugal. I was trying to see where the string was built up and I couldn't find it hahaha, I assume it's not actually in each classes' definition | 14:08 | |
Deparsing RakuAST::Regex::Backtrack::Frugal objects not yet implemented. Sorry. | |||
in any DEPARSE at src/Raku/ast/base.rakumod line 351 | |||
lizmat | ah, did you add a .new to that? | 14:09 | |
the candidate has: RakuAST::Regex::Backtrack::Frugal:U | |||
it doesn't need to be instantiated | |||
is it being generated with a .new somehow ? | |||
guifa_ | lemme try without a new | 14:10 | |
lizmat | I guess we could add a dummy .new that would return self | 14:11 | |
guifa_ | ohay that works | ||
14:11
jpn joined
|
|||
lizmat | ok, I'll add a dummy .new for those classes, to prevent confusion | 14:11 | |
guifa_ | I actually did the same in my ECMA262 classes for some things hahaha | 14:12 | |
because I knew I'd inevitably forget which things needed .new or not ^_^ | |||
that said | 14:16 | ||
lizmat | yeah, adding a .new now | ||
14:16
jpn left
|
|||
guifa_ | I did just find a deparse mistake | 14:16 | |
lizmat | that's very well possible, please make a gist :-) | 14:17 | |
14:20
sena_kun left
14:23
sena_kun joined
|
|||
guifa_ | lizmat: gist.github.com/alabamenhu/d88a385...480c8435c6 | 14:24 | |
lizmat | will fix in a mo | 14:25 | |
guifa_ | :) you're awesome | 14:27 | |
(but legit I'm trying to figure out how I could have fixed on my own, since I'm about to do a lot of regex RakuAST stuff, so I'll watch your commit closely) | |||
14:29
jpn joined
|
|||
lizmat is surprised the ? gets deparsed at all, looking at the code | 14:33 | ||
14:35
jpn left
|
|||
librasteve | reads dev.to/lizmat/so-why-is-there-raku...place-5bga again and summons up courage | 14:57 | |
lizmat wishes librasteve strength and mentions that questions can always be asked | 15:00 | ||
guifa_: ok, fix on the way, but your test was wrong | 15:02 | ||
RakuAST::Regex::WithWhitespace.new(RakuAST::Regex::Literal.new("a")) | |||
implies whitespace after the atom | 15:03 | ||
so instead of "/a**? 2/" the deparse is "/a **? 2/" | |||
15:07
jpn joined
|
|||
ugexe | tbrowder__: yeah that doesn't appear to be related to long paths. indeed it fails during raku precompilation upon installation, but i'm not really sure why. one cause i've seen before (but may not apply here) is installing over modules that comes with the Raku/setup-raku github action. For example, setup-raku comes with some version of zef which means if I want to use that same action to test zef | 15:10 | |
tellable6 | 2023-07-29T11:12:50Z #raku <tbrowder__> ugexe its the windows yml at github.com/tbrowder/path-finder/.g...s-spec.yml | ||
ugexe | itself I need to first uninstall zef (see the comments on github.com/ugexe/zef/blob/6c23e81b...ml#L24-L30 ) | ||
15:10
ab5tract left
15:12
jpn left
|
|||
ugexe | testing that theory would involve the following (in the CI config): clone zef, cd into zef directory, run `raku -I. bin/zef nuke site home` (delete all installed modules without using the installed zef), run `raku -I. bin/zef install .` (reinstall zef), then install your dependencies and run your tests as normal | 15:14 | |
15:14
jpn joined
|
|||
ugexe | the root problem with all of that being that windows doesn't allow files that have open handles to be deleted, so if the installed zef is trying to delete or replace a module that is currently open (maybe in a separate program, maybe as a zef plugin dependency) windows will error (unlike on other OS) | 15:17 | |
15:17
Guest93 joined
15:19
Guest93 left
|
|||
antononcube | @librasteve Does "Physics::Unit" have units algebra? I expect(ed) this to work: GetUnit("12 m/s") * 30 * GetUnit("300 s") | 15:22 | |
librasteve | ^^^ good question. A Measure combines (Real, Units, Error). Measure algebra uses the Units to scale and offset variables in a calculationlike this github.com/librasteve/raku-Physics...tor-syntax | 16:00 | |
# Define a distance and a time my \d = 42m; say ~d; #42 m (Length) my \t = 10s; say ~t; #10 s (Time) # Calculate speed and acceleration my \u = d / t; say ~u; #4.2 m/s (Speed) my \a = u / t; say ~a; #0.42 m/s^2 (Acceleration) | |||
^^ this overloads math ops like +-*/** | 16:01 | ||
Units cannot be combined with math operators | 16:02 | ||
BUT, you can define your own like this | 16:03 | ||
my $ff = Unit.new( defn => 'furlong / fortnight', names => ['ff'] ); | |||
my $race-pace = Measure.new( value => 23, units => $ff ); | 16:04 | ||
so, your example is then (with the libraop prefix just this) | 16:08 | ||
say ♎️'12 m/s' * 30 * 300s | |||
#108000m | |||
use Physics::Measure :ALL; say ( ♎️'12 m/s' * 30 * 300s).^name #Physics::Measure::Length | 16:10 | ||
btw the Str argument to GetUnit (which is a method on the Unit:D) should be just the string of the unit without the value or the error | 16:14 | ||
you only need to wory about unit methods if you are making a custom one or introspecting | 16:15 | ||
16:19
linkable6 left,
evalable6 left
|
|||
antononcube | @librasteve Thanks for the detailed explanation! Yeah, I assumed that there might be another module for the units/measurements algebra. | 16:20 | |
16:21
linkable6 joined
16:22
evalable6 joined
|
|||
tbrowder__ | ugexe: that overlapping module use may be the problem. when i get a chance i'll investigate more. | 16:30 | |
is there any way in meta6 file to say 'use an earlier version than this version of the module being installed' | 16:32 | ||
say we are installing foo:ver<2> but a dep uses foo:ver<1>. is that a circular dependency? | 16:35 | ||
could we use syntax like .":ver<1.99->" meaning "no greater than 1.99" | 16:38 | ||
i'll check docs... | 16:39 | ||
ok, this shoud work: ver<2.*> meaning <2 | 16:42 | ||
ugexe | well, if App::Prove6 is already installed you would just not install the new version | 16:44 | |
tbrowder__ | m: say "foo:ver<2.*>" <=> "foo:ver<2>" | ||
camelia | Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏foo:ver<2.*>' (indicated by ⏏) in block <unit> at <tmp> line 1 |
||
ugexe | no greater than 1.99 would be 1.* | ||
tbrowder__ | yes | 16:45 | |
ugexe | but i dont think its a dependency that is your problem | ||
because you are explicitly installing App::PRove6 | |||
its not being installed as a dependency | |||
2.* does not mean less than 2 | |||
it means 2.$anything | |||
in a version * is more like a regex *... match anything | 16:46 | ||
tbrowder__ | i used the wrong example anyway | 16:47 | |
m: say v2.* <=> v2.0 | 16:48 | ||
camelia | Less | ||
ugexe | you wouldn't compare version ranges (versions that use * or +) in a comparison other than ~~ | ||
m: say v1.0 ~~ v2.* | 16:49 | ||
camelia | False | ||
ugexe | m: say v2.0 ~~ v2.* | ||
camelia | True | ||
tbrowder__ | right, thnx | ||
ugexe | which reads `(v2.*).ACCEPTS(v2.0)`, or "does v2.* accept the version 2.0?" | 16:50 | |
some other info that might be useful from your CI is the result of `zef info zef, `zef info App::Prove6` (before you try to install it) and `zef locate App::Prove6` | 16:52 | ||
to see 1) if its including a really old version of zef (which i dont think would matter, but just in case), 2) if its a really old version of App::Prove6 already installed, and 3) if its including App::Prove6 from some sort of non-default repository | 16:53 | ||
further, it is probably a good idea to always pass `--debug` to every zef command you do in a CI just to always get all the info | 16:54 | ||
guifa | lizmat: I always forget the whitespace stuff haha | 17:10 | |
17:22
linkable6 left,
evalable6 left
17:24
evalable6 joined,
linkable6 joined
|
|||
jdv | guifa: cool talk on the ast stuff | 17:27 | |
17:28
razetime left
17:32
rf joined
17:35
razetime joined
17:42
razetime left
17:52
ProperN[out] left
18:00
reportable6 left
18:03
reportable6 joined
|
|||
librasteve | ^^ ++ | 18:09 | |
18:25
Sgeo joined
|
|||
lizmat | guifa: yeah, that took a while of figuring out, making :r settable later :-) | 18:27 | |
19:39
guifa_ left
|
|||
tbrowder__ | ugexe: fwiw, after adding --debug to prob CI i got a good run | 19:43 | |
that's a windows run | 19:45 | ||
19:49
poohman left
|
|||
SmokeMachine | guifa: look how interesting what copilot suggested me when I just wrote "role": usercontent.irccloud-cdn.com/file/.../image.png | 20:05 | |
20:12
tea3po joined
20:14
tea3po left,
tea3po joined
20:15
tea3po left,
teatwo left,
tea3po joined
20:17
Maylay left
20:21
Maylay joined
|
|||
[Coke] | next blin dep error: ===> Testing: if:ver<0.1.1> | 20:42 | |
repeatedly fails here. | 20:43 | ||
lizmat | tests and installs fine for me on MacOS | 20:44 | |
also on Debian | |||
ugexe | github.com/FROGGS/p6-if/blob/ba76e...t/if.t#L10 | 20:46 | |
probably that line breaking | |||
although it should be fixed in a recent commit | |||
tbrowder__ | ugh, windows w/ zef --debug testing now error finding z:from<native>, not found in raku.land, either | 20:57 | |
ugexe | things that are :from<native> are not raku modules | 20:59 | |
that would be libz.so on linux, z.dll on windows, etc | |||
[Coke] | mine is trying to install from: raw.githubusercontent.com/raku/REA...%3E.tar.gz | 21:00 | |
ugexe | [Coke]: you need to update rakudo | ||
need commit 824a500 at a minimum | 21:01 | ||
21:21
linkable6 left,
evalable6 left,
linkable6 joined
21:23
evalable6 joined
22:00
ab5tract joined
|
|||
Geth | Raku-Steering-Council/main: e417fdde0d | (Nick Logan)++ (committed using GitHub Web editor) | minutes/20230729.md Add RSC meeting minutes for 2023-07-29 |
22:40 | |
22:52
sena_kun left
|
|||
tbrowder__ | so far, on one module, zef --exclude="z" fixed the windows test | 23:04 | |
well, not so fast. micro asteroids hit again, i give up, sigh... | 23:16 | ||
[Coke] | ugexe: are you kidding! i am at that -1 | 23:21 | |
23:30
phogg left,
ab5tract left
|
|||
[Coke] | ok, I updated raku and was now able to install all blin deps. | 23:54 | |
ugexe++ |