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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.