IRC channel logs


back to list of logs

<lamefun>What's this nonsense: ?
<lamefun>Is the log bot broken?
<nalaginrut>morning guilers~
<please_help>lamefun: Remove the %3E (>)?
***michel_mno_afk is now known as michel_mno
<civodul>Hello Guilers!
***michel_mno is now known as michel_mno_afk
<dsmith-work>Morning Greetings, Guilers
<ArneBab_>the lilypond devs are likely to get serious about porting to guile 2.0 now:
<davexunit>ArneBab_: oof
<ArneBab_>sadly this seems to backfire on guile, too: “Like several times
<ArneBab_>before, GUILE developers promised to get actively involved only to drop
<ArneBab_>out of the discussion once they were provided with instructions, an
<ArneBab_>up-to-date branch/source to work with and current problem descriptions.”
<davexunit>ArneBab_: I think I can guess who wrote that
<davexunit>mark_weaver, civodul, wingo: new action in lilypond land, lilypond may be removed from Debian testing soon. see above ^
<davexunit>ArneBab_: well, now that I've read everything, looks like they are downgrading the severity
<davexunit>and keeping guile 1.8 around
<ArneBab_>but this should really, really not happen. It gives the impression to all projects that using Guile is a technical liability
<ArneBab_>mark_weaver: is this bug fixed in 2.0.12?
*ArneBab_ will test
<ArneBab_>this will take a bit of time. I have to build stable-2.0 first
<ArneBab_>if this bug is fixed in 2.0.12, how much work would it be to do the 2.0.12 release soon?
<sneek>So noted.
<civodul>the "bytevector stream port"
<civodul>what's that
<ArneBab_>davexunit: I don’t know how he acts, but if he’s acting strange, I kinda understand it. He likely thought that using Guile would be a great asset for GNU programs, but it proved to add work due to the porting issues.
<dsmith-work>sneek: forget if this bug
<ArneBab_>I fear that he’s thinking “why did I ever use Guile when I could have invented a small scripting language myself”. This is not the kind of user story which helps adoption.
<ArneBab_>but I don’t want to put blame on anyone: I could have invested time to fix this, too, and I did not get push it through, either. I just say it to give an analysis: this is dangerous.
<davexunit>ArneBab_: the person in question likes to twist words and say bad things about guile any time is brought up.
<davexunit>not to say that he doesn't have some valid points, but he's more of a troll than you think.
<ArneBab_>I just care about the valid points and the effects this has on Guile
<ArneBab_>I did not like the tone in which he wrote the message
<ArneBab_>but as long as lilypond does not work with guile-2.0 that leaves an open flank for guile
<ArneBab_>it makes it hard for Guile to show its strengths
<ArneBab_>davexunit: can you estimate how much effort is involved in making a release?
<ArneBab_>(of guile)
<davexunit>make distcheck, updating NEWS and ChangeLog, mailing list post, etc. I imagine
<paroneayea>hello guilers
<ArneBab_>I’m wondering about the etc. - and the ChangeLog might be quite some work, too
<ArneBab_>paroneayea: moin
<ArneBab_>mark_weaver: can I do anything to help you create a 2.0.12 release?
<davexunit>ArneBab_: I don't think rushing a release is going to help anything.
<davexunit>some people are just not going to change.
<ArneBab_>I think a higher frequency of releases helps a lot: It gets improvements into the hands of the people who need them.
<ArneBab_>as long as there is no release, it is impossible to refer to a version which supports something I need within distributions.
<ArneBab_>I know that there are things which just need time to get them right
<ArneBab_>but there are also many other small improvements which get delayed
<ArneBab_>ah, my guile compile finished
<ArneBab_>time to test
<ArneBab_>it seems that at least in january this wasn’t fixed
<jmd>I'm rewriting makeinfo in Guile.
*ArneBab_ forgot to pull
<ArneBab_>jmd: nice
<stis>hey guilers!
<stis>\\me is trying to understand ordered sets and a sane notion of a complement for them
<jmd>The complement of a set is also a set.
<stis>well say that the world is not decided, then you have something different
<jmd>To define it, however you need to know the universal set.
<stis>No you doesn't
<jmd>Sorry. "define" was the wrong word.
<stis>lookup the bitwise operators e.g. lognot is the complement
<stis>and consider a nuber as a set of bits
<stis>It's not that hard to do complement on unordered sets
<jmd>I don't see that being ordered of unordered would make a difference.
<stis>It does, if you hav A u c(B)m c(.) the complement
<stis>you can write it c(B-A) just as well, but then the ordering in A is lost
<jmd>Is the set of all sets a subset of itself?
<stis>* - * is set difference
<stis>well mathematicall not defining the world has clear problems
<stis>but if your Set of sets is all sets that is constructued from finite atoms and finite number of set operations, you are safe
<stis>the set of all set is not definable in that space
<stis>e.g. the general one with the famous undecidability issues
<stis>you see that that in that construction you can count up all combinations, set of all sets contains the rational numbers
<stis>that is not countable
<stis>err i mean real numbers
<stis>guiles bitwise operations does as well not define the world but still manages to work quite well
<stis>play with it, kind of amazing
<jmd>I was suprised to learn that guile saves real numbers as IEE754.
<jmd>Doesn't that defeat the advantages of the arbitray precision arithmetic?
<civodul>jmd: there are "inexact" and "exact" numbers
<civodul>exact numbers can be rationals
<civodul>inexact numbers are IEE754
<civodul>IOW inexact numbers are not arbitrary-precision
<stis>civodul: any hope of getting higher precitions into guile?
<civodul>nobody's working on it, but an extension using MPFR and MPC would be welcome
<stis>civodul: I would think that complementable sets wouled me a nice addition to guile WDYT?
<stis>err would be
<stis>it can be a higer order lib and use any ordered or unordered set operations as a base and generate complementable set operations associated with those imputs
<stis>I find these things interesting anyway.
<civodul>what are "complementable" sets?
<stis>complement(C) = World - C, with World undecided
<ijp>probably sets which also carry around a univesal set
<ijp>stis: wat
<stis>just like lognot!
<ijp>I'm going to stop paying attention right now
<ijp>because it makes no sense
<stis>in bitwise operations you do not define the number of bits
<stis>still lognot which is a complement for bitsets works just fine
<ijp>1. what is the result of (lognot (set 'a 'b))
<ijp>er, logset
<stis>well all atoms defined on a computer is countable, you just map them to bits
<ijp>fine let me ask a different question, what possible use has this?
<stis>well it parameterizes on the world.
<ijp>how can you give an answer if the world is generic?
<stis>for a complementable set A, with a world X you just do X n A
<stis>that will then be an ordinary set
<ijp>at that point, all you are doing is flipping and currying the complement function, and needs no special support
<stis>and the nice thing is that you can do all your set operations first
<stis>and in the very last step apply the world
<stis>or a different world
<ijp>now we are getting somewhere: you want a set api with a universal set
<ijp>which is what I thought you wanted at first, but then it seemed not
<stis>well you can solve this by delaying all operations bt that can be costly
<ijp>then you still don't actually need special support
<stis>so think of the tool as a way to do smart algebra sa that the delayed expression becomes superfast when you actually have the world
<ijp>you define your own complement function, and make the universe a parameter
<stis>no, when I do the set operations like union etc the world iss not availabl
<stis>so you delay the evaluation
<ijp>and now you've lost me again
<ijp>why? that's like doing modulo arithmetic without a particular modulus
<stis>consider A u B, denote a prefix
<stis>then consider X-A u X-B = X-(A n B)
<stis>so when doing u, you perform the A n B and store that
<ijp>stis: why should set operations build computations, that are ran at the end, rather than make the modulus a parameter?
<ijp>the code would look *almost* exactly the same
<ijp>and one requires only a slight tweak to code that already works
<stis>well you precompile A n B above so that when you apply your world X
<stis>it is much faster then doing all set operations all over again for each world
<ijp>and most importantly, why should this be added to guile
<stis>well, I just through out the idea, it can just as well be a library. I just find it a natural adition to the set operations we already have
<ijp>it's not an addition, it's a rewrite
<ijp>you can't do it additively
<stis>well you can take a set of ordinary set operators and transform them to a set operators including the complement.
<stis>so you can have it as a nice higher order function
<stis>I view that as addition, but your mile may vary
<ijp>compare that to my two line solution
<stis>ijp: the hard part is to get complements to behave naturally for ordered sets and setmaps mimicking assoc lists
<stis>Else for unordered sets, it's just mostly boiler plate
<stis>and you can do it by hand just fine.
<ijp>you mean so that complements of ordered sets are ordered sets? that's just false
<ijp>at least under the same ordering relation (inb4 well-ordering theorem)
<stis>well the complement is unordered but lives in a space of it's own
<stis>if you take the complement of a complement set the ordering will be important
<stis>this measn that you cannot represent complemetes sets as c(S)
<stis>you need to represent them as A u c(B)
<stis>in an unordered setup this would be c(B-A)
<stis>but now the ordering of A is important
<ijp>actually, what are we talking about by "ordered set"
<stis>it's not super difficult to get complement working for ordered sets, but normal people would probably not pull that off
<stis>consider normal sets
<stis>if A is ordered then the elements of A could be placed on a list that defines theor order
<stis>let the poerator l take a set to this list l(A)
<stis>for union A u B = you define the new order as
<stis>append l(A) l(B-A)
<ijp>okay, that's just weird
<stis>well consider sets beeing lists
<ijp>I was just going to clarify my earlier remark (which was wrong from a maths POV, as I was thinking of something completely different)
<stis>err consider assoc lists
<ijp>why are you not just supplying the ordering function along with the universe
<stis>A u B is typically just an append,
<ijp>and have the universe totally ordered
<stis>right a list is such a function and is general enogh for totally ordered sets
<stis>you can take a set library and turn it into a ordered set library by adding such a list
<stis>I was planning to write such a higher order function as well
<stis>take for example wingos intsets. that's just for integers
<stis>we could design a general set by using the hashes of the elements from the intset
<stis>but that would not be ordered
<stis>so you add this list that defines the order and now you can have a functional set that is thread safe
<ijp>(none of this discussion should be construed as endorsement)
<stis>err from the instset -> to the intset
<stis>srfi-1's set operations for lists are ordered last time I checked