General

Profile

chrisseaton (Chris Seaton)

Issues

open closed Total
Assigned issues 0 0 0
Reported issues 1 9 10

Activity

11/22/2022

05:24 PM Ruby Feature #19141: Add thread-owned Monitor to protect thread-local resources
Maybe `Enumerator` should not use a full fiber - but something less that behaves like the thread it's run on? An underlying issue is that the user doesn't know they're using a fiber, and really how can we expect them to? chrisseaton (Chris Seaton)
05:23 PM Ruby Bug #19108: Format routines like pack blindly treat a string as ASCII-encoded
> I think you want to mean "if the string is not ASCII-compatible".
Can you explain why?
I think a string is only a valid pack format string if it is `ascii_only?` - if it isn't `ascii_only?` then there is a silent warning and the ...
chrisseaton (Chris Seaton)

11/07/2022

12:51 PM Ruby Bug #19108: Format routines like pack blindly treat a string as ASCII-encoded
Possibly we should raise an exception if the string is not `ascii_only?` chrisseaton (Chris Seaton)
10:21 AM Ruby Bug #19108 (Closed): Format routines like pack blindly treat a string as ASCII-encoded
Format routines like pack and unpack blindly treat a string as ASCII-encoded, even if they aren't ASCII or ASCII-compatible.
I tried to construct code that was misleading using ASCII-incompatible-encodings but couldn't do it in practi...
chrisseaton (Chris Seaton)

10/13/2022

03:23 PM Ruby Bug #19041: Weakref is still alive after major garbage collection
The documentation could be more clear, but also note that this isn't in any way specific to Ruby - I would say that this is expected behaviour for a managed language. A weak-ref *may* be cleared if no other references exist. That's shoul... chrisseaton (Chris Seaton)

08/20/2022

10:08 AM Ruby Misc #18968: Run MJIT under a forked Ruby process
An interesting project if you are changing the interface could be to write a generic JIT interface, which any JIT could plug into. At the moment we have custom C code to plug in MJIT and YJIT - an interface could reduce that C code and e... chrisseaton (Chris Seaton)

08/18/2022

06:50 PM Ruby Feature #18776: Object Shapes
> With shapes you could start with {a,b} and then add the hash keys to get shape {a,b,c,d} and pass all values [1,2,3,4] plus the shape id on the stack.
Yes that's the idea in the video I linked.
chrisseaton (Chris Seaton)
06:22 PM Ruby Feature #18776: Object Shapes
Reference keyword arguments - what we're doing is using the same idea of shapes, but applying them to the keyword arguments hash to be able to extract keyword arguments without any control-flow. We can implement keyword arguments like th... chrisseaton (Chris Seaton)
06:30 PM Ruby Feature #18965: Further Thread::Queue improvements
I was going to comment that adding or removing multiple items from a queue is likely not great for implementation, as we'd need a lock to make that atomic (or some good ideas of how to do it otherwise.) But then I looked at TruffleRuby a... chrisseaton (Chris Seaton)

07/25/2022

02:22 PM Ruby Feature #12607: Ruby needs an atomic integer
Yes, I think a few low-level concurrency primitives should move from Concurrent Ruby to core. As we add more concurrency to Ruby, and add JIT compilers, ideally the VM should understand these primitives, rather than being opaque extensio... chrisseaton (Chris Seaton)

Also available in: Atom