LINUX.ORG.RU

[вещества][лиспы]скобочный веб

 


1

4

Мечта идиота. Чтобы все эти разнабойные языки (html, css, js, xml, xlst, ...) померли и был один веб на s-expr. Макросы обязательно (и это лучше чем xlst)
Типичная вебстраничка была бы такой.

(html
  (head
    (title '(Web page))
    (style
      (match '(body .footer)
        :color red
      )
    )
    (script
      (alert 'Hello world')
    )
  )
  (body
    (div :id 'foo')
  )
)
Прошу прощения на неканоничные скобки. CL конечно же как скриптовый язык. html и css - доменные. И браузер на лиспе, расширяемый.
Что думают многоуважаемные лисперы? Подьемно сделать революцию?

★★★★
Ответ на: комментарий от Miguel

вордовский документ (начиная с 2007 версии) - это запакованный xml, так что вариант :)

qaqa ★★
()

Зачем скобки, когда есть haml?

%table.btab.w100p
    %tr
        %th{:colspan=>"2"} Персона
        %th Дата изменения
        %th ID
    - foreach($items as $i)
        %tr
            %td{:width=>"66"}
                - if($i->image())
                    = $i->image()->thumbnail('64x64')->html()
            %td= $i->admin()->imaged_titled_link()
            %td= $i->mtime()->short()
            %td= $i->id()
[/haml]

И это совершенно практичный и реально работающий код :)

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

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

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

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

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

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

Проблемы негров^W^W точка зрения вменяемого разработчика не волнует никого из юзеров.

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

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

Кому должен?

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

Исторически сложилось, что исправляли. Что привело к огромному количеству невалидного HTML-я в вебе. Обратного пути нет, если только всё переделывать с нуля, а это никто не осилит пропихнуть в мейнстрим.

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

Проблемы негров^W^W точка зрения вменяемого разработчика
не волнует никого из юзеров.

Не понял, это что, юзера кривую разметку делают?

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

должен ли интерпретатор подтирать сопельки за разработчиком.

Многие разработчики крайне поверхностно знают HTML. Им приходит некий макет страницы, и они там просто биндят поля форм к полям модели.

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

ничего так но вот отступы и аттрибуты жирновато писать, столько лишних символов. аноним там предлагал на предыдущей странице петоновариант почище

bga_ ★★★★
() автор топика

Если ты про удобство форматирования то man wiki_formatting.

А вообще все эти хы-ты-эм-эли очень громоздкие, да. Когда пишу html ручками дико бесит.

true_admin ★★★★★
()

Предлагаю альтернативный вариант:
[
[
«Web page» title
<<\end
'Hello world' alert
\end script
] head
[
[] {:id='foo'} div
] body
] html

quantum-troll ★★★★★
()
Ответ на: комментарий от Miguel

О, поступило предложение сделать веб, где вместо HTML - вордовские файлы.

бред какой.

просто кое-кто посмел выронить слово «документы»

lazyklimm ★★★★★
()
Ответ на: комментарий от quantum-troll

ну это действительно проблема если их будет много. у перла/руби есть много всяких экзотических форм для строковых литератов типа %q{}, << END END. Можно подстановкой как я это решаю, (let (Q , '«') '$Q hello world ${Q}')

bga_ ★★★★
() автор топика
Ответ на: комментарий от quantum-troll

я писал на Cat, забавно, понравилось

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

«<x><y>foo bar</x> baz». На самом деле там должно быть <x><y>foo</y> bar</x>baz

Почему </x> обязательно после bar, а не после foo? Lisp с xml-подобным синтаксисом здесь на равных. Если ситуацию пытаться «исправить» каким-то образом, то внести в тег опциональным/обязательным параметром закрывающий идентификатор, однозначно определяющий закрываемый тег по его, например, id. Вместо распространенной сейчас практики - после закрывающего тега писать комментарий о том, какой логический блок закрыт.

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

что в sexp-html куча ништяков как на сервере, так и на клиенте, сейчас не знаю

На самом деле, не такая уж и куча - только скорость парсинга и возможность бесконечных расширений и кастрирования. html чем хорош - тем, что на него возложена одна функция, с которой он должен справляться хорошо. Для выполнения других функций желательно так же использовать специализированные инструменты, такие как шаблонизатор. С ними удобно работать не-программисту: дизу, верстальщику и хорошие инструменты ограничивают верстальщика от написания сложной логики внутри верстки. Поэтому, если и использовать lisp-подобный язык для разметки веб-страниц, то это должно быть достаточно ограниченное подмножество какого-то CL с прописанными и четко разграниченными инструментами для собственно верстки, запросов к dom, оперирования с ним и преобразования (если надо).

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

Ну коли мы придумываем новые стандарты :) можем просто запретить несбалансированные скобки

Нельзя! Из-за ошибок в верстке делать недоступным весь ресурс. Отсутствие требования к валидности html для его отображения выражено в самой идеологии веб-продакшна

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

Многие разработчики крайне поверхностно знают HTML.

А на стройках тем временем чернорабочих не хватает.

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

Многие разработчики крайне поверхностно знают HTML.

А на стройках тем временем чернорабочих не хватает

Разработчик (программер) и не должен его знать более, чем поверхностно - для этого есть верстальщик

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

Верстальщики тоже хреново знают html? Тогда беда

Как раз наоборот - только он и должен знать верстку в достаточной для выполнения работы степени

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

Это все потому что разработчики стандартов идут по пути вседозволения и разрещения стретять в ногу. Cпрашивается зачем нужен <br> когда есть <p>. Зачем нужен <html> когда все равно кроме него ничего е должно быть, тоже про доктайп. CSS наворачивают что ужас, скоро уже селекторы по конткнту будут. Все выкинуть и отставить только по 1 классу. Так будет дисциплина и порядок.

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

выражено в самой идеологии веб-продакшна

Не могли бы вы подробнее пояснить что имеете в виду?

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

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

что ойойой как далеко не столь важно при стольких-то косяков отображающих ее программ - браузеров

ИЧСХ, ноги у косяков браузера растут из той же жопы, что и незакрытые тэги.

ну, поплыл текстовый блочок на 15px вниз

мы говорим об ошибках иного рода.

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

Cпрашивается зачем нужен <br> когда есть <p>

А зачем нужен <strong> и <b>, когда есть css? Зачем нужны заголовки <h-N>? А за тем, что разные теги - обозначают разные *логические* сущности

Зачем нужен <html> когда все равно кроме него ничего е должно быть

Сторонний внешний документ, который с виду похож на html, может быть чем угодно - например, xml, текстовым документом, вообще левым форматом

будет дисциплина и порядок.

Ненужны

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

Т.е. от верстальщика можно требовать знать html и уметь закрывать тэги?

Абсолютно... в той же степени как от программиста - всегда писать синтаксически корректный код без логических ошибок и опечаток

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

ну, поплыл текстовый блочок на 15px вниз

мы говорим об ошибках иного рода.

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

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

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

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

Других «серьезных ошибок» в верстке быть не может в принципе

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

<a><b>test-test-test</a>

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

Других «серьезных ошибок» в верстке быть не может в принципе

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

Я отвечаю не на весь тред сразу, а только на цитируемые части отдельных сообщений (естественно, в контексте)

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

я не против семантических тегов но против лишних сущностей, <br> точно не нужен, универсальный <div>/<span> надо поменять на более точные сущности как уже и делают, <footer> <header> итд, я даже не против мелких оформительных тегов типа <b> <i>

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

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

Браузеры именно этим и занимаются. Но синтаксически некорректные html-документы они открывают «как попало», а не выплевывают ошибку о невозможности открыть - и это правильное, ожидаемое поведение

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

ожидаемое поведение

Ожидаемое убогими криворукими быдлокодерами под ўеб, у которых руки из жопы растут.

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

я не против семантических тегов но против лишних сущностей, <br> точно не нужен, универсальный <div>/<span> надо поменять на более точные сущности как уже и делают, <footer> <header> итд, я даже не против мелких оформительных тегов типа <b> <i>

<br> - одиночный тег. Семантика: перенос строки (enter, \n)
<p> - параграф, абзац.
<br> используется в том числе и внутри <p>, когда предложение «с новой строки» не является новым абзацем параграфом.
// вот посмотри как пишет megabaks, сразу поймешь семантику ;)

<div>/<span> надо поменять на более точные сущности как уже и делают, <footer> <header> итд

Никто так в здравом уме не делает. footer и header - это аналог (своих аутентичных, естественно) паттернов проектирования в java

alienclaster ★★★
()
Ответ на: Мой вариант от anonymous

Можно писать как ini-файлы:

[блок]
параметр=значение

Но тогда вложенных блоков не получится. Придется изобретать XML опять

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