Impromptu (programlama ortamı) - Impromptu (programming environment)

Doğaçlama
Splash smaller.jpg
Paradigmaİşlevsel, çoklu paradigma
Tarafından tasarlandıAndrew Sorensen
İlk ortaya çıktı2005; 15 yıl önce (2005)
Kararlı sürüm
2.5
Yazma disipliniDinamik & statik
işletim sistemiMac OS X
İnternet sitesidoğaçlama.moso.com.au
Tarafından etkilenmiş
Etkilenen
Extempore

Doğaçlama bir Mac OS X programlama için ortam canlı kodlama. Doğaçlama, Şema dil, üye olan Lisp dil ailesi. Çekirdeğinin kaynak kodu, Extempore projesi.

Açıklama

Ortam, bir programda değişiklik yapmanıza izin verir. Çalışma süresi, böylece değişkenler ve işlevler yeniden tanımlanabilir ve değişiklikler hemen etkili olur. Bir programcı ayrıca, notlar ve grafik nesneleri gibi veri olaylarının yanı sıra gelecekteki çalıştırma için kod oluşturabilir ve planlayabilir. Bir olay planlandığında yürütme devam eder. Döngüleme, bir işleve zaman uyumsuz olarak nihai eylemi olarak gelecekteki bir çağrıyı planlayarak çalışan "zamansal özyineleme" adlı bir deyim kullanılarak gerçekleştirilir.

Kütüphane ile iletişime izin verir Ses Birimleri ses sentezi için ve aşağıdaki gibi grafik katmanlarıyla Hızlı zaman, Kuvars, Çekirdek Görüntü, OpenGL için video kompozisyonu. İle yazılmış kod Amaç-C editörden çağrılabilir ve ayrıca Objective-C çerçeveleri, Scheme yorumlayıcısına çağrı yapabilir.

Impromptu's Scheme tercümanı başlangıçta TinyScheme 1,35 temel, ancak canlı kodlama bağlamına daha iyi uyması için o zamandan beri büyük ölçüde değiştirildi. Gerçek zamanlı Çöp toplayıcı, ve Amaç-C entegrasyon eklendi. Ayrıca, statik olarak yazılmış yeni bir dil adı verilen Extempore Dil sisteme entegre edilmiştir. Bu dil sözdizimsel olarak Şema benzeri, ancak anlamsal olarak C'ye daha yakındır ve gerçek zamanlı ses sentezi ve diğer hesaplama açısından ağır görevler için tasarlanmıştır. Sağlar tür çıkarımı ve derlendi makine dili tarafından LLVM.

Örnek performans

Keith'de Bir Araştırma Andrew Sorensen imzalı Impromptu'da canlı bir kodlama performansı. İlk iki dakika (1:56) sessizdir, sanatçı ise parçanın tanıtımını üretecek programı yazar. O andan itibaren, kompozisyonu geliştirmek için kodu anında değiştiriyor.

Extempore

Impromptu'nun çekirdeği şu şekilde yayınlandı: Extempore BSD tarzı bir lisans altında. İkisinin altında çalışır Linux ve Mac OS X. Şema yorumlayıcısını, Extempore Language derleyicisini ve zamanlayıcıyı içerir. Bağlamalar elma kitaplıklar yoktur, ancak ortam dinamik kitaplıklarla arayüz oluşturabilir.

Ayrıca bakınız

Referanslar


Akademik makaleler

Diğer kaynaklar

Dış bağlantılar