LINUX.ORG.RU

На чем написать язык программирования своей мечты?

 , , , ,


1

4

Здравствуйте, помогите пожалуйста с такой проблемой: есть замечательный язык Clojure, он меня во всем устраивает кроме

  • решения realtime задач - хотелось бы работать с памятью напрямую или предложите как это можно обойти без костылей в Java
  • inline assembler

Дабы не писать все с нуля на чистом ассемблере (это же сколько трудозатрат) можете пожалуйста посоветовать готовые средства для достижения желаемой цели - написания клона Clojure с блекджеком и двумя жизненно важными плюшками, перечисленными выше. На ум приходит использование либо LLVM как основы, либо как то использовать Common Lisp, что посоветуете товарищи?

решения realtime задач - хотелось бы работать с памятью напрямую или предложите как это можно обойти без костылей в Java

Можно поподробнее? Что значит «напрямую». Если ты хочешь, скажем, malloc и арифметику указателей, то такой язык уже есть - это C.

Дабы не писать все с нуля на чистом ассемблере

Сейчас ничто не пишется на чистом ассемблере

shamaz
()

Дабы не писать все с нуля на чистом ассемблере

Пойди plt почитай что-ли, писатель.

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

Ты знаешь

нет не знаю, поясни пожалуйста, а хотя не поясняй, все равно это к теме не относится

Vpupk1n
() автор топика
Ответ на: комментарий от ilammy

Или крестик сними, или трусы надень

т.е. альтернативных решений ты не видишь? например одновременное использование GC и ручное управление памятью когда это необходимо?

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

Толсто. Ну вперед чё. А причём тут тогда кложуря? Других ЯП с gc не знаешь?

shamaz
()

Напиши свой язык на нем самом же, проблема что ли.

Artificial_Thought ★★★★
()

Главное — форму заполнить не забудь.

anonymous
()

сделай транслятор из своего языка в closure. как связать сишные функции с jvm, надеюсь, нагуглишь

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

си - это язык. он ниче не умеет. вот gcc может, в связке с binutils

MyTrooName ★★★★★
()

Не совсем понял. Для твоего прекрасного языка нужна будет JVM или нет?

geometer
()

Вот вы смеетесь, а я щетаю что у стивжобса все получится. Никто ведь не ожидал что он эту херню сделает, забыл как называется, чтоб лежа в лор писать. А он взял и сделал.

Так и здесь: возьмет и сделает новый язык. А потом напишет на этом языке свою игру.

Стив, не обращай внимания на этих троллей, все равно от них никакого конструктива. Пиши на лиспе, используй LLVM как основу и все получится

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

одновременное использование GC и ручное управление памятью когда это необходимо?

Педивикия говорит, что такое было в «Modula 3».

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

Тебя уже чмырили раньше, но ты продолжаешь выползать и вонять. Иди, ламерище, читай про real-time GC.

anonymous
()

1.зачем тебе ассемблер?

2. Гугли про real-time Java

3. Есть биндинги llvm для Java

4. Читай про region inference

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

И чем оно будет лучше, чем nimrod?

Ого, спасибо, можно будет взять за основу. Я только не понял он сейчас использует Tiny C Compiler?

Vpupk1n
() автор топика
Ответ на: комментарий от deterok

deterok пишет

Вы не поверите, сейчас занимаюсь почти темже самым. Сейчас пишу транслятор.

Можно с тобой как то связаться?

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

для полноценного real-time в Java нужно вроде как дорогущее специальное железо, парни из Azul C4 творят чудеса.

за остальное спасибо, почитаю

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

Оно транслируется (в том числе и в) C. Компилятор С можно выбирать.

How do I use a different C compiler than the default one?

Edit the config/nimrod.cfg file. Change the value of the cc variable to one of the following:
Abbreviation	C/C++ Compiler
dmc	Digital Mars C++
vcc	Microsoft's Visual C++
gcc	Gnu C
tcc	Tiny C
llvm_gcc	LLVM-GCC compiler
icc	Intel C++ compiler
ucc	Generic UNIX C compiler
x3al ★★★★★
()

На языке программирования своей мечты конечно.

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

А, понял, как будет что интересное кину, сначала минимальную реализацию хочу запилить. Пока накидал правила для flex и bison с небольшими коррекциями.

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

на полном серьезе пишу подобие лиспа

для flex и bison

Тут что-то не то. Или у тебя лисп с «продвинутым» синтаксисом?

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

Нет, самый обычный синтаксис CL, просто не хотел сейчас сильно заворачиваться на парсере. Хочу сделать рабочий прототип быстрее. Решил больше уделить сейчас внимание AST(идею понимаю, но никогда не пытался ее реализовывать) и LLVM(нужно время на разбор документации, но на вид все с ним просто).

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

просто не хотел сейчас сильно заворачиваться на парсере

Вот ИМХО, самопальный был бы проше и быстрее.

решил больше уделить сейчас внимание AST(идею понимаю, но никогда не пытался ее реализовывать)

Разве s-expression это не синтаксическое дерево само по себе?

LLVM(нужно время на разбор документации, но на вид все с ним просто).

Интересно. Я никогда с этим дело не имел. На нем можно сделать рантайм?

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

Ну парсер не сложно самому написать, но куда важнее вменяемую реализацию компилятора сделать.
LLVM многое умеет, только надо разобраться.

deterok ★★★★★
()

С по всем пунктам (Flex/Bison). Можно еще на С++ посмотреть.

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

Да, все это должно быть.(в нем много чего есть полезного, про GC точно читал)
Хочу сказать, что я не специалист по написанию компиляторов и подобных приблуд, просто мне интересна эта тема и я делаю это just for fun.

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

Спасибо, работа продвигается по мере возможностей и грандиозных идей я не вынашиваю, просто хочу сделать CL более приятным в использовании (по крайней мере как я это вижу).

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