IRC channel logs

2017-09-15.log

back to list of logs

<daviid>guile-guest7: iirc guile 1 does not parse the string, so you should be able to write it 'in clear' in the string, try copy paste ...
<guile-guest7>guile> "↗" "�\\x86�" guile>
<daviid>guile-guest7: lilypond user?
<guile-guest7>nope, texmacs user ... I have a scheme function in a plugin wich must "send" unicode character to texmacs document ... not working so far
<daviid>guile-guest7: and if you send it, even if it displays badly in a guile 1 repl, how does texmac sees it?
<guile-guest7>as garbage string
<daviid>try both the #\\x and the 'graphics', not processing the string in guile 1, just 'pass it' ...
<guile-guest7>doesn't work
<daviid>guile-guest7: I'm sorry, it worked for me (like 10y ago) between guile-gnome gtk widget (which expect utf8) and guile 1, but I was using I can't think of any valid approach then, of course it works fine using guile 2.2 (it won't using 2.0 either by the way) so the bet is to convince texmacs maintainers to move on ...
<daviid>oh, I mixed 2 sentences up there :), but the thing is it won't work I guess, sorry, texmac maintainers should move on and use guile-2.2
<daviid>texmacs
<guile-guest7>thanks for your time
<guile-guest7>is there still online guile 1.x documentation ??
<daviid>guile-guest7: it's ok, maybe you can try guile 2.2 (not to interact with texmacs), here is what you get :)
<daviid>scheme@(guile-user)> "↗"
<daviid>$9 = "↗"
<galex-713>Hi
<galex-713>Do someone know if there is some good introduction to programming that use scheme&guile?
***galex-713_ is now known as galex-713
<davexunit>another guile-emacs discussion https://www.reddit.com/r/emacs/comments/701v90/guile_needs_a_community_elispemacs_needs_a/
<davexunit>dustyweb: you wouldn't happen to know anything about the applicable struct stuff in the goops module, would you?
<davexunit>it's not documented... but it sounds oh so useful
<dustyweb>davexunit: applicable struct? oh, hm I didn't think I knew that was a thing :)
<davexunit>I'm taking a stab at a game idea and using goops to model the models
<davexunit>er, model the object types
<galex-713_>Do someone know if there is some good introduction to programming that use scheme&guile?
<daviid>galex-713_: pick any scheme book of your choice, there are quite a lot out there, then experimentimplement the exercises using guile
<daviid>galex-713_: in // to reading a scheme book dedicated to teaching scheme, read chapter 1, 2, 3 nd 4 of the guile manual
<daviid>then talk to us :)
<daviid>* teaching how to program inscheme ...
<daviid>it is somehow unfortunate that none of us did pick up and made guile-emacs 'happen', then these threads about 'it's a dead technology...' gives a bad impresion to newbies and future generation of schemers guilers ...
<daviid>the worst of this is that, imo, some of the best hackers in the entire world are amng ud, yet with have all so lilmited resources ... that it all appears the bet hackersare pythonists .. or javsist ...
<daviid>hum, my dactilo (lack of) skills aren't so good today .. tipo after tipo, my msg becomes funny (at most...) :)
<wingo>dustyweb: see the docs recently pushed to master
<wingo>comments welcome
<wingo>basically, you can define redefinable goops classes -- but only classes that you intend to be redefinable are in fact redefinable
<wingo>s/classes/trees of classes/
<wingo>could be we have the wrong default and should make "define-class" default to redefinable classes, dunno
<amz3>o/
<civodul>(read-disable 'positions) saves ~15% on the build time of gnu/packages/a*.scm
<civodul>i suspect we're not done with the finalizer issues
<wingo>civodul: i wouldn't necessarily conclude that it's the fault of finalizers; there is one finalizer to deal with the weak source map table, yes, but i suspect the overhead is also related to memory (source info is persistent through the compiler phases, not accessed weakly) and possibly also related to emitting more debugging information
<civodul>wingo: hmm maybe, it's hard to tell
<civodul>wingo: also, what are your thoughts about the algorithmic complexity of intmap/intset lookup?
<civodul>well, not an easy question either
<civodul> https://lists.gnu.org/archive/html/guile-devel/2017-09/msg00020.html
<OrangeShark>Happy Friday
<wingo>civodul: i am not sure how to answer. i think there is a gc-related problem -- i mean, half the time in gc! and of course it's in those routines that we have allocation, so that's where gc time would show up. i don't know though.
<wingo>i want to run those tests on master too. i wonder if there is a problem given the two-word displacement of structs on 2.2. probably not but who knows
<wingo>i think not tho
<civodul>yeah
<civodul>it's half the time in GC, but the heap is so big anyway
<civodul>this is closely related: we retain a lot, so we spend more CPU time on GC
<civodul>and in turn that makes it harder to interpret the profile
<civodul>also, GC_DUMP_REGULARLY=1 shows we occasionally have large regions of the heap that are black-listed
<wingo>orly
<dustyweb>wingo: wow I didn't realize that @efraim@tooot.im @gargron@mastodon.social > Back to the analogy of 'hey neighbor, can I store my stuff in your garage for free indefinately?'
<dustyweb>argggghh
<dustyweb>pastefail
<dustyweb>I didn't realize that go_to_hell was a procedure in goops.c, funny :P
<dustyweb>is what I meant to say
<wingo>:)
<dustyweb>wingo: ok! I read up
<dustyweb>I'm ok with that route!
<dustyweb>I'm also unsure if it's the right default, maybe for goops the opposite structure should be used (redefinable by default) but honestly I think it's not a huge deal
<davexunit>wait classes can't be redefined by default now?
<dustyweb>davexunit: see the latest commit in master
<davexunit>I just did some goops hacking last night where I was re-evaluating my class definition frequently
<dustyweb>davexunit: you can do it
<dustyweb>you just need to add a metaclass slot
<davexunit>having that fail would suuuuuuck
<dustyweb>so it's more of an explicit decision to live hack
<davexunit>dislike
<dustyweb>:)
<dustyweb>wingo said they were unsure which was the right default
<dustyweb>so, I guess that's feedback?
<davexunit>let me be more constructive...
<dustyweb>I also feel like in general when I'm using GOOPS, a large motivator is the live hacking
<dustyweb>but I think having the option to turn it off or on is good
<davexunit>I usually do non-default things when I need to make performance optimizations
<dustyweb>that's a good way to put it!
<davexunit>having the default path be the happy live hacking path is what I prefer.
<dustyweb>make things flexible, then eventually they ossify as things set into place?
<davexunit>yeah, when needed.
<dustyweb>+1
<davexunit>like usually I have a few core data types that I do crazy things with to make them fast.
<dustyweb>I agree
<davexunit>and that usually means not using goops anyway
<dustyweb>davexunit: btw the other side of this means we're looking to see more of a unification of GOOPS and records ie records also being classes
<dustyweb>is my understanding
<dustyweb>without a cost overhead
<dustyweb>(I think the choice of default isn't a cost there, it's just a decision that needs to be made, but I'm excited about the refactor)
<davexunit>that is a good thing. guile 2.2 sort of broke some things there.
<dustyweb>yeah
<dustyweb>off to shower! bbiab
<davexunit>so yeah, looks like I like all of that news except the default metaclass thing.
<davexunit>by chance does any of this work help set us up for optimizations like struct field/goops slot unboxing?
<dsmith-work>Happy Friday, Guilers!!
<davexunit>that is probably the biggest pain point for me now. I have a handful of types for linear algebra (2d vectors, 3d vectors, matrices, quaternions, rectangles) that are merely wrappers around bytevectors with a lot of ugly supportingcode.
<cmaloney>Good morning
<civodul>we're at ~80 bytes per source property
<civodul>so if you have a source file with 2M pairs, source properties alone take ~152MiB
<civodul>(i think it was the same order of magnitude in 2.0 and earlier)
<amz3> http://www.nbu.gov.sk/skcsirt-sa-20170909-pypi/
<janneke>amz3: are you a guix user?
<manumanumanu>Ahoy fellow guilers!
<stis_>tjeena manumanumanu
<manumanumanu>tjabba stis_ !
<happy_gnu[m]>I have this error
<happy_gnu[m]>updating list of substitutes from 'https://berlin.guixsd.org'... 100.0%guix substitute: error: 'https://berlin.guixsd.org/nar/gzip/3a7fyczcvfdzxglayl5n0bbp0jl65wh8-module-import' is signed with an unauthorized key
<mwette>Hi all. Is it possible to capture a Guile keyword (e.g., #:foo) as syntax in a syntax-rules pattern (e.g., syntax-rules (#:foo) ...)
<ArneBab_>mwette: it’s possible that you might need syntax-case for that, because you want to break hygiene
<ArneBab_>you could also just defer that to a helper function which gets the argument list.
<ArneBab_>s/function/proc/
<mwette>ArneBab_: Thanks. I am using syntax-case with fenders for now.
<mwette>It seems the syntax for define-module quotes the expressions that occur after keywords. I want to use an expanded form of that but I think I need unquoted expressions after keywords, in order to deal with system dependencies. I need to look closer at the syntax for define-module
<manumanumanu>mwette: yes it is
<manumanumanu>but you should not include the #: in the literals ... part
<manumanumanu>so (syntax-case (foo) [(_ #:foo)
<manumanumanu>mwette: hope i'm not too late :)
<manumanumanu>wohoo, a question I could answer
<manumanumanu>good night
<manumanumanu>and I think it might work with syntax-rules, since matching keywords is not breaking hygiene