Quantcast

SmallTalk-подобная интерактивная среда на базе CPython+wxPython

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

SmallTalk-подобная интерактивная среда на базе CPython+wxPython

ponyatov
Где можно подсмотреть принципы реализации ST-подобной среды на базе Python 2.7.x + wx ?

Хочу интерактивную Python-систему (не ST) с смоллтолковским look&feel

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: SmallTalk-подобная интерактивная среда на базе CPython+wxPython

Denis Kudriashov
Я такое никогда не встречал. Вообще, удивительно, что вне смолтолка это никому не нужно

14 августа 2016 г., 13:47 пользователь Dmitry Ponyatov <[hidden email]> написал:
Где можно подсмотреть принципы реализации ST-подобной среды на базе Python 2.7.x + wx ?

Хочу интерактивную Python-систему (не ST) с смоллтолковским look&feel

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: SmallTalk-подобная интерактивная среда на базе CPython+wxPython

Dennis Schetinin
А оно возможно?


--

Best regards,


Dennis Schetinin


14 августа 2016 г., 15:02 пользователь Denis Kudriashov <[hidden email]> написал:
Я такое никогда не встречал. Вообще, удивительно, что вне смолтолка это никому не нужно

14 августа 2016 г., 13:47 пользователь Dmitry Ponyatov <[hidden email]> написал:

Где можно подсмотреть принципы реализации ST-подобной среды на базе Python 2.7.x + wx ?

Хочу интерактивную Python-систему (не ST) с смоллтолковским look&feel

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: SmallTalk-подобная интерактивная среда на базе CPython+wxPython

ponyatov
А оно возможно?
 
Насколько я знаю, Python runtime поддерживает практически все механизмы динамических языков -- интроспекцию (reflection), дизассемблирование/генерацию байт-кода, доступ в функционалу синтаксического парсера, просмотр и модификацию внутреннего представления классов через public API. 

Единственное, по чему возникает сомнение -- используется ли в ST-среде что-то типа подписки на эвенты типа чтения/модификации полей классов ? В любом случае такие вещи вероятно можно сделать через отладочный интерфейс -- модуль pdb.

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: SmallTalk-подобная интерактивная среда на базе CPython+wxPython

Dennis Schetinin
А персистенс?
Да и проблема, скорее всего, будет не в технической возможности, а в практической — грубо говоря, не будет ли все это слишком сложно?


--

Best regards,


Dennis Schetinin


16 августа 2016 г., 9:37 пользователь Dmitry Ponyatov <[hidden email]> написал:
А оно возможно?
 
Насколько я знаю, Python runtime поддерживает практически все механизмы динамических языков -- интроспекцию (reflection), дизассемблирование/генерацию байт-кода, доступ в функционалу синтаксического парсера, просмотр и модификацию внутреннего представления классов через public API. 

Единственное, по чему возникает сомнение -- используется ли в ST-среде что-то типа подписки на эвенты типа чтения/модификации полей классов ? В любом случае такие вещи вероятно можно сделать через отладочный интерфейс -- модуль pdb.

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: SmallTalk-подобная интерактивная среда на базе CPython+wxPython

Denis Kudriashov
In reply to this post by ponyatov

16 августа 2016 г., 8:37 пользователь Dmitry Ponyatov <[hidden email]> написал:
Насколько я знаю, Python runtime поддерживает практически все механизмы динамических языков -- интроспекцию (reflection), дизассемблирование/генерацию байт-кода, доступ в функционалу синтаксического парсера, просмотр и модификацию внутреннего представления классов через public API. 

Единственное, по чему возникает сомнение -- используется ли в ST-среде что-то типа подписки на эвенты типа чтения/модификации полей классов ? В любом случае такие вещи вероятно можно сделать через отладочный интерфейс -- модуль pdb.

В самой моделе языка чтение/модификация полей никаких событий не вызывают. Но данный механизм может быть реализован разными способами через рефлекшин или writebarrier, например. 
В Pharo рефлекшин реализован до уровня AST-node'ов (называется Reflectivity). Можно, например, найти все методы, где есть node присваивания переменной, и обернуть его дополнительным кодом (логирование, halt, счетчик) или совсем заменить чем-то иным. 
Мне таким образом удалось реализовать подобие "compile-time" выражений из Dolphin без специального синтаксиса http://dionisiydk.blogspot.fr/2016/07/magic-with-pharo-reflectivity.html

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: SmallTalk-подобная интерактивная среда на базе CPython+wxPython

Denis Kudriashov
In reply to this post by Dennis Schetinin

16 августа 2016 г., 9:05 пользователь Dennis Schetinin <[hidden email]> написал:
А персистенс?
Да и проблема, скорее всего, будет не в технической возможности, а в практической — грубо говоря, не будет ли все это слишком сложно?

Не думаю, что image-persistance здесь играет роль. Что имидж добавляет в работу браузера кода или дебаггер? 

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: SmallTalk-подобная интерактивная среда на базе CPython+wxPython

Dennis Schetinin
Ну, я, возможно, не слишком удачный термин подобрал. Речь о том, что у нас есть образ, где все объекты живые, где нет разделения между "разработкой" и "запуском". Как раз на исследования кода и отладку работа с живыми объектами влияет очень существенно, тебе ли не знать? :)  


--

Best regards,


Dennis Schetinin


16 августа 2016 г., 11:00 пользователь Denis Kudriashov <[hidden email]> написал:

16 августа 2016 г., 9:05 пользователь Dennis Schetinin <[hidden email]> написал:
А персистенс?
Да и проблема, скорее всего, будет не в технической возможности, а в практической — грубо говоря, не будет ли все это слишком сложно?

Не думаю, что image-persistance здесь играет роль. Что имидж добавляет в работу браузера кода или дебаггер? 

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: SmallTalk-подобная интерактивная среда на базе CPython+wxPython

Denis Kudriashov

16 августа 2016 г., 10:41 пользователь Dennis Schetinin <[hidden email]> написал:
Ну, я, возможно, не слишком удачный термин подобрал. Речь о том, что у нас есть образ, где все объекты живые, где нет разделения между "разработкой" и "запуском". Как раз на исследования кода и отладку работа с живыми объектами влияет очень существенно, тебе ли не знать? :)  

Я, конечно, не знаю как Python работает, но, думаю, при запуске Python программы загруженный код становится вполне живым объектом. Нужно только реализовать тулзы для взаимодействия с ним 

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: SmallTalk-подобная интерактивная среда на базе CPython+wxPython

Denis Kudriashov

16 августа 2016 г., 10:46 пользователь Denis Kudriashov <[hidden email]> написал:
Ну, я, возможно, не слишком удачный термин подобрал. Речь о том, что у нас есть образ, где все объекты живые, где нет разделения между "разработкой" и "запуском". Как раз на исследования кода и отладку работа с живыми объектами влияет очень существенно, тебе ли не знать? :)  

Я, конечно, не знаю как Python работает, но, думаю, при запуске Python программы загруженный код становится вполне живым объектом. Нужно только реализовать тулзы для взаимодействия с ним 

Собственно уже есть аналог смолтолк среды - окно в web-браузере. Через js-отладчик/консоль можно в живую взаимодействовать со всем, что видешь, изменять состояние и поведение. Друго дело, что инструменты для этого довольно примитивные.

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: SmallTalk-подобная интерактивная среда на базе CPython+wxPython

Dennis Schetinin
А запускать-то придется либо с "чистого" листа (как во всемх других средах), либо придумывать способ все это сериализовать/десериализовать… Да, ничего принципиально невыполнимого здесь, конечно, нет. Просто объем задачи выглядит (для меня) неподъемным… Наблюдение: в Java- или .NET-ориентированных средах пытаются перенять многие фишки, но живой среды так и не получается почему-то… В то, что это никому не надо — не верится (или не хочется верить).


--

Best regards,


Dennis Schetinin


16 августа 2016 г., 11:49 пользователь Denis Kudriashov <[hidden email]> написал:

16 августа 2016 г., 10:46 пользователь Denis Kudriashov <[hidden email]> написал:
Ну, я, возможно, не слишком удачный термин подобрал. Речь о том, что у нас есть образ, где все объекты живые, где нет разделения между "разработкой" и "запуском". Как раз на исследования кода и отладку работа с живыми объектами влияет очень существенно, тебе ли не знать? :)  

Я, конечно, не знаю как Python работает, но, думаю, при запуске Python программы загруженный код становится вполне живым объектом. Нужно только реализовать тулзы для взаимодействия с ним 

Собственно уже есть аналог смолтолк среды - окно в web-браузере. Через js-отладчик/консоль можно в живую взаимодействовать со всем, что видешь, изменять состояние и поведение. Друго дело, что инструменты для этого довольно примитивные.

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: SmallTalk-подобная интерактивная среда на базе CPython+wxPython

Victor Metelitsa-2
У народа даже IBM VA Java в своё время не пошла. И всякую /.../ пишут (напр., https://habrahabr.ru/post/307720/ "Взглянем на тесты, которые Exercism подготовил для Ruby, в котором ООП дошло до того, что даже операторы — это чьи-то методы." - с ума сойти, ха-ха-ха), но ST для них не существует.

On Tuesday, August 16, 2016 at 2:05:02 PM UTC+5, chaetal wrote:
А запускать-то придется либо с "чистого" листа (как во всемх других средах), либо придумывать способ все это сериализовать/десериализовать… Да, ничего принципиально невыполнимого здесь, конечно, нет. Просто объем задачи выглядит (для меня) неподъемным… Наблюдение: в Java- или .NET-ориентированных средах пытаются перенять многие фишки, но живой среды так и не получается почему-то… В то, что это никому не надо — не верится (или не хочется верить).


--

Best regards,


Dennis Schetinin


16 августа 2016 г., 11:49 пользователь Denis Kudriashov <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="PFSYn0a7AgAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">dioni...@...> написал:

16 августа 2016 г., 10:46 пользователь Denis Kudriashov <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="PFSYn0a7AgAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">dioni...@...> написал:
Ну, я, возможно, не слишком удачный термин подобрал. Речь о том, что у нас есть образ, где все объекты живые, где нет разделения между "разработкой" и "запуском". Как раз на исследования кода и отладку работа с живыми объектами влияет очень существенно, тебе ли не знать? :)  

Я, конечно, не знаю как Python работает, но, думаю, при запуске Python программы загруженный код становится вполне живым объектом. Нужно только реализовать тулзы для взаимодействия с ним 

Собственно уже есть аналог смолтолк среды - окно в web-браузере. Через js-отладчик/консоль можно в живую взаимодействовать со всем, что видешь, изменять состояние и поведение. Друго дело, что инструменты для этого довольно примитивные.

--
--
<a href="http://groups.google.ru/group/sugr" target="_blank" rel="nofollow" onmousedown="this.href=&#39;http://groups.google.ru/group/sugr&#39;;return true;" onclick="this.href=&#39;http://groups.google.ru/group/sugr&#39;;return true;">http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес <a href="javascript:" target="_blank" gdf-obfuscated-mailto="PFSYn0a7AgAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">sugr+uns...@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: SmallTalk-подобная интерактивная среда на базе CPython+wxPython

Dennis Schetinin
Я пытаюсь что-то в комментариях по этому поводу до народа донести — не хотят :)  … А помощь приветствуется! 


--

Best regards,


Dennis Schetinin


16 августа 2016 г., 12:24 пользователь Victor Metelitsa <[hidden email]> написал:
У народа даже IBM VA Java в своё время не пошла. И всякую /.../ пишут (напр., https://habrahabr.ru/post/307720/ "Взглянем на тесты, которые Exercism подготовил для Ruby, в котором ООП дошло до того, что даже операторы — это чьи-то методы." - с ума сойти, ха-ха-ха), но ST для них не существует.

On Tuesday, August 16, 2016 at 2:05:02 PM UTC+5, chaetal wrote:
А запускать-то придется либо с "чистого" листа (как во всемх других средах), либо придумывать способ все это сериализовать/десериализовать… Да, ничего принципиально невыполнимого здесь, конечно, нет. Просто объем задачи выглядит (для меня) неподъемным… Наблюдение: в Java- или .NET-ориентированных средах пытаются перенять многие фишки, но живой среды так и не получается почему-то… В то, что это никому не надо — не верится (или не хочется верить).


--

Best regards,


Dennis Schetinin


16 августа 2016 г., 11:49 пользователь Denis Kudriashov <[hidden email]> написал:

16 августа 2016 г., 10:46 пользователь Denis Kudriashov <[hidden email]> написал:
Ну, я, возможно, не слишком удачный термин подобрал. Речь о том, что у нас есть образ, где все объекты живые, где нет разделения между "разработкой" и "запуском". Как раз на исследования кода и отладку работа с живыми объектами влияет очень существенно, тебе ли не знать? :)  

Я, конечно, не знаю как Python работает, но, думаю, при запуске Python программы загруженный код становится вполне живым объектом. Нужно только реализовать тулзы для взаимодействия с ним 

Собственно уже есть аналог смолтолк среды - окно в web-браузере. Через js-отладчик/консоль можно в живую взаимодействовать со всем, что видешь, изменять состояние и поведение. Друго дело, что инструменты для этого довольно примитивные.

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: SmallTalk-подобная интерактивная среда на базе CPython+wxPython

Victor Metelitsa-2
https://habrahabr.ru/post/311748/ - "Как насчёт класть каждую функцию в свой файл?"

Ещё лет 20 пройдёт, и кто-нибудь додумается держать исходники пометодно в базе данных. (Как было сделано в VAST'е и VW ещё двадцать лет назад). Его будут клевать.

--
--
http://groups.google.ru/group/sugr
---
Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email].
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
Loading...