OSDev

для всех
Текущее время: 19 апр 2024, 06:12

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
СообщениеДобавлено: 10 окт 2009, 18:47 
> Я не буду использовать struct, как некоторые делают, когда пишут интерпретатор лиспа на Си, а просто буду работать со строками (char*)....

А с мусором как управляться?


Вернуться к началу
  
 
СообщениеДобавлено: 10 окт 2009, 21:14 

Зарегистрирован: 09 авг 2009, 06:14
Сообщения: 25
> на лиспе мало кто сможет писать проги
> привыкли уже к C++ и подобным ему
Да хули там мочь? Все элементарно... Хотя, мне уже наплевать, кто там что может, не может и к чему привык.

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

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

2anonymous
> А с мусором как управляться?
изменением нужной строки + контроль фрагментации


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 окт 2009, 22:05 
>>2анонимус
>>иди туда, где ты этот пример скопипиздил и почитай,
>>что такое цикл do, mapcar и все сразу поймешь.

это куда туда? в 50метровые исходники CLISP ?

нет уж, ипал йа врот, весь этот пидорский высер:

; -*- Lisp -*-

(setf a-vector (make-array 10))
[*]+(or XCL CMU SBCL OpenMCL) #(0 0 0 0 0 0 0 0 0 0)
[*]+(or CLISP AKCL ECL ALLEGRO LISPWORKS) #(NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL)
[*]-(or XCL CLISP AKCL ECL ALLEGRO CMU SBCL OpenMCL LISPWORKS) UNKNOWN

(do ((i 0 (1+ i))
(n (length a-vector)))
((= i n))
(when (null (aref a-vector i))
(setf (aref a-vector i) 0)))
nil

(setq liste '(a b c d))
(a b c d)

(setq x 'anfangswert-von-x)
anfangswert-von-x

(do ((x liste (cdr x))
(oldx x x))
((null x))
(print oldx) (print x))
nil

(defun list-reverse (list)
(do ((x list (cdr x))
(y '() (cons (car x) y)))
((endp x) y)))
list-reverse

(list-reverse '(a b c d))
(d c b a)

(setq foo '(a b c d))
(a b c d)

(setq bar '(1 2 3 4))
(1 2 3 4)

(defun fkt(a b) (cons a b))
fkt

; mapcar

(mapcar #'abs '(3 -4 2 -5 -6))
(3 4 2 5 6)

(mapcar #'cons '(a b c) '(1 2 3))
((a . 1) (b . 2) (c . 3))


(mapcar #'fkt foo bar)
((a . 1)(b . 2)(c . 3)(d . 4))

(do ((x foo (cdr x))
(y bar (cdr y))
(z '() (cons (fkt (car x) (car y)) z)))
((or (null x) (null y))
(nreverse z)))
((a . 1)(b . 2)(c . 3)(d . 4))

; dolist
(let ((l '(1 2 3))
(r 0))
(dolist (x l r)
(setf r (+ r x)) ))
6


; dolist
(let ((l '(1 2 3)))
(dolist (x l)(if (> 0 x)(incf x)(return 10))))
10

(let ((l '(1 2 3)))
(dolist (x l )(incf x)))
nil

; dotimes
(let ((s 0))
(dotimes (i (+ 1 9)s)(setf s (+ s i))))
45

(dolist (x '(a b c d)) (prin1 x) (princ " "))
nil

(defun palindromep (string &optional
(start 0)
(end (length string)))
(dotimes (k (floor (- end start) 2) t)
(unless (char-equal (char string (+ start k))
(char string (- end k 1)))
(return nil))))
palindromep

(palindromep "Able was I ere I saw Elba")
t

(palindromep "einnegermitgazellezagtimregennie")
t

(palindromep "eisgekuehlter bommerlunder")
nil

(palindromep (remove-if-not #'alpha-char-p
"A man, a plan, a canal -- Panama"))
t

(MAPCAR (FUNCTION (LAMBDA (X) (LIST X)))
(QUOTE (A B C)))
((A) (B) (C))

(MAPCAR (FUNCTION (LAMBDA (X Y) (LIST X Y)))
(QUOTE (A B C)) (QUOTE (1 2 3)))
((A 1) (B 2) (C 3))

(MAPCAR (FUNCTION (LAMBDA (X Y) (LIST X Y)))
(QUOTE (A B C)) (QUOTE (1 2)))
((A 1) (B 2))

(MAPCAR (FUNCTION (LAMBDA (X Y) (LIST X Y)))
(QUOTE (C)) (QUOTE (1 2)))
((C 1))

(MAPCAR (FUNCTION (LAMBDA (X Y Z) (LIST X Y)))
(QUOTE (C)) (QUOTE (1 2)) (U V W))
ERROR

(MAPCAR (FUNCTION (LAMBDA (X Y Z) (LIST X Y)))
(QUOTE (C)) (QUOTE (1 2)) (QUOTE (U V W)))
((C 1))

(MAPCAR (FUNCTION (LAMBDA (X Y Z) (LIST X Y)))
(QUOTE (A B C)) (QUOTE (1 2 3)) (QUOTE (U V W)))
((A 1) (B 2) (C 3))

(MAPCAR (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z)))
(QUOTE (A B C)) (QUOTE (1 2 3)) (QUOTE (U V W)))
((A 1 U) (B 2 V) (C 3 W))

(MAPCAR #'(LAMBDA (X Y Z) (LIST X Y Z)) '(A B C) '(1 2 3) '(U V W . X))
((A 1 U) (B 2 V) (C 3 W))

(MAPCAR #'(LAMBDA (X Y Z) (LIST X Y Z)) '(A B C) '(1 2 3) '(U V . W))
ERROR

(funcall (compile nil (lambda ()
(mapcar #'(LAMBDA (X Y Z) (LIST X Y Z))
'(A B C) '(1 2 3) '(U V . W)))))
ERROR

; mapc
(mapc #'abs '(3 -4 2 -5 -6))
(3 -4 2 -5 -6)

(MAPC (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z)))
(QUOTE (A B C)) (QUOTE (1 2 3)) (QUOTE (U I V)))
(A B C)

(MAPCAR (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z)))
(QUOTE (A B C)) (QUOTE (1 2 3)) (QUOTE (U I V)))
((A 1 U) (B 2 I) (C 3 V))

(mapl #'(lambda (x y) (cons x y)) '(a b c d) '(1 2 3 4))
(a b c d)

(MAPL (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z)))
(QUOTE (A B C)) (QUOTE (1 2 3)) (QUOTE (U I V)))
(A B C)

; maplist

(maplist #'(lambda (x) (cons 'foo x)) '(a b c d))
((foo a b c d)(foo b c d)(foo c d)(foo d))

(maplist #'(lambda (x) (if (member (car x) (cdr x)) 0 1))
'(a b a c d b c))
(0 0 1 0 1 1 1)

(MAPLIST (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z)))
(QUOTE (A B C)) (QUOTE (1 2 3)) (QUOTE (U I V)))
(((A B C) (1 2 3) (U I V)) ((B C) (2 3) (I V)) ((C) (3) (V)))

(MAPLIST (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z)))
(QUOTE (A B C)) (QUOTE (1 2 3)) (QUOTE (U I)))
(((A B C) (1 2 3) (U I)) ((B C) (2 3) (I)))

(MAPLIST (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z)))
(QUOTE (A B C)) (QUOTE (1 2)) (QUOTE (U I V)))
(((A B C) (1 2) (U I V)) ((B C) (2) (I V)))

(MAPLIST (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z)))
(QUOTE (A B)) (QUOTE (1 2 3)) (QUOTE (U I V)))
(((A B) (1 2 3) (U I V)) ((B) (2 3) (I V)))

; mapcon

(mapcon #'(lambda (x)(and (oddp (car x))(list (car x))))'(5 4 3 2 1))
(5 3 1)

(MAPCON (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z)))
(QUOTE (A B)) (QUOTE (1 2 3)) (QUOTE (U I V)))
((A B) (1 2 3) (U I V) (B) (2 3) (I V))

(MAPCON (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z)))
(QUOTE (A B C)) (QUOTE (1 2 3)) (QUOTE (U I V)))
((A B C) (1 2 3) (U I V) (B C) (2 3) (I V) (C) (3) (V))

(mapcon (constantly 1) (list 2))
1

[*]+CLISP
(maplap #'list '(a b) '(1 2 3) '(u i v))
[*]+CLISP
((A B) (1 2 3) (U I V) (B) (2 3) (I V))

[*]+CLISP
(maplap #'list '(a b c) '(1 2 3) '(u i v))
[*]+CLISP
((A B C) (1 2 3) (U I V) (B C) (2 3) (I V) (C) (3) (V))

; mapcan

(mapcan #'(lambda (x) (and (numberp x) (list x))) '(a 1 b c 3 4 d 5))
(1 3 4 5)

(MAPCAN (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z)))
(QUOTE (A B C)) (QUOTE (1 2 3)) (QUOTE (U I V)))
(A 1 U B 2 I C 3 V)

(MAPCAN (FUNCTION (LAMBDA (X Y) (LIST X Y)))
(QUOTE (A B C)) (QUOTE (1 2 3)))
(A 1 B 2 C 3)

(MAPCAN (FUNCTION (LAMBDA (X) (LIST X))) (QUOTE (A B C)))
(A B C)

(MAPCON (FUNCTION (LAMBDA (X) (LIST X))) (QUOTE (A B C)))
((A B C) (B C) (C))

(MAPCON (FUNCTION (LAMBDA (X Y) (LIST X Y)))
(QUOTE (A B C)) (QUOTE (1 2)))
((A B C) (1 2) (B C) (2))

(MAPCON (FUNCTION (LAMBDA (X) (LIST X))) (QUOTE (A B C)))
((A B C) (B C) (C))

(mapcan #'identity '(1))
1

(mapcan #'identity '(1 2 3))
[*]+(or CLISP ALLEGRO CMU SBCL OpenMCL) 3
[*]+(or AKCL ECL GCL LISPWORKS) ERROR
[*]-(or CLISP AKCL ECL GCL ALLEGRO CMU SBCL OpenMCL LISPWORKS) UNKNOWN

[*]+CLISP
(mapcap #'list '(a b) '(1 2 3) '(u i v))
[*]+CLISP
(A 1 U B 2 I)

[*]+CLISP
(mapcap #'list '(a b c) '(1 2 3) '(u i v))
[*]+CLISP
(A 1 U B 2 I C 3 V)


Clean up.
(unintern 'x)
T

ну что, как те полный пример говна, "map.lisp" заебца чейтаецца?
P.S Немедленно убей себя ап стену, умнег!

P.P.S: СУКА!!!!!11111111


Вернуться к началу
  
 
СообщениеДобавлено: 10 окт 2009, 23:03 

Зарегистрирован: 09 авг 2009, 06:14
Сообщения: 25
> это куда туда? в 50метровые исходники CLISP ?
Почитай здесь:
http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/mac_docm_dost.html
http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_mapccm_ma_istcm_mapcon.html
http://www.lisp.ru/page.php?id=8

P.S ты слишком толстый


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 окт 2009, 02:41 
Так вот, не надо быть семи пядей во лбу, чтоб понять суть простую..

говнища унылово, который тут предлагают..

всё что на сей поебени можно создать - так это ебать мозг впустую говном, и шумно сосать, и сосать без разгибу.

hardreset, и тут ниче личново!
сам понимаешь прекрасно, мощь языка, демонстрирует код
- а не пустые слова "GOD-ый йезыг, он всё может.."

сам то смогешь, доказать на реальном примере что лисп не говно?


Вернуться к началу
  
 
СообщениеДобавлено: 11 окт 2009, 03:07 

Зарегистрирован: 09 авг 2009, 06:14
Сообщения: 25
напиши мне письмо на мыло и я те отвечу


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Годная ОСь. Революционные идеи.
СообщениеДобавлено: 12 окт 2009, 14:30 
ржу нимагу
osdev постепенно вливаеться в bash.org


Вернуться к началу
  
 
СообщениеДобавлено: 13 окт 2009, 07:53 

Зарегистрирован: 12 ноя 2008, 12:35
Сообщения: 36
так и будет, до тех пор пока писать будут анонимусы... (
сорри за оффтоп
Раз уж написал, то добавлю и по теме пару слов:
Если удобно человеку писать на лиспе - пожалуйста, никто не запрещает. Только не надо всё остальное унижать, для всего есть свои области применения. Лично я считаю, что работать с железом лучше на асме, мне так удобнее, больше нравится, но это моё имхо.
Лисп же довольно экзотический ЯП, не так много программистов знают даже основы (не говоря уж о написании или разборе сложного рабочего кода) по сравнению с тем же C/C++, который стал, по сути, неким стандартом в области программирования. Отсюда вывод - количество людей, которые смогут присоединиться к работе над проектом напрямую зависит от основного языка разработки.
Писать для себя можно хоть в машинном коде. А мне вот, например, лениво разбираться с тем же лиспом, хотя я знаю, что ничего сложного в нём нет. Просто нужно менять образ мышления...
З.Ы. предпоследнее предложение с тем же успехом можно отнести к ЯП F#. Кто не слышал - бегом изучать матчасть! :)
С уважением ко всем. Я высказался, спасибо за внимание :-D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 окт 2009, 06:23 
anonymous - есть Единый Великий Разум!!!111


Вернуться к началу
  
 
СообщениеДобавлено: 14 окт 2009, 06:35 
anonymous - есть Всезнающий, Единый Разум! Глас всея Вселенной, и оплот ейо!!!111

(в отличии от некоторых шаблонно мыслящих, безмозглых червей, не сделавших ничево, кроме говна!!!1)


Вернуться к началу
  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB