SORU
12 Kasım 2012, PAZARTESİ


'In şu anki Reaktif Fonksiyonel Programlama durumu uygulamaları?

Bazı basit otomatik fiziksel sistemleri (gibi şeyler sarkaç, robot kol,vb.) görselleştirmek için çalışıyorum Haskell. Genellikle bu sistemler, denklem ile tarif edilebilir

df/dt = c*f(t) u(t)

u(t) Bir çeşit temsil ettiği 'akıllı kumanda'. Bu sistemler çok güzel Reaktif Fonksiyonel Programlama paradigma içinde uygun görünüyor.

Kitap "" Paul Hudak tarafından,İfade Haskell Okulun aldım ve bulduğu etki alanı belirli bir dil "FAL" (için Fonksiyonel Animasyon Dil) sundu orada aslında işleri oldukça pleasently benim için basit bir oyuncak sistemleri (her ne kadar bazı işlevler, özellikle integrate, fıstıklı biraz tembel bir verimli kullanmak, ancak kolayca tamir edilebilir).

Benim sorum, daha olgun, güncel, bakımlı, performans ayarlı alternatif daha gelişmiş, hatta pratik uygulamalar bugün neler var?

This wiki page Haskell için çeşitli seçenekler listeler, ama şu saygı konusunda net değilim:

  1. "Kim, Conal Eliott projeden anladığım kadarıyla bu programlama inventers bir paradigma, görünüyor biraz bayat. "reaktif durumu Onun kodu seviyorum. ama ben daha güncel başka bir alternatif denemeliyim? Aralarındaki temel fark, sözdizimi açısından performans//çalışma zamanı-istikrar nedir?

  2. 2011, Bölümünde survey alıntı için 6, "... CTP uygulamaları henüz yeterince verimli ya da etkili bir performans gecikme garanti gerektiren etki alanı içinde kullanılmak için yeterince tahmin edilebilir ...". Anket bazı ilginç Olası iyileştirmeler, CTP 15 yılı aşkın süredir orada olduğu gerçeği göz önüne alındığında öneriyor Alghough, bu performans sorunu olabilir kanısındayımçokhatta en az bir kaç yıl içinde çözmek için doğal olarak zor. Bu doğru mu?

  3. Anket görüşmelerinin aynı yazar hakkında "zaman kaçaklar" adlı çocuk blog. Sorun FRP, ya da genel olarak, non-katı saf bir dilde programlama yaparken sahip olduğumuz bir özgüdür? Şimdiye kadar bulunan zamanla FRP tabanlı bir sistem stabilize etmek çok zor olmasa performansı yeterli mi?

  4. Bu hala araştırma düzeyinde bir proje mi? Tesis mühendisleri, robot mühendisleri, finansal mühendisler, vb gibi insanlar. aslında onları (kendi ihtiyaçlarını karşılayabilecek whaterver dili) kullanarak?

Ben şahsen Haskell bir uygulama tercih etse de, diğer önerilere açığım. Örneğin, özellikle Ayrık bir uygulama için eğlenceli --- o zaman akıllı, adaptif, kendi kendine öğrenme sunucu işlemi için çok kolay olurdu.

CEVAP
12 Kasım 2012, PAZARTESİ


Şu anda başlıca iki pratik Haskell kütüphaneler orada reaktif fonksiyonel programlama vardır. Hem de tek kişi tarafından korunur, ancak diğer Haskell programcılar kod katkıları alma

  • Netwire verimlilik, esneklik ve öngörülebilirlik konusuna odaklanmış durumda. Kendi olay paradigma ve ağ servisleri ve karmaşık simülasyonları da dahil olmak üzere geleneksel FRP çalışmıyor alanlarda kullanılabilir. Stil: uygulamalı ve/veya arrowized. İlk yazar ve yazar: Ertuğrul Söylemez (bu benim).

  • reactive-banana geleneksel FRP paradigma üzerine inşa edilmiştir. Kullanımı pratik olsa da klasik FRP araştırma için zemin olarak hizmet vermektedir. Ana odağını kullanıcı arayüzleri ve wx için hazır bir arayüzü var. Stil: uygulamalı. İlk yazar ve yazar: Heinrich Apfelmus.

İkisini de denemelisin, ama uygulamanıza bağlı olarak, büyük olasılıkla biri veya diğeri daha uygun olarak bulabilirsiniz.

Oyunlar, ağ, robot kontrol ve simülasyonları için Netwire yararlı bulacaksınız. Hazır ile birlikte geliyortellerbu uygulamalar, çeşitli yararlı diferansiyel, integral ve şeffaf olay işleme için işlevsellik bir sürü de dahil olmak üzere. Öğretici bir ziyaret için Control.Wire belgelerine bağlı sayfasında modülü.

Grafik kullanıcı arayüzleri şu anda en iyi seçim için reaktif-muz. Zaten wx arayüzü (ayrı bir kütüphane reaktif-muz-wx) ve Heinrich kod örnekleri de dahil olmak üzere bu kapsamda FRP hakkında bir çok bloglar.

Diğer soruna cevap vereyim: FRP gerçek zamanlı ihtiyacın senaryolarda uygun bir öngörü değil. Bu Haskell kaynaklanmaktadır, ama ne yazık ki FRP alt seviye dillerde fark etmek zordur. En kısa sürede Haskell gibi gerçek zamanlı hazır da kendisi olur. Kavramsal olarak Netwire gerçek zamanlı uygulamalar için hazır olduğunu.

Zaman çatlaklarını büyük ölçüde monadic çerçevesinde ilgili oldukları için gerçekten artık sorun değil. Pratik FRP uygulamaları sadece monadic bir arayüz sunmuyor. Yampa bu başladı ve Netwire ve reaktif-muz hem bu üzerine inşa.

Hiçbir ticari veya başka büyük ölçekli projeler şu anda CTP kullanarak biliyorum. Kütüphaneler hazır, ama insanlar değil – henüz değil sanırım.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AFISHAL

    AFISHAL

    7 Mart 2009
  • Mary Jane Tauyan

    Mary Jane Ta

    20 AĞUSTOS 2009
  • NextGenWindows

    NextGenWindo

    8 Kasım 2011