[#78949] [Ruby trunk Feature#13095] [PATCH] io.c (rb_f_syscall): remove deprecation notice — kosaki.motohiro@...
Issue #13095 has been updated by Motohiro KOSAKI.
3 messages
2017/01/03
[#78997] [Ruby trunk Bug#13110] Byte-based operations for String — shugo@...
Issue #13110 has been updated by Shugo Maeda.
3 messages
2017/01/06
[#79228] Re: [ruby-cvs:64576] naruse:r57410 (trunk): Prevent GC by volatile [Bug #13150] — Eric Wong <normalperson@...>
naruse@ruby-lang.org wrote:
5 messages
2017/01/23
[#79511] Re: [ruby-cvs:64576] naruse:r57410 (trunk): Prevent GC by volatile [Bug #13150]
— Eric Wong <normalperson@...>
2017/02/13
Eric Wong <normalperson@yhbt.net> wrote:
[#79518] Re: [ruby-cvs:64576] naruse:r57410 (trunk): Prevent GC by volatile [Bug #13150]
— Nobuyoshi Nakada <nobu@...>
2017/02/13
On 2017/02/13 10:04, Eric Wong wrote:
[#79298] [Ruby trunk Bug#13085][Assigned] io.c io_fwrite creates garbage — nobu@...
Issue #13085 has been updated by Nobuyoshi Nakada.
3 messages
2017/01/29
[#79337] Re: [ruby-changes:45397] normal:r57469 (trunk): io.c: recycle garbage on write — SASADA Koichi <ko1@...>
Eric:
4 messages
2017/01/31
[#79352] Re: [ruby-changes:45397] normal:r57469 (trunk): io.c: recycle garbage on write
— Eric Wong <normalperson@...>
2017/01/31
SASADA Koichi <ko1@atdot.net> wrote:
[ruby-core:79232] [Ruby trunk Bug#13152] Numeric parsing differences between ruby <-> crystal
From:
shyouhei@...
Date:
2017-01-24 05:26:22 UTC
List:
ruby-core #79232
Issue #13152 has been updated by Shyouhei Urabe.
Martin D端rst wrote:
> - What do other languages (in particular languages more well known that Cristal) do?
Here we go:
```sh
zsh % /bin/sh
sh-3.2$ echo $((-2 ** 4))
16
sh-3.2$
```
```perl
zsh % perl -e 'warn(eval("-2 ** 4"));'
-16 at -e line 1.
```
```php
zsh % php -a
Interactive shell
php > $a = -2 ** 4; echo $a;
-16
php >
```
```python
zsh % python3
Python 3.6.0 (default, Dec 24 2016, 00:01:50)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> -2 ** 4
-16
>>>
```
```julia
zsh % /Users/urabe.shyouhei/Applications/Julia-0.5.app/Contents/Resources/julia/bin/julia
_
_ _ _(_)_ | A fresh approach to technical computing
(_) | (_) (_) | Documentation: http://docs.julialang.org
_ _ _| |_ __ _ | Type "?help" for help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 0.5.0 (2016-09-19 18:14 UTC)
_/ |\__'_|_|_|\__'_| | Official http://julialang.org/ release
|__/ | x86_64-apple-darwin13.4.0
julia> -2 ** 4
ERROR: syntax: use "^" instead of "**"
julia> -2 ^ 4
-16
julia>
```
```haskell
zsh % ghci
GHCi, version 8.0.2: http://www.haskell.org/ghc/ :? for help
Prelude> -2 ** 4
-16.0
Prelude>
```
```ml
zsh % ocaml
OCaml version 4.04.0
# -2 ** 4 ;;
Error: This expression has type int but an expression was expected of type
float
# -2. ** 4. ;;
- : float = 16.
#
```
I also checked other languages like C#, Swift, Go, Rust and turned out they don't have this kind of operator.
So from my experiment I cannot say if it's Ruby or Cristal who's wrong. I think it's a design choice.
----------------------------------------
Bug #13152: Numeric parsing differences between ruby <-> crystal
https://bugs.ruby-lang.org/issues/13152#change-62650
* Author: Jabari Zakiya
* Status: Rejected
* Priority: Normal
* Assignee:
* Target version:
* ruby -v:
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
I noticed this difference between ruby and crystal when converting a gem.
```ruby
puts -2**4 -> -16 (ruby) || 16 (crystal)
puts (-2)**4 -> 16 (both)
```
ruby parses `-2**4` as `-(2**4)`, while crystal does `(-2)**4`, which is more intuitive.
This creates need to be careful converting negative number usage from ruby <-> crystal.
(I haven't investigated differences with other languages.)
Using parentheses to explicitly create intended outcomes can overcome this.
However, on the heels of the discussion/decision to not change the default rounding behavior of numerics
in 2.4.0 would it also be worth it to change this parsing behavior to make this more natural
and intuitive, as in crystal?
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>