LINUX.ORG.RU

Хочу запилить свой ЯП на асме.

 ,


2

3

Есть у меня некоторые идейки. Основная идея - простота и прзрачность, ну и, я бы сказал, несколько иной, концептуально, подход, но это сложная тема, не влезает в рамки топика.

Тащемта, основные наброски, можно сказать рабочий прототип, уже готов, я его реализовал на js. Основная проблема в скорости. Думаю, логично было бы написать его на асме. Но проблема в том, что как сам асм, так и архитектуру, я знаю чуть меньше чем никак. Это печально.

Однако, для реализации мне хватило бы некоего подобия лисповских car и cdr, и возможности их модификации. Т.е. Нужно, всего-навсего, делать ссылки из какой либо единицы памяти на другие единицы, условно говоря, с атома на список атомов, и далее по цепочке, прошу прощения, за корявую терминологию.

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

Благодарю за ответы.



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

Ну лол. Допили сначала своё поделие до вменяемого состояния, а потом уже оптимизирующие компиляторы пиши.

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

Не хочу, щас начнется срачь, куча анонимусов набегут с критикой, и тема сольется в гавно.

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

Из-за скорости естественно. Портируемость, думаю, не проблема, это пока не энтерпрайз же. Если врублюсь в тему, буду думать дальше, щас пока, не до хорошего:)

anonimous
() автор топика

Прочитай сначала Lisp In Small Pieces, а потом пиши сюда.

/thread

grouzen
()

логично было бы написать его на асме

Вдоль уже успели предложить?

направление, куда нужно копать

копни в сторону семантики и системы типов.

ymn
()

На JVM надо бы, а то на этой неделе для неё не появлялось новых языков.

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

системы типов

Система типов нужна тому, кто не понимает, что такое типы:)

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

На Tachyon посмотри - js тоже может быть очень быстрым и может генерить нативный код под x86.

anonymous
()

Лучше бы трансляцию в C.Тогда и кросс-платформенность будет.

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

Вообще, я несколько разочаровался в Scheme, несмотря на декларируемую простоту, он семантически, не слишком простой язык, и не слишком гибкий, в первую очередь, из-за своего кастрированного эвала, и заточенности на компиляцию.

anonimous
() автор топика

Кстати, что-то никто не упомянул gcc и llvm. Хотя, какая разница, всё равно ненужно.

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

Да, спасибо, я в принципе, немножко знаком с ним, хелловорды писал:). Но вот, каких либо обучалок именно по низкоурвневщене на нем, почему-то не видел, никогда, правда усердно и целенаправленно не искал. Все больше попадается что-то вроде «философия разработки», «подход к программированию», и прочее.

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

В этой книге ты просто сможешь найти некоторые особенности реализации лиспа на низком уровне.

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

Да, смотрел уже. Мне нравятся его идеи. Это возвращение к корням лиспа. А литературу какую нибудь по теме не посоветуешь, я имею в виду, не по самому picolisp, а по старым лиспам, что-нибудь вроде, «Lisp» Винстона и Хорна, чень-ть в этом духе.

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

Спасибо, надеюсь по этим книжкам я достигну своих целей быстро? Без ч-бства? Иначе, овчинка выделки не стоит, если год придется вникать, я этого не хочу.

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

Lisp 1.5 Programmer's Manual :)

Zen Style Programming того же самого Нильса Хольма. Он там использует собственный лисп старой школы (у меня есть pdfка)

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

Я имею в виду, что я хотел бы оперировать только в терминах символ и значение, ссылка, адрес и т.д. Всякие арифметики там, переводы из хекс и обратно и прочие арифметические операции, манипуляции с числами - этого всего хотелось бы избежать или свести к минимуму, это меня особо не радует, зубрежки там всякие

anonimous
() автор топика

Если найдёшь: А.П. Крюков, А.Я. Родионов, А.Ю. Таранов, М.Е. Шаблыгин «Программирование на языке R-Лисп» М. «Радио и связь», 1991.

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

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

Спасибо, у меня по-моему, где-то валяется она, руки не доходили, и не знал я кстати, что там старый лисп, а че это он, постоянно, вроде схему проповедовал, а здесь, вдруг, старый лисп, пересмотрел чтоли взгляды? Он там динамический биндинг использует?

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

Благодалю, это как раз то, что нужно, похоже, спасибо большое.

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

копни в сторону семантики и системы типов.

нахер это все упало?

x4DA
()

возьми какую-нить существующую vm и зопили на ней, например jvm

x4DA
()

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

AIv
()

Но проблема в том, что как сам асм, так и архитектуру, я знаю чуть меньше чем никак. Это печально.

Без знания архитектуры у тебя вряд ли выйдет GC. Посмотри, например, в презентации Boehm-GC как ищется корневое множество

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

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

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

Ога. При этом прочесть сообщения Ксеноцефала на sql.ru. Без них картина будет не полной

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

Ты что, видел тут где то вопрос «что думает voneij по поводу плюсов и вообще вот этого всего?» Знаешь почему ты тут его не видел? Потому что мнение таких жалких неасиляторов как ты никого тут не интересует. Вообще.

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

Попробуй лучше напиши свой интерпретатор

Не гони волну. Компиляторы намного проще интерпретаторов. Смотри ссылку на Forth tutorial - ты никогда не осилишь написать более простой интерпретатор.

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

Так, может объяснишь, с чего ты тут начал бздеть с первого комментария? SBCL справляется как-то и без твоих плюсов.

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

Хех, здОрово. Я до этого не особо обращал внимание на форт

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

Мне щас лениво объяснять тебе азбучные истины/устраивать холивар. Но если ТС собрался было писать на асме, то уж ему никак не ЛИШП нужен. Да и слухи о мегакрутости лиспов сильно преувеличены - лисп хорош для весьма ограниченного круга задач.

А «бздишь», судя по сленгу ты сам. Следи за базаром.

AIv
()

Между прочим, готовых имплементаций лиспов на фортах over 9000 есть как минимум несколько.

Xenesz
()

скорости
на асме
не изучая премудростей архитектуры

/0

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

Он собрался писать свой язык со скобочками, так? Так почему сразу не писать его на языке со скобочками? Или на чём-то более высокоуровневом?

лисп хорош для весьма ограниченного круга задач.

Интересно услышать, что это за задачи.

Следи за базаром.

Кто назвал меня жалким неосилятором?

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