Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Luke0208
33 / 58 / 6
Регистрация: 22.01.2017
Сообщений: 640
1
Scheme

The object 2 is not applicable

29.07.2017, 19:52. Просмотров 497. Ответов 16

Lisp
1
2
(define (max x y)
    (if (x > y) x y))
При попытке применить кидает - The object 2 is not applicable. Почему объект 2 не применим?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2017, 19:52
Ответы с готовыми решениями:

Ошибка: [Error] Project1.dpr(11): Constant object cannot be passed as var parameter Operator not applicable to this operand type
Помогите пожалуйста, в чем ошибка? помогите решить unit Unit1; interface uses Windows,...

Uncaught TypeError: Object [object Object] has no method
Всем привет. Я новичок в этой сфере. у меня возникла ошибка в консоли при добавлении карусели на...

Скрипт не работает - NullReferenceException: Object reference not set to an instance of an object MissionSay.S
Нужный элемент со скриптом MissionPlayer.cs есть Версия Unity: 5.4.1 Код: using...

Получение имени объекта. Функция public String getName(Object object) {...}
К примеру есть объекты: Object myObject111 = new Object(); File parentDirectory = new File(); ...

16
_sg
4266 / 4000 / 314
Регистрация: 12.05.2012
Сообщений: 2,824
29.07.2017, 21:05 2
Lisp
1
maxx
Lisp
1
(> x y)
2
Luke0208
33 / 58 / 6
Регистрация: 22.01.2017
Сообщений: 640
29.07.2017, 22:02  [ТС] 3
Надо же, забыл о префиксной нотации... а первое замечание о чем? И как тогда интерпретатор трактует мой ужас, при попытке это вычислить? Применение x к оператору и y? Спасибо.
0
_sg
4266 / 4000 / 314
Регистрация: 12.05.2012
Сообщений: 2,824
29.07.2017, 22:15 4
procedure: (max real1 real2 ...)
returns: the maximum of real1 real2 ...

Lisp
1
2
3
4
5
6
7
(max 4 -7 2 0 -6)  4
(max 1/2 3/4 4/5 5/6 6/7)  6/7
(max 1.5 1.3 -0.3 0.4 2.0 1.8)  2.0
(max 5 2.0)  5.0
(max -5 -2.0)  -2.0
(let ((ls '(7 3 5 2 9 8)))
  (apply max ls))  9
procedure: (min real1 real2 ...)
returns: the minimum of real1 real2 ...

Lisp
1
2
3
4
5
6
7
(min 4 -7 2 0 -6)  -7
(min 1/2 3/4 4/5 5/6 6/7)  1/2
(min 1.5 1.3 -0.3 0.4 2.0 1.8)  -0.3
(min 5 2.0)  2.0
(min -5 -2.0)  -5.0
(let ((ls '(7 3 5 2 9 8)))
  (apply min ls))  2
http://www.scheme.com/tspl2d/objects.html#g2106
0
Luke0208
33 / 58 / 6
Регистрация: 22.01.2017
Сообщений: 640
29.07.2017, 22:21  [ТС] 5
То есть я ее переопределяю? А как они реализуют неопределенное кол-во аргументов? Хотя может я дальше в книге узнаю.
0
helter
3880 / 2903 / 314
Регистрация: 12.03.2013
Сообщений: 5,249
29.07.2017, 22:37 6
Цитата Сообщение от Luke0208 Посмотреть сообщение
Применение x к оператору и y?
Конечно. Ведь значением x может быть что угодно, и функция тоже. Однако, если это число 2, то пытается применить это число, и не выходит.

Переопределять в схеме можно.

Цитата Сообщение от Luke0208 Посмотреть сообщение
А как они реализуют неопределенное кол-во аргументов?
Несобственный список аргументов:
Lisp
1
(lambda (x y . rest) ...)
2
Luke0208
33 / 58 / 6
Регистрация: 22.01.2017
Сообщений: 640
30.07.2017, 14:55  [ТС] 7
А действительно ли Лисп медленный? То есть, почему он медленный? Из-за динамической типизации? Приходится добавлять код компилятору, что бы в ран-тайме определять тип? Это так медленно? То есть если написать хороший, оптимизирующий компилятор, мог ли он добиться, скорости, скажем Паскаля?(Учитывая как мало проверок в С, его догонять бессмысленно). Лисп-машины же программировали на Лиспе, и его скорости хватало. Вот SML(правда он статически типизирован, с выводом типов) после улучшения компиляторов, стал догонять или даже перегонять С.
0
helter
3880 / 2903 / 314
Регистрация: 12.03.2013
Сообщений: 5,249
30.07.2017, 15:38 8
Цитата Сообщение от Luke0208 Посмотреть сообщение
А действительно ли Лисп медленный?
Откуда инфа?

Существуют десятки-сотни-тысячи интерпретаторов и компиляторов схемы. Скорости разные. Например, чикен компилирует в си, получается довольно быстро. Вот что они пишут по поводу производительности:
https://wiki.call-cc.org/programming-for-performance
Короче, в интересах производительности лучше не переопределять стандартные процедуры и не пользоваться континуациями.
1
Luke0208
33 / 58 / 6
Регистрация: 22.01.2017
Сообщений: 640
30.07.2017, 21:40  [ТС] 9
Например, я стану совсем упорот, найду какой нибудь слабенький процессор под который будет только асм. На нем я начну писать компилятор Лиспа или другого языка. Будет ли он настолько медленным, чтобы отказаться от этой идеи. (Это просто фантазия.)
0
helter
3880 / 2903 / 314
Регистрация: 12.03.2013
Сообщений: 5,249
30.07.2017, 22:24 10
Без понятия. Наверно, будет зависить от того, насколько хитро компилятор будет компилировать.
0
budden
198 / 99 / 4
Регистрация: 16.08.2015
Сообщений: 193
31.07.2017, 17:43 11
Бросай схему, используй Common Lisp. Схема - это всего лишь один из языков, ничем особо не примечательный. Только Common Lisp гениален. Со скоростью у лиспа всё средне: хуже Си, но намного лучше Питона.
0
Luke0208
33 / 58 / 6
Регистрация: 22.01.2017
Сообщений: 640
31.07.2017, 18:27  [ТС] 12
Я так и собирался. Просто SICP читаю, по этому его использую. А так, конечно, CL. Кстати, слышал мнение что CL не развивается, новых стандартов не выходит, я не разбираюсь в нем пока, но мне эта ситуация кажется такой - новые стандарты попросту не нужны, т.к и старый все умеет.
0
budden
198 / 99 / 4
Регистрация: 16.08.2015
Сообщений: 193
31.07.2017, 18:50 13
Старый умеет многое, но не всё.
0
helter
3880 / 2903 / 314
Регистрация: 12.03.2013
Сообщений: 5,249
31.07.2017, 18:58 14
У перла или питона стандартов вообще нет, живут как-то.
0
budden
198 / 99 / 4
Регистрация: 16.08.2015
Сообщений: 193
31.07.2017, 19:17 15
Можешь (попробовать) читать SICP с Common Lisp - ом:
https://stackoverflow.com/questions/...he-only-option

Добавлено через 10 секунд
Можешь (попробовать) читать SICP с Common Lisp - ом:
https://stackoverflow.com/questions/...he-only-option
0
vlisp
602 / 642 / 122
Регистрация: 10.08.2015
Сообщений: 2,786
Завершенные тесты: 1
31.07.2017, 21:35 16
Вопрос на засыпку: сколько уровней вложенности имеет CLHS?
0
transformator.t
defun
598 / 612 / 44
Регистрация: 30.04.2011
Сообщений: 701
31.07.2017, 21:48 17
при правильном использовании уровень вложенности не имеет значения
http://ibb.co/c2FgvQ

Добавлено через 3 минуты
+format
http://ibb.co/mknTaQ
+reader-macro тоже есть
1
31.07.2017, 21:48
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.07.2017, 21:48

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

Нулевые значения баз данных. Object reference not set to an instance of an object
В базе данных существуют пустые поля. Из базы осуществляется вывод на веб страницу в поля ввода....

NullReferenceException: Object reference not set to an instance of an object в FindObjectType как исправить?
Ошибка NullReferenceException: Object reference not set to an instance of an object в...

Ошибка: System.NullReferenceException: 'Object reference not set to an instance of an object'
interface Monitor { double Diagonal { get; set; } int Resolution { get; set;...

Unity 2D | Ошибка NullReferenceException: Object reference not set to an instance of an object
При нажатии кнопки стрелять (игра на Android) выдает ошибку: NullReferenceException: Object...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.