[#57574] [ruby-trunk - Feature #8976][Open] file-scope freeze_string directive — "akr (Akira Tanaka)" <akr@...>
70 messages
2013/10/02
[#57579] [ruby-trunk - Feature #8977][Open] String#frozen that takes advantage of the deduping — "sam.saffron (Sam Saffron)" <sam.saffron@...>
25 messages
2013/10/02
[#57633] [ruby-trunk - Bug #8983][Open] [PATCH] GC.stat[:heap_free_num] returns number of unused slots on heap — "tmm1 (Aman Gupta)" <[email protected]>
8 messages
2013/10/03
[#57667] [ruby-trunk - Feature #8985][Open] xwillfree - promise to free memory — "funny_falcon (Yura Sokolov)" <funny.falcon@...>
5 messages
2013/10/04
[#57679] [ruby-trunk - Feature #8987][Open] map/collect extension which handles arguments — "sowieso (So Wieso)" <sowieso@...>
16 messages
2013/10/05
[#57680] [ruby-trunk - Feature #8987] map/collect extension which handles arguments
— "sawa (Tsuyoshi Sawada)" <sawadatsuyoshi@...>
2013/10/05
[#57693] [PATCH 0/2] Fix strptime '%s' — Felipe Contreras <felipe.contreras@...>
Hi,
7 messages
2013/10/07
[#57694] [PATCH 1/2] time: fix strptime '%s'
— Felipe Contreras <felipe.contreras@...>
2013/10/07
'%s' is meant to imply UTC, however:
[#57703] Re: [PATCH 1/2] time: fix strptime '%s'
— Tanaka Akira <akr@...>
2013/10/07
2013/10/7 Felipe Contreras <[email protected]>:
[#57711] Re: [PATCH 1/2] time: fix strptime '%s'
— Felipe Contreras <felipe.contreras@...>
2013/10/07
On Mon, Oct 7, 2013 at 10:17 AM, Tanaka Akira <[email protected]> wrote:
[#57705] [ruby-trunk - Feature #8992][Open] Use String#freeze and compiler tricks to replace "str"f suffix — "headius (Charles Nutter)" <headius@...>
43 messages
2013/10/07
[#57840] [ruby-trunk - Feature #8992] Use String#freeze and compiler tricks to replace "str"f suffix
— "sam.saffron (Sam Saffron)" <sam.saffron@...>
2013/10/13
[#57727] [ruby-trunk - Feature #8998][Open] string keys for hash literals should use fstrings — "normalperson (Eric Wong)" <normalperson@...>
17 messages
2013/10/08
[#57743] [ruby-trunk - Feature #8998] string keys for hash literals should use fstrings
— "normalperson (Eric Wong)" <normalperson@...>
2013/10/08
[#57756] Re: [ruby-trunk - Feature #8998] string keys for hash literals should use fstrings
— Eric Wong <normalperson@...>
2013/10/09
I think my failed patch exposes a bug with lazy sweep + rb_fstring.
[#57771] [ruby-trunk - Bug #9008][Open] TestProcess#test_clock_getres_constants and TestProcess#test_clock_gettime_constants fails on ARM — "vo.x (Vit Ondruch)" <v.ondruch@...>
15 messages
2013/10/09
[#57852] [ruby-trunk - Bug #9008] TestProcess#test_clock_getres_constants and TestProcess#test_clock_gettime_constants fails on ARM
— "kosaki (Motohiro KOSAKI)" <kosaki.motohiro@...>
2013/10/14
[#57884] [ruby-trunk - Bug #9008] TestProcess#test_clock_getres_constants and TestProcess#test_clock_gettime_constants fails on ARM
— "kosaki (Motohiro KOSAKI)" <kosaki.motohiro@...>
2013/10/15
[#57794] [ruby-trunk - Bug #9011][Open] rb_fstring unsafe to use in general case — "normalperson (Eric Wong)" <normalperson@...>
4 messages
2013/10/10
[#57812] [ruby-trunk - Bug #9013][Open] Crash on start — "lemonez (Dmitry Popov)" <lemon@...>
6 messages
2013/10/10
[#57813] ruby-2.0.0-p247siphash.c:443: bug report — David Binderman <dcb314@...>
Hello there=2C=0A=
4 messages
2013/10/10
[#57849] [ruby-trunk - Feature #9020][Open] Net::HTTPResponse predicate/query methods — "timcraft (Tim Craft)" <redmine@...>
7 messages
2013/10/14
[#57862] [CommonRuby - Feature #9023][Open] Array#tail — "fuadksd (Fuad Saud)" <fuadksd@...>
9 messages
2013/10/15
[#57912] [CommonRuby - Feature #9023] Array#tail
— "boris_stitnicky (Boris Stitnicky)" <boris@...>
2013/10/17
[#57888] [ruby-trunk - Feature #9025][Open] Clarify the error message when calling a method with the wrong number of arguments — Nerian (Gonzalo Rodríguez) <siotopo@...>
11 messages
2013/10/15
[#57913] cxxflags for C++ library bindings not working for Ruby 1.9.x and 2.0? — Stefan Salewski <mail@...>
Dear Sirs,
4 messages
2013/10/17
[#57916] Re: cxxflags for C++ library bindings not working for Ruby 1.9.x and 2.0?
— Nobuyoshi Nakada <nobu@...>
2013/10/17
(13/10/17 22:03), Stefan Salewski wrote:
[#57950] [ruby-trunk - Bug #9039][Open] [PATCH] socket: avoid unnecessary ppoll/select on Linux (part 3) — "normalperson (Eric Wong)" <normalperson@...>
8 messages
2013/10/21
[#57951] [ruby-trunk - Bug #9040][Open] Readline duplicate file descriptors but doesn't close them — "eweb (Eamonn Webster)" <eamonn.webster@...>
8 messages
2013/10/21
[#57986] [ruby-trunk - Bug #9040] Readline duplicate file descriptors but doesn't close them
— "akr (Akira Tanaka)" <akr@...>
2013/10/23
[#57967] [ruby-trunk - Feature #9043][Open] Add String#f method as shortcut for #freeze — "headius (Charles Nutter)" <headius@...>
8 messages
2013/10/22
[#58007] [ruby-trunk - Feature #9049][Open] Shorthands (a:b, *) for inclusive indexing — "mohawkjohn (John Woods)" <john.o.woods@...>
25 messages
2013/10/24
[#58011] [ruby-trunk - Feature #9049] Shorthands (a:b, *) for inclusive indexing
— "boris_stitnicky (Boris Stitnicky)" <boris@...>
2013/10/24
[#58012] Re: [ruby-trunk - Feature #9049] Shorthands (a:b, *) for inclusive indexing
— David MacMahon <davidm@...>
2013/10/24
[#58013] Re: [ruby-trunk - Feature #9049] Shorthands (a:b, *) for inclusive indexing
— Fuad Saud <fuadksd@...>
2013/10/24
How is a:b better than a..b=3F two dots are straightforward, unambiguous,=
[#58080] [ruby-trunk - Feature #9064][Open] Add support for packages, like in Java — "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>
23 messages
2013/10/30
[#58083] [ruby-trunk - Feature #9064] Add support for packages, like in Java
— "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>
2013/10/30
[#58114] [ruby-trunk - Feature #9068][Open] [PATCH (trivial)] thread.c: reduce rb_mutex_t size by 8 bytes on x86_64 — "normalperson (Eric Wong)" <normalperson@...>
5 messages
2013/10/31
[#58115] Re: [ruby-trunk - Feature #9068][Open] [PATCH (trivial)] thread.c: reduce rb_mutex_t size by 8 bytes on x86_64
— KOSAKI Motohiro <kosaki.motohiro@...>
2013/10/31
(10/31/13 3:42 PM), normalperson (Eric Wong) wrote:
[#58116] Re: [ruby-trunk - Feature #9068][Open] [PATCH (trivial)] thread.c: reduce rb_mutex_t size by 8 bytes on x86_64
— Eric Wong <normalperson@...>
2013/10/31
KOSAKI Motohiro <[email protected]> wrote:
[ruby-core:57714] [ruby-trunk - Feature #8579] Frozen string syntax
From:
"headius (Charles Nutter)" <headius@...>
Date:
2013-10-07 21:28:16 UTC
List:
ruby-core #57714
Issue #8579 has been updated by headius (Charles Nutter).
See also http://bugs.ruby-lang.org/issues/8992 which proposes just making "literal string".freeze do the right thing in the compiler.
FROZEN { } is not terrible syntax, but it's the longest one suggested.
----------------------------------------
Feature #8579: Frozen string syntax
https://bugs.ruby-lang.org/issues/8579#change-42321
Author: charliesome (Charlie Somerville)
Status: Closed
Priority: Normal
Assignee: charliesome (Charlie Somerville)
Category: syntax
Target version: current: 2.1.0
I'd like to propose a new type of string literal - %f().
Because Ruby strings are mutable, every time a string literal is evaluated a new String object must be duped.
It's quite common to see code that stores a frozen String object into a constant which is then reused for performance reasons. Example: https://github.com/rack/rack/blob/master/lib/rack/methodoverride.rb
A new %f() string literal would instead evaluate to the same frozen String object every time. The benefit of this syntax is that it removes the need to pull string literals away from where they are used.
Here's an example of the proposed %f() syntax in action:
def foo
["bar".object_id, %f(bar).object_id]
end
p foo # might print "[123, 456]"
p foo # might print "[789, 456]"
These string literals could also be stored into a global refcounted table for deduplication across the entire program, futher reducing memory usage.
If this proposal is accepted, I can handle implementation work.
--
http://bugs.ruby-lang.org/