random crazy thought
Mar. 23rd, 2010 11:34 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
а вот был бы такой язык с мощной системой типов, способной на всякие proof`ы и inference, в духе Haskell или скорее Coq, и генерировал бы он код на чем-то, что бы легко интегрировалось с кровавым ентерпрайзом (Java/C++/Javascript/C#), и решал бы проблему Generation Gap (в смысле, чтобы можно было хинтить компилятору про фиксированные интерфейсы, и\или чтобы при компиляции можно было подгрести старую версию генерированного кода и показать вменяемые ошибки совместимости – цены б ему не было…
no subject
Date: 2010-03-23 10:18 pm (UTC)no subject
Date: 2010-03-23 11:03 pm (UTC)no subject
Date: 2010-03-23 11:09 pm (UTC)no subject
Date: 2010-03-23 11:39 pm (UTC)Да-да-да... Но в динамических языках на типы любят ложить болт :(
Будем думать... Надо бы найти какого-то пораженного хаскелем головного мозга программиста, с которым можно было бы много пообсуждать про типы и в частности динамическую работу с ними IRL, т.к. у меня теоретического бекграунда не хватает ((
no subject
Date: 2010-03-24 02:46 am (UTC)2. OCaml запускается на JVM (http://ocamljava.x9c.fr/)
3. Profit!
no subject
Date: 2010-03-24 02:56 am (UTC)То есть в общем да, концептуально оно возможно. Devil in the details. Тот же ur/web пытается такое делать, и для f# есть (правда, клозедсурс) компилятор в бинарь+JS+SQL. С точки зрения ленивого юзера осталось подождать всего чуть-чуть :)
no subject
Date: 2010-03-24 03:50 am (UTC)Очень мало кто способен освоить Coq или Agda, и еще меньше тех, кто может что-то практически полезное на них сделать. Слишком сложные они.
no subject
Date: 2010-03-24 04:25 am (UTC)Хотя в Coq я и сам пока ничего вменяемого написать не могу, оно ж все-таки proof assistant а не proof generator...
no subject
Date: 2010-03-24 04:51 am (UTC)no subject
Date: 2010-03-24 03:41 pm (UTC)no subject
Date: 2010-03-24 03:48 pm (UTC)no subject
Date: 2010-03-24 09:01 pm (UTC)я видел компилятор f# в js (не вживую, видел только генерированный код).
но хочется возможность вносить правки и делать обратную трансформацию, а для нее надо компилятор переписать на вот зтом: http://www.seas.upenn.edu/~harmony/