(c) Dmitry Ponyatov <dponyatov@gmail.com> 2020 MIT
github: https://github.com/ponyatov/datalang
- dynamic language over Executable Data Structures
- metaprogramming as the main method
- homoiconic interpreter
- weak dynamic typing
- oriented for ML and data processing
- implemented in Python due to a huge amount of off-the-shelf libraries
- interactive session via web interface
- console -> Jupyter-like cell editor -> full-size web layouting
DataWeb
platform- tiny web client (mobile optimized)
- full web interface for the server-side system (distributed cloud in mind)
- web representation is data, programs are data, everything is self-evaluatable data
- targets on dynamic web sites with internal data processing (web+apps+storage)
todo
- port to Erlang/Elixir runtime stack
- Lispy dynamic language
- способен ли язык работать с программами на самом себе напрямую, без построенния тонны промежуточных слоев? (типа парсеров и reflection)
- способен ли язык расширять собственную семантику не выходя за границы синтаксиса? (макросы)
- содержит ли ядро языка средства расширения синтаксиса, позволящие
ввести в систему код на любом другом языке?
- содержит ли язык достаточно богатые средства форматированного вывода, чтобы получить код на любом другом языке?
-
Николай Рыжиков Clojure Data DSL's для web разработки
-
[SICP] Харольд Абельсон, Джеральд Джей Сассман Структура и Интерпретация Компьютерных Программ
-
[red book] Программирование в Clojure: Практика применения Lisp в мире Java
-
Faraz Haider Writing Lispex, a Lisp interpreter in Elixir
- https://en.wikipedia.org/wiki/Persistent_programming_language
- OS Phantom (by) Дмитрий Завалишин
- Мигель Гринберг Разработка веб-приложений с использованием Flask на языке Python
- Изучение Flask / #3 - Работа с базой данных SQLite
- https://flask-sqlalchemy.palletsprojects.com/en/2.x/quickstart/
- Okumy Курс: асинхронный Python
- [urich] Саша Юрич Elixir в действии
- Joe Armstrong Programming Erlang Software for a Concurrent World /2nd ed/
- [green book] Франческо Чезарини, Симон Томпсон Программирование в Erlang
- [OTP] Франческо Чезарини, Стивен Виноски Проектирование масштабируемых систем с помощью Erlang/OTP
- The Erlang Runtime System
- Vincenzo Nicosia Towards Hard Real–Time Erlang
- https://t.me/proelixir/176600
- «Нормальное ТЗ» для программиста -- это миф, придуманный людьми, которые
не хотят вовлекаться в то, зачем вообще нужно программирование. А бизнес
меняется, как и его восприятие.
- явный признак, что не хватает какого-то мощного, но очень динамичного
средства прототипирования (язык + среда), в котором заказчик ()
способен нарисовать действующую модель продукта, и передать её
нормальным программистам для фиксации в полноценную реализацию
() пара человек в штате, которые в теме, и при этом кое-как-то могут в программирование - что-то а-ля Smalltalk возможно, как интерактивная среда -- рисовать элементы интерфейса (просто мышью тык квадратик на экран), вешать на них события, для событий прописывать методы обработки на чем-то питоноподобном...
- в ЕСПД-мире для этого было попугайское называние "эскизное проектирование" -- система "RADОСть"
- явный признак, что не хватает какого-то мощного, но очень динамичного
средства прототипирования (язык + среда), в котором заказчик ()
способен нарисовать действующую модель продукта, и передать её
нормальным программистам для фиксации в полноценную реализацию
- «Нормальное ТЗ» для программиста -- это миф, придуманный людьми, которые
не хотят вовлекаться в то, зачем вообще нужно программирование. А бизнес
меняется, как и его восприятие.