- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
#include "xsmell.hpp"
#include <iostream>
TAG(html, NO_ATTRIBS);
TAG(head, NO_ATTRIBS);
TAG(title, NO_ATTRIBS);
TAG(body, NO_ATTRIBS);
TAG(p, NO_ATTRIBS);
TAG(a, ATTRIB(href));
TAG(img, ATTRIB(src), ATTRIB(alt));
int main()
{
using namespace xsmell;
document doc =
_
<html>_
<head>_
<title>"XSMELL demo"<!title>_
<!head>_
<body>_
<p>"Yesssssssssssssssss!"<!p>_
<img .src("chucknorris.png") .alt("sneezing eyes open")>_ <!img>_
<!body>_
<!html>
_;
std::cout << doc << '\n';
return 0;
}
guest 07.08.2012 14:26 # +12
And you no longer have to worry about generating malformed XML! After spending
hours fighting obscure C++ compiler errors, you'll be 100% certain that your
XML is correct.
USB 07.08.2012 14:56 # +1
Не нужен.
USB 07.08.2012 14:57 # +12
xвонь
bormand 07.08.2012 15:16 # 0
absolut 07.08.2012 18:12 # +4
zasedanie 07.08.2012 21:03 # +4
bormand 07.08.2012 21:08 # +2
HaskellGovno 07.08.2012 22:04 # −2
defecate-plusplus 07.08.2012 22:08 # −2
(Y)
vistefan 07.08.2012 22:17 # +3
> сергей дроботенко
.
(Я гуглил)
defecate-plusplus 07.08.2012 22:21 # +6
которая не знает, что такое аж 2 канала на ТВ в 90-е - орт и ртр
я еще коклюшкина помню
минусуйте меня
absolut 07.08.2012 22:39 # +5
vistefan 07.08.2012 22:58 # 0
> минусуйте меня.
Да это ж рецепт плюсов!
istem 08.08.2012 14:34 # −3
КАК ВЫ МОГЛИ ЗАБЫТЬ ПЕТРОСЯНА?!
3.14159265 08.08.2012 14:42 # +2
http://www.youtube.com/watch?v=ISMh8w1dz3Y
http://www.youtube.com/watch?v=T5ksOZcTrww
Школьники! Давитесь от зависти.
istem 08.08.2012 14:45 # 0
absolut 08.08.2012 15:02 # −3
bormand 08.08.2012 15:17 # +2
3.14159265 08.08.2012 15:22 # +3
absolut 08.08.2012 15:35 # +2
vistefan 09.08.2012 15:41 # +1
absolut 09.08.2012 16:05 # 0
Да. Все умрут.
guest8 10.07.2018 01:58 # −999
defecate-plusplus 08.08.2012 14:49 # +1
петросян тогда в своей "смехопанораме" только и делал, что пи... говорил не по делу, вместо того, чтобы какие-никакие видеобояны демонстрировать,
вот квн тогда был огого какой торт, по сравнению с унылым аншлагом
а сейчас квн сам уныл
istem 08.08.2012 15:07 # +2
inkanus-gray 06.07.2015 22:52 # +2
не пишет.
Коклюшкина никто
не ждёт.
Минусуйте меня за то, что я помню эту пародию.
Stertor 06.07.2015 22:54 # −102
)
bormand 08.08.2012 15:00 # −1
Vasiliy 06.07.2015 23:29 # 0
Хоть бы там к примеру поволили бы или по батрутдилили бы на конец. Хотя... все же Петросян круче.
Stertor 06.07.2015 23:56 # −103
guest 07.07.2015 00:39 # 0
bormand 07.08.2012 15:05 # 0
USB 07.08.2012 14:54 # +5
roman-kashitsyn 07.08.2012 14:57 # +3
В List (Common, Clojure) можно строить литералы xml из s-выражений (например, в compile-time), написав несколько несложных макросов.
USB 07.08.2012 15:02 # −3
roman-kashitsyn 07.08.2012 15:25 # +1
В теории это можно использовать везде, где нужен xml. Представление документов xml в виде лисповых s-выражений имеет для лисперов довольно много преимуществ (генерация кода, поддержка мощных редакторов вроде emacs).
guest 07.08.2012 17:05 # 0
Но с другой стороны дополнительная прослойка (все равно для валидации каждый раз конвертить) тоже не совсем "по бритве".
roman-kashitsyn 07.08.2012 17:42 # +1
Ну, как-то же надо генерировать xml по данным. Либо использовать левый шаблонизатор, либо какой-то биндер s-выражений (тоже по сути шаблонизатор). В любом случае, использовать s-выражения для представления древовидных структур выглядит очень естественно и соответствует идеологии bottom-up.
guest8 10.07.2018 02:06 # −999
wvxvw 08.08.2012 00:10 # +2
Из всего кода компилятора бОльшую половину занимает парсилка XML (там можно не только XML, но и в скобочках переменные использовать). В итоге, обычный форыч работает естесственно, лучше литералов. Литералы большая часть использует не правильно, или не понимает, как, например и с регулярными выражениями. Вобщем, не нужно это.
roman-kashitsyn 08.08.2012 00:28 # +2
Сильно сомневаюсь, что эта возможность принадлежит к числу "сложных" (emacs и idea вроде неплохо справляются, хотя хайлайтер emacs иногда серьёзно сбоит, особенно на больших файлах)
Идея, например, до сих пор не умеет компилять бОльшую часть валидного Scala-кода (даже без xml литералов).
wvxvw 08.08.2012 09:44 # 0
В js2-mode есть какая-то подсветка и анализ XML, но если его использовать, то работать будет очень медленно. Честно сказать - я не пытался найти ошибки, но судя по тому, что автор бросил это дело...
Идея, кстати сказать, так же хреново подсвечивает / анализирует AS3. Но что с них взять, если Адобовский билдер тоже лажает.
roman-kashitsyn 08.08.2012 11:18 # 0
roman-kashitsyn 08.08.2012 11:39 # 0
а, нет, получается, если использовать в точности эту строчку
wvxvw 08.08.2012 11:52 # 0
Я несколько раз брался написать раскраску для AS3, но изза E4X и метадаты, так ни разу до ума и не довел. Всякие яки-бизоны для этого использовать бессмысленно. И это еще и было придумано людьми, которые типа стандарты пишут... :/
USB 08.08.2012 09:55 # 0
А можете привести пример конструкции на Scala?
Я тогда попробую нечто подобное на Nemerle, если пойму как работает.
roman-kashitsyn 08.08.2012 10:46 # +3
USB 08.08.2012 11:47 # 0
2)Второй на... я совсем не понял.
Третий на <span id="bottom"><b>...</b></span>.
3)Значение {contents} понятно. Оно "выводится". Там например, может быть следующие теги или текст. Я бы тут передавал contents рекурсивно функции самой себе для поиска следующих тегов.
USB 08.08.2012 12:12 # 0
roman-kashitsyn 08.08.2012 14:28 # 0
Второй кейс проверяет, что имеем спан с id == "bottom" - наш кейс.
Третий - имеем <b>text</b> и аналогично привязываем текст внутри к переменной contents.
Перед match может стоять любое xml-выражение
wvxvw 08.08.2012 11:59 # +2
Так это было бы в E4X. Но это хуже, чем записать по-человечески с обычными ифами или свитчем, и кода меньше сгенерируется, и работать будет лучше, и дебажить удобнее.
wvxvw 08.08.2012 12:09 # +1
USB 08.08.2012 12:13 # +1
wvxvw 08.08.2012 12:42 # 0
Если уж Крокфорд так пишет, то че уж мне стеснятся.
USB 08.08.2012 12:54 # +3
USB 07.08.2012 15:04 # 0
guest 07.07.2015 00:39 # 0
someone 07.08.2012 15:10 # 0
bormand 07.08.2012 15:11 # 0
After spending hours fighting obscure C++ compiler errors, you'll be 100% certain
that your XML is correct.
P.S. Но на самом деле, конечно, ненужно.
roman-kashitsyn 07.08.2012 18:09 # 0
bormand 07.08.2012 18:10 # 0
roman-kashitsyn 08.08.2012 00:36 # 0
правильно, вдруг это заразно
roskomgovno 10.07.2018 04:42 # 0
HaskellGovno 07.08.2012 17:07 # −8
Как сделать так, чтобы этот код не скомпилировался?
http://ideone.com/Us6Ek
Хочу, чтобы типы Seg и Pos не совпадали.
roman-kashitsyn 07.08.2012 17:17 # +2
guest 07.08.2012 17:24 # +4
(пере)прочитай gentle introduction что ли.
bormand 07.08.2012 17:55 # +2
Но только там придется явно указывать имя конструктора. Тупо (4,5) не прокатит.
bormand 07.08.2012 18:02 # 0
data Seg = Seg Int Int
data Pos = Pos Int Int
absolut 07.08.2012 18:14 # +4
так это ж HaskellGovno ответил
HaskellGovno 07.08.2012 19:13 # 0
absolut 07.08.2012 19:26 # −2
bormand 07.08.2012 19:38 # +1
absolut 07.08.2012 20:29 # +1
HaskellGovno 07.08.2012 18:35 # −2
http://ideone.com/vyDRD
http://ideone.com/Z1PAn
Оба метода работают. Но в чем разница?
Всё ли я сделал оптимально по количеству лишних символов?
bormand 07.08.2012 18:40 # +1
Процитирую @guest: (пере)прочитай gentle introduction что ли.
http://www.haskell.org/tutorial/moretypes.html
HaskellGovno 07.08.2012 18:59 # 0
Только я как то видел где-то
a - в данном случае шаблон и можно использовать там любой тип?
Можно ли в данном случае заменить type на data или newtype?
HaskellGovno 07.08.2012 19:11 # 0
Как сделать так, чтобы за пределами модуля этот конструктор не был виден. Но в идеале конечно, хорошо бы, чтобы он не не был виден нигде, кроме как в коде
instance Num Natural where
...
или это хаскеляпроблема, которую не побороть?
bormand 07.08.2012 19:25 # +2
Не эскпортировать из модуля. Там можно при экспорте указать, какие конструкторы будут доступны.
HaskellGovno 07.08.2012 19:42 # 0
bormand 07.08.2012 19:52 # +1
guest 07.08.2012 20:38 # +2
bormand 07.08.2012 18:42 # +1
В принципе все норм. Но возможен еще такой вариант:
HaskellGovno 07.08.2012 18:48 # 0
http://ideone.com/E0YHA
Вот и вся разница.
bormand 07.08.2012 19:29 # +1
HaskellGovno 07.08.2012 19:36 # 0
roman-kashitsyn 10.07.2018 11:24 # 0
Нет, не всегда. В твоём случае разницы нет:
gost 10.07.2018 11:28 # 0
roman-kashitsyn 10.07.2018 11:34 # +1
Шесть лет, Карл. roskomgovno раскопал тред и поднял в сток, невольно перечитал. Как быстро время летит, вот вроде вчера только было.
guest8 10.07.2018 12:10 # −999
gost 10.07.2018 13:28 # 0
guest8 10.07.2018 13:36 # −999
Sim_salapim 10.07.2018 15:06 # 0
HaskellGovno 07.08.2012 19:39 # 0
bormand 07.08.2012 19:48 # +1
http://www.haskell.org/tutorial/goodies.html#tut-user-types
HaskellGovno 08.08.2012 11:43 # 0
Sim_salapim 10.07.2018 15:07 # 0
HaskellGovno 07.08.2012 18:53 # 0
Кстати, а зачем эти сигнатуры функций указывать, если они все равно выводятся автоматически всегда? Это лишняя трата символов в программе.
bormand 07.08.2012 19:29 # +1
HaskellGovno 07.08.2012 19:34 # 0
bormand 07.08.2012 19:37 # +1
map :: (a -> b) -> [a] -> [b]
HaskellGovno 07.08.2012 19:46 # 0
bormand 07.08.2012 19:55 # +2
USB 08.08.2012 13:23 # +3
roman-kashitsyn 08.08.2012 14:04 # +1
roman-kashitsyn 07.08.2012 19:35 # +2
roman-kashitsyn 07.08.2012 20:31 # +3
Psionic 07.08.2012 18:20 # +4
absolut 07.08.2012 22:41 # +2
Lure Of Chaos 07.08.2012 22:45 # +1
wvxvw 08.08.2012 12:17 # +2
Так что, сенсация: PHP лучше C++!
defecate-plusplus 08.08.2012 12:30 # +3
меня код в теме очень повеселил, например
HaskellGovno 08.08.2012 21:38 # −6
Ведь скомпилируется, что так
member :: a -> [a] -> Bool
что с указанием этого класса (Eq a) => . Так зачем это нужно?
zim 08.08.2012 23:54 # +5
HaskellGovno 09.08.2012 00:30 # −3
bormand 09.08.2012 07:06 # +6
...обидеться и уйти плакать в подушку
TheHamstertamer 09.08.2012 18:41 # +4
govnomonad 09.08.2012 06:55 # 0
bormand 09.08.2012 07:16 # +2
Да ну? Имхо, он обматерит вас, сказав, что a не инстанс Eq, поэтому == юзать нельзя. (Проверять лень.)
TheHamstertamer 09.08.2012 10:09 # +3
http://ideone.com/I9yO1
А теперь уебывай.
rat4 09.08.2012 10:20 # +5
TheHamstertamer 09.08.2012 10:24 # +7
rat4 09.08.2012 11:28 # +5
bormand 09.08.2012 11:36 # +4
rat4 09.08.2012 11:44 # +3
roman-kashitsyn 09.08.2012 11:46 # +8
Мне всегда было интересно, почему они в фильмах не жрут друг друга
bormand 09.08.2012 11:48 # 0
roman-kashitsyn 09.08.2012 12:08 # +3
absolut 09.08.2012 13:10 # +5
bormand 09.08.2012 13:18 # +3
zim 09.08.2012 14:21 # +6
eth0 09.08.2012 15:51 # +3
OMG. Я только что изобрёл зомби-каннибалов. Как раз подойдёт для высеров типа "Ночь мёртвых мертвецов-8".
absolut 09.08.2012 16:08 # +4
3.14159265 09.08.2012 15:55 # +4
bormand 09.08.2012 15:58 # +6
roman-kashitsyn 09.08.2012 17:26 # +5
bormand 09.08.2012 16:05 # +4
bormand 09.08.2012 16:05 # +4
absolut 09.08.2012 16:25 # +4
спорно
HaskellGovno 09.08.2012 16:28 # +6
bormand 09.08.2012 16:45 # +5
roman-kashitsyn 09.08.2012 16:47 # +8
3.14159265 09.08.2012 16:58 # +5
roman-kashitsyn 09.08.2012 16:58 # +7
3.14159265 09.08.2012 17:04 # +5
roman-kashitsyn 09.08.2012 17:00 # +6
3.14159265 09.08.2012 17:02 # +3
bormand 09.08.2012 17:05 # +3
3.14159265 09.08.2012 17:08 # +5
roman-kashitsyn 09.08.2012 17:08 # +4
3.14159265 09.08.2012 17:12 # +3
3.14159265 09.08.2012 17:15 # +6
absolut 09.08.2012 17:24 # +5
вот это надо в шапку сайта!!!
bormand 09.08.2012 17:26 # +6
На гумне и шапка горит.
absolut 09.08.2012 17:29 # +5
На гумне и шапка гумнит.
fxd
roman-kashitsyn 09.08.2012 17:30 # +6
хедер
fxd
3.14159265 09.08.2012 17:10 # +4
3.14159265 09.08.2012 17:19 # +6
Перед гумном бисер не мечут.
3.14159265 09.08.2012 16:50 # +4
HaskellGovno 09.08.2012 17:43 # +4
Блян, что я написал... Представил себе самолет над городом, распыляющий гумно. Впрочем, удобрение.
3.14159265 09.08.2012 16:49 # +4
bormand 09.08.2012 16:52 # +3
3.14159265 09.08.2012 16:59 # +5
3.14159265 09.08.2012 18:31 # +4
selffix
rat4 09.08.2012 17:14 # +5
roman-kashitsyn 09.08.2012 16:57 # +3
bormand 09.08.2012 17:00 # +3
3.14159265 09.08.2012 17:00 # +3
bormand 09.08.2012 17:01 # +4
3.14159265 09.08.2012 17:11 # +3
bormand 09.08.2012 17:15 # +3
roman-kashitsyn 09.08.2012 17:15 # +7
bormand 09.08.2012 17:17 # +5
3.14159265 09.08.2012 17:20 # +5
roman-kashitsyn 09.08.2012 17:56 # +5
3.14159265 09.08.2012 17:17 # +4
bormand 09.08.2012 17:21 # +5
roman-kashitsyn 09.08.2012 17:19 # +5
bormand 09.08.2012 17:20 # +3
roman-kashitsyn 09.08.2012 17:22 # +6
3.14159265 09.08.2012 17:23 # +4
absolut 09.08.2012 17:26 # +1
3.14159265 09.08.2012 17:27 # +3
Простите конечно за грубость, но из
Функции код не выкинешь
bormand 09.08.2012 17:29 # +3
3.14159265 09.08.2012 17:30 # +3
absolut 09.08.2012 17:30 # +3
p.s. чорт, лесенка уперлась :)
3.14159265 09.08.2012 17:31 # +5
bormand 09.08.2012 17:32 # +3
3.14159265 09.08.2012 17:34 # +4
Уж не знаю есть ли такая поговорка.
roman-kashitsyn 09.08.2012 17:35 # +5
Не гумном единым жив говнокод
3.14159265 09.08.2012 17:37 # +8
bormand 09.08.2012 17:38 # +3
absolut 09.08.2012 17:37 # +3
3.14159265 09.08.2012 17:38 # +3
fix
3.14159265 09.08.2012 17:39 # +3
absolut 09.08.2012 17:38 # +4
3.14159265 09.08.2012 17:39 # +4
absolut 09.08.2012 17:50 # +5
3.14159265 09.08.2012 17:41 # +5
absolut 09.08.2012 17:43 # +3
absolut 09.08.2012 17:44 # +3
bormand 09.08.2012 17:43 # +3
roman-kashitsyn 09.08.2012 17:44 # +5
3.14159265 09.08.2012 17:44 # +3
bormand 09.08.2012 17:46 # +2
3.14159265 09.08.2012 17:46 # +5
absolut 09.08.2012 17:47 # +5
absolut 09.08.2012 17:46 # +6
3.14159265 09.08.2012 17:47 # +5
bormand 09.08.2012 17:48 # +3
pohuinho 08.07.2018 22:07 # 0
absolut 09.08.2012 17:48 # +4
absolut 09.08.2012 17:49 # +4
bormand 09.08.2012 17:49 # +5
absolut 09.08.2012 17:52 # +3
absolut 09.08.2012 17:53 # +4
bormand 09.08.2012 17:55 # +5
absolut 09.08.2012 17:56 # +4
3.14159265 09.08.2012 18:04 # +3
http://govnokod.ru/11549#comment150158
HaskellGovno 09.08.2012 18:38 # +5
vistefan 09.08.2012 20:16 # +2
HaskellGovno 09.08.2012 21:08 # +5
absolut 09.08.2012 21:29 # +6
Я все думал, чего же не хватает :)
zim 10.08.2012 10:28 # +3
roman-kashitsyn 10.08.2012 11:06 # +3
fixed
bormand 10.08.2012 11:19 # +3
roman-kashitsyn 10.08.2012 11:55 # +5
3.14159265 10.08.2012 14:24 # +5
И превратил его в гумно.
А если б за гумно он взялся,
То бы потратил меньше сил.
guest 10.08.2012 14:38 # −7
3.14159265 10.08.2012 14:52 # +4
roman-kashitsyn 09.08.2012 17:43 # +5
вдруг банить гумноту взялись
roman-kashitsyn 09.08.2012 17:52 # +7
3.14159265 09.08.2012 18:12 # +7
вдруг банить гумноту взялись.
Да в это дело так с душой дались:
Для гостей - вторник, пятница, суббота;
И капчу сделали для говнокода.
А модер красным жжет напалмом,
И бегает размахивая кляпом.
Даже давал права другим он юзерам,
Да только вот гумно и ныне там.
3.14159265 09.08.2012 18:00 # +7
Что долго думать тут? Он за GC принялся:
Книженций накупил
и долго в них вчитался
А там и счетчик ссылок запилил.
Лишь скоростя, раз в четверо упали
Да что до этого печали?
Однако же смеется Березняк
И говорит: "Так я же не дурак
И ту беду поправлю:
Длиннее прежнего я циклов понаставлю".
Таким же образом, видал я, иногда
Иные господа велосипедами,
Запутавши свой код безмерно наговняют,
Посмотришь: костылями баги затыкают.
bormand 09.08.2012 18:11 # +8
На лад их дело не пойдёт,
И выйдет из него не дело, только мука.
Однажды Программист, Манагер да Админ
Писать проект большой взялись,
И вместе трое все в него впряглись;
Из кожи лезут вон, проекту всё нет ходу!
Задача бы для них казалась и легка:
Да вот Манагер рвётся в облака,
Админ все пятится назад, Программер пишет воду.
Кто виноват из них, кто прав — судить не нам;
Да только код и ныне там.
3.14159265 09.08.2012 18:45 # +4
На смех всему честному говнокоду.
absolut 09.08.2012 20:02 # 0
Писет в воду
vistefan 09.08.2012 19:54 # +5
fxd
vistefan 09.08.2012 19:55 # +3
И вообще, сотни нефти этому треду!
Psionic 09.08.2012 16:02 # +2
absolut 09.08.2012 16:08 # +2
rat4 09.08.2012 16:32 # +2
guest 11.08.2012 00:42 # −3
rat4 11.08.2012 08:50 # +3
roman-kashitsyn 09.08.2012 17:09 # +8
sayidandrtfm 09.08.2012 17:23 # +4
eth0 09.08.2012 17:58 # +2
rat4 09.08.2012 18:19 # +1
Как только кто-нибудь догумнякает лесенку.
bormand 09.08.2012 18:23 # +2
eth0 09.08.2012 19:55 # +2
bormand 09.08.2012 20:17 # 0
Но вот что-то мне подсказывает, что погибель предрекают...
3.14159265 09.08.2012 18:33 # +6
"Тарас крестам не товарищ", так и вовсе шедеврально.
guest 11.08.2012 00:41 # +6
guest 10.08.2012 17:45 # +4
zim 10.08.2012 18:22 # +4
absolut 10.08.2012 20:37 # +4
HaskellGovno 11.08.2012 00:39 # +2
bormand 11.08.2012 04:33 # +5
Свисти-свисти...
HaskellGovno 11.08.2012 10:27 # +2
roskomgovno 10.07.2018 01:24 # 0