IRC channel logs

2018-03-23.log

back to list of logs

<chrislck>rekado nice
***logicmoo is now known as dmilez_
***dmilez_ is now known as dmiles[m]
<jeko>Hello guilers !!!
<jeko>Do you know how I can clear the report between test runs with SRFI-64 ?
<amz3>make clean ?
<jeko>what do you mean by "make clean" ?
<amz3>if you project has a Makefile with the 'clean' rule you can maybe use 'make clean' to remove the files generated by the test runner
<amz3>otherwie you can use 'git clean -fxd' with care
<amz3>the above will delete all files not tracked by git, including ignored files
<amz3>lookup the definition of -f -x and -d in the git man page
<amz3>jeko: ^
<jeko>What if I don't have any file created ? I have a basic scheme file I can (load "main-test.scm") to see if all my tests are OK
<jeko>I load it each time I make a change in main.scm
<jeko>(I try to setup a TDD workflow haha)
<jeko>I load the test file into my geiser REPL
<jeko>It is like the REPL keep a variable which is used each time I run my tests
<amz3>then IDK, maybe some else will, otherwise send a mail on the mailing list
<amz3>good luck
<jeko>alright thank you for trying !
<jeko>:)
<amz3>:)
<rekado>in order to determine the text width for the picture language: I guess I could use freetype directly. That would be much lighter than using Cairo.
<civodul>are you implementing the picture language in Guile?
<rekado>yes
<rekado>wanna see?
<civodul>yes!
<rekado> https://elephly.net/downies/pict.scm
<rekado>just ,use (pict) and then try something like (circle 10) in geiser.
<civodul>awesome!
<rekado>I haven’t implemented rotation or translation yet.
<rekado>This all sits on top of bare SVG, which is built with SXML expressions.
<rekado>all of the composition procedures already work fine.
<civodul>noooo
<civodul>and geiser already does the right thing
<civodul>crazy!
<rekado>(apply vc-append (map circle (iota 10)))
<rekado>very tall snow person.
<civodul>well i need: (apply vc-append (map (cut circle <> #:border-color "red") (iota 10)))
<civodul>because i have a black background :-)
<rekado>you could also use colorize: (apply vc-append (map (compose (cut colorize <> "red") circle) (iota 10)))
<civodul>neat
<civodul>FP and layout go together really well
<rekado>geiser image support is a dirty hack: geiser supports #<Image: /path/to/image>, so in the record-type-printer I first save the SVG to a temp file and then print out #<Image: /path/to/the.svg>
<rekado>but it works.
<civodul>yeah, that's ok :-)
<OrangeShark>Not as cold as I thought it would be in boston
<miqlas>Hi Guys!
<miqlas>I'm on my way to get Guile working on Haiku. It is already compiled, but some test failing. Lemme grab the test output
<miqlas>Here is my recipe with al lthe dependencies listed and my patchset: https://github.com/haikuports/haikuports/pull/2367/files
<miqlas>Any help would be really appreciated.
<spk121>miqlas: porting Guile is not easy. I made it work 99.9% on Cygwin but I gave up on the last 0.1%
<miqlas>Here is the test output: http://chunk.io/miqlas/9723f3dd18c24d58868e7cc8622e62ee
<miqlas>have to say, we have an really new boemgc port, maybe there lurking also some problems...
<miqlas>spk121: still would be great to have it, as libfive requires Guile
<spk121>miqlas: the out of memory error is not very portable. For some OS's we just disable.
<miqlas>Hmmm.. I'm not sure where or what triggering it, have to examine a bit better
<spk121>miqlas: actually test causes out of memory errors on purpose to see if it can recover from them gracefully
<spk121>it relies on having a working 'setrlimits' procedure, which many OS's don't: hurd, darwin, cygwin, for example
<spk121>I'd just skip it for now
<miqlas>lemme check if we got 'setrlimits' or not
<miqlas>spk121: i got only setrlimit, but no setrlimits
<spk121>Sorry, i meant setrlimit
<miqlas>yep, config.h tells: #define HAVE_SETRLIMIT 1
<miqlas>and the symbol is in our libroot (hyper-super-mega-lib with things like threading and stuff)
<miqlas>if something in libroot, then it is OS provided.
<miqlas>but if we got setrlimit, then the out of memory should not happen, right?
<miqlas>libffi test also broken. I checked, we got the current ffi port, and it is used on myy system.
<miqlas>other failed test is the posix regex: i'm not sure about it. We are more-or-less posix compilant.
<spk121>No, the out of memory stuff is happening on purpose. But the test should recover more gracefully.
<miqlas>spk121: more examination required then, i suppose.
<spk121>I wouldn't get hung up on it. The test is already disabled for many systems.
<miqlas>as i told, our bgc port is pretty new, made by one bgc maintainer, so technically it should be ok, but it haven't got enough testing yet, hard to say it is mission-ready. What do you think, could it be the culprint?
<miqlas>my main problem is: i built guile with ncurses, but if i try to run a helloworld program, it complains : there is no ncurses
<miqlas>see? http://chunk.io/miqlas/6acf81022acb42d98b0a79f4a39489bc
<miqlas>btw: i have absolutely no idea about guile, never used it before, so maybe i do something wrong.
<spk121>Haha. guile-ncurses. Now you have real problems. Its maintainer is an idiot. (lol. It is me)
<amz3>^^
<miqlas>here is my config.h (after sedding it): http://chunk.io/miqlas/1296bf7dc8db414aa1604191f4dd6aeb
<miqlas>spk121: can you please forward my message to the guile-ncurses maintainer? He is a great man, and i think he does an exceptionally good job, but somehow (I'm absolutely sure it is because my sillyness) i can't get it work.
<miqlas>spk121: i have to go now, i'll come back later
<miqlas>bye guys
<spk121>bye
<spk121>I'm out, too.
<miqlas>re
<miqlas>spk121: hi
<miqlas>spk121: any idea, why the ncurses module missing?
<miqlas>is there anything i can do? I already tried to define readline too in my recipe, and AFAIK readline and ncurses are "synonym" things, one should use one or the other but not booth.
<spk121>miqlas: I can walk you through it now, if you like.
<miqlas>i have time, but i got some beers already, so let's try t :)
<miqlas>*it :)
<miqlas>'m prepared.
<spk121>first, let's see where Guile thinks files should be stored. Try "guile -c '(display %load-path)'"
<miqlas>(/packages/guile-2.2.3-1/.self/data/guile/2.2 /packages/guile-2.2.3-1/.self/data/guile/site/2.2 /packages/guile-2.2.3-1/.self/data/guile/site /packages/guile-2.2.3-1/.self/data/guile)
<miqlas>let me translate it for you:
<spk121>OK. guile-ncurses tries to install itself into the site/2.2 directory. Is there an ncurses subdirectory there, or in any of those places?
<miqlas>the path : /packages/PACKAGENAME-VERSION/.self/ = /
<miqlas>sorry, it is /system/
<miqlas>so "/packages/guile-2.2.3-1/.self/data" == /system/data
<miqlas>it is because the package management, do not care about it.
<miqlas>so everything installed into /packages/guile-2.2.3-1/.self/bin is accesible in /system/bin, which is in the PATH
<miqlas>lemme check
<spk121>ok. but I think the question is if ncurses installed itself into the right directory, which would be one inyour %load-path
<miqlas>in the folder /boot/system/data/guile i have only a subdir called "2.2", but no site
<miqlas>Oh, i forgot : /boot == /
<miqlas>spk121: ncurses installed with the devel package. So it is complete.
<miqlas>It is 6.0.3
<miqlas>but i got no sites folder
<miqlas>here is a list what the 2 package contains: http://chunk.io/miqlas/40e43afe7fa8489bbb70cd4f2deb850b
<spk121>did you build guile-ncures from source?
<miqlas>spk121: isnt it in the official guile tarball?
<spk121>Nah. It is a separate thing.
<miqlas>i just sed the official tar.gz
<miqlas>spk121: umm.. do you mean, i have to install extra modules to get an hello world working???
<miqlas>if so, then i understand everything.
<spk121>Nah. I mean, the plain Guile version of hello world is just (display "hello world\\n") and you don't need guile-ncurses to run plain guile. But if you want to do text user interfaces the ncurses way, it is a separate tarball that you have to download and build
<miqlas>spk121: you know, i went to google with this keywords: "guile hello world"
<miqlas>found a source code, tried to run it: ERROR
<miqlas>what should i think in this case?
<miqlas>ok, now it makes sense, ncurses is a separate module, but as guile searched for it during the configure, i tought it will be automatically recognized and built
<miqlas>now i see, it is my mistake
<miqlas>leme test your hello program
<spk121>haha: google has mislead you.
<miqlas>YAY! http://chunk.io/miqlas/7ca6aca242e5480b8b209f194e35e0e9
<spk121> http://chunk.io/miqlas/7ca6aca242e5480b8b209f194e35e0e9
<spk121>victory
<miqlas>Let me give you my postal address to send me the nobel peace prise.
<miqlas>It is Karpatenstrasse 3.
<miqlas>ok, but guile can more than hello. And the tests shows it is broken.
<miqlas>somewhat
<miqlas>spk121: thanks for helping to debug this strange bug. :)
<amz3>\\o/
<spk121>no problem.
<miqlas>amz3: are you from the nobel award team?
<spk121>it is a bug in Google. I'll call Mark Zukerburg and let him know.
<miqlas>spk121: and call JLG too, please.
<amz3>miqlas: yes
<miqlas>Jean Louis Gassée == owner of Be Inc.
<miqlas>went down in 2001..
<miqlas>spk121: i have to say, you gave extraordinary help to debug this hello world problem. I would give you a star or like now. Thanks.
<miqlas>now we know, the basic IO is ok.
<miqlas>I know almost nothing about guile. is it possible to build an executable from a guile source? I mean can i build an elf binary from this guile script somehow?
<miqlas>guild made a hello.go file from my hello program.
<miqlas>But i cannot run it. It is an executable? Or smething else?
<miqlas>file says: ELF 64-bit LSB shared object, no machine, version 1 (embedded), dynamically linked, with debug_info, not stripped
<miqlas>but i can't run it
<spk121>miqlas: It won't compile down to elf, yet. That feature should land in 3.2.
<miqlas>then .go is something like .so?
<miqlas>and btw, why it is .go? why not .gu?
<spk121>.go is more like java bytecode. It is an intermediate representation between source and ELF.
<miqlas>Guile Object?
<civodul>yes
<civodul>it's actually ELF
<miqlas>what else....
<miqlas>our runtime loader cannot handle it. so it can be elf, but not runnable.
<miqlas>at least not on haiku
<miqlas>so according my google fu, yet the hello world requires (sometimes) external modules. Can you tell me which are the most important modules? I have to port them too to make guile usable on Haiku.
<miqlas>checked the debian recipes, but it wasn't enough info.
<miqlas>i already got the little schemer as pdf, i pretty like the pictures but no idea about scheme. Is guile a complete scheme interpreter?
<miqlas>Sorry, i have abslutely no idea about it.
<miqlas>It is just a dependecy to one thing what i have to have
<civodul>miqlas: it's ELF containing Guile bytecode
<miqlas>btw: hello from the HaikuPorts team.
<spk121>miqlas: it is pretty complete standalone implementation. GUI stuff, database stuff, games stuff and some web framework stuff isn't included.
<miqlas>I'm responsible for the mathematical libs, like blas and some strange stuffs like blender, opencv, vim, emacs, r, fortran, and for some libs for haiku
<miqlas>spk121: what kind of gui toolkit does guile use?
<miqlas>we got nly Qt.
<spk121>Well, the GTK2 port is mostly complete, as far as I know. But it has some problems.
<miqlas>then the gui is irrelevant.
<miqlas>Haiku got no GTK port. yet.
<spk121>I'd say our GTK3 story is kind of stalled in pre-alpha. No QT work as far as I know.
<spk121>And I haven't tried it, but I think SDL works.
<miqlas>we got an almost complete Qt implementation, hovewer GL is still missing, but no GTK
<miqlas>we got SDL
<miqlas>is it also suported trough an external module like ncrses or is it in the main lib?
<spk121>Cool. I should do paid work now. Good luck!
<miqlas>we can't py you, sorry :)
<miqlas>but feel free to contribute ;D
<spk121>;)
<miqlas>Umm, we got kittens, you know? http://chunk.io/miqlas/e0097dfb957241f7865a791c7751b416
<miqlas>and it follows yor mouse cursor!
<miqlas>and you can install it onto your desktop as a replicant
<OrangeShark>I am at the FSF office now
<miqlas>OrangeShark, the 's/linux/haikug', thanks
<miqlas> 's/linux/haiku/g', ofc