<mark_weaver>sneek: later tell glosh: to install packages in the "global" environment, which is only possible in GuixSD, add them to the 'packages' field of your OS configuration and re-run "guix system reconfigure ..."
<goglosh>I guess for my setup I can go by just making symlinks in /usr/bin tho
<mark_weaver>that's the lazy solution, and it will mean sacrificing the reproducibility, reliability, and roll-back features of guix.
<mark_weaver>and it will also mean that you may write a package for guix and it seems to work for you, and then you submit it to us and it doesn't work for anyone else because it depends on those links.
<goglosh>installed xinit and xorg-server, what am I missing?
<ArneBab_>sneek: later tell civodul: the reason for running setlocale in wisp is that it must use utf-8 and the default locale in guile can differ (which would throw off the parsing. As far as I know the alternative would be using fluids which would make the code harder to understand — at least for me). But I agree that it should handle errors gracefully instead of dieing.
<sneek>civodul, ArneBab_ says: the reason for running setlocale in wisp is that it must use utf-8 and the default locale in guile can differ (which would throw off the parsing. As far as I know the alternative would be using fluids which would make the code harder to understand — at least for me). But I agree that it should handle errors gracefully instead of dieing.
<taylanub>ACTION wonders how R6RS records would compare to Guix's ad-hoc implementation of record type subtyping...
<davexunit>I can appreciate the compile-time guarantees that static types can give, but I'm not very interested in "static" things.
<davexunit>of course Haskell is much more advanced, but this footnote from SICP still applies pretty well: "In Fortran or Basic, one typically combines data elements by assembling them into arrays—but one cannot form arrays whose elements are themselves arrays. Pascal and C admit structures whose elements are structures. However, this requires that the programmer manipulate pointers explicitly, and adhere to the restriction that each field of a
<davexunit>structure can contain only elements of a prespecified form. Unlike Lisp with its pairs, these languages have no built-in general-purpose glue that makes it easy to manipulate compound data in a uniform way."
<civodul>i think we must show the kind of FP we can do with Scheme
<civodul>sometimes borrowing ideas from static languages
<civodul>sometimes coming up with different solutions
<civodul>obviously each approach has problems that the other doesn't have
<rekado>I actually really miss the reassuring nod of a compiler (that I get when I write correct Haskell code) when writing in Guile. I tend to make really stupid mistakes that manifest themselves as runtime errors.
<davexunit>static typing greatly restricts how one writes programs, with the advantage that the compiler can check for things that it otherwise couldn't in a dynamic language, but how possible is it to do "REPL driven development" in Haskell?
<davexunit>that reassuring nod comes at too high of a cost to me.
<rekado>do you have a good example of REPL driven development? I usually just use the REPL to test little snippets. I never actually grow programmes in the REPL.
<taylanub>REPL aside, something like Emacs might be a good example where dynamic-everything shines. though your static typed compiler could also refrain from using the static knowledge of other modules' contents to optimize the module currently being compiled, so that you avoid the need to recompile trees of modules when you want to make a change to a single one at run-time...
<davexunit>static languages can do "hot swapping", which is great... for people that aren't familiar with REPLs.
<taylanub>davexunit: what is this hot swapping and how does it differ from what one can do with a REPL? BTW Haskell has a REPL IIRC; the question would be whether a REPL can be hooked into a big system and allow changing parts of the system from the REPL
<davexunit>also, why is it that new dynamic functional languages like Elixir (http://elixir-lang.org/) can just show up and suddenly companies start using and hiring for Elixir programmers, while proven languages that have been around for decades don't get any love?
<davexunit>Scheme is laughed at, and Elixir/Clojure/etc. is taken seriously. I just don't understand.
<taylanub>(really I think the REPL per se is a red herring; e.g. in Emacs you don't need IELM (the Elisp REPL) to do your stuff; C-M-x and C-x C-e are interfaces one could say analogous to a REPL without being a REPL.)
<davexunit>it's still using the REPL, even if you aren't at a prompt
<davexunit>much like how Geiser still uses the REPL, even if you aren't at the prompt.
<rekado>davexunit: thanks for the video. (Why is there no "sly" package in Guix? I want to write games!)
<taylanub>hmm, in those two cases it could be that they leverage the popularity of the Erlang VM and JVM respectively...
<davexunit>rekado: Sly is a meandering project with no official release.
<davexunit>rekado: you can be sure that if/when I release it, a patch for Guix will arrive.
<davexunit>rekado: Sly poses a lot of challenges given the constraints under which I've chosen, namely purely functional game logic.
<rekado>I love FRP; I never liked the clunky frameworks in Haskell, though.
<rekado>so having an FRP framework for Guile is just lovely.
<rekado>(I actually played with elm for a while, because it was more fun than the many Haskell FRP thingies I tried.)
<taylanub>davexunit: strictly speaking C-M-x etc. don't use a REPL AFAIK. I understand what you mean though. I just wouldn't use the term "REPL" to refer to the concept of inspection, replacing parts dynamically, etc., because then people will just point out that $language offers a REPL too somehow even if it's one that can't be jolted onto a full application in $language to make the application live
<taylanub>sadly it was just some amateur musings and I don't have anywhere near the skill to work on realizing the ideas proposed there. (still not after two years, though I might start speeding up my learning soon...)
<paroneayea>one of the problems I'd like to address is how there's shared configuration requirements between different processes on the system, and I thought a lot about this when I was sketching out opstimal
<paroneayea>and how you'd want to be able to propagate what domain you're using to both nginx and mediagoblin, and you'd want mediagoblin's definition to be able to propagate the things it needs to share to set up nginx
<paroneayea>basically, I don't want people to have to repeat themselves
<mark_weaver>civodul: fwiw, I agree with davexunit about 'define-record-type†'. I'm not sure it's worth the cost of abandoning hygience and not being able to search the code base for a procedure like 'foo-bar'
<mark_weaver>rekado: that would be great. to make progress on that goal, we'd first need to update the guile-gnome bindings to GNOME 3, but I think a further step would be needed: to write an interesting GNOME program in Guile, and have it both work very well and be written in such a nice way that the superiority of this approach would be apparent even to those averse to lisp syntax :)
<daviid>rekado: you can already do that, sng guile-gnome 2.16.3
<daviid>it's not because I wrote it, but it is the best example we have so far :)
<daviid>rekado: you can see on screenshot it perfectly intergrtes in gnome 3, although it uses gtk2 still ... so you can start working on guixfe [frontend?] :) right now! I'll help you of course
<davexunit>daviid: having guix package(s) for guile-gnome would be cool to help people get up and running more quickly.
<davexunit>I'd like to try out guile-gnome, but I just don't have much time in which to try new things, so I prioritize other things. but guile-gnome is very important.
<daviid>davexunit: thanks! It is very important yes. Wrt guix, I can't do it right now: I follow a strict plan of actions to get us out of the 'dark' wrt guile-gnome and guile-clutter, which is a 'titanic' work. I'm sure one of you guys will package guile-gnome and soon guile-clutter in a 'couple of clicks', if nobody beats me in a couple of months I'll do it, but don't hold your breath
<daviid>yeah, can't be everywhere, I really woud like to develop and use guix, but, 24h in a day ...
<daviid>and you're many, I'm alone :) I can't even hope to get simple and fast responses to my quizz, beleive me, this guile-gnome trip is 'amazonian': let's just hope I don't get 'Degue' in the way haha!