Вопросы по теме 'frege'

Есть ли веская причина, по которой `deleteBy` не имеет наиболее общего типа?
В разделе 20.10.1.1 отчета о языке Haskell 2010 говорится, что: deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a] На самом деле реализация в Библиотека GHC позволит deleteBy :: (b -> a -> Bool) -> b -> [a] ->...
812 просмотров
schedule 21.01.2024

Подсчет инверсий: StackOverflowError во Фреге, отлично работает в Haskell
Я пытаюсь подсчитать инверсии для списка чисел. Следующая программа Фреге работает для небольшого набора чисел, но выдает StackOverflowError для 100000 чисел. import frege.IO inversionCount [] _ = (0, []) inversionCount [x] _ = (0, [x])...
401 просмотров
schedule 07.12.2023

Как запустить программы Фреге на Android?
Меня интересует программирование под Android на функциональных языках, желательно близких к Haskell. Frege кажется хорошим выбором. Я обнаружил, что кто-то уже сделал такое приложение для проверки концепции , но я не смог найти его исходники....
2419 просмотров
schedule 30.12.2022

В чем основные различия между Scala и Frege (в парадигмах программирования)?
Scala и Frege - это типизированные функциональные языки, предназначенные для JVM. Frege ближе к Haskell, у Scala более независимая история. Но если мы не будем смотреть на синтаксические различия, каковы различия в допустимых методах...
4954 просмотров

Что такое Frege эквивалентно Haskell readFile?
При подготовке эквивалентов Фреге для реальных примеров кода на Haskell (глава 2) я не смог найти эквивалент для :type readFile Какой будет ближайший матч?
238 просмотров
schedule 28.12.2022

Как я могу установить поле в записи во Фреге?
предположим, что у меня есть эти записи: data Group = Group { id :: Id, name :: Name } derive Show Group data Game = Game { world :: World, groups :: [Group], random :: FRandom } derive Show Game Я хотел бы добавить новую группу в игру, но я...
64 просмотров
schedule 12.08.2022

Может ли модуль Frege охватывать несколько файлов?
Некоторые языки позволяют модулям охватывать несколько файлов. Во Фреге это означало бы, что пространство имен модуля будет «открыто» для последующих расширений. Я предполагаю, что это невозможно, так как модули расположены по их скомпилированному...
48 просмотров
schedule 08.12.2023

Как объявить перечисления Java в собственных объявлениях Frege?
При использовании инструмента Frege native-gen в классе JavaFX Animation он генерирует код Frege, который включает в себя следующее: data Animation = mutable native javafx.animation.Animation where native getRate :: Animation -> IO Double...
142 просмотров
schedule 19.11.2022

Как объявить Maybe изменяемого типа в нечистой нативной функции во Фреге?
Инструмент native-gen генерирует собственное объявление для метода showOpenDialog в javafx.stage.FileChooser вот так data FileChooser = mutable native javafx.stage.FileChooser where native showOpenDialog :: FileChooser -> Window -> IO...
59 просмотров
schedule 13.08.2022

Iterate выдает ошибки StackOverflow
Так что я только начал с Frege и Haskell. У меня есть опыт работы с функциональными языками, так как я использую Clojure уже пару лет. Первое, что я хотел попробовать, это мой обычный подход к числам Фибоначчи. next_fib (a, b) = (b, a + b) fibs...
261 просмотров
schedule 04.02.2024

Как обрабатывать исключения во Фреге?
Пытаясь обработать исключение, я нашел связанный с этим вопрос: что такое Frege, эквивалентная функции взаимодействия Haskell? Но мне было непонятно, как использовать выражения try/catch/finally . Проблема : Я хотел прочитать файл и...
112 просмотров
schedule 26.01.2023

Проблемы с кодом в REPL Фреге
Пытаясь изучить Фреге, я скопировал некоторый код из Real World Frege Дирка в онлайн-REPL и попытался выполнить его. это (см. также Как выполнить скомпилированный код вырезано в онлайн-отчете Фреге ). Скрипты, которые я пробовал, не...
112 просмотров
schedule 20.05.2022

Используйте круглые скобки для устранения неоднозначности выражений вроде `liftM b ap c`
В то время как в Haskell работает следующее: > (+) `liftM` (Just 3) `ap` (Just 5) Just 8 Фреге советует использовать скобки: frege> (+) `liftM` (Just 3) `ap` (Just 5) E <console>.fr:12: invalid expression, none-associative...
100 просмотров
schedule 19.07.2022

В чем разница между блоками ‹- и let внутри?
Я не понимаю, когда я должен использовать let и когда я должен использовать привязку <- .
1524 просмотров
schedule 27.12.2022

Не удалось импортировать модуль frege.system.Directory (java.lang.ClassNotFoundException: frege.system.Directory)
Я попытался импортировать System.Directory в свою программу Frege (в Eclipse), чтобы использовать функции как getDirectoryContent и т. д., и он пишет мне эту ошибку: Не удалось импортировать модуль frege.system.Directory...
106 просмотров
schedule 29.06.2023

Есть ли способ включить n+k паттернов в Frege?
В Haskell мне нужно начать ghci с -XNPlusKPatterns или добавить {-# LANGUAGE NPlusKPatterns #-} в исходный файл, чтобы это работало: pred :: Int -> Int pred 0 = 0 pred (n + 1) = n Является ли паттерн n+k преднамеренным пропуском во...
42 просмотров
schedule 13.06.2022

Haskell/Frege ‹=‹ и =‹‹ ассоциативность
Согласно Hoogle, постоянство <=< (композиция монады Клейсли, или «левая рыба») и =<< (обратное связывание монады) равно infixr 1 . Если я правильно смотрю на них, выражение вроде, скажем, print <=< return =<< return...
204 просмотров
schedule 04.06.2022