Публикации по теме 'purescript'
Давайте создадим игру для Саймона на PureScript Pt. 3
Функциональное программирование внешнего интерфейса с помощью PureScript и Pux
Подводя итог, в последнем посте вы узнали, как: создавать разметку HTML с помощью библиотеки smolder, отображать разметку в DOM и целую кучу операторов ( <$>, <#>, $, =<<, <@> ) 🙀.
В этом посте вы узнаете, как использовать Pux , интерфейсную библиотеку пользовательского интерфейса, вдохновленную Elm, для PureScript.
Объезд 👷
У меня возникла небольшая проблема с правильной..
Изоморфизмы и преобразования данных туда и обратно
Примечание. Это Урок 26 из серии «Переход от JavaScript к PureScript». Обязательно прочитайте введение в серию, в которой мы рассказываем о целях и структуре, а также об установке, компиляции и запуске PureScript. Я буду публиковать новый учебник примерно раз в месяц. Так что возвращайтесь почаще, впереди еще много всего!
Индекс | ‹---------------- Введение ‹ Урок 25 | Урок 27 ››
В последнем туториале мы завершили естественные преобразования в функциональном..
PureScript Traversable и проблемы с производительностью эффектов
При попытке обработать файл из 1 миллиона строк мы столкнулись с некоторыми проблемами производительности с помощью `traverse`.
При запуске 500 000 строк может пройти 3–4 секунды между сообщением журнала «Пуск» и выводом.
Но при запуске 1 миллиона строк это заняло 30 секунд!
accountsText <- readTextFile UTF8 "accounts-1m.txt"
let accounts = take 1000000 $ split (Pattern "\n") accountsText
let accts = map (\s -> show s <> show s) accounts
log..
Pure C - Пристальный взгляд
Обзор
PureScript - прекрасный язык по множеству причин. Одна из этих причин заключается в том, что он сам по себе не зависит от серверной части. Вместо того, чтобы сразу генерировать JavaScript в собственном абстрактном синтаксическом дереве (AST), он создает промежуточное представление, называемое базовым представлением, или CoreFn . Так получилось, что JavaScript - это первый, официальный бэкэнд, связанный с компилятором.
Точно так же C - удивительный язык. Достаточно..
Создавайте типы с полугруппами
Примечание. Это Урок 6 из серии Переход от JavaScript к PureScript . Обязательно прочитайте введение в серию, где я освещаю цели и схему, а также установку, компиляцию и запуск PureScript. Я буду публиковать новый учебник примерно раз в месяц. Так что возвращайтесь почаще, впереди еще много всего!
Индекс | ‹ ‹ Урок 5 | Урок 7› Урок 27 ››
Добро пожаловать в Урок 6 из серии Сделайте скачок от Javascript к PureScript . Надеюсь, вам понравились..
PureScript для фронтенд-разработчиков
Если вы следите за мной в Твиттере, возможно, вы видели, как я радостно заявлял о своей новой любви к языкам в стиле ML и сильной выразительной типизации. В ближайшие дни я напишу больше о функциональном программировании и статической типизации, а также о том, почему я думаю, что это будущее быстрой разработки пользовательского интерфейса. А пока я хотел бы познакомить вас с моим любимым функциональным языком - PureScript . Основная команда недавно выпустила отличную новую версию - 0.9.1,..
Вопросы по теме 'purescript'
загрузка внешнего файла javascript в purescript
Как я могу загрузить внешний файл JavaScript в Pure-Script?
Все внешние операторы импорта встроены в код javascript, но я хочу загрузить их из внешнего файла.
839 просмотров
schedule
27.04.2023
Что делает в PureScript тройное «меньше» (`‹--------------------------------`)?
Я видел этот код в программе PureScript , что делает <<< ?
pinkieLogic :: (Tuple Boolean GameObject) -> GameObject -> GameObject
pinkieLogic (Tuple jumpPressed hater) p =
hated hater p
(solidGround
<<< gravity...
1127 просмотров
schedule
14.04.2022
Попытка использовать функцию Cons в Purescript
Вот мой код:
print 1: [2,3]
Когда я запускаю его, я получаю
Cannot unify type
Data.List.List
with type
Prim.Array
Что происходит?
445 просмотров
schedule
14.07.2022
Тестирование функций purescript в jsPerf
Я хотел бы сравнить производительность двух функций PureScript в jsPerf .
Какую компиляцию мне нужно сделать и какие части мне нужно поместить в «настройку» и каждый блок фрагмента?
Используя psc или целлюлозу.
110 просмотров
schedule
04.11.2022
Как правильно развернуть «данные» внутри «данных»?
Я пытаюсь получить доступ к вложенным данным ( Foo.y внутри Bar в приведенном ниже примере), но простые подходы для развертывания Foo внутри Bar , которые приходят на ум, не работают. Но как его правильно развернуть?
Вот мои данные:...
232 просмотров
schedule
29.07.2022
Странное поведение вывода типа
Я пытаюсь понять, почему purescript не может правильно определить тип для параметра map в этом простом коде:
maybeInc :: String -> StateT (Maybe Int) Identity Unit
maybeInc "a" = modify $ map (1 +)
maybeInc _ = return unit
Вот мое...
108 просмотров
schedule
07.08.2023
Как вернуть значение из функции PureScript с эффектом ИСКЛЮЧЕНИЯ?
Я только начал изучать эффекты PureScript и застрял, пытаясь создать функцию с эффектом ИСКЛЮЧЕНИЯ.
lengthGt5 :: forall eff. String -> Eff (err :: EXCEPTION | eff) String
lengthGt5 a = if (length a <= 5)
then throwException $...
629 просмотров
schedule
19.06.2022
PureScript Halogen и веб-сокеты
Я пытаюсь использовать purescript-halogen в сочетании с веб-сокетами, но после нескольких попыток я не могу заставить их работать вместе.
Я видел этот вопрос о Thermite и websockets и ответ Фила о функции Driver . Галоген также имеет функцию...
1197 просмотров
schedule
19.07.2023
Показать как нераспознанный класс типов
Итак, я снова играю в «Purescript by Example» и, в частности, с кодом аппликативной проверки ch7. Проходил обновление кода в поставляемых модулях, так как язык с тех пор развился (оператор ++ устарел, квалифицированный импорт более лаконичен..), но...
40 просмотров
schedule
30.05.2023
Сигнал Purescript многократно запускается в начале времени
Я создаю игру в Purescript, используя сигнал purescript, который включает в себя движение. Пользователь нажимает левую/правую клавишу для перемещения влево/вправо. Минимальный код ниже.
Похоже, что purescript оценивает сигнал «с начала времен» на...
143 просмотров
schedule
27.06.2022
Матрица фиксированного размера и возможно
Я пишу настольную игру на PureScript, в которой используется матрица точного размера 2x7 (в некоторых вариантах может быть 4x7). Пакет, который я использую, имеет Matrix.getRow функция, которая возвращает Maybe (Array a) .
Как лучше всего не...
57 просмотров
schedule
30.08.2022
Принудительно показать запись в PureScript
Можно ли принудительно отобразить (т. е. создать строковое представление) произвольную запись в PureScript для целей отладки независимо от того, имеет ли она экземпляр класса типов для Show ?
Я хотел бы показать содержимое события Pux , но у него...
620 просмотров
schedule
03.10.2022
Полиморфизм строк в Purescript. Какой правильный синтаксис?
Играя с функцией на основе примера из «Purescript by Example», глава 5, я немного озадачен тем, как объявлять полиморфные типы строк.
Следующие компилируются нормально
type Student = {
first :: String,
last ::...
928 просмотров
schedule
15.07.2022
Purescript: только Halogen HTML DSL Отображает теги id
Я использую purescript-halogen v0.12.0 и не могу понять, почему отображается только тег id .
Это происходит даже с якобы хорошо поддерживаемыми элементами, такими как div .
Пример:
render = div [ id_ "some-id", name "some-name ] []...
244 просмотров
schedule
10.05.2023
Унифицирующий тип записи
В качестве обучающего упражнения я пытаюсь определить новый тип, который будет служить держателем функций, которые могут преобразовывать Show -способные значения в Eff ects, то есть:
newtype ShEff a = ShEff (forall eff. Show a => a -> Eff...
74 просмотров
schedule
16.04.2023
Определение интерпретатора для свободной монады
В пакете purescript-free есть пример кода, определяющий этот интерпретатор:
teletypeN :: forall eff. NaturalTransformation TeletypeF (Eff (console :: CONSOLE | eff))
teletypeN (PutStrLn s a) = const a <$> log s
teletypeN (GetLine k) = pure...
147 просмотров
schedule
23.12.2022
purescript-argonaut-generic gDecodeJson: свойство 'tag' отсутствует"
Я изучаю Argonaut и могу декодировать json вручную:
foo = """{"f":"xxx"}"""
newtype Foo =
Foo {
f :: String
}
derive instance genericFoo :: Generic Foo
instance decodeJsonFoo :: DecodeJson Foo where
decodeJson json = do
obj <-...
143 просмотров
schedule
22.09.2022
Действие прокрутки в PureScript Halogen
Я использую purescript-halogen и хочу прокрутить до конца div, когда сообщение дочернего компонента было перехвачено. Тем не менее, похоже, что в Halogen отсутствует управление прокруткой. Итак, как я могу прокрутить вниз div?
Одно из решений,...
325 просмотров
schedule
06.08.2022
Функции PureScript дают неправильный тип во время выполнения
Вот функция, которую я написал на PureScript. Он компилируется без ошибок или предупреждений. Функция выполняет некоторые настройки для обработки движения мыши:
startMouseHandlers :: forall h e. STRef h {x::Number, y::Number}
-> STRef h...
103 просмотров
schedule
09.12.2022
Чем в PureScript List отличается от Array?
Чем List отличается от Array в PureScript?
Каковы причины использовать одно вместо другого?
1548 просмотров
schedule
28.09.2022