Leave a comment

Comments 18

Выхлоп демонстратора rexy_craxy April 16 2010, 20:42:16 UTC

>>> Just created comm is: (IPC nil nil nil nil)
>>> Init'ed comm is: (IPC 3886 3342350 3375119 -1208672256)
>>> Parent's pid is: 3885
>>> asking my child for it's PID...
--- CHILD RETURNS ---
3886

>>> calculating (1 + 1) ...
--- CHILD RETURNS ---
2

>>> defining a function in child...
--- CHILD RETURNS ---
(lambda () (println "I'm (f) in context " (context)))

>>> calling the function in child...
I'm (f) in context MAIN
--- CHILD RETURNS ---
MAIN

>>> calling an undefined function...
!!! ERROR IN CHILD !!!
ERR: invalid function : (MAIN:wtf?)
called from user defined function nil

>>> but the child process is still at my service...
I'm (f) in context MAIN
--- CHILD RETURNS ---
MAIN

>>> deactivating the IPC...
>>> look at that IPC instance again: (IPC nil nil nil nil)

>>> That's all, folks. Bye.

Reply


sharpc April 17 2010, 02:32:18 UTC
Сколько ни смотрел различные сырцы на лиспе, так и не смог понять, есть ли для него какой-то общепринятый style guide, особенно в части отступов.

Reply

rexy_craxy April 17 2010, 06:39:01 UTC
Emacs знает! :)

Reply

rexy_craxy April 17 2010, 06:42:31 UTC
Т.е. тут все правильно: что больше сдвинуто, то глубже вложено. Структура лесополосы не нарушена :) Правда, раскрашивалка немного пожевала абсолютные величины отступов, но это же не мешает.

Reply

rexy_craxy April 17 2010, 08:52:11 UTC
ЗЫ И заметьте: никакого кудрявого СИНТАКСИСА, только скобочки-скобочки-скобочки :)))

Reply


rexy_craxy April 17 2010, 08:25:38 UTC
Чую, никто не просек фишку, надо дать пару пояснений.

1. Потомку на вычисление передается НЕ строка, а родное липовсоке s-expression. Т.е. потомок делает не read-eval, а только eval. Определены ли при этом символы из передаваемого s-expr в родителе -- совершенно не важно. Запустив потомка до того, как родитель понавыращивал в своем адресном пространстве кубометры данных, получаем компактный вычислитель в сопроцессе.

2. Явный fork и семафоры использованы из хулиганства. Newlisp имеет более высокоуровневый механизм в стиле Cilk (spawn, send/receive & Co).

Reply

mustashriq April 17 2010, 19:38:13 UTC
> Чую, никто не просек фишку, надо дать пару пояснений.

За пояснения --- огромное человеческое спасибо.

Reply

rexy_craxy April 18 2010, 04:28:01 UTC
Всегда пожалуйста!

Reply

rexy_craxy April 18 2010, 04:32:25 UTC
Еще собираюсь как-нибудь продемонстрировать, что классы ньюлиспа на самом деле -- метаклассы.

Reply


caliban_upon April 17 2010, 20:48:48 UTC
Да...
за то что дал разъяснения - спасибо.
скажи - как разрешалась проблема со свичами??

Reply

rexy_craxy April 18 2010, 04:27:35 UTC
Заказали один I-7513, будем экспериментировать.

Reply

caliban_upon April 18 2010, 09:08:38 UTC
Удачи и успехов! :)

Reply

rexy_craxy April 18 2010, 09:09:16 UTC
Symmetrically!

Reply


Leave a comment

Up