Re[3]: Какой бы синтаксис выбрать для атомов?
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.02.09 04:46
Оценка:
Здравствуйте, dmz, Вы писали:

dmz>Ну, больше конечно. Но других атомов в окамле, насколько мне известно, нет. Так что в моем

dmz>случае можно считать их атомами.

А зачем статически-типизированному языку атомы?

Я встречал атомы только в динамике. И то не везде.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Какой бы синтаксис выбрать для атомов?
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.02.09 04:50
Оценка:
Здравствуйте, dmz, Вы писали:

dmz>1) Васт ис "нормальное цитирование" и чем оно отличается от ненормального. В гугл чур не посылать, не я эту тему поднял

dmz>2) Запары с атомами я не вижу, пока мы тут обсуждаем, я их уже сделал. Собственно, они понадобились, поскольку
dmz>ничего глобального в языке пока нет, а вот какого-то рода константы нужны.

Константы и атомы — это две большие разницы (с).

Зачем тебе вообще атомы? И что ты вообще пытаешься сделать?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Какой бы синтаксис выбрать для атомов?
От: dmz Россия  
Дата: 11.02.09 06:17
Оценка:
VD>Константы и атомы — это две большие разницы (с).

Что бы не вдаваться в ненужные подробности, будем понимать под ними тоже, что под ними понимают в эрланге и руби.

VD>Зачем тебе вообще атомы?

Надо. Например, констант нет (и теперь наверное и не будет).

VD>И что ты вообще пытаешься сделать?


Я не пытаюсь, я уже сделал. Язык скриптовый. Со сборкой мусора и статической типизацией. И выводом типов.
Для микроконтроллеров с 2 — 5 Kb RAM.
Re[4]: Какой бы синтаксис выбрать для атомов?
От: dmz Россия  
Дата: 11.02.09 06:29
Оценка:
VD>Зачем тебе вообще атомы?

Удобно. Структур нет, объектов нет (и лень пока делать, мороки много). Надо вот распарсить какую-нибудь сроку, и сохранить до
поры результаты в каком-то структурированном виде.

def parse_nmea(s)
{
    result = [];
    while ... {
      if    ... then result = (`Longitude, parse_longitude(s, i) :: result;
      elif  ... then result = (`Latitude, parse_latitude(s, i)   :: result;
      elif  ... then result  = (`Quality, parse_quality(s, i)    :: result;
      elif  ... then result = (`Satellites, parse_satellites(s, i) :: result;
    }
   ret result;
}
Re[4]: Какой бы синтаксис выбрать для атомов?
От: MasterZiv СССР  
Дата: 11.02.09 06:41
Оценка:
VladD2 пишет:

> А зачем статически-типизированному языку атомы?


Иметь быстро сравниваемые и идентифицируемые строки.

>

> Я встречал атомы только в динамике. И то не везде.

Даже в яве есть.
Posted via RSDN NNTP Server 2.1 beta
Re[5]: Какой бы синтаксис выбрать для атомов?
От: dmz Россия  
Дата: 11.02.09 06:43
Оценка:
MZ>Иметь быстро сравниваемые и идентифицируемые строки.

Ну даже не то, что бы строки. Способ идентифицировать что-либо. Строки — очень дорогая штука,
я думал что я ими одними обойдусь, но накладно. А атом — вполне влезет в машинное слово.
Re[5]: [Offtopic]
От: yumi  
Дата: 11.02.09 09:10
Оценка:
Здравствуйте, dmz, Вы писали:

dmz>
dmz>def parse_nmea(s)
dmz>{
dmz>    result = [];
dmz>    while ... {
dmz>      if    ... then result = (`Longitude, parse_longitude(s, i) :: result;
dmz>      elif  ... then result = (`Latitude, parse_latitude(s, i)   :: result;
dmz>      elif  ... then result  = (`Quality, parse_quality(s, i)    :: result;
dmz>      elif  ... then result = (`Satellites, parse_satellites(s, i) :: result;
dmz>    }
dmz>   ret result;
dmz>}
dmz>


Ой, знакомое слово увидел, ты тоже в морской навигации? Я правда сейчас уже в другой области. У нас тоже был свой скриптовый язык, но совсем своебразный, для связи софта с железом. В основном для трансляции софтовых команд в железячные. Все остальное было old plain C. А зачем вам нужен скриптовый язык, точнее для каких задач? Какие преимущества?
Lisp is not dead. It’s just the URL that has changed:
http://clojure.org
Re[6]: [Offtopic]
От: dmz Россия  
Дата: 11.02.09 09:31
Оценка:
Y>Ой, знакомое слово увидел, ты тоже в морской навигации? Я правда сейчас уже в другой области. У нас тоже был свой скриптовый язык, но совсем своебразный, для связи софта с железом. В основном для трансляции софтовых команд в железячные. Все остальное было old plain C. А зачем вам нужен скриптовый язык, точнее для каких задач? Какие преимущества?

1) Грузить скрипты динамически, по GPRS или SMS
2) Менять поведение в зависимости от обстоятельств (профиля). Как для разных типов трекеров, так и для одинаковых трекеров в разных ситуациях.

Ядро тоже на си, там виртуальная машина и FreeRTOS (нужность последней пока под вопросом, но пока не мешает во всяком случане).
Re[3]: Какой бы синтаксис выбрать для атомов?
От: Mr.Cat  
Дата: 11.02.09 09:42
Оценка:
Здравствуйте, dmz, Вы писали:
dmz>Питонолуа:

А макросы там есть? Если есть/будут — за атом можно взять цитированный идентификатор.
Re[3]: Какой бы синтаксис выбрать для атомов?
От: Mr.Cat  
Дата: 11.02.09 09:44
Оценка:
Здравствуйте, dmz, Вы писали:
dmz>1) Васт ис "нормальное цитирование" и чем оно отличается от ненормального.

Это которое позволяет кодом оперировать как данными — зацитировал кусок кода — имеешь структуру данных.
Re[4]: Какой бы синтаксис выбрать для атомов?
От: dmz Россия  
Дата: 11.02.09 09:47
Оценка:
MC>А макросы там есть? Если есть/будут — за атом можно взять цитированный идентификатор.

В предке (какбы-форте) были, наверное и тут будут когда-нибудь. Но в общем, атомы нужны были к сегодня, так что
пока сделал просто и тупо.
Re: Какой бы синтаксис выбрать для атомов?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 11.02.09 21:20
Оценка:
Здравствуйте, dmz, Вы писали:

dmz>В Эрланге — так: any_string_starting_from_lowercase


В Erlang атом может состоять из любых символов, но описанный Вами — случай рекомендованный для применения. Остальные надо заключать в одинарные кавычки. Например:

(t@segfault.kiev.ua)6> is_atom('AAA').
true
(t@segfault.kiev.ua)7> is_atom('\001').
true
(t@segfault.kiev.ua)8> is_atom('').
true


В ряде интерфейсов такие "необычные" атомы явно используются: например, '$1', '$2'... в match specs, или '$gen_call' в специальных сообщениях для gen_server и аналогов.

(Это не ответ на Ваш вопрос, просто замечание по ходу.)

dmz>Какой подход для вас наименее раздражающий? Меня тут все раздражает — в лиспе кракозябра, в руби — двоеточие, которое в других языках используется совсем по-другому, так что я долго не мог въехать, что это в руби вообще такое. В Окамле — кракозябра, в Эрланге — то, что идентификаторы должны быть с заглавной буквы. Так что в итоге я не знаю, как лучше сделать. Есть соображения, как лучше?


Я вообще сомневаюсь, что тут может быть какое-то общее решение. Символов мало, и выбор каждого из них даст конфликт с чем-то, а ограничение синтаксиса кому-то помешает... так что тут выбор скорее эстетический, чем по какому-то ещё принципу: выбор должен минимально мешать синтаксису языка.
The God is real, unless declared integer.
Re[4]: Какой бы синтаксис выбрать для атомов?
От: DemAS http://demas.me
Дата: 13.02.09 09:32
Оценка:
"Mamut" <9088@users.rsdn.ru> writes:

> Если считать, что код в основном набирается на латинице, то tick(`) тоже

> неплохо,

` — непривычен для windows пользователей. Когда я перешел на linux и
впервые столкнулся с `, набивая команду из книжки, несколько часов убил
на то, чтобы понять, почему команда не работает. А не работала она потому,
что я набирал ' и для меня, как для windows пользователя они выглядели идентично.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Какой бы синтаксис выбрать для атомов?
От: Гест Украина https://zverok.github.io
Дата: 13.02.09 16:50
Оценка: +1
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, dmz, Вы писали:


dmz>>Какой подход для вас наименее раздражающий?


CS>А какая грамматика/синтаксис лежит в основе твоего языка?


CS>У меня (в tiscript) например грамматика C derived (JS).

CS>Поэтому символы (формально: символ есть perfect hash values) это
CS>nmtokens начинающиеся c '#'.

CS>Т.е.

CS>
CS>this.one = 1; эквивалентен
CS>this[#one] = 1;
CS>


CS>Что близко к определению ID в CSS (тоже С derived grammar).

CS>CSS родственная технология tiscript поэтому близость важна.

Для «скриптового языка в принципе» не очень комильфо — есть привычное Linux-соглашение для скриптов, что # всегда должен быть комментарием, чтобы в первой строке можно было написать:

#!bin/tiscript
Re[5]: Какой бы синтаксис выбрать для атомов?
От: Mr.Cat  
Дата: 13.02.09 17:25
Оценка:
Здравствуйте, DemAS, Вы писали:
DAS>что я набирал ' и для меня, как для windows пользователя они выглядели идентично.

Вообще, в некоторых странах принято одинарные кавычки использовать `вот так' (обратите, например, внимание на сообщения от ghci), так что возможно, что эта специфика тех стран, где одинарные кавычки не в ходу.
Re[4]: Какой бы синтаксис выбрать для атомов?
От: DemAS http://demas.me
Дата: 13.02.09 18:43
Оценка:
"VladD2" <73@users.rsdn.ru> writes:

> Константы и атомы — это две большие разницы (с).


А в чем между ними разница? Если долго объяснять — буду благодарен за ссылку.
Posted via RSDN NNTP Server 2.1 beta
Re[5]: Какой бы синтаксис выбрать для атомов?
От: MasterZiv СССР  
Дата: 13.02.09 19:25
Оценка:
DemAS пишет:

> А в чем между ними разница? Если долго объяснять — буду благодарен за

> ссылку.

Атом может быть переменной.
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Какой бы синтаксис выбрать для атомов?
От: z00n  
Дата: 13.02.09 20:37
Оценка:
Г>Для «скриптового языка в принципе» не очень комильфо — есть привычное Linux-соглашение для скриптов, что # всегда должен быть комментарием, чтобы в первой строке можно было написать:

Г>
Г>#!bin/tiscript
Г>


Это не проблема, например в луа первая строчка просто пропускается если начинается с '#'.

The first line in the file is ignored if it starts with a #.


Нечто подобное предусмотрено во всех скриптовых языках, в которых '#' не означает начало комментария.
Re[6]: Какой бы синтаксис выбрать для атомов?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 14.02.09 11:14
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>DemAS пишет:


>> А в чем между ними разница? Если долго объяснять — буду благодарен за

>> ссылку.

MZ>Атом может быть переменной.


Переведите, пожалуйста.
The God is real, unless declared integer.
Re[7]: Какой бы синтаксис выбрать для атомов?
От: MasterZiv СССР  
Дата: 14.02.09 13:32
Оценка:
netch80 пишет:

>> > А в чем между ними разница? Если долго объяснять — буду благодарен за

>> > ссылку.
>
> MZ>Атом может быть переменной.

Так это в каком языке смотря.

(list a b c d) — a b c d — переменные. list — кстати, функция,
а тоже атом.

(list 'a 'b :c :d) — a b c d — константы
Posted via RSDN NNTP Server 2.1 beta
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.