Вопросы по теме '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 просмотров
schedule
07.03.2023
Что такое 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