Using . in module names
From reading the documentation, I would expect this to work, as . is valid in symbols? But from trying this out, it does not seem to (the module cannot be loaded). Does anyone have information about this? signature.asc Description: OpenPGP digital signature
Re: Using . in module names
On 03/06/16 08:57, Christopher Baines wrote: From reading the documentation, I would expect this to work, as . is valid in symbols? But from trying this out, it does not seem to (the module cannot be loaded). Does anyone have information about this? I think you should provide the complete example of what isn't working. It's not clear to me if you mean (define-module (.) ...) or (define-module (.something) ...) or (define-module (something . else) ...) etc. Regards, Neil
How do you earn money with Guile?
Hi, > “I would take Guile seriously when someone earned money with it.” > — someone from IRC When I saw this on IRC, I realized that the there’s something to it: When a professional sees something new and is unsure whether it can be useful to business, it’s sensible to first check whether someone else already earns money with it. That doesn’t work for the first person, but it works for all others. So I want to ask you: Do you earn part of your income by programming with Guile? I’ll go first: I used Guile for a few tasks for my PhD thesis (which I got paid for). The first main task was to assemble commandlines for my plotting tool where my previous shell scripts became a maintenance nightmare. All in all that’s about 300 lines of Guile Scheme. I’ll be using Guile for this again in the following months. The second main task was to build an Ensemble Kalman Filter to get a deeper understanding of the method. That’s about 266 lines of Guile wisp and available online: https://bitbucket.org/ArneBab/wisp/src/v0.9.0/examples/ensemble-estimation.w I’d be glad to hear how you earn money with Guile! Best wishes, Arne Babenhauserheide PS: Earning money with Free Software is awesome!
Re: Using . in module names
Christopher Baines writes: > From reading the documentation, I would expect this to work, as . is > valid in symbols? But from trying this out, it does not seem to (the > module cannot be loaded). > > Does anyone have information about this? While "." is valid in symbols, using it alone as a symbol is difficult, since it's part of s-expression syntax denoting pairs. In Guile, the syntax #{foo}# can be used to force something to be parsed as a symbol. For instance, #{abcd}# and abcd are the same, but #{123}# is a symbol whereas 123 is parsed as a number. Similarly, #{.}# can be used to denote the symbol that consists of the sole character ".". (define-module (foo #{.}# bar) ...) (use-modules (foo #{.}# bar) ...) By the way, R7RS has standardized the syntax |foo| to denote symbols, which Guile already supports in a branch, though I don't know when it will make it into a release. With that, the above examples would be (define-module (foo |.| bar) ...) (use-modules (foo |.| bar) ...) which is somewhat cleaner. There is no way to avoid using something like #{}# or || here, since in the s-expression (define-module (foo . bar) ...) the "(foo . bar)" part parses as a pair object whose car is foo and cdr is bar. Taylan
Re: Using . in module names
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer"): > By the way, R7RS has standardized the syntax |foo| to denote symbols, What is the R7RS notation for the symbol "|" (without the quotes)? Marko
Re: Using . in module names
Marko Rauhamaa writes: > taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer"): > >> By the way, R7RS has standardized the syntax |foo| to denote symbols, > > What is the R7RS notation for the symbol "|" (without the quotes)? > > Marko |\|| Akin to the string "\"". Taylan
Re: How do you earn money with Guile?
It's an interesting topic. Although I planed to share something when I earn more money, now that someone raised it... :-) Here I give you two real cases. The first one is that we use Guile to send command from UART to control a small robot. We made it in a sponsored hackathon. And earned the highest award in couple of hours, about $1500 (10,000 Chinese yuan). People never saw such a project, as the journalist wrote: "they ask the robot to write just 3 Chinese characters and get 10,000 yuan." It's an interesting story, I will write it in my blog. I wrote the prototype in Guile, but the hackathon day I have to go to church, and my friends encoutered problems, then someone have to rewrite it in Forth, or we may lost the chance in time. But the name of the project is lambda-tortoise, since it's in Scheme originally. Of course it's free project, and yes I wrote a thing to let Guile control serial port. But I haven't gotten time to release it. Here is the media report: http://m.leiphone.com/news/201510/Hk7mizNbynrIInam.html The second case is that I wrote a complete video multicasting system for a primary school. It's a serious business project, I spent lot of time to debug and deploy. The priciple is not complicated, there's server-side written in GNU Artanis (of course it's pure Guile Scheme) provided RESTful APIs, and more than 50 raspberryPI as client nodes (running some scripts to interact with the server), each node control a TV set. The operator could control nodes in groups, or monitor heartbeat, and even give command to it (shutdown or replay certain video). The old solution is very expensive for the school, and can not be scalable. I use Artanis for quick develop, and raspberryPI is cheap. So I helped them to solve the scalability problem, now if they want to add new node, just buy a raspberryPI, and flash a card with a customized system, connect to network, plug to the TV set, and just power it, it'll be recognized by server and push the latest video list. Very easy for them. Besides, my server is faster then their old solution which runs on Windows with dot net. They surprised that how my server can be so fast to upload 1G video in few seconds. And I surprised too, how can they endure such performance these years, 200M video they have to wait 10 minutes. For such a result all beyond their expectation. I get well paid, consider I just spent two days for programming(more time spent on debug and deploy), I think it's efficient to develop with Guile. Well, I can't reveal how much money for this project. But it's far more than the number of the award I mentioned in the first case. And unfortunately, they bought all the code, so I can't free it to you. I really want to persuade them to free it to make this project as a perfect case of free software. But it's high customized system to meet their specific need. They don't want to reveal it for many reasons. Anyway, Artanis become stronger after this real business project. I think it's the most important. And I have to say frankly, I can earn the money is not because I use Guile, but because I know how to solve the problem. Although the ability of solving problem is unrelated to the language, it's good for you to choose a good language for better develop experiences. Guile is a practical one in Scheme world. To my experience, Scheme is flexible enough when your code base increase, that is to say, you don't have to refactor frequently to meet your new needs, all the old part are easy to intergrate with your new code. For an Object-Oriented user, this may not surprise, but what if you drop your heavy object system and do the job in a light way? I think I'm the only one who refuse OO (yes, extreamly intended) in Scheme programming. I just want to see, to what extent, we may drop OO for same purpose in Scheme. OK, I confess I'm cheating, since I use the inheritance in record-type in r6rs. But it's the only cheating. :-) Arne Babenhauserheide 于2016年6月3日周五 17:47写道: > Hi, > > > “I would take Guile seriously when someone earned money with it.” > > — someone from IRC > > When I saw this on IRC, I realized that the there’s something to it: > When a professional sees something new and is unsure whether it can be > useful to business, it’s sensible to first check whether someone else > already earns money with it. That doesn’t work for the first person, but > it works for all others. > > > So I want to ask you: Do you earn part of your income by programming > with Guile? > > > I’ll go first: I used Guile for a few tasks for my PhD thesis (which I > got paid for). > > The first main task was to assemble commandlines for my plotting tool > where my previous shell scripts became a maintenance nightmare. All in > all that’s about 300 lines of Guile Scheme. I’ll be using Guile for this > again in the following months. > > The second main task was to build an Ensemble Kalman Filter to get a > deeper understanding of the method. That’s about 266 lines of Guile wisp > a
Re: How do you earn money with Guile?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 On Fri, 03 Jun 2016 11:32:24 +0200 Arne Babenhauserheide wrote: > Hi, > > > “I would take Guile seriously when someone earned money with it.” > > — someone from IRC > > When I saw this on IRC, I realized that the there’s something to it: > When a professional sees something new and is unsure whether it can be > useful to business, it’s sensible to first check whether someone else > already earns money with it. That doesn’t work for the first person, > but it works for all others. > > > So I want to ask you: Do you earn part of your income by programming > with Guile? > > > I’ll go first: I used Guile for a few tasks for my PhD thesis (which I > got paid for). > > The first main task was to assemble commandlines for my plotting tool > where my previous shell scripts became a maintenance nightmare. All in > all that’s about 300 lines of Guile Scheme. I’ll be using Guile for > this again in the following months. > > The second main task was to build an Ensemble Kalman Filter to get a > deeper understanding of the method. That’s about 266 lines of Guile > wisp and available online: > https://bitbucket.org/ArneBab/wisp/src/v0.9.0/examples/ensemble-estimation.w > > > I’d be glad to hear how you earn money with Guile! > > > Best wishes, > Arne Babenhauserheide > > PS: Earning money with Free Software is awesome! > In today's development ecosystem, I fear a language won't gain any popular traction (and thereby cause profit to be gained) until you can build a blog or some other inane web application in it... preferably in under 5 minutes. It doesn't matter how well the language does anything else. At the risk of derailing the thread, I think a better approach would be to show things that guile can do. This seems to help the popularity of languages. And to contribute: I wrote a couple of bits of guile at work for monitoring some system processes, which I was paid for. I've also used it in a side project related to mail processing that may someday generate income but that's still a long way off. cmh - -- Happy Hacking! http://libernil.net/~cmhobbs GPG: 1200 0808 F968 47AB F489 91A3 FE26 6FFB 1A77 0868 -BEGIN PGP SIGNATURE- Version: GnuPG v2 iQIcBAEBCAAGBQJXUcUPAAoJEP4mb/sadwhosXQQAMpVQNDi1VA3gdc10vldWOdr IjErmy3DRnOx8sfpBtnDpL48+KnQppTGBZOldIlf0Mb9mLkWl054JMzxVIJ0r+bU GU8xK7vpk6wBuYnYD9s8653Nd1QuBaL4RO1RsqpZ5TAAvr31NqmOIt8LPDJ/ILlH /azHaZx/zaLICNKGlyuNalXhZITb7vlILfttOAMR4WGB1eHyT8OjlK4U4PZtPO67 FbwKYq0HWmCoXS9e5477kjKmbuI2gu3+OlDZhNP8rRxfch11iaXe09ORe8LDTVRw Azf1YP3KxzlDLFLx57V15AdYhzVR6Ea3PojfPJPlRz0MJOkh8EMg4tQEHCwxPdau 7n6Q9U2n96yAhO4GPsiNJiN1/BxXZt6Sp3MpQbMG86MIOmv/oo/VgjtE+dXz69aM 6a/swSE/FuAOTpEEh2uKC8pQj8iJa0YnXNE2L4EOFS10QVmf4kiuaPNjkVHiNsV9 NMdryFpDafWt+0MFEJSamaIML6UFF3KTr/ySi/XzMY1ljk/fTeKy/evSkoSTmcif x0ujcnNu7U87ws+tEs7o1W5vTTtCJuA12gxe1ItQSDvLv9coOVXtVNOnBqMkQvR3 0Aj5Ir2Q7Gv49WqfJsU6O1vHUJwQdpJkHbhqWWp/TX/dTo9t0c2DA6gu80RoZwwH rif3i7FtsZ/SBbITmM51 =jDI7 -END PGP SIGNATURE-
Re: How do you earn money with Guile?
If you are adaptable, interested, and productive, you can earn money. Frankly, if you learn a language because of its industry position on any given day, you're going to have a very narrow view of your craft. To play the game a bit, I earned money writing guile, or rather, I wrote guile to earn money. I wrote guile-snmp to manage several large networks. guile-snmp was developed to run parts of the NHS.net network (I re-wrote several tools back to perl net-snmp for the benefit of colleagues, but tools were developed with guile-snmp first, far more quickly, and concisely that I could have achieved otherwise). I used and extended it for a 5 or 6 years and it became by far the best SNMP reporting tool I've ever used (yes, I'm biased). I'm no longer in the network management business, and SNMP has (unjustly) fallen out of favour, so sadly I don't really do much with it any more. More importantly, I learnt an enormous amount about functional programming, learned to really lovee lisp (and scheme, and guile). That knowledge definitely made me a better programmer. It made me really "get" various aspects javascript development that I'd have struggled with otherwise. Got me interested in SML and haskell (the alternatives to the cult of lambda). So my time with guile has, indirectly, gotten me plenty of jobs, even if the people that hired me didn't know it. On Fri, 3 Jun 2016 at 18:58 Christopher M. Hobbs wrote: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA256 > > On Fri, 03 Jun 2016 11:32:24 +0200 > Arne Babenhauserheide wrote: > > > Hi, > > > > > “I would take Guile seriously when someone earned money with it.” > > > — someone from IRC > > > > When I saw this on IRC, I realized that the there’s something to it: > > When a professional sees something new and is unsure whether it can be > > useful to business, it’s sensible to first check whether someone else > > already earns money with it. That doesn’t work for the first person, > > but it works for all others. > > > > > > So I want to ask you: Do you earn part of your income by programming > > with Guile? > > > > > > I’ll go first: I used Guile for a few tasks for my PhD thesis (which I > > got paid for). > > > > The first main task was to assemble commandlines for my plotting tool > > where my previous shell scripts became a maintenance nightmare. All in > > all that’s about 300 lines of Guile Scheme. I’ll be using Guile for > > this again in the following months. > > > > The second main task was to build an Ensemble Kalman Filter to get a > > deeper understanding of the method. That’s about 266 lines of Guile > > wisp and available online: > > > https://bitbucket.org/ArneBab/wisp/src/v0.9.0/examples/ensemble-estimation.w > > > > > > I’d be glad to hear how you earn money with Guile! > > > > > > Best wishes, > > Arne Babenhauserheide > > > > PS: Earning money with Free Software is awesome! > > > > In today's development ecosystem, I fear a language won't gain any > popular traction (and thereby cause profit to be gained) until you can > build a blog or some other inane web application in it... preferably in > under 5 minutes. It doesn't matter how well the language does anything > else. > > At the risk of derailing the thread, I think a better approach would be > to show things that guile can do. This seems to help the popularity of > languages. > > And to contribute: I wrote a couple of bits of guile at work for > monitoring some system processes, which I was paid for. I've also used > it in a side project related to mail processing that may someday > generate income but that's still a long way off. > > cmh > > - -- > Happy Hacking! > > http://libernil.net/~cmhobbs > GPG: 1200 0808 F968 47AB F489 91A3 FE26 6FFB 1A77 0868 > > -BEGIN PGP SIGNATURE- > Version: GnuPG v2 > > iQIcBAEBCAAGBQJXUcUPAAoJEP4mb/sadwhosXQQAMpVQNDi1VA3gdc10vldWOdr > IjErmy3DRnOx8sfpBtnDpL48+KnQppTGBZOldIlf0Mb9mLkWl054JMzxVIJ0r+bU > GU8xK7vpk6wBuYnYD9s8653Nd1QuBaL4RO1RsqpZ5TAAvr31NqmOIt8LPDJ/ILlH > /azHaZx/zaLICNKGlyuNalXhZITb7vlILfttOAMR4WGB1eHyT8OjlK4U4PZtPO67 > FbwKYq0HWmCoXS9e5477kjKmbuI2gu3+OlDZhNP8rRxfch11iaXe09ORe8LDTVRw > Azf1YP3KxzlDLFLx57V15AdYhzVR6Ea3PojfPJPlRz0MJOkh8EMg4tQEHCwxPdau > 7n6Q9U2n96yAhO4GPsiNJiN1/BxXZt6Sp3MpQbMG86MIOmv/oo/VgjtE+dXz69aM > 6a/swSE/FuAOTpEEh2uKC8pQj8iJa0YnXNE2L4EOFS10QVmf4kiuaPNjkVHiNsV9 > NMdryFpDafWt+0MFEJSamaIML6UFF3KTr/ySi/XzMY1ljk/fTeKy/evSkoSTmcif > x0ujcnNu7U87ws+tEs7o1W5vTTtCJuA12gxe1ItQSDvLv9coOVXtVNOnBqMkQvR3 > 0Aj5Ir2Q7Gv49WqfJsU6O1vHUJwQdpJkHbhqWWp/TX/dTo9t0c2DA6gu80RoZwwH > rif3i7FtsZ/SBbITmM51 > =jDI7 > -END PGP SIGNATURE- >