[Chicken-users] Re : Re: package fmt crash on Windows 7 64-bits
Christian, The issue is not specific to fmt package. Opengl package has the same issue. Did I make an obvious mistake? C:\working-dir\chicken-portable-clean\build\bincsi CHICKEN (c) 2008-2014, The Chicken Team (c) 2000-2007, Felix L. Winkelmann Version 4.9.0.1 (stability/4.9.0) (rev 8b3189b) windows-mingw32-x86-64 [ 64bit dload ptables ] bootstrapped 2014-06-07 #;1 (use gl) ; loading C:/working-dir/chicken-portable-clean/build/lib/chicken/7/gl.import.so ... ; loading C:/working-dir/chicken-portable-clean/build/lib/chicken/7/chicken.import.so ... ; loading C:/working-dir/chicken-portable-clean/build/lib/chicken/7/foreign.import.so ... ; loading C:/working-dir/chicken-portable-clean/build/lib/chicken/7/easyffi.import.so ... ; loading C:/working-dir/chicken-portable-clean/build/lib/chicken/7/gl.so ... [panic] invalid encoded numeric literal - execution terminated syntax syntax syntax syntax syntax syntax syntax syntax syntax syntax syntax syntax syntax syntax eval -- C:\working-dir\chicken-portable-clean\build\bin - Mail d'origine - De: Christian Kellermann ck...@pestilenz.org À: comb...@laposte.net Cc: chicken-users@nongnu.org Envoyé: Wed, 10 Dec 2014 10:33:02 +0100 (CET) Objet: Re: [Chicken-users] package fmt crash on Windows 7 64-bits Hi Pascal! * comb...@laposte.net comb...@laposte.net [141209 16:54]: I made some build of chicken on 64 bits and 32 bits. How do you build this exactly? 2. In the case we use the retrieve option of chicken-install to download the sources of the packages, how to install the local files locally? cd into the directory and run chicken-install without arguments should do it. Kind regards, Christian -- May you be peaceful, may you live in safety, may you be free from suffering, and may you live with ease. ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Re : Re: package fmt crash on Windows 7 64-bits
Hi! * f...@laposte.net f...@laposte.net [141213 14:59]: I believe it's a 64-bit related issue, because I didn't reproduce this problem on Windows 32 bits with the same steps (another toolchain and ARCH=x86). On 64 bit Windows the apply hack is disabled, we need a port of that. Not having the apply hack means that the number of arguments a procedure can have is limited. Maybe this causes trouble with the fmt egg... Kind regards, Christian -- May you be peaceful, may you live in safety, may you be free from suffering, and may you live with ease. ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Export a defstruct - Short Version?
* Bahman Movaqar bah...@bahmanm.com [141213 22:29]: This code obviously doesn't compile because the export list is wrong --if I change the export list to, for example, (make-point) it compiles fine. I'm aware a defstruct is basically a shortcut to create a bunch of functions and the standard way to export it is exporting all the functions one by one. Now, I'm wondering if there is an easier/shorter way to do this (something like a wild card)? No there isn't. There's a wildcard for exporting all symbols in a module, i.e. using a * instead of a symbol list. For records there's no such thing I am afraid. A lot of modules don't export some if not all accessors to hide the actual implementation. So for the time being you need to explicitly export the getters/setters and the make- procedure unless you want to provide your own (maybe with your application specific checks). HTH, Christian -- May you be peaceful, may you live in safety, may you be free from suffering, and may you live with ease. ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Export a defstruct - Short Version?
Thanks for the information Christian. -- Bahman Movaqar http://BahmanM.com - https://twitter.com/bahman__m https://github.com/bahmanm - https://gist.github.com/bahmanm PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com) On 12/14/2014 12:09 PM, Christian Kellermann wrote: * Bahman Movaqar bah...@bahmanm.com [141213 22:29]: This code obviously doesn't compile because the export list is wrong --if I change the export list to, for example, (make-point) it compiles fine. I'm aware a defstruct is basically a shortcut to create a bunch of functions and the standard way to export it is exporting all the functions one by one. Now, I'm wondering if there is an easier/shorter way to do this (something like a wild card)? No there isn't. There's a wildcard for exporting all symbols in a module, i.e. using a * instead of a symbol list. For records there's no such thing I am afraid. A lot of modules don't export some if not all accessors to hide the actual implementation. So for the time being you need to explicitly export the getters/setters and the make- procedure unless you want to provide your own (maybe with your application specific checks). signature.asc Description: OpenPGP digital signature ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Chicken program: How to clean up the working directory
* Bahman Movaqar bah...@bahmanm.com [141214 00:49]: I'm working on a simple project which I created using chicken-hatch. Thanks to the author of this egg, all's fine and going smoothly. However, I just wonder if there is a way to clean up the working directory of the program in a way that make clean does? Removing object files, binary files and other compilation left-over stuff. No, chicken-install is too dumb in that regard. However if you use the system egg to define your dependencies, then you could use clean-system to clean up the compilation artifacts. HTH, Christian -- May you be peaceful, may you live in safety, may you be free from suffering, and may you live with ease. ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Chicken program: How to clean up the working directory
On 12/14/2014 12:15 PM, Christian Kellermann wrote: * Bahman Movaqar bah...@bahmanm.com [141214 00:49]: I'm working on a simple project which I created using chicken-hatch. Thanks to the author of this egg, all's fine and going smoothly. However, I just wonder if there is a way to clean up the working directory of the program in a way that make clean does? Removing object files, binary files and other compilation left-over stuff. No, chicken-install is too dumb in that regard. However if you use the system egg to define your dependencies, then you could use clean-system to clean up the compilation artifacts. Thanks for the hint; much appreciated. -- Bahman Movaqar http://BahmanM.com - https://twitter.com/bahman__m https://github.com/bahmanm - https://gist.github.com/bahmanm PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com) signature.asc Description: OpenPGP digital signature ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Handling Errors
Consider the following simple function: (define (foo lis) (cdr lis)) Obviously LIS should neither be an empty list nor a list with only one element. What is the recommended way to deal with such constraints? Should I enforce them by writing conditionals at the beginning of the function[1]? Or is it conventional to just let the function fail and catch the error somewhere else (probably in a top-level function)? [1] This quickly leads to dirty and not-easy-to-read code. What say you seasoned schemers on this? -- Bahman Movaqar http://BahmanM.com - https://twitter.com/bahman__m https://github.com/bahmanm - https://gist.github.com/bahmanm PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com) signature.asc Description: OpenPGP digital signature ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Handling Errors
Hi, (define (foo lis) (cdr lis)) Obviously LIS should neither be an empty list nor a list with only one element. What is the recommended way to deal with such constraints? Should I enforce them by writing conditionals at the beginning of the function[1]? Or is it conventional to just let the function fail and catch the error somewhere else (probably in a top-level function)? [1] This quickly leads to dirty and not-easy-to-read code. What say you seasoned schemers on this? That depends on the scope of the accessor. I often use these kinds of things for quick and dirty data structures for passing seeds for fold around. In that case I use the even more concise '(define foo cdr)'. In the case where other modules are using the API then I might go to more trouble but then you have to think about whether, in the error cases: + To return successfully with a sentinel value. This is valid in some cases, depending on the data semantics. It can be implemented using the conditionals that you mention. + To use assert at the head of the procedure to validate the data structure. This doesn't stop the error but it gives a more debuggable message. + To catch and re-throw the exception. This is fraught with anti-patterns, is a lot of work and you have to do it really carefully. I hardly ever do this. Regards, @ndy -- andy...@ashurst.eu.org http://www.ashurst.eu.org/ 0x7EBA75FF signature.asc Description: OpenPGP digital signature ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] sendgrid egg: support for attribute files (attachments)?
Hi all. The egg sendgrid is very useful already. Does anybody know how to use the API attribute files (= attachments) with this egg? Ciao Sven ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Need help understanding include behaviour
Since the number of tests in my program is growing, I decided to break the tests into separate files --one file per module. So, for example, I have a file named misc.scm with misc module defined inside. In the tests/ folder I have a misc-tests.scm file. So in run.scm I do something like: (use test) (include misc-tests) ... (test-exit) And in misc-tests.scm I have something like below: (use test) (load ../misc) (import misc) (test-group misc ... However when running `chicken-install -test` I get the following error: Error: (import) during expansion of (import ...) - cannot import from undefined module: misc Now if I move the (load) and (import) expressions from misc-tests to run, everything works fine. What's the logic behind this behaviour of include [1]? I'd appreciate if someone would shed a light on this. [1] Of course I have already read include docs (http://api.call-cc.org/doc/chicken/special-forms/include) to no avail. TIA, -- Bahman Movaqar http://BahmanM.com - https://twitter.com/bahman__m https://github.com/bahmanm - https://gist.github.com/bahmanm PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com) signature.asc Description: OpenPGP digital signature ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Handling Errors
On 12/14/2014 05:13 PM, Andy Bennett wrote: Hi, (define (foo lis) (cdr lis)) Obviously LIS should neither be an empty list nor a list with only one element. What is the recommended way to deal with such constraints? Should I enforce them by writing conditionals at the beginning of the function[1]? Or is it conventional to just let the function fail and catch the error somewhere else (probably in a top-level function)? [1] This quickly leads to dirty and not-easy-to-read code. What say you seasoned schemers on this? That depends on the scope of the accessor. I often use these kinds of things for quick and dirty data structures for passing seeds for fold around. In that case I use the even more concise '(define foo cdr)'. In the case where other modules are using the API then I might go to more trouble but then you have to think about whether, in the error cases: + To return successfully with a sentinel value. This is valid in some cases, depending on the data semantics. It can be implemented using the conditionals that you mention. This one is really tricky. Not only pollutes the API code but also it also imposes some untidiness on the client side too which has to check if a sentinel value has been returned or not. + To use assert at the head of the procedure to validate the data structure. This doesn't stop the error but it gives a more debuggable message. By the gods! Why did I think that asserts only belong to modern'ish languages? :-) Assuming you're talking about this (http://api.call-cc.org/doc/chicken/special-forms/assert), I believe this is the best option. Keeps the code as clean as possible while ensuring operational soundness. + To catch and re-throw the exception. This is fraught with anti-patterns, is a lot of work and you have to do it really carefully. I hardly ever do this. Never! :-) Thanks for the detailed answer. Much appreciated. -- Bahman Movaqar http://BahmanM.com - https://twitter.com/bahman__m https://github.com/bahmanm - https://gist.github.com/bahmanm PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com) signature.asc Description: OpenPGP digital signature ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Idiomatic way to access nth element of a list
How would a seasoned Schemer access the nth element of a list? (drop)? Does it have any performance penalty? TIA, -- Bahman Movaqar http://BahmanM.com - https://twitter.com/bahman__m https://github.com/bahmanm - https://gist.github.com/bahmanm PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com) signature.asc Description: OpenPGP digital signature ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Idiomatic way to access nth element of a list
list-ref On Sun, 14 Dec 2014 20:08:09 +0330 Bahman Movaqar bah...@bahmanm.com wrote: How would a seasoned Schemer access the nth element of a list? (drop)? Does it have any performance penalty? TIA, -- Shawn Wagner sha...@speakeasy.org ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Idiomatic way to access nth element of a list
Forgot to CC the list, and now I lost my original message :( ... trying again Hello Bayren, To access the nth-element of a list one would use list-ref. For example: (list-ref (list 1 2 3 4) - 3) The problem with linked-lists is that in order to access an element the list has to be traversed. To access/modify elements in constant time it might be better to use vectors instead. If you need vectors that grow in size dynamically have a look at the dyn-vector egg: http://wiki.call-cc.org/eggref/4/dyn-vector greetings, Richard Bahman Movaqar writes: How would a seasoned Schemer access the nth element of a list? (drop)? Does it have any performance penalty? TIA, -- ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Idiomatic way to access nth element of a list
On 12/14/2014 09:18 PM, Richard wrote: Hello Bayman, The get to the nth element of a list one would use list-ref. For example: (list-ref (list 1 2 3 4) 2) - 3 The problem with linked lists is that in order to get to the nth element the list has to be traversed, which does bring a performance penalty. You can use vectors instead of list if you want to access/modify elements in constant time. If you need a vector that can dynamically grow take a look at the dyn-vector egg: http://wiki.call-cc.org/eggref/4/dyn-vector. Bahman Movaqar writes: How would a seasoned Schemer access the nth element of a list? (drop)? Does it have any performance penalty? Thanks Richard and Shawn for the answer. For my use case I find it acceptable to use the cleaner more comprehensive list interface (rather than vectors) at the expense of the performance penalty. -- Bahman Movaqar http://BahmanM.com - https://twitter.com/bahman__m https://github.com/bahmanm - https://gist.github.com/bahmanm PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com) signature.asc Description: OpenPGP digital signature ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Multiple Modules - Cross Reference
First of all, sorry for spamming the list :-) So, I've got two modules: ;; misc.scm (module misc ...) ;; point.scm (load misc) (module point (...) (import scheme chicken) (use srfi-1 misc) ...) And I've setup the project like below: (compile -d0 -O2 -J -s touka.scm) (compile -d0 -O2 -s touka.import.scm) (compile -d0 -O2 -s misc.scm) (compile -d0 -O2 -s point.scm) (install-extension 'touka '(touka.so touka.import.so misc.so point.so) '((version 0.0.1))) However the test (compile) phase aborts withe the following error: 'csc' -feature compiling-extension -setup-mode-d0 -O2 -s point.scm Syntax error (import): cannot import from undefined module misc I need some help deciphering this message. misc.scm successfully gets compiled to .so which I load at the beginning of point. What am I doing wrong? TIA, -- Bahman Movaqar http://BahmanM.com - https://twitter.com/bahman__m https://github.com/bahmanm - https://gist.github.com/bahmanm PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com) signature.asc Description: OpenPGP digital signature ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Multiple Modules - Cross Reference
Hello Bahman, You have to emit (and compile) the import library for misc.scm, like you did for touka.scm i.e: (compile -d0 -O2 -J -s misc.scm) (compile -d0 -O2 -J -s misc.import.scm) all should work now. good luck and no worries about 'spamming' the list. greetings, Richard Bahman Movaqar writes: First of all, sorry for spamming the list :-) So, I've got two modules: ;; misc.scm (module misc ...) ;; point.scm (load misc) (module point (...) (import scheme chicken) (use srfi-1 misc) ...) And I've setup the project like below: (compile -d0 -O2 -J -s touka.scm) (compile -d0 -O2 -s touka.import.scm) (compile -d0 -O2 -s point.scm) (install-extension 'touka '(touka.so touka.import.so misc.so point.so) '((version 0.0.1))) However the test (compile) phase aborts withe the following error: 'csc' -feature compiling-extension -setup-mode-d0 -O2 -s point.scm Syntax error (import): cannot import from undefined module misc I need some help deciphering this message. misc.scm successfully gets compiled to .so which I load at the beginning of point. What am I doing wrong? TIA, -- ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Multiple Modules - Cross Reference
sorry, correction, do not put -J in the second line: (compile -d0 -O2 -s misc.import.scm) Richard writes: Hello Bahman, You have to emit (and compile) the import library for misc.scm, like you did for touka.scm i.e: (compile -d0 -O2 -J -s misc.scm) (compile -d0 -O2 -J -s misc.import.scm) all should work now. good luck and no worries about 'spamming' the list. greetings, Richard Bahman Movaqar writes: First of all, sorry for spamming the list :-) So, I've got two modules: ;; misc.scm (module misc ...) ;; point.scm (load misc) (module point (...) (import scheme chicken) (use srfi-1 misc) ...) And I've setup the project like below: (compile -d0 -O2 -J -s touka.scm) (compile -d0 -O2 -s touka.import.scm) (compile -d0 -O2 -s point.scm) (install-extension 'touka '(touka.so touka.import.so misc.so point.so) '((version 0.0.1))) However the test (compile) phase aborts withe the following error: 'csc' -feature compiling-extension -setup-mode-d0 -O2 -s point.scm Syntax error (import): cannot import from undefined module misc I need some help deciphering this message. misc.scm successfully gets compiled to .so which I load at the beginning of point. What am I doing wrong? TIA, -- ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Multiple Modules - Cross Reference
On 12/14/2014 09:55 PM, Richard wrote: Hello Bahman, You have to emit (and compile) the import library for misc.scm, like you did for touka.scm i.e: Thanks for the hint. So the rule is to compile the .import.scm for any module that is supposed to be imported by others? (compile -d0 -O2 -J -s misc.scm) (compile -d0 -O2 -J -s misc.import.scm) all should work now. Nope. Though the error message has changed to the following: 'csi' -s run.scm touka Error: (import) during expansion of (import ...) - cannot import from undefined module: misc From what I can understand it is choking on run.scm which is a very simple file: (use test) (load ../misc) (import misc) (include misc-tests) (load ../point) (import point) (include point-tests) (test-exit) good luck and no worries about 'spamming' the list. Thanks! Bahman Movaqar writes: First of all, sorry for spamming the list :-) So, I've got two modules: ;; misc.scm (module misc ...) ;; point.scm (load misc) (module point (...) (import scheme chicken) (use srfi-1 misc) ...) And I've setup the project like below: (compile -d0 -O2 -J -s touka.scm) (compile -d0 -O2 -s touka.import.scm) (compile -d0 -O2 -s point.scm) (install-extension 'touka '(touka.so touka.import.so misc.so point.so) '((version 0.0.1))) However the test (compile) phase aborts withe the following error: 'csc' -feature compiling-extension -setup-mode-d0 -O2 -s point.scm Syntax error (import): cannot import from undefined module misc I need some help deciphering this message. misc.scm successfully gets compiled to .so which I load at the beginning of point. What am I doing wrong? -- Bahman Movaqar http://BahmanM.com - https://twitter.com/bahman__m https://github.com/bahmanm - https://gist.github.com/bahmanm PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com) signature.asc Description: OpenPGP digital signature ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Need help understanding include behaviour
On 12/14/2014 10:19 PM, John Cowan wrote: Bahman Movaqar scripsit: (use test) (load ../misc) (import misc) (test-group misc ... However when running `chicken-install -test` I get the following error: Error: (import) during expansion of (import ...) - cannot import from undefined module: misc When you aren't in the same directory, the misc.import.scm/.so can't be found, which is why the module can't be imported. If you put the test files in the same directory as the main code, then you can just (use misc). Does that mean that there's no way to have tests in the separate directory or does it require special trickery? Now if I move the (load) and (import) expressions from misc-tests to run, everything works fine. What's the logic behind this behaviour of include [1]? I'd appreciate if someone would shed a light on this. Essentially, include happens at compile time: it is a macro that directly incorporates the file you mentioned. Load is a run-time operation. Note that since you are including your individual test file, there is no need to use test a second time. Thanks for the information. But I still don't understand why moving (load) and (import) to run.scm makes things work? :-) -- Bahman Movaqar http://BahmanM.com - https://twitter.com/bahman__m https://github.com/bahmanm - https://gist.github.com/bahmanm PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com) signature.asc Description: OpenPGP digital signature ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Multiple Modules - Cross Reference
On 12/14/2014 08:44 PM, Bahman Movaqar wrote: First of all, sorry for spamming the list :-) So, I've got two modules: ;; misc.scm (module misc ...) ;; point.scm (load misc) (module point (...) (import scheme chicken) (use srfi-1 misc) ...) And I've setup the project like below: (compile -d0 -O2 -J -s touka.scm) (compile -d0 -O2 -s touka.import.scm) (compile -d0 -O2 -s misc.scm) (compile -d0 -O2 -s point.scm) (install-extension 'touka '(touka.so touka.import.so misc.so point.so) '((version 0.0.1))) However the test (compile) phase aborts withe the following error: 'csc' -feature compiling-extension -setup-mode-d0 -O2 -s point.scm Syntax error (import): cannot import from undefined module misc I need some help deciphering this message. misc.scm successfully gets compiled to .so which I load at the beginning of point. What am I doing wrong? So thanks to Richard and John I finally got things working. I even pushed my working setup as a tag [1] so that other newcomers don't have to go through the same puzzle. [1] https://github.com/bahmanm/touka/tree/0.0.0 -- Bahman Movaqar http://BahmanM.com - https://twitter.com/bahman__m https://github.com/bahmanm - https://gist.github.com/bahmanm PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com) signature.asc Description: OpenPGP digital signature ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] SRFI-99 - What is a variant type?
Reading the docs on SRFI-99 [1], I need some help understanding what is a variant type. Would someone please pass me a relevant link to read? -- Bahman Movaqar http://BahmanM.com - https://twitter.com/bahman__m https://github.com/bahmanm - https://gist.github.com/bahmanm PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com) signature.asc Description: OpenPGP digital signature ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] SRFI-99 - What is a variant type?
This appears to be a chicken-specific extension: http://www.chust.org/fossils/srfi-99/wiki?name=variant+types I'm not sure I understand that description, but appears to be something like a union type? -- Alex On Mon, Dec 15, 2014 at 12:12 PM, Bahman Movaqar bah...@bahmanm.com wrote: Reading the docs on SRFI-99 [1], I need some help understanding what is a variant type. Would someone please pass me a relevant link to read? -- Bahman Movaqar http://BahmanM.com - https://twitter.com/bahman__m https://github.com/bahmanm - https://gist.github.com/bahmanm PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com) ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] SRFI-99 - What is a variant type?
On 12/15/2014 08:38 AM, Alex Shinn wrote: This appears to be a chicken-specific extension: http://www.chust.org/fossils/srfi-99/wiki?name=variant+types I'm not sure I understand that description, but appears to be something like a union type? Thanks for your answer Alex. I didn't understand it either :-) On Mon, Dec 15, 2014 at 12:12 PM, Bahman Movaqar bah...@bahmanm.com mailto:bah...@bahmanm.com wrote: Reading the docs on SRFI-99 [1], I need some help understanding what is a variant type. Would someone please pass me a relevant link to read? -- Bahman Movaqar http://BahmanM.com - https://twitter.com/bahman__m https://github.com/bahmanm - https://gist.github.com/bahmanm PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com) signature.asc Description: OpenPGP digital signature ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] SRFI-99 - What is a variant type?
I'll chime in that I also find it a little clumsily written, but that it reads to me like variant types are, in practice, little more than different ways of identifying the same data. Which seems like something you could do with an additional field, but perhaps you aren't interested in exposing any implementation details of your type to the user and so this sort of behaviour is desirable. That said, I've never seen it in use. -Dan On Sun, Dec 14, 2014 at 9:58 PM, Bahman Movaqar bah...@bahmanm.com wrote: On 12/15/2014 08:38 AM, Alex Shinn wrote: This appears to be a chicken-specific extension: http://www.chust.org/fossils/srfi-99/wiki?name=variant+types I'm not sure I understand that description, but appears to be something like a union type? Thanks for your answer Alex. I didn't understand it either :-) On Mon, Dec 15, 2014 at 12:12 PM, Bahman Movaqar bah...@bahmanm.com mailto:bah...@bahmanm.com wrote: Reading the docs on SRFI-99 [1], I need some help understanding what is a variant type. Would someone please pass me a relevant link to read? -- Bahman Movaqar http://BahmanM.com - https://twitter.com/bahman__m https://github.com/bahmanm - https://gist.github.com/bahmanm PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com) ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Installing combinatorics - cock missing
Has anyone recently managed to install combinatorics [1]? chicken-install (truely) keeps complaining about cock egg not exisiting. bahman@hamun:~/Work/Touka$ chicken-install combinatorics retrieving ... connecting to host chicken.kitten-technologies.co.uk, port 80 ... requesting /henrietta.cgi?name=combinatoricsmode=default ... reading response ... HTTP/1.1 200 OK Date: Mon, 15 Dec 2014 07:46:43 GMT Server: Apache/2.2.29 (Unix) DAV/2 SVN/1.8.10 PHP/5.4.32 mod_fastcgi/2.4.6 Transfer-Encoding: chunked Content-Type: text/plain Connection: close reading chunks ... reading files ... ./TODO.org ./combinatorics-core.scm ./combinatorics.meta ./combinatorics.release-info ./combinatorics.scm ./combinatorics.setup ./combinatorics.wiki combinatorics located at /tmp/temp6d7f.9819/combinatorics checking platform for `combinatorics' ... checking dependencies for `combinatorics' ... missing: cock, setup-helper, vector-lib retrieving ... connecting to host chicken.kitten-technologies.co.uk, port 80 ... requesting /henrietta.cgi?name=cockmode=default ... reading response ... HTTP/1.1 403 Forbidden HTTP protocol error connecting to host code.call-cc.org, port 80 ... requesting /cgi-bin/henrietta.cgi?name=cockmode=default ... reading response ... HTTP/1.1 403 Forbidden HTTP protocol error Error: extension or version not found -- Bahman Movaqar http://BahmanM.com - https://twitter.com/bahman__m https://github.com/bahmanm - https://gist.github.com/bahmanm PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com) signature.asc Description: OpenPGP digital signature ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users