Fable: рд╕рдорд░реНрдерди рдкреНрд░рдгрд╛рд▓реА.рдЖрдИрдУ.рдкрде

рдХреЛ рдирд┐рд░реНрдорд┐рдд 30 рдЬрдире░ 2021  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: fable-compiler/Fable

рд╡рд┐рд╡рд░рдг

Fable рдореЗрдВ System.IO.Path рдХрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ Fable.System.IO рдкрд░ рдХрд╛рдлреА рдордЬрдмреВрдд рд▓рд┐рдЦрд╛ рд╣реИред рд╢рд╛рдпрдж рдЗрд╕рдХрд╛ рдХреЛрд░ рдлреИрдмрд▓ рдореЗрдВ рд╡рд┐рд▓рдп рдПрдХ рд╢реБрджреНрдз рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛?

рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣реАрдВ рдкреВрдЫ рд▓рд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдЕрдм рдФрд░ рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрддрд╛ред рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХреА рдЕрдкрдиреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ @alfonsogarciacaro рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд▓реЗрдЧрд╛ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ BCL API рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ Fable рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрдирд╛ рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ Fable рдХреЗ рдЕрдиреБрд░рдХреНрд╖рдХ рдУрд╡рд░рд╣реЗрдб рдХреЛ рдХрдо рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ - рдХрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░, рдкреНрд░рд╢реНрди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрд╕ рд▓рд╛рдЧрдд рдХреЗ рд▓рд╛рдпрдХ рд╣реИ рдпрд╛ рдирд╣реАрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд▓рд╛рдКрдВрдЧрд╛!

рдПрдХ рдЪреАрдЬ рдЬреЛ рдЗрд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рдмрдирд╛рддреА рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ Fable.System.IO рдПрдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ npm рд╕реЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо-рдбрд┐рдЯреЗрдХреНрдЯ ; рд▓реЗрдХрд┐рди Shmew рдХреЗ F#-only Fable.Extras рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ)ред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдлреИрдмрд▓ рдХреЛ рдЗрд╕ рдХреЛрдб рдХреЛ рдареАрдХ рд╕реЗ рдЕрд╡рд╢реЛрд╖рд┐рдд рдХрд░рдирд╛ рдерд╛, рддреЛ рдЙрд╕реЗ рдпрд╛ рддреЛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдбрд┐рдЯреЗрдХреНрдЯрд░ рдкрд░ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдирд┐рд░реНрднрд░рддрд╛ (рдпрд╛ рдЗрдирд▓рд╛рдЗрди) рд▓реЗрдиреА рд╣реЛрдЧреА, рдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рдпрд╣ рдЪреБрдиреЗрдЧрд╛ рдХрд┐ рдХрд┐рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рд╣реИ (рд╡рд┐рдВрдбреЛрдЬ рдмрдирд╛рдо рдпреВрдирд┐рдХреНрд╕ рдкрде)ред

рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ, рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣рд╛рдВ рдкреВрд░реНрдг рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдХрд╡рд░реЗрдЬ рд╣реИ ред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣рд╛рдп @jwosty! рдпрд╣ рдПрдХ рдорд╣рд╛рди рдХрд╛рд░реНрдп рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ Fable.System.IO рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рд╣реИ рдореИрдВ рдЗрд╕реЗ Fable рдореЗрдВ рдПрдХреАрдХреГрдд рджреЗрдЦрдиреЗ рдХреА рдЖрдкрдХреА рдЗрдЪреНрдЫрд╛ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рднреА рдЕрдзрд┐рдХ .NET APIs рдХреЛ рд╢рд┐рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рди рд╣реВрдВред рдкрде рдЙрдкрдпреЛрдЧреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ System.IO рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рддреЗ рд╕рдордп рд▓реЛрдЧ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдИ рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдореЗрдВ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ: рдмреНрд░рд╛рдЙрдЬрд╝рд░, рдиреЛрдбрдЬ, рдореЛрдмрд╛рдЗрд▓ ... рдФрд░ рдЗрди рд╕рднреА рдореЗрдВ рдлрд╝рд╛рдЗрд▓ I/O рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЙрдкрдХреНрд░рдо рд╣реИ (рдореЗрд░реЗ рд▓рд┐рдП)ред рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╛рдЗрдирд░реА рдХреНрд░рдорд╛рдВрдХрди рдореЗрдВ рдкрд░реЗрд╢рд╛рдиреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдиреЛрдб рдореЗрдВ btoa рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ: /

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдлреИрдмрд▓-рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЕрдкрдиреЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо-рдбрд┐рдЯреЗрдХреНрдЯ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджрд╢рдорд▓рд╡ рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХреБрдЫ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдмрдВрдбрд▓ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдкрд░реЗрд╢рд╛рдиреА рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ https://github.com/thoth-org/Thoth.Json/pull/96 рдореЗрдВ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдореБрдЭреЗ рдХрд╛рдлреА рд╕рдордп рд▓рдЧрд╛ рдПрд╣рд╕рд╛рд╕) рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдмрд╛рд╣рд░реА рдЬреЗрдПрд╕ рдХреЛрдб рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдПрдХ рдкреВрд░реНрдг рдПрдл # рдлреИрдмрд▓-рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред

Fable.System.IO рд╢рд╛рдирджрд╛рд░ рд╣реИ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ .NET рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк JS рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкрд░рд┐рдЪрд┐рдд API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреЛ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рддрддреНрдХрд╛рд▓ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ рд╕рдорд░реНрдерд┐рдд рдХреНрдпрд╛ рд╣реИ рдФрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЕрдВрддрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ IDEред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣рд╛рдп @jwosty! рдпрд╣ рдПрдХ рдорд╣рд╛рди рдХрд╛рд░реНрдп рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ Fable.System.IO рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рд╣реИ рдореИрдВ рдЗрд╕реЗ Fable рдореЗрдВ рдПрдХреАрдХреГрдд рджреЗрдЦрдиреЗ рдХреА рдЖрдкрдХреА рдЗрдЪреНрдЫрд╛ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рднреА рдЕрдзрд┐рдХ .NET APIs рдХреЛ рд╢рд┐рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рди рд╣реВрдВред рдкрде рдЙрдкрдпреЛрдЧреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ System.IO рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рддреЗ рд╕рдордп рд▓реЛрдЧ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдИ рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдореЗрдВ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ: рдмреНрд░рд╛рдЙрдЬрд╝рд░, рдиреЛрдбрдЬ, рдореЛрдмрд╛рдЗрд▓ ... рдФрд░ рдЗрди рд╕рднреА рдореЗрдВ рдлрд╝рд╛рдЗрд▓ I/O рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЙрдкрдХреНрд░рдо рд╣реИ (рдореЗрд░реЗ рд▓рд┐рдП)ред рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╛рдЗрдирд░реА рдХреНрд░рдорд╛рдВрдХрди рдореЗрдВ рдкрд░реЗрд╢рд╛рдиреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдиреЛрдб рдореЗрдВ btoa рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ: /

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдлреИрдмрд▓-рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЕрдкрдиреЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо-рдбрд┐рдЯреЗрдХреНрдЯ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджрд╢рдорд▓рд╡ рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХреБрдЫ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдмрдВрдбрд▓ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдкрд░реЗрд╢рд╛рдиреА рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ https://github.com/thoth-org/Thoth.Json/pull/96 рдореЗрдВ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдореБрдЭреЗ рдХрд╛рдлреА рд╕рдордп рд▓рдЧрд╛ рдПрд╣рд╕рд╛рд╕) рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдмрд╛рд╣рд░реА рдЬреЗрдПрд╕ рдХреЛрдб рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдПрдХ рдкреВрд░реНрдг рдПрдл # рдлреИрдмрд▓-рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред

Fable.System.IO рд╢рд╛рдирджрд╛рд░ рд╣реИ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ .NET рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк JS рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкрд░рд┐рдЪрд┐рдд API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреЛ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рддрддреНрдХрд╛рд▓ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ рд╕рдорд░реНрдерд┐рдд рдХреНрдпрд╛ рд╣реИ рдФрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЕрдВрддрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ IDEред

рдмрдВрдж рдХрд░рдирд╛ рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ Fable.System.IO рдЕрдзрд┐рдХ (рдЕрдкреВрд░реНрдг) BCL рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдврд╝рд┐рдпрд╛ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж @jwosty!

рдЬрд╝рд░реВрд░; рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рддрд░реНрдХ рдХреЛ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдБ!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

MangelMaxime picture MangelMaxime  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

nozzlegear picture nozzlegear  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

theprash picture theprash  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

AngelMunoz picture AngelMunoz  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

et1975 picture et1975  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ