--
You received this message because you are subscribed to the Google Groups "Polyglot Quine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to polyglot-quin...@googlegroups.com.
To post to this group, send email to polyglo...@googlegroups.com.
Visit this group at http://groups.google.com/group/polyglot-quine.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Polyglot Quine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to polyglot-quin...@googlegroups.com.
To post to this group, send email to polyglo...@googlegroups.com.
Visit this group at http://groups.google.com/group/polyglot-quine.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Polyglot Quine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to polyglot-quin...@googlegroups.com.
To post to this group, send email to polyglo...@googlegroups.com.
Visit this group at http://groups.google.com/group/polyglot-quine.
For more options, visit https://groups.google.com/groups/opt_out.
Благодаря на Краси и Слави за поясненията.
За мен в тази работа остава тайна връзката между типове и „другото“,
което в главата ми се асоциира най-общо с топология. Едното е като
че от дискретния свят, другото – тъкмо наопаки.
Абе хора, я дайте списък от две-три книги, които човек трябва да прочете, за да разбере за какво си говорите :)
Слави, изглежда любопитно, но няма да се отървеш лесно, понеже ми се
струва, че липсва точно важната част :)
Решаването на рекурентно уравнение за пораждаща функция е стандартна
работа. Въпросът е как стигаме до самото уравнение – в твоя пример
това за G(z). По-точно, как от
стигаме до (1)?
data G a = Node a [G a]
Тук трябва да се уточнят няколко неща.
Какво е SEQ(z) и откъде се взима? Изглежда, това е пораждаща функция,
съответна на типа (в случая „подтип“) списък, така ли? А защо тя е
именно 1+z+z²+z³+…? Ако типът беше
data G a = Node a (Set a)
коя щеше да е пораждащата функция (за множесто, Set), същата като
за списък или друга, и защо? Защо в (1) SEQ(z) се умножава със z –
защото типът е декартово произведение на a и [G a] ли?
Изобщо, (а) как в общия случай се определя съответствието между тип и
пораждаща функция, и (б) за какво в крайна сметка служи съответната на
типа п.ф.?
Последното е съществено, защото, ако е за да се броят структурно
различните дървета и др.под. структури, то този въпрос е отдавна
изследван и обилно е писано (вкл. не една монография) точно по него
– това е т.нар. преброителна комбинаторика. Тогава има ли някаква
полза това броене да се свързва с типове, т.е. обслужва ли се по
някакъв начин именно програмирането. Не мога да съобразя.
--
You received this message because you are subscribed to the Google Groups "Polyglot Quine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to polyglot-quin...@googlegroups.com.
To post to this group, send email to polyglo...@googlegroups.com.
Visit this group at http://groups.google.com/group/polyglot-quine.
For more options, visit https://groups.google.com/groups/opt_out.
> SEQ е тип списък. Хаскел има синтаксис за списъци и не е очевидно за PreludeВиж сега, как се прави списък на Хаскел е ясно, справяме се и
> дефинициата
>
> data [a] = a : [a]
>
> Но ако дефинираме еквивалентно така:
>
> data SEQ a = Nil | Cons a (SEQ a)
>
> се превежда до:
>
> SEQ(z) = 1 + z SEQ(z)
> => SEQ(Z) = 1 / (1 - z) = 1 + z + z^2 + z^3 + ...
без пояснения :)
Вече писах какво НЕ е ясно, но явно трябва да повторя.
Не е ясно как от определение на тип да стигнеш до пораждаща
функция. И то в общия случай – т.е. според каква система от
правила от определение на тип получаваш пораждаща функция.
Зададох и други въпроси, но да ги пропуснем ...
А SEQ или е тип, или е пораждаща функция. Няма как да е и двете.
Изобщо ти някак уеднаквяваш типове и пораждащи функции и не
разбирам защо държиш да е така.
> разписани в ред на Тейлър. Още ли не си убеден, Бойко?Ако питаш дали съм убеден, че пораждаща ф-я и тип (в смисъл на data
в Хаскел) са едно и също нещо – убеден съм, че не са.
П. ф-и са числови функции, а типовете в Хаскел не са числови функции
и не са изобщо функции.
> разписани в ред на Тейлър. Още ли не си убеден, Бойко?Ако питаш дали съм убеден, че пораждаща ф-я и тип (в смисъл на data
в Хаскел) са едно и също нещо – убеден съм, че не са.
П. ф-и са числови функции, а типовете в Хаскел не са числови функции
и не са изобщо функции.
--
You received this message because you are subscribed to the Google Groups "Polyglot Quine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to polyglot-quin...@googlegroups.com.
To post to this group, send email to polyglo...@googlegroups.com.
Visit this group at http://groups.google.com/group/polyglot-quine.
For more options, visit https://groups.google.com/groups/opt_out.
> Ето как Седжуик и Флажоле описват аналитичната комбинаторика в> ...................
> тяхната книга: "ANALYTIC COMBINATORICS aims at predicting precisely
> the properties of large structured combinatorial configurations"
> Алгебричните типове в Хаскел са език за дефиниране на определен клас
> комбинаторни структури (като списъци, дървета, графи, и т.н.).
В предишния пост ясно казах с какво не съм съгласен.
По-специално, т.нар. „алгебрични“ (предпочитам „конструктивни“) типове
в Хаскел или др. под. език не задават комбинаторни структури, а именно
(даннови) типове. Комбинаторните структури и типовете са съвсем
различни понятия и обслужват различни цели. Така че не е уместно да
се твърди, че книгата развива „анализ на типовете“, нито че типовете
дефинират комбинаторни структури. (Нека не ни обърква това, че и в
единия, и в другия случай обекти на разглеждане може да са напр.
дървета.)
Например при типовете и помен няма от *размер*, за какъвто се
споменава в цитираното по-горе изречение от учебника. При типовете
изобщо няма нищо свързано с броене, а то е нещото, заради което
съществуват пораждащите функции. Следователно е безсмислено едното
и другото да се разглеждат на едно място.
--
You received this message because you are subscribed to the Google Groups "Polyglot Quine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to polyglot-quin...@googlegroups.com.
To post to this group, send email to polyglo...@googlegroups.com.
Visit this group at http://groups.google.com/group/polyglot-quine.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Polyglot Quine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to polyglot-quin...@googlegroups.com.
To post to this group, send email to polyglo...@googlegroups.com.
Visit this group at http://groups.google.com/group/polyglot-quine.
For more options, visit https://groups.google.com/groups/opt_out.
Дискутират свободно != всички да са съгласни
> Въпреки, че ми се иска да не беше така; сега разбирам, че тук явно не е мястото където могат да се дискутират нови идеи свободно.
--
--
Бива. Зарибен съм :).На 24 има конференция в Бургас. Преди това - когато кажете
> Обещах преди доста време да напиша блог пост за спора, който водехме, но ощеТова дето си го написал не се отнася до предмета на тогавашния спор
> не съм стигнал до там. Междувременно обаче написах два кратки статии
> използвайки транслацията между Хаскел и уравнения на github: iterating.pdf и
> balanced.pdf.
и по-добре не търси такава връзка, щото иначе трябва пак обясняване
кое, какво … не си струва.
Няколко бележки по същество, след като прочетох първото изречение
(определението) в началото на balanced.pdf. Привеждам го:
General balanced trees are trees with all internal nodes having
at least one child and all leafs being equidistant from the root.
(1)
Нарекъл си въвежданото понятие „общо равновесно дърво“. Кое се има
предвид да е „общо“ (думата е подчертана и в заглавието)? Ако е това,
че не е двоично, то думата „общо“ е излишна: казва се само „дърво“.
(2)
Според определението от вътрешните възли се иска да имат поне един
наследник. А имаш ли пример за вътрешен възел, който няма наследници?
(3)
Определението споменава „коренът“ (the root). Според мен, тогава
трябва предварително да уточниш, че става дума за не какво да е дърво,
а посадено (поставено, rooted). В математиката, за разлика от
ботаниката, не всяко дърво има корен.
(4)
Терминът „равновесен“ не е много подходящ за понятието, което описваш,
или поне е добре да му се добави някаква уточняваща смисъла дума. Под
„равновесно“ може да се разбира дърво, в което наследниците на всеки
възел имат приблизително равно помежду си тегло, т.е. брой възли.
Такова тълкуване е даже по-естествено, тъй като думата произлиза
именно от „вес“, т.е. тегло. Дърво, равновесно по твоето определение
може да има много гъст храст в едно разклонение и хилав ластар със
само няколко верижно подредени възела в друго, съседно разклонение.
Такова дърво е странно да се разглежда като равновесно.
--
You received this message because you are subscribed to the Google Groups "Polyglot Quine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to polyglot-quin...@googlegroups.com.
To post to this group, send email to polyglo...@googlegroups.com.
Visit this group at http://groups.google.com/group/polyglot-quine.
For more options, visit https://groups.google.com/groups/opt_out.
> Съгласен съм. "Общо" трябваше да значи, че вътрешните възли могат даКакто казах – да отпадне думата „общо“. Не е нужно да се добавя нещо
> имат произволен брой деца. По аналогия с терминологията на Седжуик
> (binary trees for data F a = Leaf а | Node a (F a) (F a), general trees data
> G a = Node a [G a])).
> Ще го променя като измисля нещо по-добро на английски. Какво би предложил?
на нейно място.
Другият файл никъде не говори за дърво, дори думата не споменава,
>> Според определението от вътрешните възли се иска да имат поне един
>> наследник. А имаш ли пример за вътрешен възел, който няма наследници?
> Да. Другия файл iterating.pdf е точно разработка на този случай, т.е.
> data F a = F0 a | F1 (F [a])
така че няма да го обсъждаме. За мен, а струва ми се не само за мен,
е неразбираемо какво значи вътрешен възел да няма наследници. Както
го разбирам аз, възел на дърво или няма наследници и се нарича лист,
или има наследници и точно затова се нарича вътрешен. Ако имаш
предвид някакви други понятия, то те не са обичайните и е абсолютно
необходимо да ги обясниш – иначе няма да бъдеш разбран.
Вярно е, че в един или друг контекст под „дърво“ може да се
> Седжуик нарича дървета без корен free trees мисля. Доколкото аз знам
> жаргона, по-подразбиране "дърво" значи дърво с корен, ако искаш да кажеш
> дърво без корен допълваш "свободно дърво".
подразбира дърво с корен, но какво се подразбира наистина зависи
от контекста. С оглед на това за дадения случай ми изглежда
добре да се подразбира минималното, което е и обичайното в
теория на графите: свързан граф без цикли. Че е посадено лесно
се уточнява с една дума в определението: „… is a rooted tree with …“.
Аз бих нарекъл дърво като твоето подравнено. На английски би могло
> Отворен съм към идеи. Даже github pull request няма да откажа.
да е even или height-balanced. Последното дори вече се използва за
същото, но even ми се струва по-сполучливо.
--
You received this message because you are subscribed to the Google Groups "Polyglot Quine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to polyglot-quin...@googlegroups.com.
To post to this group, send email to polyglo...@googlegroups.com.
Visit this group at http://groups.google.com/group/polyglot-quine.
For more options, visit https://groups.google.com/groups/opt_out.
Защото ми е писнало от авторитарен тон от човек, който дори няма умението да прочете какво точно съм написалслед първото изречение. Но въпреки това се представя за експерт и има изградено мнение. Когато става дума заматематика, нещата са черни или бели. Няма място за философия, всички философи ги изби Wittgenstein през 50те.
С други думи, всеки от елементите от първия списък прави същата грешка, в която те обвинява.
Как те накара това да се почувстваш? Звучи ли ти като разумен аргумент? Ти как би реагирал, ако някой ти говори така?
Дотук с риориката се опитвах да ти илюстрирам и обясня как понякога твоите писания ми изглеждат на мен. Единственото, което липсва, е линк към видео, с което да обидя събеседника. Няма да включа такова дори за илюстрацията, защото не удрям толкова ниско.
</rhetoric>
Горното целеше само илюстрация. Съжалявам, ако тона е бил нападателен/обиден, просто се опитвах да илюстрирам по забавен начин как понякога ми звучат думите ти. По никакъкв начин не искам да влизам в словестна война. Просто искам да ти обърна внимание, че (1) всеки от нас си говори с някакъв тон, (2) ние си избираме дали да се засягаме и (3) когато отговорим както аз ти отговорих в <rhetoric> етикета, едва ли постигаме нещо различно от това да изглеждаме като малки деца в добрия случай и като неадекватни хора в лошия.