LINUX.ORG.RU
Ответ на: комментарий от AntonI

Внесите Лавсана!

Да да, дядинька @lovesan утверждал что у лиспа с его-то библиотекой есть доступ к либам c#. А это чай не нищий язык.

Ygor ★★★★★
()
Последнее исправление: Ygor (всего исправлений: 1)
Ответ на: комментарий от soomrack

На лиспе есть рекурсия, если есть рекурсия то можно суммировать ряды, а если можно суммировать ряды то можно и спецфункции считать! Непонятно вообще зачем библиотеки такому продвинутому языку:-)))

AntonI ★★★★★
()

f2cl + соответствующие куски из классической фортрановской библиотеки, например, SLATEC.

Или, как тут уже заметили, читай Numerical Recipes и делай сам.

anonymous
()

Надо символьно, шобы с производной, или чисельно? Если чисельно - шо незя из сишной стандартной библиотеки (jn, y0, y1, yn) функцию вызвать? Если символьно можно в богомерзком ++-ном шаблонном метапрограммировании из библиотеки ceres-solver подсмотреть в файлике jet.h

nikitos ★★★
()
Последнее исправление: nikitos (всего исправлений: 1)
Ответ на: комментарий от soomrack

Не совсем так. Сделал лабораторный стенд, подготовил чертежи на патент и в ожидании готовности стола и места под лабораторию на заводе. Решил подготовить материал, если вдруг придётся аппликашку написать под лабораторию. В таблицах Calc прототип этой аппликашки работает на ура, а вот насколько близко с реалиями жду запуска лаборатории.

saufesma
() автор топика
Ответ на: комментарий от Evgueni

Непонятно есть код на Common Lisp в перемешку с кодом на другом языке. Язык похож на Lisp.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Implementation of the Bessel K function
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(defmfun $bessel_k (v z)
  (simplify (list '(%bessel_k) v z)))

;; Bessel K distributes over lists, matrices, and equations

(defprop %bessel_k (mlist $matrix mequal) distribute_over)

(defprop %bessel_k
    ((n x)
     ;; Derivativer wrt order n.  A&S 9.6.43.
     ;;
     ;; %pi/2*csc(n*%pi)*['diff(bessel_i(-n,x),n)-'diff(bessel_i(n,x),n)]
     ;;    - %pi*cot(n*%pi)*bessel_k(n,x)
     ((mplus)
      ((mtimes) -1 $%pi
       ((%bessel_k) n x)
       ((%cot) ((mtimes) $%pi n)))
      ((mtimes)
       ((rat) 1 2)
       $%pi
       ((%csc) ((mtimes) $%pi n))
       ((mplus)
        ((%derivative) ((%bessel_i) ((mtimes) -1 n) x) n 1)
        ((mtimes) -1
         ((%derivative) ((%bessel_i) n x) n 1)))))
     ;; Derivative wrt to x.  A&S 9.6.29.
     ((mtimes)
      -1
      ((mplus) ((%bessel_k) ((mplus) -1 n) x)
               ((%bessel_k) ((mplus) 1 n) x))
      ((rat) 1 2)))
  grad)
saufesma
() автор топика
Ответ на: комментарий от nikitos

Надо чисельно.

Если чисельно - шо незя из сишной стандартной библиотеки (jn, y0, y1, yn) функцию вызвать?

Запросто, если знаешь как это делать, я вот не в зуб ногой! Но интересно узнать как это делается.

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

сорри за оффтоп.

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

ergo ★★★
()
Ответ на: комментарий от no-such-file

бери maxim

не удаётся воспользоваться так как

Error: Reader cannot find package BIGFLOAT.

.../Documents/maxima-5.47.0$ grep -R «defpackage :bigfloat»

нету.

Не мой день видать.

saufesma
() автор топика
Последнее исправление: saufesma (всего исправлений: 2)
Ответ на: комментарий от buddhist

Дело привычки.

да, и привыкать лучше к хорошему, чем к плохому. живём однова.

Для контроля скобок во всех адекватных редакторах есть расширения

угу, уже в 75м были сам видел. Прям в железо встроен. Контроль.

ЗЫ мне тут по секрету сказали, шо норм посоны для «контроля скобок» в этой каше давно юзают AI. Его в MIT собсно для этого и создали. Только тсссс.

anonymous
()
Ответ на: комментарий от ergo

lisp был полноценным ЯП в те времена, когда большинство современных ЯП не было и в проекте. Если я правильно понимаю, то при некоторых усилиях lisp может прикинуться любым языком программирования. Ну и не следует забывать про lisp-машины.

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

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от ergo

одуреешь парность контролировать

Это как раз не сложно, сложнее визуально выделять какие-то логические блоки, т.к. скобки все одинаковые. В современных лиспах это пытаются преодолеть используя разные скобки. Но а так вообще, форматирование в помощь.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от ergo

одуреешь парность контролировать.

Возможно дело привычки, возможно у меня мозг нитакой, но мне парность в хорошем редакторе проще контролировать если все скобки одинаковые и запятых нет. А вот (например) Эрланговый ([{{,,,},{,},(,,),{,},[,,]},{,,,}],[],) - это действительно клиника.

Gentooshnik ★★★★★
()
Последнее исправление: Gentooshnik (всего исправлений: 1)
Ответ на: комментарий от no-such-file

Да, тут такое дело

me@me:~$ gpg --verify quicklisp.lisp.asc quicklisp.lisp
gpg: Signature made Thu 29 Jan 2015 04:13:26 AM +07
gpg:                using RSA key 307965AB028B5FF7
gpg: Can't check signature: No public key

me@me:~$ gpg --receive-keys 307965AB028B5FF7
gpg: /home/igor/.gnupg/trustdb.gpg: trustdb created
gpg: key 307965AB028B5FF7: public key "Quicklisp Release Signing Key <release@quicklisp.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1

me@me:~$ gpg --verify quicklisp.lisp.asc quicklisp.lisp
gpg: Signature made Thu 29 Jan 2015 04:13:26 AM +07
gpg:                using RSA key 307965AB028B5FF7
gpg: Good signature from "Quicklisp Release Signing Key <release@quicklisp.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: D7A3 489D DEFE 32B7 D0E7  CC61 3079 65AB 028B 5FF7

which has a fingerprint of D7A3 489D DEFE 32B7 D0E7 CC61 3079 65AB 028B 5FF7 сходится

Ответ от писателя quicklisp

Nothing is wrong - you don't have anyone in your network that has signed the key.

Zach

saufesma
() автор топика
Последнее исправление: saufesma (всего исправлений: 2)
Ответ на: комментарий от saufesma

Хз, у меня quicklisp 100 лет назад настроен, сделал (ql:quickload "gsll") всё поставилось. В системе должна быть установлена libgsl, оно её использует.

А зачем ключ проверять, без этого не ставится что ли?

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от no-such-file

А уменя вот так, хотя quicklisp установился норм

(ql:quickload "gsll")
To load "gsll":
  Load 2 ASDF systems:
    asdf uiop
  Install 15 Quicklisp releases:
    alexandria antik babel cffi cl-ppcre gsll iterate
    lisp-unit metabang-bind mgl-pax named-readtables
    split-sequence static-vectors trivial-features
    trivial-garbage
; Fetching #<QL-HTTP:URL "http://beta.quicklisp.org/archive/trivial-garbage/2023-10-21/trivial-garbage-20231021-git.tgz">
; 10.75KB
==================================================
11,005 bytes in 0.00 seconds (10747.07KB/sec)

Error: Error detected during deflate decompression: Corrupted Data detected during decompression: Incorrect huffman code (1D64) in huffman decode!
  1 (abort) Give up on "gsll"
  2 Register local projects and try again.
  3 Return to top loop level 0.

saufesma
() автор топика
Последнее исправление: saufesma (всего исправлений: 1)
Ответ на: комментарий от Gentooshnik

Пример некорректный. Это не код. Вы привели в пример какую-то дичь, к тому же и не валидную. Я бы сказал что это данные, но данные в () не бывают. Я бы предположил что это паттерн матчинг для анонимной функции, но оно не валидно. Оно больше похоже внешне на список и таплов разных сортов с разной вложенностью , но оно невалидно. И если было валидным - это данные , а не код.

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

Круглые скобки в Erlang - вызов функции, очевидно же, или группировка выражений. Для ясности, приведите, пожалуйста, используемые Вами определения данных и кода.

Например, Result = func({a, b, [1, 2, 3, 4], c, other_func(d, {e, f}), g}, e) - это данные или код? Не говорю что так пишут в реальном мире, интересно именно чем это считать - данными или кодом.

Если все буквальные (literal) значения считать данными, тогда зачем в этом вопросе (одуревания от синтаксиса) вообще делать различие если буквально в любом коде есть данные? В Erlang (и в Common Lisp) и имя функции при вызове - данные типа atom (symbol).

Gentooshnik ★★★★★
()
Последнее исправление: Gentooshnik (всего исправлений: 3)
Ответ на: комментарий от Gentooshnik

Для ясности, приведите, пожалуйста, используемые Вами определения данных и кода.

А буквальный смысл этих слов для вас непонятен? )))

Код это то что определяет логику обработки данных. Засуньте ваши данные в переменные и получите ерланговский код где будут только () у функций при вызове или их декларации.

На мой взгляд неудачная попытка притянуть эрланговский синтаксис к лапше из () у лиспа. Прям совсем неудачная.

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

А буквальный смысл этих слов для вас непонятен? )))

Для меня понятен. Я боюсь что для нас с вами он может быть понятен по-разному. )))

Засуньте ваши данные в переменные и получите ерланговский код где будут только () у функций при вызове или их декларации.

Ага, т.е. в

Module = io,
Func = format,
FormatStr = "Hello World!",
Module:Func(FormatStr).

в первых трёх строках после равно данные, а в последней - код. А в

io:format("Hello World!").

где код, а где данные? Разработчики Erlang считают атомы данными: https://www.erlang.org/doc/system/data_types#atom

На мой взгляд неудачная попытка притянуть эрланговский синтаксис к лапше из () у лиспа. Прям совсем неудачная.

Так я о том и говорю, только c другим взглядом. На мой взгляд, лапша - это когда много разных типов скобочек, и запятые ломают восприятие вложенности. Зачем было затевать спор о субъективном восприятии?

Gentooshnik ★★★★★
()
Последнее исправление: Gentooshnik (всего исправлений: 2)
Ответ на: комментарий от Gentooshnik

Признаюсь честно, я не понимаю что вы хотите сказать. К чему атомы эрланговские притянули и почему они не данные. Чем дальше, тем яснее не становится. Только больше вопросов появляется.

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

ergo ★★★
()
Ответ на: комментарий от no-such-file

Ну да в LispWorks отпробовался. Тарбол после загрузки распаковывается распаковщиком, а LispWorks не может. Zach Beane предположил, что в LispWorks есть bug.

saufesma
() автор топика
Последнее исправление: saufesma (всего исправлений: 1)
Ответ на: комментарий от Puzan

Кстати, в других языках такой такого обморочного синтаксиса нет

Это ж классика. Сначала сделать очень-очень плохо, а потом чуть исправить. И назвать это классной фичей!

anonymous
()
Ответ на: комментарий от no-such-file

Я пропатчил. Теперь распаковщик работает, только теперь пару нехороших ошибок вылезло.

Creating foreign funcallable for signature (:POINTER :POINTER :POINTER) -> :INT
.
 
**++++ Error between functions:
  Subcharacter #\+ not defined for dispatch char #\#.
.
 
**++++ Error between functions:
  Subcharacter #\+ not defined for dispatch char #\#.
..
; *** 2 errors detected, no fasl file produced.
 
Error: COMPILE-FILE-ERROR while compiling #<ASDF/LISP-ACTION:CL-SOURCE-FILE "gsll" "polynomial">

Попробую установить в ссl

saufesma
() автор топика