Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.94/195: Рейтинг темы: голосов - 195, средняя оценка - 4.94
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
13.03.2015, 20:35
Студворк — интернет-сервис помощи студентам
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(define (foo #:named-0 (a 0) #:named-1 (b 1))
  `(,a ,b))
 
Добро пожаловать в DrRacket, версия 6.1.1 [3m].
Язык: racket; memory limit: 512 MB.
> (foo)
'(0 1)
> (foo #:named-1 2)
'(0 2)
> (foo #:named-1 2 #:named-0 2)
'(2 2)
> (foo #:named-1 2 #:named-0 3)
'(3 2)
> (foo #:named-0 3 #:named-1 5)
'(3 5)
>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.03.2015, 20:35
Ответы с готовыми решениями:

Common Lisp vs D (2)
Продолжение темы.

C++ vs Common Lisp: кодогенерация, метапрограммирование
Дано описание произвольного математических выражений на XML вида: <calc> <mul> <var>k</var> ...

Книги или другой источник, где описана история версий Lisp и Common Lisp
Доброго времени суток.Такой вопрос,знаете какой-нибудь источник,где описана история версий Lisp и Common Lisp.Только не всякие...

1012
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
13.03.2015, 21:03
castorsky, где этот "ракЕт" можно скомпилировать онлайн?
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
13.03.2015, 21:05
Зачем? Есть repl.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
13.03.2015, 21:19
Цитата Сообщение от helter Посмотреть сообщение
Не нашёл про именованные аргументы. Нету?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import core.stdc.stdarg;
 
void test()
{
    foo(3, 4, 5);   // first variadic argument is 5
}
 
int foo(int x, int y, ...)
{
    va_list ap;
 
    version (X86)
        va_start(args, y);  // y is the last named parameter
    else
    version (Win64)
        va_start(args, y);  // ditto
    else
    version (X86_64)
        va_start(args, __va_argsave);
    else
    static assert(0, "Platform not supported.");
 
    int z;
    va_arg(ap, z);  // z is set to 5
}
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
13.03.2015, 21:27
Dennis Ritchie, не то. При чем отличия от си даже не вижу.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2773 / 491
Регистрация: 28.04.2012
Сообщений: 8,760
13.03.2015, 21:28
Dennis Ritchie, это не имеет никакого отношения к именованным параметрам.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
13.03.2015, 21:28
Чего-то мне всё больше кажется, что мемоизация в вашем примере с CT и RT бесполезна чуть менее, чем полностью.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
13.03.2015, 21:31
Я чего-то не понял, код генерируется для разных архитектур отдельно, а для windows64 отдельно. Одни ифдефы для ителов и один ифдеф для виндовс. В чем прикол?
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
13.03.2015, 21:32
Цитата Сообщение от korvin_ Посмотреть сообщение
это не имеет никакого отношения к именованным параметрам.
korvin_, интересно мне узнать, а что такое int x. Параметр типа int, имеющий имя x. Comprendo?
Цитата Сообщение от castorsky Посмотреть сообщение
В чем прикол?
Lispам этого не понять.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
13.03.2015, 21:33
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Чего-то мне всё больше кажется, что мемоизация в вашем примере с CT и RT бесполезна чуть менее, чем полностью.
Так этим Вы никого не удивили. Нужно чтоли почитать книги, например.

Добавлено через 23 секунды
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Lispам этого не понять.
Скорее денскам этого не объяснить.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2773 / 491
Регистрация: 28.04.2012
Сообщений: 8,760
13.03.2015, 21:34
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
интересно мне узнать, а что такое int x
Обычный параметр.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Comprendo?
http://en.wikipedia.org/wiki/Named_parameter
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
13.03.2015, 21:37
Цитата Сообщение от castorsky Посмотреть сообщение
Так этим Вы никого не удивили.
Ну если вы так хотите:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import std.stdio;
 
enum N = 15;
enum int[] factorials = memoizeFactorials(N);
 
int[] memoizeFactorials(int n)
{
    if (!__ctfe) {
        // Make sure that this function is never called at run time
        assert(false);
    }
    
    int[] result = new int[n];
    
    result[0] = 1;
    
    foreach (i; 1 .. n) {
        result[i] = result[i - 1] * i;
    }
    
    return result;
}
 
int fact(int n)
{
    return factorials[n];
}
 
void main()
{
    foreach (i; 0 .. N) {
        writeln(fact(i));
    }
}
P.S. Только люди понять никак до сих пор не могут, зачем это нужно?
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
13.03.2015, 21:46
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Только люди понять никак до сих пор не могут, зачем это нужно?
Потому что это вообще не то что написано было на лиспе. Тут вычисляется 15 факториалов вне зависимости от того будет ли вызван fact или нет.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
13.03.2015, 21:53
Цитата Сообщение от castorsky Посмотреть сообщение
Тут вычисляется 15 факториалов вне зависимости от того будет ли вызван fact или нет.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import std.stdio;
 
enum N = 15;
enum int[] factorials = memoizeFactorials(N);
 
int[] memoizeFactorials(int n)
{
    if (!__ctfe) {
        // Make sure that this function is never called at run time
        assert(false);
    }
    
    int[] result = new int[n];
    
    result[0] = 1;
    
    foreach (i; 1 .. n) {
        result[i] = result[i - 1] * i;
    }
 
    return result;
}
 
int fact(int n)
{
    return factorials[n];
}
 
void main()
{
    writeln("Enter a key: ");
    string key;
    readf(" %s\n", &key);
    if (key == "Yes")
        foreach (i; 0 .. N)
            writeln(fact(i));
    else
        writeln("No");
}
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
13.03.2015, 21:56
Dennis Ritchie, что тут изменилось? Аж ничего.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
13.03.2015, 22:05
castorsky, делайте выбор. Я надеюсь, что вы сознательный человек, который в состоянии сделать выбор?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import std.stdio, std.functional;
 
enum N = 15;
static int[] factorials = memoizeFactorials(N);
 
int[] memoizeFactorials(int n)
{
    if (!__ctfe) {
        // Make sure that this function is never called at run time
        assert(false);
    }
    
    int[] result = new int[n];
    
    result[0] = 1;
    
    foreach (i; 1 .. n) {
        result[i] = result[i - 1] * i;
    }
 
    return result;
}
 
int fact(int n)
{
    return factorials[n];
}
 
ulong factm(ulong n)
{
    alias mfact = memoize!factm;
    return n < 2 ? 1 : n * mfact(n - 1);
}
 
void main()
{
    string key;
 
    writeln("Please enter how you want to count the fucking memoized factorial: auto or static?");
 
    readf(" %s\n", &key);
 
    if (key == "auto")
        foreach (i; 0 .. N) {
            assert(factorials.ptr + i == &(factorials[i]));
        }
    else
        assert(factm(10) == 3628800);
}
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
13.03.2015, 22:07
Дениска не понимает что чтобы в main не было написано, это ничего не меняет. Вот
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
C++
1
2
enum N = 15;
 static int[] factorials = memoizeFactorials(N);
Вычисление 15 факториалов.

Добавлено через 26 секунд
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
делайте выбор
Простите, выбор между чем я должен сделать?
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
13.03.2015, 22:12
Цукорушка никак не может понять, чего он хочет.
Цитата Сообщение от castorsky Посмотреть сообщение
Простите, выбор между чем я должен сделать?
В программе написано.
Цитата Сообщение от castorsky Посмотреть сообщение
Вычисление 15 факториалов.
Они не будут вычисляться, если вы не вдолбите в консоль слово "auto".
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
13.03.2015, 22:15
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Они не будут вычисляться, если вы вдолбите в консоль слово "auto".
Даже если это и так, а я уверен что это не так, то этот код делает вообще не то, что написано на common lisp.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
13.03.2015, 22:16
Цитата Сообщение от castorsky Посмотреть сообщение
что написано на common lisp.
А что на нём можно написать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.03.2015, 22:16
Помогаю со студенческими работами здесь

Common lisp
кто поможет решить эти задачи? Перечитайте правила форума. Один вопрос - одна тема. Заголовок темы должен быть осмысленным и...

Common lisp
Есть фрагмент программы: (defun game(x y) (cond (( &lt; x y)(print &quot;menshe&quot;)(setq y (read))) (( &gt; x y)(print &quot;bolshe&quot;)(setq y...

Common Lisp
Подскажите пожалуйста, а может Common Lisp формировать списки из функций, и (если вдруг может) как?

ООП Common Lisp
Помогите пожалуйста! Реализовать класс: Программа (название, тип, сфера применения, язык программирования, ...) Класс должен иметь...

Вопрос по common lisp
Подскажите пожалуйста как выполнить лисп-программу из txt или какого другого файла?


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

Или воспользуйтесь поиском по форуму:
80
Закрытая тема Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru