SmokeMachine now I remember, the only problem I got with RakuAST is the interpolation... 00:17
00:27 hankache_ joined 00:31 hankache left
SmokeMachine m: class Expression { method Str { self } }; multi infix:<~>(Str() $left, Expression $right) { "SQL concat" }; say "prefix: { Expression.new }" 01:55
camelia SQL concat
01:56 kylese left
SmokeMachine in my machine it keeps breaking... could someone test that locally? 01:57
01:57 kylese joined
SmokeMachine I keek getting this: usercontent.irccloud-cdn.com/file/.../image.png 01:58
02:02 lizmat left 02:15 kylese left, kylese joined 02:23 lizmat joined 03:18 stanrifkin_ joined 03:19 stanrifkin_ left 03:21 stanrifkin left 05:08 vrurg joined 05:09 vrurg_ left 06:29 Sgeo left 06:39 hankache_ left 07:06 stanrifkin joined 08:01 nine_ left, nine joined
lizmat c: HEAD class Expression { method Str { self } }; multi infix:<~>(Str() $left, Expression $right) { "SQL concat" }; say "prefix: { Expression.new }" 08:04
committable6 lizmat, ¦HEAD(50379ea): «This type cannot unbox to a native string: P6opaque, Expression␤ in block <unit> at /tmp/WrikKPnEPQ line 1␤␤ «exit code = 1»»
lizmat looks like the new infix is invisible in interpolation 08:07
c: HEAD class Expression { method Str { self } }; multi infix:<~>(Str() $left, Expression $right) { "SQL concat" }; say "prefix: " ~ Expression.new" 08:09
committable6 lizmat, ¦HEAD(50379ea): «===SORRY!=== Error while compiling /tmp/FlJuRdNEXR␤Two terms in a row␤at /tmp/FlJuRdNEXR:1␤------> ncat" }; say "prefix: " ~ Expression.new<HERE>"␤ «exit code = 1»»
lizmat c: HEAD class Expression { method Str { self } }; multi infix:<~>(Str() $left, Expression $right) { "SQL concat" }; say "prefix: " ~ Expression.new
committable6 lizmat, ¦HEAD(50379ea): «SQL concat␤»
lizmat github.com/rakudo/rakudo/issues/6860 08:24
xinming W 08:33
Voldenet >but at the same time it makes me feel like not being good/smart enough to finish my own work… 09:35
IMO mysql driver is the thing that llm should be good at and humans not necessarily
because humans would get assumptions from implementing previous drivers 09:36
while LLM wouldn't, and given any implementation of the previous driver, it should be able to translate technologies 09:37
s/should/might/
evalable6 Use of uninitialized value $_ of type Any in string context.
Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful.
in block <unit> at /tmp/UXtVCYFD74 line 1
Voldenet especially when driver in e.g. php exists 09:39
though still, with good instructions and well-thought architecture output would be better 09:40
apogee_ntv LLM could also get those assumptions since it'll be trained on all the other drivers. 10:07
I don't feel the same way tbh because I know I'm defeated by time much more than ability. There's nothing in Selkie I couldn't write manually, I wrote notcurses applications for a decade but never had the time to put into making the framework I wanted. 10:08
I expect the same is true for both of you. If you had to do it without AI and you had infinite time you would be able to. 10:09
What AI does more than anything is compresses and offloads the time requirement. 10:10
11:11 samebchase joined 11:12 samebchase left 11:33 samebchase joined 11:59 fdp left
Voldenet I mean, assumptions from mssql don't necessarily translate to mysql 12:17
example is how param bindings are positional in mysql, named in mssql
apogee_ntv Oh right, yeah what I meant is the LLM will look for i.e. 'the mssql driver in Python' and copy assumptions from that, not from the adjacent raku mysql driver. 12:19
Voldenet indeed, most coders don't do that
apogee_ntv Thats how I would generally have approached the problem but I guess if you assume sql is sql you wouldn't think to. 12:24
lizmat "the mssql driver in Python' and copy assumptions from that," which potentially introduces licensing issues 12:25
apogee_ntv Possibly, idea-expression distinction *should* cover most of it. 12:26
Voldenet with the introduction of AI, we've abandoned the concept of software licenses 12:31
sadly it's the state of things 12:32
apogee_ntv No I mean even historically, copyright protects your expression of an idea, not the idea itself.
The code is more protected than the general means by which you solved the problem. 12:33
Voldenet I mean, agents get fed proprietary code every day
it's pretty obvious 12:34
apogee_ntv If I allocate a 128 byte buffer, it doesn't obligate everyone who's read my code to solve the problem without allocating a 128 byte buffer.
12:35 lizmat left
apogee_ntv Oh for sure. 12:36
My agents definitely do but they run locally or on ZDR endpoints.
Voldenet on the other hand, if you allocate N 128 byte buffers for json deserialization, it could be considered novel 12:37
despite it being mostly just allocation, depending on the algorithm
apogee_ntv Possibly yes. It could cross from being 'the idea' (deserialize JSON) to 'the expression' (novel method of deserializing JSON).
Voldenet though people have patented pretty crazy things 12:38
apogee_ntv I guess the difference is historically if I got ideas from Django I'd know I got ideas from Django and probably put in the readme 'This bit of code is inspired by Django (XYZ license)' whereas now I have no idea where that inspiration came from.
or the comments 12:39
Voldenet like one-click purchase in amazon
apogee_ntv Even with very permissive licenses that allow derivative work, I'd know 'this license allows derivative work' because I had to go find the work I was deriving from.
Voldenet ah, this actually happened with lzw in gif iirc 12:40
apogee_ntv Like Selkie derives a *lot* from re-frame. 12:41
Not so much the code but the API
is heavily inspired
Voldenet re-frame itself is MIT 12:43
so I doubt it'd be a problem if it's even copied 1:1
I do wonder if one could copy the api from the MIT without mentioning it at all
though it'd be practical to say that it's reused from X, so people could look for design patterns in that other library too 12:44
apogee_ntv It is mentioned in the as-yet unreleased 0.99 readme, cant remember if its mentioned in the 0.16 one (which is far less close to it).
That was part of the aim in 0.99, get much closer to re-frame's API instead of being similar enough to be confusing where different (also useful with LLMs which are accustomed to re-frame patterns). 12:52
Though obviously web framework doesn't translate 1:1 to TUI framework. 13:04
13:05 ShimmerFairy left 13:22 acidsys joined, lizmat joined 13:35 ShimmerFairy joined 13:42 kylese left, scott2 left, Pixi left, coleman left, kjp left, cm left 13:48 kylese joined, scott2 joined, Pixi joined, coleman joined, kjp joined, cm joined
disbot <antononcube> For experienced programmers LLMs / AI-agents are amplifiers and/or "force multipliers". For anything "protocolish" or repetitive AI-agents would be always faster and better (on average.) 13:51
14:12 acidsys left
Voldenet nope, not better 14:32
I don't avoid assembly because compilers make great code, it's because I'm lazy ;p
14:37 ShimmerFairy left 14:39 ShimmerFairy joined
disbot <antononcube> Hm... do you think you can write faster a better Raku package for using, say, OpenAIs API than, say, Codex or Gemini AI-agents with their OpenAI's or Google's newest LLMs? 15:10
apogee_ntv Compilers do generally optimize well though. I occasionally manually write assembly (definitely don't get agents to do that, they tend to be very bad at it) but it's rare. 15:19
lizmat SmokeMachine: have you considered having Expression.Str return something stringy ? 15:30
cause that would(also) solve the issue
SmokeMachine I need that to not return a Str, but an Red::AST... I use that to create my SQL query... 15:31
lizmat or is there a deeper reason why you want to handle that through the infix?
ah, ok
understood
would you infix be able to handle more than 2 args ? 15:33
*your
15:33 Sgeo joined
SmokeMachine lizmat: it receives 2 by 2... usercontent.irccloud-cdn.com/file/.../image.png 15:39
15:40 ilogger2 left 15:48 ShimmerFairy left 15:50 ilogger2 joined, ShimmerFairy joined 16:16 vrurg_ joined 16:18 vrurg left 16:27 Sgeo left
disbot <.landyacht.> Has anyone noticed a bug where stack traces are flat out wrong when the code in question is run via a code object? I have my own threadpool implementation and I'm getting useless stack traces even when the exception is thrown and caught within the code submitted to the threadpool 16:38
lizmat do you also see that with the own-up functionality ? 16:39
disbot <.landyacht.> own-up meaning what? Sorry, not familiar with that term yet
<.landyacht.> I more or less have CATCH { default { say .gist } } within the code submitted to the threadpool and the .gist points (roughly, some line numbers are weird) to where the threadpool calls into the submitted code object 16:42
<.landyacht.> but then the order of the stack trace is weird too, so I think it's just getting confused 16:43
<.landyacht.> oh sorry, you were probably responding to someone else there :^) 16:44
lizmat ah, not documented :-(
SmokeMachine sorry, what's own-up?
lizmat github.com/rakudo/rakudo/blob/main...up.rakumod 16:45
also more directly, by calling VM.own-up 16:46
SmokeMachine lizmat: was that question for me? Sorry, I'm still lost... 16:48
lizmat SmokeMachine: working on a fix :-)
SmokeMachine thanks! :)
16:58 pierrot left
lizmat SmokeMachine: github.com/rakudo/rakudo/pull/6868 17:01
17:01 Sgeo joined
SmokeMachine \o/ thanks! 17:02
17:07 pierrot joined 17:12 tgt joined 17:56 tgt left 17:59 tgt joined 18:16 tgt left 20:05 lizmat left, lizmat_ joined 20:36 hankache_ joined, stanrifkin left 20:56 stanrifkin joined 21:18 jjido joined 21:30 hankache_ left 21:31 hankache joined 21:32 vasko453558616 left 21:33 vasko453558616 joined
lizmat_ RakuIRCLogger 21:51
21:51 lizmat_ left 21:52 lizmat joined 21:57 hankache left 22:02 stanrifkin left