IRC channel logs

2014-04-11.log

back to list of logs

<mark_weaver>taylanub: I can tell you that the #i1@-0 problem has nothing to do with GMP.
<mark_weaver>GMP is an integer library, but this has to do with floating point behavior, likely having to do with either the compiler or the associated C runtime support library.
*mark_weaver goes afk for a bit
***fangism1 is now known as fangism-ctrl-Z
<nalaginrut>morning guilers~
<nalaginrut>oh, people talks FPGA
<b4283>what FPGA?
<nalaginrut>b4283: well, I think they were talking about FPGA on novena laptop
<ijp>b4283: the french polynesian giraffe afficionados
*nalaginrut remind the author ever stay at Shenzhen for his design and manufacture...
<nalaginrut>I don't know if people know how to take advantage of this on board FPGA, but there're so many people want to mine bitcoin crazily
*nalaginrut has no interest in bitcoin...
<ijp>all that cpu power, wasted
<b4283>ijp: wut? :D
<nalaginrut>but the FPGA is spartanVI, so I think there's a chance to run lisp machine
<ijp>b4283: bitcoin mining is a waste of cpu power
<ijp>or do you mean the fake acronym?
<b4283>ijp: how do you come up with such a creative acronym :P
<ijp>one letter at a time
<nalaginrut>well, if I can afford novena, why I don't buy a spartan3 board, it's cheaper...
<mark_weaver>nalaginrut: umm, how about to support a hardware designer that makes his designs freely available and chooses components that are documented (without signing an NDA) and compatible with free software?
<nalaginrut>mark_weaver: I've talked to some hardware engineers, they said the have the pressure to do so
<mark_weaver>it just so happens that there are _zero_ modern laptops being produced right now that can be used without non-free software.
<nalaginrut>anyway, free software has been enlightening for many years, and most software hackers know the importance and the benefit of free software
<nalaginrut>but not for hardware hackers
<nalaginrut>open hardware movement just started, so there's time to wait them
<nalaginrut>mark_weaver: oh, I misunderstand your meaning
<mark_weaver>if we assign no value to freedom in our purchasing decisions, then we'll get none.
<nalaginrut>mark_weaver: yes, it's a good choice to support a hardware hacker who insist on GPL
<nalaginrut>but the price little higher
<nalaginrut>considering our community just spend money to build our new hackspace, I have to delay to think about novena...
<mark_weaver>the price can only come down when these things are being produced in high volumes. and that's never going to happen unless we, the buyers of hardware, demonstrate that we care about freedom.
<nalaginrut>yes I see, actually, I really want to buy, the bios and wifi driver are freed
<nalaginrut>it's great progress for the wifi driver, I spent some time on possibly freed wifi driver and document last year, but finally I have to sign a NDA...
<mark_weaver>and the board design is also free, so you could modify it to suit your needs.
<nalaginrut>mark_weaver: BTW, you bought it?
<mark_weaver>i'm going to get the bare board
<nalaginrut>well, the author is proud of the case design, and you don't buy it...
<mark_weaver>My life is structured around maximizing my independence and free time, so I have very little money.
<nalaginrut>I'm kidding ;-D
<mark_weaver>:-P
<zacts>lo #guile
<nalaginrut>o/
<zacts>symbolic manipulation of polynomials is fun
<ArneBab>The draft for “Going from Python to Guile Scheme: A natural progression” is almost finished now: http://draketo.de/proj/py2guile/
<ArneBab>The only missing parts are “Batteries and Bindings: FFI”¹ and 2/3rds of “Guile Scheme beyond Python”². ¹: http://draketo.de/proj/py2guile/#sec-5-4 ²: http://draketo.de/proj/py2guile/#sec-6
<nalaginrut>ArneBab: nice~
<ArneBab>And Mark Witmer from guile-xcb already sent me a draft for the “new readers” section *happy*
<ArneBab>and if davexunit finds the time to write a few sentences on some of the deep magic he uses in guile-2d, the only missing parts are “embedded DSLs” (maybe I can ask civodul for this) “your own object oriented programming systems” and “real threads”.
<nalaginrut>hoho~
<ArneBab>though I’m sure that I am missing quite a few things here…
<nalaginrut>ArneBab: I wrote a front-end for imp language which is very small to understand, do you need a tutorial for multi-lang?
<nalaginrut>hmm...maybe a standalone tutorial is better?
<nalaginrut>it's unrelated to Python I think
<ArneBab>Do you have a link to that?
<nalaginrut> https://github.com/NalaGinrut/imp
<ArneBab>nice!
<nalaginrut>anyway, there's some bug in parser, but I think it's enough for an example for newbies
<nalaginrut>so I don't fix the bugs
<nalaginrut>and I'm writing another front-end, seriously
<ArneBab>If you would like to write two or three paragraphs on this, I’d love to add this as additional “language development” section.
<nalaginrut>ArneBab: of course! but do you think it's match the topic? ;-P
<nalaginrut>will python users care about multi-lang ;-D
<ArneBab>nalaginrut: this is the “Guile Scheme beyond Python”-section
<ArneBab>the section specifically is about taking programming further than with Python ☺
<nalaginrut>Alright, I'll write when I find time
<ArneBab>cool!
<nalaginrut>I was planing such a multi-lang tutorial, but wait so long time
<ArneBab>how about this intro? A more experimental usage of reader extensions is development of completely new languages - or reviving old languages by giving them access to the full potential of GNU Guile. Let’s listen to NalaGinrut, who describes his experience with implementing [[http://en.wikipedia.org/wiki/IMP_programming_language][IMP]]:
<nalaginrut>it's fine IMO ;-)
<nalaginrut>ArneBab: oh no! This is not T
<ArneBab>nalaginrut: embarassing question: How should I call you?
<nalaginrut>it's not the imp
<ArneBab>oh…
<ArneBab>Google, you failed me! ☺
<nalaginrut>this imp is a system level language
<nalaginrut>ArneBab: here http://fsl.cs.uiuc.edu/images/0/0d/CS522-Spring-2011-PL-book-imp.pdf
<nalaginrut>this tiny language is designed for educational purpose
<ArneBab>thanks!
<ArneBab>I fixed the link
<nalaginrut>I found it in a CS theory textbook, and the book demand the users implement this language, and using it for later course
<nalaginrut>so it's cool to me
<ArneBab>nalaginrut: is Mu Lei (your name in github) correct?
<nalaginrut>ArneBab: yes, you can write Nala Ginrut directly
<nalaginrut>both are fine
<ArneBab>ok
<nalaginrut>or Mu Lei known as NalaGinrut
<ArneBab>that’s what I did ☺ (Mu Lei aka NalaGinrut)
<nalaginrut>few people know my real name ;-)
<nalaginrut>well it's fine ;-D
<nalaginrut>ArneBab: BTW, it's pronounced like Muller (if you don't know how to read it)
<ArneBab>you mean Mu Lei?
<ArneBab>that’s good to know - I’d have pronounced it as Mu La-i…
<ArneBab>I now need to get back to writing on the thesis.
<ArneBab><?xml version="1.0" encoding="utf-8"?>
<ArneBab><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
<ArneBab> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<ArneBab><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<ArneBab><head>
<ArneBab><title>Going from Python to Guile Scheme: A natural progression</title>
<ArneBab><!-- 2014-04-11 Fr 08:42 -->
<ArneBab><meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<ArneBab><meta name="generator" content="Org-mode" />
<ArneBab><meta name="author" content="Arne Babenhauserheide" />
<ArneBab><style type="text/css">
<ArneBab> <!--/*--><![CDATA[/*><!--*/
<ArneBab> .title { text-align: center; }
<ArneBab> .todo { font-family: monospace; color: red; }
<nalaginrut>ArneBab: yes I know you will pronounce it like Lai
<nalaginrut>but it's actually as 'ei' in English
<Arne`>I hope I just got kicked for flooding…
<Fulax>actually you didn't, but the flood stopped after 15 lines
<Fulax>'morning guys
<Arne`>phuh…
<Arne`>org-mode publish replaced my copy-buffer with the published HTML and I carelessly hit enter after inserting the text…
<Arne`>this is what I wanted to paste:
<Arne`>nalaginrut: please tell me when you have a few paragraphs on your experience with IMP
<nalaginrut>Arne`: ok
<civodul>Hello Guilers!
<ArneBab>Hi civodul
<taylanub>mark_weaver: Thanks for clarifying, I jumped to conclusions there.
*taylanub is trying to figure out how to use GDB and the Guile REPL at the same time .. the REPL seems to overtake all input after doing "run" in GDB
<taylanub>#gdb was helpful, C-c it is. (C-c C-c in *gud-guile*)
<ArneBab>civodul: would you like to write a few paragraphs on your experience of using Guile to create a DSL for Guix? → http://draketo.de/proj/py2guile/#sec-6-1
<wingo>moin
<ArneBab>moin wingo
<ArneBab>civodul: I think “defining a package-format” is a poster-child of creating a domain specific language.
<civodul>hey wingo
<civodul>ArneBab: would you like to do it for me? ;-)
<civodul>or you could just link to the doc on gnu.org/s/guix
<civodul>the ELS paper talks about EDSLs
<taylanub>hrm, gdb can't find numbers.c, and when I do 'add-symbol-file ./libguile/numbers.c' it says "The address where ... has been loaded is missing"
<wingo>apropos directories
<wingo>taylanub: ^
<taylanub>ok .. what am I looking for there ? BTW I probably need to load the .lo files and not .c ?
<wingo>read the fine manual :)
<wingo> http://sourceware.org/gdb/current/onlinedocs/gdb/Source-Path.html#Source-Path
<nalaginrut>Arne`: I'm writing the tutorial, it's too long , maybe post on my blog and you put the link on it? ;-)
<nalaginrut>the code highlight in my blog is better, since the code is so long too
<ArneBab>civodul: actually I’m looking for short personal impressions: how was your experience while doing this?
<ArneBab>civodul: that this gets a link to Guix is clear ☺
<ArneBab>nalaginrut: if you could write an abstract of it (just a personal impression), that would be cool!
<ArneBab>nalaginrut: and could nicely be linked to the blog post
<nalaginrut>ArneBab: yeah
<ArneBab>nalaginrut: great!
<ArneBab>thank you!
<nalaginrut>ArneBab: np ;-)
*nalaginrut thinks doing some hustler work for Guile is necessary...
<didi`>Is there something like `program-lambda-list' for syntax?
<wingo>didi`: that's a hard question in general, but yes sorta
<wingo>for syntax-rules you can get at the patterns
<wingo>(procedure-property (macro-transformer (module-ref (current-module) 'do)) 'patterns)
<didi`>wingo: Ah, cool. Thank you.
<levabalkin>hello, where do I find the documentation for a procedure to execute an external program, say ls or qemu ?
<didi`>levabalkin: (info "(guile) Processes")
<ijp>prefer system* to system
<didi`>Hum. So not every macro has a transformer?
<didi`>(macro-transformer (module-ref (current-module) 'define)) => #f
<taylanub>OK so I have the libguile directory under the source directories, yet when I do "break numbers.c:9119" it says "No source file named numbers.c."
<wingo>didi`: not all macros have transformers, no
<wingo>taylanub: sounds like you managed to build without -g
<taylanub>I recompiled with "gmake CFLAGS+='-ggdb'" now and still have the same issue. By the way this is OS X.
<mark_weaver>didi`: 'define' is not a macro. it's core syntax.
<mark_weaver>(it's not possible to implement 'define' as a macro)
<ijp>well...
<ijp>we do have functions for adding to a particular module, the problem is that then you have to ask how those functions would get defined, how the macro for defining define gets defined
<ijp>turtles all the way down!
<mark_weaver>ijp: even so, what about when it's used internally?
<mark_weaver>(within another lambda)
<didi`>mark_weaver: I see. Tho (macro? (module-ref (current-module) 'define)) => #t
<ijp>I handwave and say it is part of the syntax of lambda
<mark_weaver>ijp: that wouldn't work either, because if you did it that way you wouldn't be able to define macros that expand into definitions.
<ijp>this is true
<mark_weaver>and anyway, I think at that point, you've already admitted that it's not really a macro anymore.
<mark_weaver>didi`: that's interesting! I guess that 'macro?' answers true for core syntax forms also.
<taylanub>heh: http://sprunge.us/bKRZ I wonder why
<taylanub>Oh well, need to catch the bus, will tackle this on monday (OS X machine only at work)
<mark_weaver>taylanub: what does (sin -0.0) return?
<mark_weaver>(well, if you have time for that quick test)
<didi`>mark_weaver: Another thing interesting: (macro-type (module-ref (current-module) 'if)) => core, but (macro-type (module-ref (current-module) 'define)) => define.
<taylanub>mark_weaver: I tested that, and also a little C program kinda imitating the code in make-polar, it behaved fine .. http://sprunge.us/AfTF
<mark_weaver>taylanub: so from guile (sin -0.0) => -0.0 ?
<taylanub>yep
<mark_weaver>taylanub: did you compile that test program with the same compiler you used to compile guile ?
<taylanub>yes
<mark_weaver>strange
<mark_weaver>well, I don't know what to tell you about the problems getting the debugger to work, but thanks for trying!
<mark_weaver>maybe you need to install the upstream gdb instead of whatever comes with xcode, dunno.
<taylanub>np :)
*taylanub gotta run now
<mark_weaver>okay, bye!
<mark_weaver>didi`: I didn't know that we exported anything like 'macro-type', but I guess that comes from the binding types listed in psyntax.scm starting from line 503 (in stable-2.0).
<mark_weaver>so even among what I would normally just call 'core' forms, there are some constructs that need to be recognized specially by bodies.
<mark_weaver>A 'body' is a technical term basically meaning a place where internal definitions are allowed.
<mark_weaver>and it's a little tricky to get them right, mainly in figuring out where the definitions stop and where the expressions begin.
<mark_weaver>if you want to know more, read the comment of 'expand-body' in psyntax.scm.
<mark_weaver>though I should say that understanding what's really going on in psyntax will probably require reading at least one paper about it.
<mark_weaver>(I recently added a citation near the top)
<didi`>Oh well. Maybe another day, then. ;^)
***cluck``` is now known as cluck
***wpceee is now known as wpsea
<dsmith-work>Happy Friday, Guilers!!