3
голосов
3ответов
851 просмотров

Проблема с F # Asp.Net CodeDom ProviderOptions

Я создаю приложение ASP.NET MVC с использованием F # в IIS 7. Когда я пытаюсь запустить его из браузера, я встречаю YSOD, содержащий следующее: [ArgumentNullException: значение не может быть нулевым. Название параметра: словарь] System.Collections.Generic.Dictionary2..ctor(IDiction...

10
голосов
9ответов
780 просмотров

Примеры того, как функциональные программы "пишут себя сами" посредством анализа типов

(Предыстория: я думал о том, чтобы сделать презентацию по F # и функциональному программированию. Исходя из опыта, я думаю, что "вау" фактора сопоставления с образцом и вывода типов не обязательно достаточно, чтобы противодействовать "справке" ! 'фактор «где мои фигурные скобки и точки с запято...

3
голосов
4ответов
844 просмотров

Оптимизация кода F # для красно-черного дерева с наклонным левым углом

Я работал над переносом реализации LLRBT с C # на F #, и теперь он у меня работает правильно.Мой вопрос: как мне это оптимизировать? Некоторые идеи у меня есть Использование Discriminated Union for Node для устранения использования null Удалить геттеры и сеттеры у вас не может быть ну...

0
голосов
3ответов
186 просмотров

Как еще оптимизировать разбиение в F #?

Этот код разбивает список на две части с помощью предиката, который берет список и возвращает false в момент разделения. let split pred ys = let rec split' l r = match r with | [] -> [] | x::xs -> if pred (x::l) then x::(split' (x::l) xs) else [] let res...

2
голосов
2ответов
584 просмотров

Проблема с использованием Seq.cast

Использование Seq.cast, кажется, постоянно дает сбой даже для таких простых вещей, как следующее: let xor c = Seq.cast c |> Seq.reduce (^^^) xor [1;3] // Works, assuming because no cast is necessary xor ['a';'b'] // Fails xor [2u] // Fails Последние два не работают с "Ук...

3
голосов
6ответов
607 просмотров

Чем отличается "языково-ориентированное программирование" с ООП / функциональностью в реальном мире

Недавно я начал читать литературу по F #, в которой говорилось о «Функциональном программировании в реальном мире» и «Эксперт F #» e.g .. Вначале это просто, потому что у меня есть опыт работы с Haskell и я знаю C #.Но когда дело доходит до « языково-ориентированного программирования », я просто...

16
голосов
2ответов
1757 просмотров

F #: Использование INotifyPropertyChanged для привязки данных

Как реализовать INotifyPropertyChanged для использования в типе F #? Спасибо!

5
голосов
1ответов
2589 просмотров

F # String сопоставление с шаблоном строк с подстановочными знаками

В рамках проекта, который я поручил себе улучшить свои знания F # и функционального программирования в целом, я пытаюсь написать алгоритм сопоставления строковых шаблонов с нуля без использования каких-либо циклов или переменных (или регулярных выражений , или String.Replace и друзья). Поскольку...

1
голосов
3ответов
233 просмотров

Аргументы блока F #

В C # есть анонимные делегаты.Итак, я могу написать: public vois foo(string d, Action t){ t(); } В рубине: def foo d yield end Как сделать то же самое в F #?Предпочтительный синтаксис: foo "dfdfdf" { do something here } Спасибо

1
голосов
1ответов
409 просмотров

Не удается получить перегрузку оператора для работы с деревьями выражений Linq

Я создаю деревья выражений Linq из F #, которые работают с имеющимся у меня настраиваемым типом данных.Тип представляет собой очень простое размеченное объединение, в котором обычные арифметические операторы перегружены.Но по какой-то причине я не могу создавать узлы арифметических выражений lin...

3
голосов
2ответов
2039 просмотров

Лучшая F # IDE для Mac

Я пытаюсь убедить своего друга перейти с OCaml на F #, но они программируют на Mac.Каков наилучший опыт разработки F # поверх OS X? Из рассмотрения аналогичного вопроса по SO , похоже, что F # Addin для MonoDevelop это лучший вариант.Есть ли лучшие альтернативы?

7
голосов
3ответов
2763 просмотров

Синтаксис F # для подписи P / Invoke с использованием MarshalAs

Я не уверен в синтаксисе этого.Я пытаюсь перевести этот код C # на F #. struct LASTINPUTINFO { public uint cbSize; public uint dwTime; } public class IdleTimer { [DllImport("User32.dll")] [return: MarshalAs(UnmanagedType.Bool)] private static extern bool GetLastInputInfo(...

5
голосов
1ответов
637 просмотров

В F #.Можно ли перегрузить конструктор абстрактного типа?

Если да, не могли бы вы привести пример типа с конструктором без параметров и с "полным параметром". Вы бы порекомендовали это, или F # предлагает альтернативный, более функциональный способ.Если да, не могли бы вы привести пример?

27
голосов
5ответов
4007 просмотров

Есть ли эквивалент создания неявного оператора C # в F #?

В C # я могу добавлять неявные операторы в класс следующим образом: public class MyClass { private int data; public static implicit operator MyClass(int i) { return new MyClass { data = i }; } public static implicit operator MyClass(string s) { int re...

3
голосов
1ответов
147 просмотров

Разница между этими двумя синтаксисами

type IFooable = abstract Foo : int -> int type IFooable2 = abstract Foo : a : int -> int type MyClass() = interface IFooable2 with member this.Foo(b) = 7 В чем разница между IFooable и IFooable2?Они эквивалентны? Какова цель этого в моем примере?Когда это использовать?

1
голосов
3ответов
706 просмотров

Расширения типа F # в проекте C #: пропущено расширение System.Runtime.CompilerServices.Extension?

Я погружаюсь в F #, и это очень увлекательно.Я пытаюсь объединить необязательные типы и C #, например здесь .Довольно интересная вещь ... но я думаю, что упускаю кое-что важное: #light namespace MyFSharp // C# way [<System.Runtime.CompilerServices.Extension>] module ExtensionMethods = ...

4
голосов
1ответов
429 просмотров

Как получить доступ к закрытым полям / методам / свойствам с помощью f # interactive

F # interactive - мощный инструмент разработки, поскольку он позволяет запускать WinForm или окно Wpf и вызывать там произвольный код. Это дает возможность использовать подход «попробуй, прежде чем писать код». Очень часто я хочу явно «нарушить границы» и вызывать частные / защищенны...

8
голосов
5ответов
11025 просмотров

Как использовать F # с моно в Linux?

Мне было трудно понять, как использовать F # в Linux - я был бы очень признателен за помощь.

3
голосов
2ответов
708 просмотров

Интерактивная разработка на F #

Исходя из среды Matlab и R, где процесс разработки очень интерактивен (выбор, запуск, выбор, исправление, выбор, запуск выбор, исправление и т. д.), я пытаюсь понять, как F # обрабатывает этот стиль разработки, что кажется очень важным для научных приложений. Вот несколько вещей, которые сразу п...

5
голосов
5ответов
3974 просмотров

F #: удалить первые N символов из строки?

Я пытаюсь написать код для удаления первых N символов в строке.Я уже мог бы сделать это в императивной манере, но я бы хотел, чтобы это было сделано в духе функционального программирования.Поскольку я новичок в F # и функциональном программировании, у меня возникли проблемы ...

4
голосов
3ответов
5714 просмотров

Как распечатать весь список на F #?

Когда я использую Console.WriteLine для печати списка, по умолчанию отображаются только первые три элемента.Как заставить его распечатать все содержимое списка?

9
голосов
1ответов
910 просмотров

Синтаксис определения универсального типа на F #

Это не имеет большого значения, но есть ли в F # способ получить определение универсального типа без вызова GetGenericTypeDefinition ()?IComparable<_> - это IComparable<object> (или любой другой предполагаемый тип), а IComparable<> - синтаксическая ошибка. VB.NET GetType(...

4
голосов
3ответов
1600 просмотров

Выражение для проверки того, что все элементы в последовательности одинаковы

Есть ли где-нибудь в F # шаблон с несколькими экземплярами? Считайте, что я работаю над списком. У меня есть следующее сопоставление с образцом match l with | [] | [_] -> l //if the list is empty or contains only one item, simply return it | //is there a pattern to test if...

10
голосов
5ответов
5796 просмотров

Ваш опыт работы с Matlab / F # / R для анализа данных и алгоритмов моделирования

Я уже некоторое время использую F # для моделирования алгоритмов перед кодированием их на C ++, а также использую его впоследствии для проверки результатов кода C ++, а также сравнения с реальными записанными данными. Что касается моделирования, это очень удобно, но что касается «мэшапа данны...

1
голосов
3ответов
349 просмотров

Это лучший (более функциональный способ) написать следующий код fsharp?

У меня есть такие фрагменты кода в проекте, и я понимаю, что это не так. написано функционально: let data = Array.zeroCreate(3 + (int)firmwareVersions.Count * 27) data.[0] <- 0x09uy //drcode data.[1..2] <- firmwareVersionBytes //Number of firmwar...

12
голосов
2ответов
3441 просмотров

Как с нуля написать парсер рекурсивного спуска?

В качестве чисто академического упражнения я пишу парсер рекурсивного спуска с нуля - без использования ANTLR или lex / yacc. Я пишу простую функцию, которая преобразует математические выражения в их эквивалентные AST. У меня есть следующее: // grammar type expr = | Lit of float | ...

0
голосов
5ответов
544 просмотров

Языковая производительность

Ежедневные дискуссии, такие как «C # против производительности Java», «F # против производительности C #», «C против C ++», «родной C ++ против C #», всегда интересны. Как и idiom.com/~zilla/Computer/javaCbenchmark.html или mb manageability.org/blog/archive/20030520%23p_the_problem_with_camer...

2
голосов
1ответов
1119 просмотров

вызов функций F # из C # и получение исключений с нулевой ссылкой

Я использую Visual Studio 2008 с установленным F # CTP за октябрь 2009 г. Я пытаюсь вызвать код F # из моей программы на C #. Кажется, что большинство типов функций F # работают, но некоторые из них не инициализируются в F # и выдают исключения NullReferenceExceptions. Это делают замыкания и ...

2
голосов
3ответов
397 просмотров

Что мне следует использовать: наследование или интерфейс?

В чем разница между: type IFooable = interface IDisposable abstract Foo : (unit -> unit) и type IFooable = inherit IDisposable abstract Foo : (unit -> unit) ? Если эквивалентно, в каких случаях следует использовать одно вместо другого? Спасибо!

5
голосов
2ответов
849 просмотров

Как вызывать методы из конструктора в F #

Мне известно об этом вопросе , но спрашивающий, похоже, удовлетворился ответом на другойвопрос (как перегрузить конструктор) У меня есть класс, который действует как расширенный мемоизатор для изменяемого класса, так что я могу рассматривать его как неизменный извне: type Wrapper(args) = ...