LINUX.ORG.RU

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

 , , , ,


1

4

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

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

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

В чем разница между разработчиком и лиспером?

Разработчик: (разрабатывает системы)
Лиспер: (пишет свой лисп на лиспе, а потом переписывает все на нем)

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

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

А он будет работать под обычной ОС? Или понадобится специализированная LISP OS и LISP-компьютер?

anonymous
()

На Си всё можно написать, даже ассемблер.

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

просто хочу сделать CL более приятным в использовании

А чего не хватило в CL (например, SBCL) и что нельзя добавить через reader-macro?

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

Напиши на кложурке кложурку.

Кожурка на кожурке. И назвать язык cabbage.

sT331h0rs3 ★★★★★
()

На чём угодно.

В инсте один на Паскале писал.

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

Вы не поверите

Та шо там...

Пишу «в стол» симулятор, есть мысль в качестве интерфейса запилить что-то бейсико или фортраноподобное.

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

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

Ынтырпрайз не пишут, да.

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

Ее на хабре переводили уже, я видел. И да, это хобби, просто хобби. Таким образом я изучаю разные технологии. В данном случае llvm. Мне он просто интересен.

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

На чем написать язык программирования своей мечты? (комментарий)
Я не очень хорошо знаю CL, но он мне симпатичен и достаточно прост в реализации, по крайней мере на вид. Мне бы не помешала помощь в понимание некоторых принципов в CL. У тебя jid есть?

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

Таким образом я изучаю разные технологии. В данном случае llvm. Мне он просто интересен.

Да понятно все. Просто выбор языка несколько странен. Можно ведь было бы что-то менее бесполезное взять.

anonymous
()

тред не читал, бутстрэп уже предлагали?

lazyklimm ★★★★★
()
15 апреля 2014 г.

llvm - оптимальный вариант, дерзай

MyTrooName ★★★★★
()

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

Clojure сначала, потом на своём новом ЯП перепишешь.

Очевидно жеж!

emulek
()

Все настоящие мужики пишут сразу в машинных кодах. Ассемблер - для неосиляторов.

А вообще первую версию можно на чем угодно написать, а потом забутстраппить и всего делов.

maverik ★★
()

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

на нем же и написать

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

Все настоящие мужики пишут сразу в машинных кодах.

_настоящие_ распространяют свой ДНК код. А вот машинный распространяют и пишут неосиляторы, которым не дают. Никто, кроме вычислительных машин.

emulek
()

Возможно, лёгкий путь, это Java Native Interface Specification. В конце концов, там где требуется низкоуровневый доступ к периферии, вполне можно оформить библиотекой. Это гораздо легче, чем писать свой ЯП с блекджеком и забавами.

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

распространяют свой ДНК код

Прошлый век. Сейчас 2014 или где?

да. 2014, а такие как ты до сих пор не вымерли. Сам удивляюсь...

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

ну я и не про тебя лично говорил.

PS: У меня тоже есть.

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

Ээ.. Э.

Легко.

https://github.com/tonyg/pi-nothing

Загрузчик + ОС + среда разработки для Raspberry Pi. Всё на Racket (который Scheme, который тоже Лисп).

Hello world выглядит так:

(define (newline)
  (%%write 1 (data #"\n") 1))


(define (strlen p)
  (let ((mutable p p)
	(mutable count 0)
	(mutable ch (?byte p)))
    (while (<> ch 0)
      (set! count (+ count 1))
      (set! p (+ p 1))
      (set! ch (?byte p)))
    count))


(define (puts s)
  (%%write 1 s (strlen s)))


(define (buf)
  (data #"aa\0"))


(define (main)
  (newline)
  (puts (data #"Hello, world!\n\0"))
  (puts (buf))
  (newline)
  (let ((addr (+ (buf) 1)))
    (!byte addr (+ 1 (?byte addr))))
  (puts (buf))
  (newline)
  0)

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