LINUX.ORG.RU

кодица получила название «Яр», исходники опубликованы

 ,


3

1

В свое время вроде бы monk вызывался поучаствовать в запиле языка.

О боги, ниспошлите мне новый тег «яр», пожалуйста!

Сайт тоже слегка переехал. https://bitbucket.org/budden/yar

Но чтобы особо не расслабляться, есть вопрос. В лиспе есть префикс «def» и префикс «make-». Например, есть defpackage (объявить пакет) и make-package (создать пакет). Первый из них является декларацией, а второй - командой.

Яр является наследником лиспа, но мне не удалось нормально перевести приставку «def». Лучшее, на что меня хватило - это «объ_». Только что я понял, что функция будет писаться как «объ_функции» и это, конечно, ужас.

Что делать? Может быть, сделать по умолчанию язык декларативным, т.е., «библиотека», «класс» и «функция» на самом деле будет означать «объявить библиотеку», «объявить класс» и «объявить функцию», а приставку сделать для императивных конструкций? «создать_класс», «создать_пакет» и т.п. ?

Жду мнения полиголтов.

★★★★★

Последнее исправление: den73 (всего исправлений: 1)

О боги, ниспошлите мне новый тег «яр», пожалуйста!

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

кодица получила название «Яр», исходники опубликованы

А это вообще что? Я сходил, прочитал заглавную страницу. Почти ничего не понял, но уже стало страшно - «под windows» - «лисп» - «веб-сервер»

Теги: кодица

первая ассоциация - анекдот «это курица?»

router ★★★★★
()
Ответ на: комментарий от den73

Ух ты, через редактирование смог. Почему-то при добавлении темы не мог, думал, я ещё маленький.

den73 ★★★★★
() автор топика
Ответ на: комментарий от router

А это вообще что?

Там есть ссылка на анонс

Нет, не только windows. И веб-сервер - только для примера. А лиспа нечего бояться.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
// -*- package :YARTEST ; coding : utf-8 ; encoding : utf-8 ; -*-
// Copyright (C) Денис Будяк 2015
// Если вы взяли этот пример в головной ревизии, он может не работать 
// со старой реализацией языка. Берите пример из архива с реализацией. 
/*
(in-package :yartest)
(named-readtables:in-readtable :buddens-readtable-a)
*/

объ_класса К () ;
  А - строка = "казя-базя" ;
  Б ;
  В ;
кн_объ_класса 

объ_класса К2 (К) ;
  Г ; 
  Д ; 
кн_объ_класса 

перем Э;

функция МояСтраница() - строка ; 
 Перем Рез;
 //ВОтладчик("ура!");
 Рез = "<html><body>Поля глоб. перем. Э</p>";
 Рез = Рез + ПоляИЗначенияЭкземпляра (Э);
 Рез = Рез + "<br><a href=""/"">Домой</a></body></html>";
 Возврат Рез;
кн_функции

ЗапуститьВебСервер(2425);
ВебСерверГлотатьОшибки(0);
// 127.0.0.1:2425/ura

СоздатьГенерируемуюВебСтраницу("/ura","YARTEST::МояСтраница");

Э = СоздатьОбъект(смвл("К2"));
Э.Б = 2;
Э.В = 3;
Э.Г = 4;
Э.Д = 5;

После первого же взгляда на это ^, я вспомнил 1С и меня начало подташнивать. Предупреждать же надо...

Deleted
()
Ответ на: комментарий от Deleted

петросян

ВебСерверГлотатьОшибки

бедный вебсервер

Bad_ptr ★★★★★
()
Ответ на: комментарий от router

первая ассоциация - анекдот «это курица?»

Конечно, курица. И хорошо так курица, вон, как ТС унесло с такой курятины.

Valkeru ★★★★
()

«Пусть» и «новый» же. Эти слова склоняются, тип создаваемой сущности оставить в именительном падеже. Сразу за пусть-словом идёт имя собственное создаваемой сущности. За новым-словом идут параметры конструктора.

define-package = пусть_пакет

make-package = новый_пакет

Гласные убрать по вкусу.

anonymous
()

Совершенно необъяснимымъ образомъ в воздухе явственно запахло векторнымъ фидонетомъ.

anonymous
()

Денис Будяк

Дениска Попов вышел замуж и сменил фамилию? Или это такой ведический псевдоним?

anonymous
()

Ну что за йар, надо было йух же.

anonymous
()

Надо добавить memory barriers

объ_стена

cnupm
()
Ответ на: комментарий от max_lapshin

Нельзя, потому что это форма первого лица единственного числа.

beresk_let ★★★★★
()
Ответ на: комментарий от das_tier

ВебСерверГлотатьОшибки(0);

[/thread]

Не thread, a throat

/throat
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
/deep throat

anonymous
()
Ответ на: комментарий от anonymous

Нет, надо так

define определяет конкретную форму и/или содержание
Значит
define-package = определение_пакета

make организует преобразование программы из исходников в исполняемую форму
make-package = собрать_пакет

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 1)
Ответ на: комментарий от max_lapshin

Суть же.

факториал суть функция вещественного числа а
начать
  кабы а не меньше двух то
     вернуть а умноженное на факториал с аргументом а за вычетом единицы
  надругойлад
     ежели а больше нуля то
        вернуть единицу
  иначе
     возопить об ошибке
  довольно
кончить
anonymous
()
Ответ на: комментарий от anonymous

Открой словарь и узнай, что у этого слова есть и другое значение

Но ты его употребляешь именно во множественном контексте.

A1
()
Ответ на: комментарий от router

Свят-свят-свят!

Ладно, что взяли вы Лисп и решили вы его кириллизировать; ладно, что взяли вы Лисп и решили вы из него Бэйсик сделать; но КириллическогоЗаборчикаВТомЧтоКогдаТоБылоЛиспом вместо единственно-православных-для-кириллицы-дефисов моя душа не вынесла.

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: комментарий от anonymous

пусть_функция? Несерьёзно как-то. К тому же в математике «пусть» подразумевает ограниченную во времени область видимости, а декларации defpackage и defun глобальны.

den73 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Нда. Грустный смайлик за закрывающей скобкой я как-то упустил. Поржал над комментами к той теме. Я не употребляю никаких наркотиков, если не считать таковыми еду, чай, кофе и изредка алкоголь :)

И православие тоже не исповедую. Правда, в наше время оно выглядит наиболее гигиеничным из всех вер.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)

А не нужен в русcком def. Для англисконо характерно существовние посимвольно идентичных связок сущ/глагол/прилаг и свзка их же предлогами в качестве союзов. В русском это все будет выражено изменением самого слова и связаных с ним. Поэтому вместо defpackage достаточно просто Пакет с последующим описанием содержимого.

antares0 ★★★★
()

Яр является наследником лиспа

В каком месте?
Судя по примеру из этого треда - стандартная императивная лапша, не?

unikoid ★★★
()

Автор, а почему бы вам не разработать для своего ЯП славянский иероглифический алфавит? Мне кажется, удобно было бы.

Deleted
()
Ответ на: комментарий от unikoid

Судя по примеру из этого треда - стандартная императивная лапша, не?

А лисп это разве не оно и есть? Стандартная императивная лапша, плюс нескольок прикольных примочек.

Deleted
()
Ответ на: комментарий от antares0

А не нужен в русcком def. Для англисконо характерно существовние посимвольно идентичных связок сущ/глагол/прилаг и свзка их же предлогами в качестве союзов. В русском это все будет выражено изменением самого слова и связаных с ним. Поэтому вместо defpackage достаточно просто Пакет с последующим описанием содержимого.

Как будет по-вашему «определить пакет» и «создать пакет»?

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от Deleted

Основные особенности:

  • изменение программы на лету
  • Сборка мусора
  • настоящие треды

Это не «лучше или хуже», а особенности языка. Обсуждать их лучшесть не готов.

den73 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

вернуть а умноженное на факториал с аргументом а за вычетом единицы

Все бы вам, батенька, слова-то на иностранный-то манер корверкать-то. Традиционно надо-бы:

воротить а помноженное на факториал от а за вычетом единицы
eao197 ★★★★★
()
Ответ на: комментарий от Zmicier

единственно-православных-для-кириллицы-дефисов

Мне тоже жаль дефисов. Не понял, где тут связь с кириллицей. В бейсике стрёмно делать дефисы, потому что минус уже и так нагружен двумя смыслами. Если их ещё и в идентификаторы запихнуть, появятся опасные неоднозначности.

den73 ★★★★★
() автор топика
Ответ на: комментарий от StReLoK

Сожгите это напалмом, а что останется - закопайте. И автора тоже.

А тебе не интересно сколько будет юзеров наяривать на яре?

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от t184256

это ирония? Забыл упомянуть, кстати, AOT компиляцию в нативный код. Где ещё это есть? Я слышал про Эрланг. И всё. Я неправ?

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от den73

это ирония? ты точно разработчик языка?

не, слишком толсто, я за бан.

t184256 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.