Чтобы добавлять сообщения и комментарии, .

@OCTAGRAM:
OCTAGRAM

Я думал, что Native в React Native — это как в Delphi и Ada. А оказалось, что нет. JavaScript там неизвлекаем.

@OCTAGRAM:
OCTAGRAM

awelonblue.wordpress.com
Один чумовой программист, который развил функционально–реактивное программирование в реактивно–требовательное, однажды начал пилить язык программирования Awelon, а теперь параллельно с этим — wiki–движок.

Wikilon will be implemented as a Haskell warp web service using acid-state for persistence and websockets for liveness and reactivity.
Wikilon will be user-extensible, in the sense that developers can add new web services or web applications simply by defining new words in the Awelon Object dictionary. AO leverages ad-hoc naming conventions, e.g. words with prefix `test.` indicate tests that we should run. In this case, new web services might be installed by defining a word like `wikilon\foo` to process HTTP requests on the \foo path. It’s essentially an in-language variation of CGI. However, AO is much easier to secure than CGI, and also subject to partial evaluation (e.g. for a given set of query parameters).
I’d like to shift towards a more persistent, reactive testing environment, in a style akin to iPython notebook. As a developer edits definitions for words, they should be able to immediately observe the effects on whichever notes they’re viewing. A given note shall simply be another word in the dictionary, hanging around for anyone who wishes to view it.
The idea of user programmable wikis isn’t new. But I believe AO is better suited for this role, e.g. with respect to security, portability, concurrency, and composition. AO was designed with wiki-based development in mind.

@balodja:
balodja

Поскольку астрологи в #2731494 объявили неделю FRP, количество постов об FRP удваивается. github.com

По ссылке пример того, как можно реализовать методами стрелочного FRP интегрирование ODE методами а-ля Рунге-Кутта (весь код в одном файле). В качестве основы используется подход в стиле Yampa или Netwire. Хорошо описано в заезженной статье: staff.science.uu.nl

От описанного в статье сделаны следующие важные отступления. Во-первых, избегается использование init'ов или delay'ев, которые обычно в таком подходе используются для описания интегралов. Вместо этого используется примитив integrator. Во-вторых, стрелки оперируют не сырыми данными, а отдельной абстракцией под названием Signal. На которую и выкладывается бремя обеспечения интегрирования. Для примера традиционно реализовано два метода интегрирования: Эйлер первого порядка (строка 133) и Рунге-Кутта четвёртого порядка (строка 153). Собственно, строчки 153-158 наибольший интерес и представляют, остальное всё шелуха.

В качестве примера интегрируемого уравнения обычный гармонический осциллятор (строка 170). Пруф работоспособности: tau.rghost.ru

Привет.

@qnikst:
qnikst

У меня есть поток событий вида (Int, Double), есть функция

фильтрующая только интересные события:

test :: Int -> Wire (Event (Int,Double)) (Event Double)
test n = fmap (fmap snd) (filterE ((n ==) . fst))

есть функция для создания ноды, она для всех интересующих
событий держит последнее не больше 4 сек (таймаут) и считает средее по двум секундам, это все хорошо и прекрасно.

mkNodeWire :: Int -> Wire (Event (Int,Double)) Double
mkNodeWire n = sAvg 2 . holdFor 4 . test n


Но теперь у меня вознакает проблема, у меня есть куча функций нод [Wire (Event (Int,Double) Double)] и котоым я могу скормить event, но я хочу отлавливать случай, когда все ноды проигнорировали событие.

В принципе это можно сделать если test :: Int -> Wire (Int, Double) Double, тогда на проводе будет вызываться inhibit, но это угробит состояние там живущее, хранить состояние в моей функции, это как-то убого, вот и не знаю что делать.

@segfault:
segfault

Что у нас самое прогрессивное в этом плане? Интересует моделирование процессов, смотрел YAMPA, очень интересно, стрелки манят, смотрел netwire интересно, что сигнальная функция может порождать либо не порождать выходной сигнал. Кто вообще темой интересовался ?

@PineappleZombie:
PineappleZombie

Тиклегуня: ompldr.org (в правом верхнем углу)

Предварительные итоги: FRP отличная штука и её надо активно использовать. Tcl/Tk тоже весьма ничего

@PineappleZombie:
PineappleZombie

Довел до условно рабочего состояния гибрид reactive-banana с тиклем

Брать можно здесь bitbucket.org или здесь github.com

@PineappleZombie:
PineappleZombie

Мои безумные идеи по скрещиванию FRP в лице reactive-banana и Tcl/Tk начинают обретать форму

@OCTAGRAM:
OCTAGRAM

asana.com решил за 19 ходов

@OCTAGRAM:
OCTAGRAM

asana.com

@OCTAGRAM:
OCTAGRAM

blog.asana.com

Asana (Project Management) выходит в открытый доступ. Та самая, у которой функционально–реактивное программирование активно используется.

Asana is a modern web application that keeps teams in sync, a shared task list where everyone can capture, organize, track, and communicate what they are working on in service of their common goal. Rather than trying to stay organized through the tedious grind of emails and meetings, teams using Asana can move faster and do more — or even take on bigger and more interesting goals.

@superbobry:
superbobry

кошерный тред про отличия паттерна Observer и FRP haskell.org

@superbobry:
superbobry

товарищи, ткните меня в какой нить real-world пример использования FRP? или таких в природе нет — все только библиотеки штампуют?

@OCTAGRAM:
OCTAGRAM

Reactive Demand Programming — смежная с FRP область, тоже может заслуживать внимания.
awelonblue.wordpress.com
c2.com
awelonblue.wordpress.com

@OCTAGRAM:
OCTAGRAM

yz.mit.edu

Неплохой обзор реактивных решений для Web: Flapjax, LunaScript, Coherence, Ur/Web, Fun

@OCTAGRAM:
OCTAGRAM

asana.com

Inspired by #incremental computing, we’re building Lunascript as a simple way to write modern web applications. Lunascript has a syntax and ease of use reminiscent of JavaScript, but a powerful pure-functional lazily-evaluated semantics historically confined to academic languages.

A Lunascript application specifes a data model and a function from the model to the view or user interface, annotated with handler functions from user inputs to model mutations. From this the Lunascript compiler produces a functioning Web 2.0 application — the client-side JavaScript, the server-side SQL, and everything in between — complete with real-time bidirectional data synchronization.

@PineappleZombie:
PineappleZombie

A Survey of Functional Reactive Programming cs.rit.edu

I just completed a survey paper of the literature on Functional Reactive Programming for an independent study. I'm posting it in the hope that it is useful to someone investigating FRP
Последние реализации из мира хаскелля не отражены (elerea, reactive-banana)

@PineappleZombie:
PineappleZombie

Оно, конечно, и functional, и reactive, и programming даже. А документации — шиш