wizzard: (Default)
[personal profile] wizzard

внезапно влетел в довольно неприятную недоработку в дизайне компилятора… теперь даже не знаю, что с ним делать - если поправить сигнатуру метода, то там навскидку вылазит более 500 compilation errors, а регексом это не выправишь, увы.

да, кстати. а как в C# написать ф-ю Func<M<T>,M<TResult>> Generalize<M>(Func<T,TResult>), которая принимает функцию от Т, и M, и возвращает функцию, которая, ммм, делает что-то М-зависимое над Т?

М – это IEnumerable, IObservable, Nullable, Traced, ICancellable, может что-нибудь еще.

Или сделать его.. хмм. чорт. я знаю как это сделать в питоне, в C# 4 (но через dynamic не хочется), и в F#. Переписывать компилятор на F# тоже пока не хочется – я его слишком плохо знаю, да и не думаю что оно того стоит.

[English version]

Date: 2009-11-26 10:01 am (UTC)
From: [identity profile] metaclass.livejournal.com
Что за страшные кошмары вы там делаете?:)
То XAML парсите, то хаскель на C# имитируете:)

Date: 2009-11-26 12:25 pm (UTC)
From: [identity profile] bik-top.livejournal.com
>(Комментарий удалён)

А зачем ты его делаешь, если не секрет?
Кстати, в следующем релизе языка от Майкрософт будет предоставлено API к компилятору (compiler as a service), можно будет легко писать свои к нему плагины а-ля Решарпер. На PDC 2009 Luca Bolognese в своём (довольно скучном, вообще говоря) докладе даже показывал код на страницу с примером простейшего рефакторинга.

Profile

wizzard: (Default)
wizzard

January 2019

S M T W T F S
  12 345
6789101112
1314 1516171819
202122 23242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 24th, 2026 07:30 pm
Powered by Dreamwidth Studios