Какой простой, нетривиальный, пригодный для использования код вы создали в F # - PullRequest
7 голосов
/ 29 апреля 2009

Я пытаюсь выучить F #, но так как я никогда не занимался никаким функциональным программированием и не брал в нем класс, мне очень трудно обобщить тривиальные примеры Фибоначчи или факторные примеры на то, как я мог бы сделать что-то полезное.

Итак, какой простой, но нетривиальный, нетривиальный и пригодный для использования код F # есть в сети?

Ответы [ 5 ]

4 голосов
/ 29 апреля 2009

Вот отличный сеанс от PDC - он делает довольно нетривиальный пример приложения.

2 голосов
/ 29 апреля 2009

Мне нравится использовать его всякий раз, когда мне нужна поддержка синтаксического анализатора (в настоящее время вы можете назвать его DSL) и всякий раз, когда я реализую алгоритмы обработки символов.

Последний продуктивный код, который я написал на F #, касается фильтров (используется для фильтрации входящих сообщений в службу регистрации). У меня есть пара базовых фильтров (которые обрабатывают тему и т. Д.) И логические фильтры более высокого порядка, которые объединяют другие фильтры с операторами AND / OR / NOT. Реализация упрощает такие «выражения», преобразовывая их в CNF, собирая по типу и используя специальные правила (например, <5 && a <10 => a <5 и т. Д.) Кроме того, я создал простой парсер с помощью fsyacc, чтобы предоставить пользователям этого сервиса более простой способ создания фильтров. </p>

Полагаю, что в F # дырка имеет столько строк кода, сколько мне понадобилось бы для C #, чтобы написать только упрощение;)

2 голосов
/ 29 апреля 2009

Есть много блогов с забавными примерами кода; начните с http://fsharp.net и следите за различными блогами и примерами сообщества, чтобы найти немного контента.

0 голосов
/ 14 июля 2009
0 голосов
/ 30 апреля 2009

Я знаю, что это не прямой ответ, но мой совет: перенесите какую-нибудь библиотеку из Haskell. Вы получите отличный, гарантированный функциональный код для чтения и записи. Это заставит вас принять другое мышление.

Примеры: FParsec и FsCheck . Много кандидатов на Hacakge .

Либо поработайте над книгой Real World Haskell и попробуйте написать некоторые примеры на F #.

Наконец, проверьте codeplex и друзей на вещи, помеченные F #.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...