Публикации по теме '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 просмотров

Сигнал 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 просмотров

Чем в PureScript List отличается от Array?
Чем List отличается от Array в PureScript? Каковы причины использовать одно вместо другого?
1548 просмотров
schedule 28.09.2022