I have a set of proposals for making Guile Scheme more optimizable.
My knowledge of Guile internals is lacking, but I hope these ideas
will be useful from a high-level perspective, at the very least to
ignite some thoughts.
If feedback is positive, I will try and allocate a good chunk of my
free t
Mark H Weaver writes:
> Here's an implementation of SRFI-111 Boxes for stable-2.0.
> What do you think?
>
> Mark
Has it been considered to coalesce the box type with Guile's "variable"
type? I can see two concrete differences:
* External representation (*not* specified by SRFI-111)
* Va
l...@gnu.org (Ludovic Courtès) writes:
> One related thing I sometimes lack is:
>
> (define-syntax-rule (thunk exp ...)
> (lambda () exp ...))
My understanding is that that'd be (^ exp ...). `thunk' might be nicer
for one's tastes, but some consistency between different people's code
would
Arne Babenhauserheide writes:
> What do you think?
I don't have a strong opinion at all, since this feels like a bikesheddy
issue, but I think the current behavior is more preferable. A lambda
form cannot have an empty body, and having a docstring shouldn't change
that, so I would expect (lambd
"Diogo F. S. Ramos" writes:
> While describing special characters, remind the reader that
> "non-greedy" variants are not supported. They might not be familiar
> with POSIX extended regular expression and expect it to work.
Going by that logic, might they not expect a lot more? (Say, if all
th
"Diogo F. S. Ramos" writes:
> The documentation is already pointing out that some characters are
> special, so adding the "non-greedy" observation is not special in this
> case and IMO it's an expected feature from regexps.
I'd rather say that *both* the mention of those characters, and the
ment
Hi,
On OS X 10.9 with Xcode 5.1, make fails unless -O0 is used; the output
of ./configure && make during the failure is here:
http://sprunge.us/PLGI
After a successful build with -O0, there are two failures during make
check:
FAIL: srfi-18.test: thread-terminate!: termination destroys non-start
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:
> Hi,
>
> On OS X 10.9 with Xcode 5.1, make fails unless -O0 is used; the output
> of ./configure && make during the failure is here:
>
> http://sprunge.us/PLGI
>
> After a successful bui
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:
> taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:
>
>> Hi,
>>
>> On OS X 10.9 with Xcode 5.1, make fails unless -O0 is used; the output
>> of ./configure &&
Mark H Weaver writes:
> Thoughts?
I have no experience with SRFI-4 so don't know what would be most
pragmatic, but reading the specification, I see s8vector, u8vector,
s16vector, etc. are all distinct data types, though u8vector corresponds
to u8vector from SRFI-66, bytevectors from R6RS, and by
>From 613c00221bf4e2bd5e809aebd792ed7c056455b3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
Date: Fri, 20 Feb 2015 21:11:03 +0100
Subject: [PATCH] Correct docstring of 'symlink'
* libguile/filesys.c (symlink): Correct the docstring, which had
'oldpath'
l...@gnu.org (Ludovic Courtès) writes:
> Could you also update the texi file?
In (info "(guile) File System") it was already correct.
Taylan
l...@gnu.org (Ludovic Courtès) writes:
> OK, please push then.
I don't have push access on Guile. :-)
Taylan
e/srfi/srfi-123.scm b/module/srfi/srfi-123.scm
new file mode 100644
index 000..41c377d
--- /dev/null
+++ b/module/srfi/srfi-123.scm
@@ -0,0 +1,183 @@
+;;; srfi-123.scm -- Generic accessor and modifier operators
+
+;; Copyright (C) 2015 Taylan Ulrich Bayırlı/Kammer
+;;
+;; This library is free
file mode 100644
index 000..41c377d
--- /dev/null
+++ b/module/srfi/srfi-123.scm
@@ -0,0 +1,183 @@
+;;; srfi-123.scm -- Generic accessor and modifier operators
+
+;; Copyright (C) 2015 Taylan Ulrich Bayırlı/Kammer
+;;
+;; This library is free software; you can redistribute it and/or
+;; modify it
This is a bit of a crank idea, but here goes.
Today I wasted some time trying to find the bug in the following piece
of code:
(define (syntax-car syntax)
(syntax-case syntax () ((car . cdr) #'car)))
Better error reporting in macro-expansion errors might have made it less
painful, but m
Panicz Maciej Godek writes:
> You mean that #'x is synonymous to (syntax x), and that's where the
> problem stems from?
Yup. I shadow 'syntax', but I don't explicitly shadow "#'". It gets
shadowed implicitly. Lexical scoping and hygiene are supposed to let
the programmer forget about such wor
Panicz Maciej Godek writes:
> Your point is that quote (and unquote, and quasiquote, and syntax, and
> unsyntax, and quasisyntax) is a reader macro, so one might forget that
> 'x is really (quote x) -- because that indeed cannot be infered from
> the source code.
Yup, exactly.
> You've got the
Panicz Maciej Godek writes:
> I think that this is the case for R6RS or R7RS, but as far as I can
> tell, in R5RS it would be problematic.
I think the R5RS is implicitly silent on that by virtue of not having a
library system. It says that a literal in a pattern will match "if it
has the same l
module/srfi/srfi-123.scm
new file mode 100644
index 000..5a25e6d
--- /dev/null
+++ b/module/srfi/srfi-123.scm
@@ -0,0 +1,185 @@
+;;; srfi-123.scm -- Generic accessor and modifier operators
+
+;; Copyright (C) 2015 Taylan Ulrich Bayırlı/Kammer
+;;
+;; This library is free software; you can redi
006, 2007, 2012, 2013 Per Bothner
+;; Added "full" support for Chicken, Gauche, Guile and SISC.
+;; Alex Shinn, Copyright (c) 2005.
+;; Modified for Scheme Spheres by Álvaro Castro-Castilla, Copyright (c) 2012.
+;; Support for Guile 2 by Mark H Weaver , Copyright (c) 2014.
+;; Refactored b
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:
> This patch swaps out our SRFI-64 implementation for the one hosted at:
>
> https://github.com/taylanub/scheme-srfis
There has since been one bug fix, and a refactoring of the macros for
better compile times, s
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:
> taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:
>
>> This patch swaps out our SRFI-64 implementation for the one hosted at:
>>
>> https://github.com/taylanub/scheme-srf
s
+
+(define (test-exit)
+ (let ((runner (test-runner-current)))
+(if (and (zero? (test-runner-xpass-count runner))
+ (zero? (test-runner-fail-count runner)))
+(exit 0)
+ (exit 1
+
+;;; execution.scm ends here
diff --git a/module/srfi/srfi-64/source-info.body.scm
Christopher Allan Webber writes:
> Luis Felipe López Acevedo writes:
>
>>> Really the design is really well made, no problem with that, I just
>>> want to be sure that we won't disappoint the main audience and
>>> attract a lot of newsbies which i think we are not ready for.
>>>
>>> If I can vot
Hello Guile folks,
I've made pretty fine experiences with R7RS-small so far[0][1][2][3],
and after seeing people's disdain towards R7RS-large's direction and
agreeing with them (although I wouldn't trust my own judgment alone),
I've decided to try pushing R7RS-large in a somewhat better direction.
Panicz Maciej Godek writes:
> Hi,
> while I have nothing to say regarding the details of your SRFI, I find
> some of your motivations questionable, and therefore I decided to
> write this reply. Forgive the somewhat "negative" tone of this e-mail,
> despite my intentions being positive.
Hi, no p
Panicz Maciej Godek writes:
> Even more broadly than the summaries I already gave, I could say:
> I would like us to reach a state where one can think "I need to
> write application X? Let's do it in Scheme since it's such a neat
> language," and then proceed to install standard S
Marko Rauhamaa writes:
> taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer"):
>
>> So we are back to square one: anyone who wants to use Scheme for
>> something real needs to pick a specific implementation,
>
> Which is true for other programming
Christopher Allan Webber writes:
> Taylan Ulrich Bayırlı/Kammer writes:
>
>> I will probably work on a delimited continuations SRFI, heavily inspired
>> by Guile's call-with-prompt, since I find it *immensely* more easy to
>> grok than shift/reset and prompt/control
Arne Babenhauserheide writes:
> [...] The best language for any job is the one which provides the
> solution off-the-shelf. SRFIs could give Scheme such solutions, and
> the flexibility of Scheme would allow making these solutions much more
> elegant than what can be created with Python.
>
> But
Mark H Weaver writes:
> taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:
>
>> I've made pretty fine experiences with R7RS-small so far[0][1][2][3],
>> and after seeing people's disdain towards R7RS-large's direction and
>> agr
Arne Babenhauserheide writes:
> Am Mittwoch, 30. September 2015, 09:58:32 schrieb Taylan Ulrich Bayırlı
> /Kammer:
>> Exactly, I agree. It should be noted though that some things can be
>> implemented purely as portable libraries, so there needn't be a Request
>>
+(if (and (zero? (test-runner-xpass-count runner))
+ (zero? (test-runner-fail-count runner)))
+(exit 0)
+(exit 1))))
+
+;;; execution.scm ends here
diff --git a/module/srfi/srfi-64/source-info.body.scm b/module/srfi/srfi-64/source-info.body.scm
new file mode 10064
re Foundation, Inc.
+ Copyright (C) 2015 Taylan Ulrich Bayırlı/Kammer
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -22,20 +23,45 @@
(define-syntax %and-let*
(lambda (form)
.scm
+++ b/module/ice-9/r6rs-libraries.scm
@@ -1,6 +1,7 @@
;;; r6rs-libraries.scm --- Support for the R6RS `library' and `import' forms
-;; Copyright (C) 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2015 Taylan Ulrich Bayırlı/Kammer
;;
Mark H Weaver writes:
>> [...]
>
> For improved error reporting, the '%and-let*' auxiliary macro accepts
> the entire original form 'orig-form' as its first operand. Here, and in
> several other places, you forgot to pass 'orig-form' down to the
> recursive use of '%and-let*'. As a result, I gu
Arne Babenhauserheide writes:
> (define (hello who)
> (display "Hello ")
> (define (world who)
> (display who))
> (world who)
> (display "!")
> (newline))
Let's look at a different example first, which works with the current
semantics:
(let ()
(de
Thorsten Wilms writes:
> I guess the silence (with the one exception, thank you Amirouche!)
> means I should stop and go away, [...]
No need to be so self-critical. :-)
Personally I was silent because I found both nice in their own ways and
could not decide. (Your second logo is definitely muc
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:
> Mark H Weaver writes:
>
>> Anyway, are you willing to assign copyright to the FSF for your
>> contributions to Guile? If so, we can get that process started.
>
> Definitely. :-)
>
> Te
Christopher Allan Webber writes:
> Hello!
>
> So I've been thinking a bit about what a friendly "intro" tutorial would
> look like that could fit with the direction the site is heading. I came
> up with some ideas I wanted to capture before I totally lost them.
>
> I think we can keep with the k
Thorsten Wilms writes:
> Hi!
>
> As mentioned, the next iteration with custom type. The Gambda lost the
> hard bend and varies in line width:
> http://i.imgur.com/awkMTzX.png
I already like the other, and I like this too; no change in opinion. :-)
Taylan
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:
> Pinging this thread since my copyright assignment is now complete. :-)
Gently pinging this again since it's been a while...
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:
> Currently our R6RS 'import' form automatically transforms an import like
> (srfi :n ...) to (srfi srfi-n ...).
>
> This works fine with the SRFIs that ship with Guile and any extra SRFI
> mo
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:
> Ping.
Oh and here's a version of the patch without copyright by me.
>From f4d509cf09c2771c4962745d0f04ab297a8647c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
Dat
Arne Babenhauserheide writes:
> Hi,
>
> I just recreated a fluid advection exercise in Guile Scheme and I’m not
> quite happy with its readability. Can you help me improve it?
>
> My main gripe is that the math does not look instantly accessible.
>
> The original version was in Python:
>
> ps
Arne Babenhauserheide writes:
> Taylan Ulrich Bayırlı/Kammer writes:
>> Arne Babenhauserheide writes:
>>> The original version was in Python:
>>>
>>> psi[i] - c1*(psi[i+1] - psi[i-1]) + c2*(psi[i+1] - 2.0*psi[i] +
>>> psi[i-1])
>>>
&
To speed up the compilation of the many Scheme files in Guix, we use a
script that first loads all modules to be compiled into the Guile
process (by calling 'resolve-interface' on the module names), and then
the corresponding Scheme files are compiled in a par-for-each.
While Guile's module system
Panicz Maciej Godek writes:
> 2016-02-12 21:41 GMT+01:00 Chad Albers :
>
>
> Hi,
>
>
> In my attempt to assist the guile project, I thought I would share
> a document on a plan to migrate some of the ice-9 modules into a
> more intuitive, yet to be decided, namespac
Christopher Allan Webber writes:
> Mathieu Lirzin writes:
>
>> Christopher Allan Webber writes:
>>
>>> Mathieu Lirzin writes:
You should bring that on emacs-devel where most people seem to think
that a 'git commit -m "..."' with the actual diff is self explanatory.
:)
>>>
>>>
Christopher Allan Webber writes:
> Well, I didn't think I'd have time to do this (and in a sense I didn't)
> but:
> https://gitlab.com/dustyweb/guile/tree/merge-bipt-elisp-wip
>
> I've rebased the whole branch against git master and added ChangeLog
> style entries. "make check" is passing. It
Christopher Allan Webber writes:
> Taylan Ulrich Bayırlı/Kammer writes:
>
>> Christopher Allan Webber writes:
>>
>>> Well, I didn't think I'd have time to do this (and in a sense I didn't)
>>> but:
>>> https://gitlab.com/dustyweb/gu
Pinging this thread at Andy's request. :-)
Here's the two patches:
>From 8405987e86cd99772f81f98565e66f673e82d57e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
Date: Fri, 2 Oct 2015 22:56:04 +0200
Subject: [PATCH 1/2] Fix SRFI-2 (and-let*) implementation.
Andy Wingo writes:
> Please fix the commit log. Thanks :)
Whoops, here we go:
>From 232757c7f99d39beb16a09cd81a94670f6249ba2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
Date: Fri, 2 Oct 2015 22:56:04 +0200
Subject: [PATCH 1/2] Fix SRFI-2 (and-let*) i
Tobin Harding writes:
> My question is this, please, how to replace the system version with
> the fresh build.
Hi Tobin. You can run 'sudo make install' in the source directory to
install the package. If you haven't specified an explicit value for
$prefix when running ./configure, it will be i
Pierre Lairez writes:
> Dear guile users,
>
> When running the following loop:
> (do ((i 1 (+ 1 i))
> (j 0 i))
> ((> i 4) (newline))
> (display (list i j)))
>
> I expect without hesitation to read
> (1 0)(2 1)(3 2)(4 3)
>
> To my surprise, I obtain
> (1 0)(2 2)(3 3)(4 4)
>
> After macr
Dmitry Bogatov writes:
> [2016-07-18 21:41] Amirouche Boubekki
>>
>> On 2016-07-18 17:17, kact...@gnu.org wrote:
>> > From: Dmitry Bogatov
>> >
>> > Document '' record type and 'define-foreign-type'
>> > procedure.
>>
>> Can you compare this 'foreign-type' library with scheme-bytestructures [0]
Wilfred Hughes writes:
> Hi folks
>
> I'm a big fan of CI (automated testing), and maybe you are too. I'd
> love to have CI for reviewing patches of Guile.
Hi, thanks for working on this, it sounds like an interesting idea. :-)
Just one thing that caught my eye:
> So, I decided to set it up! T
Freja Nordsiek writes:
> I've written preliminary versionf of all the R7RS libraries along with
> documentation and unit tests for most of the procedures I had to add
> (none for those that were re-exports/renames of existing procedures in
> Guile). Sorry for the bad timing (right before the 2.2
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:
> [...] I think Mark was intending to rebase the r7rs-wip branch on
> master, after which Guile 2.2 would have fairly complete support for
> R7RS syntax including library definitions. [...]
To clarify, I mean s
60 matches
Mail list logo