Fable: ๋‹ค๋ฅธ ์ธก์ • ๋‹จ์œ„์—์„œ ํŒŒ์ƒ๋œ ์ธก์ • ๋‹จ์œ„๊ฐ€ ์žˆ๋Š” ํ˜•์‹์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œ์—์„œ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ค‘๋‹จ๋จ

์— ๋งŒ๋“  2020๋…„ 12์›” 13์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: fable-compiler/Fable

์„ค๋ช…

์ธก์ • ๋‹จ์œ„๊ฐ€ ์žˆ๋Š” ํ˜•์‹์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์˜ค๋ฅ˜ ์—†์ด ์˜์›ํžˆ ์ค‘๋‹จ๋˜์ง€๋งŒ ์ธก์ •์ด ๋‹ค๋ฅธ ์ธก์ •์—์„œ ํŒŒ์ƒ๋œ ๊ฒฝ์šฐ์—๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์žฌํ˜„ ์ฝ”๋“œ

[<Measure>] type Measure1
[<Measure>] type Measure2 = Measure1

type Class() =
    member _.Method(x: float<Measure2>) = x

๋ฒ„๊ทธ๋Š” ์ •์  ๋ฉ”์„œ๋“œ์—๋„ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

๊ด€๋ จ ์ •๋ณด

ํŽ˜์ด๋ธ” ๋ฒ„์ „: https://fable.io/repl/#์˜ 3.0.1

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@theprash ๋ฅผ ๋ณด๊ณ ํ•˜๊ณ  nonAbbreviatedType ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ž˜์Šค ๋ฉค๋ฒ„์—๊ฒŒ๋งŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฏ€๋กœ ์ด์ „์—๋Š” ๋ณธ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๋„์šฐ๋ฏธ๋ฅผ ๊ณตํ†ต ๋ชจ๋“ˆ ์–ด๋”˜๊ฐ€์— ๋„ฃ์–ด์•ผ ํ•˜์ง€๋งŒ ์ง€๊ธˆ์€ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์—์„œ ์ˆ˜์ •๋ฉ๋‹ˆ๋‹ค ๐Ÿ‘

๋ชจ๋“  3 ๋Œ“๊ธ€

์ด๊ฒƒ์€ ๋ฒจ์„ ์šธ๋ฆฝ๋‹ˆ๋‹ค: #1975

@theprash๊ฒ ์Šต๋‹ˆ๊นŒ ๋‹น์‹ ์ด ์‚ฌ์šฉํ•˜๋ ค๊ณ  metre ๋Œ€์‹  m , ์ œ๋ฐœ? Microsoft.FSharp.Data.UnitSystems.SI.UnitNames ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ์žˆ์Šต๋‹ˆ๋‹ค.

@inosik ์˜ˆ, ์ด๊ฒƒ์€ ์ธก์ • ๋‹จ์œ„๊ฐ€ ๋‹ค๋ฅธ ๋‹จ์œ„์—์„œ ํŒŒ์ƒ๋œ ๊ฒฝ์šฐ์—๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ œ๋ชฉ๊ณผ ์žฌํ˜„ ์ฝ”๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

@theprash ๋ฅผ ๋ณด๊ณ ํ•˜๊ณ  nonAbbreviatedType ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ž˜์Šค ๋ฉค๋ฒ„์—๊ฒŒ๋งŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฏ€๋กœ ์ด์ „์—๋Š” ๋ณธ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๋„์šฐ๋ฏธ๋ฅผ ๊ณตํ†ต ๋ชจ๋“ˆ ์–ด๋”˜๊ฐ€์— ๋„ฃ์–ด์•ผ ํ•˜์ง€๋งŒ ์ง€๊ธˆ์€ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์—์„œ ์ˆ˜์ •๋ฉ๋‹ˆ๋‹ค ๐Ÿ‘

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰