пятница, 24 ноября 2023 г.

Objects in FreeM

В проекте FreeM (https://freem.coherent-logic.com/) ведутся экспериментальные работы по прототипированию объектов в языке MUMPS. Разработчик Сиренита Спарк (Sirenita Sparc)

Из неофициального сообщения:
USER> new myCar=$$^car

USER> k myCar
in the destructor

USER> zl car

USER> zp

car(this) ; Created by FreeM Administrator
   s this("doors"):private=4
   s this("color"):private="blue"
   q
   ;
destroy(this) ;
   w "in the destructor",!
   q
doors(this) ;
   q this("doors")
   ;
color(this) ;
   q this("color")
   ;
setDoors(this,doors)
   s this("doors")=doors
   q this("doors")
   ;
setColor(this,color)
   s this("color")=color
   q this("color")
Для работы добавляется новая SSVN
USER> zwr ^$OBJECT
^$OBJECT("myCar","CLASS")=^car
По ней определяется к какой рутине обращаться рантайму.

Идея new с инициализацией поддержана, выглядит вполне органично. В язык добавляется несколько дополнительных расширений, но пока это все прототипирование и экспериментирование.

Комментариев нет:

Отправить комментарий