ckets to close?
Regards
Stefan
Hi,
I learned to like to trace functions when
debugging and found out that guiles version needs work.
so has anybody steped up to fix this?
/Stefan
( ($ rtf
*x
*(and (set! y.set)
* (get! y.get))
*3)
* (begin (y.set 4)
* (+ x (y.get)
6
It's recursive.
Not solid yet though, need to make sure that variables can be extracted
correctly from $ and =
/Stefan
.
This is verified to work with srfi-9.
From a man with a strangly twisted head
/Stefan
ame simply assumes that the same name suffixed
> ;; with a "?" is the correct predicate.
>
Entering,
scheme@(guile-user)> (macroexpand '(n? x))
(if (struct? x) (eq? (struct-vtable x) n) #f)
So, I just tok the expanded line directly instead of n?.
/Stefan
oceed?
/Stefan
> Ok, I put the files in a tar directory and published it at
> http:///c-lambda.se/match.tar.gz
>
> Should we make a more thorough test suite?
>
> /Stefan
>
> On Apr 28, 2010, at 10:40 AM, Ludovic Courtès wrote:
>
>> Hi Stefan,
>>
>> Thanks
On May 3, 2010, at 2:38 PM, Ludovic Courtès wrote:
> Hi Stefan,
>
> Sorry for the delay.
No problem, let's not stress and have fun instead.
> Stefan writes:
>
>>> Ok, I put the files in a tar directory and published it at
>>> http:///c-lambda.se/match
On Monday 03 May 2010 03:51:27 pm Ludovic Courtès wrote:
> > I started with the suggested code,
>
> Which one? :-)
>
The newest without a record implementation.
/Stefan
FETCH the br commands and issue them directly
and hence one can have one compiled pattern in stead of one for each row in
the matcher.
/Stefan
On Friday 07 May 2010 01:59:13 pm Ludovic Courtès wrote:
> Hi Stefan,
>
> stefan writes:
> > I've been experimenting lately with an inline match construct, very much
> > like using compiled regexps.
>
> Sounds interesting.
>
> > That is I created a tin
in the right order. So if I spend the
next
two weeks writing a small prolog implementaion. Should we wait untill after
2.2 to get the suggested speed and live with 15x performance hit? It is
tempting to deliver that system and then spend the next years to shoot it
down into pure scheme.
Also I use this way of programming alot. It would be cool to have a fast
implementaion at the desk within a short timeframe.
At least it is a fun hack!
/Stefan
On Sunday 09 May 2010 10:57:21 pm Ludovic Courtès wrote:
> Hi!
>
> stefan writes:
> >> H. My first reaction is that I’d rather avoid complex VM
> >> instructions like this and instead focus on native compilation (AOT or
> >> JIT) when we feel like impr
then 15x. Now this speed difference is probably due to the lower
instruction count.
This looks like it is enough to use the new match version or to gain a little
in speed
the guile vm itself.
/Stefan
n be done in a vm on a stack machine. And I will
now go on to let this vm be the guile vm itself. Later
on when we the compiler starts to shine, I could hook into
that as well and generate target code. So this litle play will
spill over into being useful for the compiler later.
/Stefan
{
SCM *ref;
UNIFY_MODDED;
ref = GP_GETREF(gp_mk_cons());
gp_set_ref(gp_ret.id,GP_UNREF(ref));
PUSH(GP_UNREF(ref + 3));
PUSH(GP_UNREF(ref + 1));
NEXT;
}
UNIFY_FAIL;
}
Have fun
/Stefan
library.
On a side note I have not gotten any answer from the author of that code
that I modified.
Cheers
Stefan
On Monday 10 May 2010 10:26:53 am Ludovic Courtès wrote:
> Hi,
>
> stefan writes:
> > (match x ((a b) (+ a b)))
> >
> > (let ((F (lambda (a b) (+ a b
ns X (ucons Y *befores*)))
Notice how we can write a macro :- so that we can skip all the
lambdas and be more close to the prolog definitions. Also, to
scale better one could implement a real hashmap that behaves well
under the undo scheme.
This is all for now.
Stefan
)))
(define (mark X Y) (ucons X (ucons Y *befores*)))
Notice how we can write a macro :- so that we can skip all the
lambdas and be more close to the prolog definitions. Also, to
scale better one could implement a real hashmap that behaves well
under the undo scheme.
This is all for now.
Stefan
--- End Message ---
t and used when it backtracks and recalculates
the state.
So that is actually what I have tested and seam to work for the test case.
The next step is to use guile prompts and to see if there is any performance
hits!! I actually don't expect that but we will see...
/Stefan
--- Begin Message
On Saturday 22 May 2010 11:03:12 pm Ludovic Courtès wrote:
> Hi!
>
> stefan writes:
> > Shall we say that we use the slightly modified version of (ice-9 match)
> > that ypu dug up for now!
>
> Hmm, yes? Please send an actual patch against Guile master, so we h
t accordingly. if a symbol looks like
then it's a matcher abstraction. (<> F) is used when the matcher has a name
not of that form.
(udef f (( (<...> ) . L) L))
and
(f '(1 23 4 a b))
gives
'(a b)
Have fun,
Stefan
to somehting acceptable.
Have fun
Stefan
hared between threads. Comments?
Regards
Stefan
On Wednesday 16 June 2010 11:31:14 pm Ludovic Courtès wrote:
> Hi Stefan!
>
> Sorry for the late late reply.
>
> stefan writes:
> > Anyway git diff --cached gives the attached patch file.
> >
> > Also I made the code less hacky by using define-syntax in stead
sy to take advantage of this as well for the modding I
have done.
Have fun
Stefan
. Until then you would not like to merge that code.
so it is best to keep it in "playground" for some time.
Regards
Stefan
On Tuesday 22 June 2010 01:49:59 pm Ludovic Courtès wrote:
> Hi Stefan,
>
> stefan writes:
> > http://gitorious.org/guile-unify/
> >
> > I think it's a good start. Also I will try to make a less rude
> > version of it. Until then you would not like to merg
nformation of state to
do a jump later on.
Regards
Stefan
other hand defining a Cut tag prompt
and a Next tag prompt is not an elegant solution and is probably
expensive. So, I'll turn over to c and will try to hack
scm_at_abort and friends.
Have fun
/Stefan
winds = SCM_CDR (winds))
{
SCM elt = SCM_CAR (winds);
if (SCM_PROMPT_P (elt) && scm_is_eq (SCM_PROMPT_TAG (elt), tag))
{
return SCM_PACKscm_t_bits) SCM_PROMPT_REGISTERS(elt)) | 2));
}
}
printf("did not find prompt!\n");
return SCM_BOOL_F;
}
#undef FUNC_NAME
Cheers
Stefan
--- Begin Message ---
On Thursday 08 July 2010 08:21:30 pm you wrote:
> Hi Stefan,
>
> On Tue 06 Jul 2010 22:52, stefan writes:
> > So here is what I would like to use
> >
> > (match #:tag pr
> >Z
> >((a X) (begin (do-something X pr)
>
t using a side-effecting `reverse!` (like Lisp's nreverse)?
Stefan
10 x 100)
> (* x 2)
> (out-of-range x)))
>(else
> (not-int x)))
Looks a bit like the result of "splitting tails", in this case,
tho selectively.
Stefan
't use Gnome won't use gnome-terminal.
Do you really want to use a name which will make users think
"Guile Diskutils ... nope, not for me, I don't use Guile".
Stefan
PS: Also `xterm` indeed only works with the X Window System (contrary to
gnome-terminal which works fine in this here XFCE session).
o write an IA64 backend for Lightening, I would
So, do I understand correctly that Light*e*ning is the name you chose
for Guile's rewrite of GNU Lightning?
Do you think it could be useful separately from Guile?
Stefan
can do that for their employers's contributions, but
apparently individuals can't do it. Not sure why that is.
Stefan
the code that we deem so useful that we would like to push it to a
more
descriptive location we will of cause do that as well e.g. (syntax
parse)
WDYT
Cheers!
Stefan
utilities, used extensively in contract code
6. racket contracts,
7. racket match, A nice matcher that even has PEG qualities.
/Stefan
a green).
Other than that, it looks OK, so if someone wants to install it,
go ahead.
Stefan
> * progmodes/gud.el (guiler): New function. Starts the Guile REPL;
> add Guile debugger support for GUD.
Looks OK, tho please use the new `setq-local' when setting variables
buffer-locally.
Stefan
> This is a link to the PDF which is a Google drive doc:
>http://goo.gl/ioTpR7
No, it's not a link to a PDF document. It's a link to an
HTML+Javascript page that tries to render in your browser some PDF
document (to which I don't seem to have direct access).
Stefan
;s `make-symbolic-link'
uses "filename vs linkname" which is not as good).
Second, the GNU coding standards says:
Please do not use the term "pathname" that is used in Unix
documentation; use "file name" (two words) instead. We use the term
"path" only for search paths, which are lists of directory names.
so none of the two args should be named "path".
Stefan
.
Interestingly, this split into zones+proxies would also allow the GC to
operate on each zone independently (you don't need to trace the objects
in the other zones, only their proxies).
Stefan
s finalized first,
> thus freeing the C++ object below it.
It's clearly wrong for SMOB2's finalizer to free its C++ object here
since that object is still reachable from C++ objects.
Stefan
s should pass using
>>guile-emacs.
>>
>> So that's all a ways off, but I'm feeling enthusiastic that it's
>> possible!
>>
>> - Chris
>>
>> PS: I'd like to see bipt's elisp branch merged with master. I might try
>> to help... I'm trying to learn enough to do so. However I don't have a
>> lot of time, and especially not a lot of experience with compilers..
>>
>>
Hello,
I only know the article in emacs wiki:
https://www.emacswiki.org/emacs/GuileEmacs
especially the part 3 "Long Term Issues".
Best Regards
--
Stefan Husmann
ry
> '/home/wilfred/aur/guile-emacs-git/src/guilemacs/src'
> make: *** [Makefile:376: src] Error 2
> ==> ERROR: A failure occurred in build().
> Aborting...
>
> Any suggestions?
>
> On 30 August 2016 at 20:32, Wilfred Hughes wrote:
>
Hello,
I can confirm this, but currently have no ideas what is going on
here. This definitely used to work, but gcc was updated since then.
Sorry for inconveniance. I will try to dig deeper into it.
Best Regards
Stefan
ining them into the resulting "cmethod" was expensive,
hence the need for a cache.
Stefan "who does the same in Emacs's CLOS implementation"
lly want to talk about it in public yet,
but figured that maybe now would be the right time after all, especially
since Guile people might be interested in it as well.
Stefan
> ... And notice how the syntax in that message isn't even close to valid Agda!
That is unfair: I copied the type annotations from random places in the
Agda library (and then edited them to make them more interesting).
Stefan
PS: Of course, any sequence of chars (especial
't its in pre alpha state.
A tutorial for elixir can be found at
https://hexdocs.pm/elixir/1.18.3/enumerable-and-streams.html
Regards
Stefan
Hi,
I have just finished the initial code for managing a R session from guile
and you can find the project at,
https://gitlab.com/snorgers1/guile-r
Here is the README
GUILE-R
This is a thin wrapper towards an embedded R session
Example
(use-modules (language r))
(define v (make-rvector "x" '
Hi,
I've decided to start help developing guile. wingo has a list at
https://wingolog.org/archives/2016/02/04/guile-compiler-tasks
I took, as a start, the first item: stripping binaries.
one can remove debug information through
guild compile -O0
After some thought I think that the diff foll
I manage to send the mail to fast. Here is the diff
On Fri, May 19, 2017 at 8:46 PM, Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Hi,
>
> I've decided to start help developing guile. wingo has a list at
>
>https://wingolog.org/archives/2016/02/04/
I found a bug in the call-with-values part of the diff. That is fixed now
On Fri, May 19, 2017 at 8:48 PM, Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> I manage to send the mail to fast. Here is the diff
>
> On Fri, May 19, 2017 at 8:46 PM, Stefan Israelsson Tampe
Hi,
I have now tested to compile a scm file with -O0, checked with objdump
that the dwarf information is gone and than load it and all seams fine.
diff is attached to this email
On Fri, May 19, 2017 at 9:10 PM, Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> I found a b
le an optimization, prepend it with `no-', for example
`-gno-debug-info'
You may also specify optimization levels as `-g0', `-g1'.
Currently `-g0' removes debug info from the compiled file
and remove all debug information,
`-g1' have all debug info inserted in the compiled
I'm pleased to announce version 0.1 of stis parser, a parser framework. It
contains a small logic programming framework, logical variables, parser
combinators and memoization capabilities.
Is functional in it's core. With the repository follows a C expression
parser and a full parser for
python 3.
Hi all. We have goops, but I wondered how a functional object system can
look like and after some thought I modeled together functional and python
together with scheme. you can find the result at
http://www.c-lambda.se/functional-python.html
If you want to discuss, continue with the email or on t
Hi,
I am maintaining a prolog->scheme compiler and a python->scheme compiler.
The nice thing with those implementation is that they work well with the
guile module system and are proper scheme functions and variables etc. So
python objects can be treated as goops objects and prolog predicates can
017 at 10:45 PM, Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Hi,
>
> I am maintaining a prolog->scheme compiler and a python->scheme compiler.
> The nice thing with those implementation is that they work well with the
> guile module system and are proper s
there is a nice scheme interface to use this in pf-objects library in the
# code base
>>
;;; ("A" 1)
;;; ("A" 1)
;;; ("b1" 2)
;;; ("b2" 3)
;;; ("b3" 4)
On Fri, Sep 1, 2017 at 10:45 PM, Stefan Israelsson Tampe <
stefan.ita...@gmail.com&
then the dynamic wind is called each time we
stall the thread
as far as I know. However if we att the yield would set a thread local
fluid to true one could
in the unwind of the dynamic wind skip the action when yielding. Is there
any susch feature
added, it would be very useful.
Regards
Stefan
Writing efficient macros is a bit difficult. Let me explain by using an
example. The background
is that I maintaining a python compiler and python like object system and
would like to program
a scheme macro that would be the scheme counterpart to various python
construct. For fun
consider pythons f
I'm trying out the ffi help stuff.
1. It looks like 1.234f numeric constants is not lexed
2. characters constants can be included in #if preprocessor steps it looks,
3. character constants seam to follow L?'(\\.|[^\\'])+'
Regards
Stefan
references:
https://www.lysator.liu
Hi all!
I'm working on a python implementation in guile and stumble on two issues.
1) I want to autocompile python files and guile files depending on
extensions
2) I need to silence wanrings of undefined vatiables.
In my python implementeation at
https://gitlab.com/python-on-guile/python-on-guil
code.
Any ideas how to improve this (I don't want "return a,b" to mean (list a b)
which is a quick solution
if we want to just stay in python and not interoperate with scheme at all
on this level.
Regards
Stefan
e able to track this down
and make a bugreport But now you know, there
exist a bug!
Regards
Stefan
e dispatch-exception:
unhandled constant #
On Sat, Nov 10, 2018 at 12:25 AM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Hi,
>
> I got this error,
>
> what's this error message? unhandled constant #
>
> So a with got a src meta informatoin in it
Hi,
Turns out that this is the error you get when you put a procedure as a
faulty syntax value.
We should catch this earlier I think, with a helpful error message and a
stacktrace.
Regards
Stefan
On Sat, Nov 10, 2018 at 12:27 AM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
&
Hi,
I've taken 2.9 on a ride with my active code bases, guile-log,
guile-syntax-parse and python-on -guile.
Generelly it's a pleasure as always to work with guile. I can compile all
code and especially the
clpfd code in the prolog part works out nicely (A huge file that takes now
6minutes to comp
27;s a vector of
closures that is
the tool of use.
I will continue experimenting.
Regards
Stefan
added bonus.
Have fun!
Stefan
python on guile has reached quite far and now compiles a lot of the
standard python code base. The speed has not been of importance. Rather to
get good coopertion between guile scheme and python programs.
But it also define a scheme interface to the python functionalites and i'm
now trying to comp
-- Forwarded message -
From: Stefan Israelsson Tampe
Date: Wed, Oct 16, 2019 at 11:09 PM
Subject: Re: conflicts in the gnu project now affect guile
To: Jean Louis
Hi List,
I appreciate the work of all maintainers. I really hope that we can get a
solution to this situation
Bump!
Great, but loading an extension like:
(catch #t
(lambda ()
(throw #t)
(load-extension "libguile-persist" "persist_init") (pk 1))
(lambda x
(let ((file
(%search-load-path "src/.libs/libguile-persist.so")))
(if
file
(catch #t
(lambda ()
I can't make a simple case out of this. But the gist is that we have a
module c
(define-module (c)
#:export (fail))
(define fail (cons 'fail '()))
Then in module b:
(define-module (b)
#:use-module (c)
#:export (f))
(define-syntax-rule (kif it p x y)
(let ((it p))
(if (eq? it fail)
I can confirm that this patch solves the issue
On Sat, Jan 11, 2020 at 11:33 AM Andy Wingo wrote:
> On Wed 08 Jan 2020 15:22, Nala Ginrut writes:
>
> > In unknown file:
> >4 (primitive-load-path "artanis/server/server-context" #<…>)
> > In ice-9/eval.scm:
> >626:19 3 (_ #)
> >
r not, and is also provided in core. As a side
> effect, vector-fill! and vector_fill_x no longer work on non-vector
> rank-1 arrays. Such cases were handled incorrectly before; for example,
> prior to this change:
>
> (define a (make-vector 10 'x))
> (define b (make-share
I mean that this bug is for 2.9.9
On Mon, Jan 13, 2020 at 10:32 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Nice, but I think we are not there yet.
>
> In current guile (eq? f f) = #f for a procedure f. Try:
>
> (define-module (b)
> #:export
Note that the problem I have is that procedure-property and hash-table code
with procedure key's fail on me due to the fact that the identity of
functions varies in a non clear way.
On Mon, Jan 13, 2020 at 10:32 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Nice,
-- Forwarded message -
From: Stefan Israelsson Tampe
Date: Tue, Jan 14, 2020 at 12:43 PM
Subject: Re: GNU Guile 2.9.9 Released [beta]
To: Andy Wingo
Thanks!
Phew!
I think that for an f, a direct function application need not to be counted
as a position. Only when you use f in
dures as values.
>
> Have I misunderstood something or do I have a point here?
>
> Best regards,
> Mikael
>
> Den tis 14 jan. 2020 12:18Andy Wingo skrev:
>
>> On Mon 13 Jan 2020 22:32, Stefan Israelsson Tampe <
>> stefan.ita...@gmail.com> writes:
>&
Yes, your patch is indicating when you should use the same identity e.g.
all uses of procedures in a higher order position such as an argument or a
return
value. But I looked at your patch, which looks good but I saw that for
operator position you decrease the count. Why? Also you are free to use o
ref H f)))
(g)
(h)
This will again print (#f) as the count will be 1.
/Stefan
On Tue, Jan 14, 2020 at 5:16 PM Andy Wingo wrote:
> On Tue 14 Jan 2020 15:47, Stefan Israelsson Tampe
> writes:
>
> > Yes, your patch is indicating when you should use the s
-- Forwarded message -
From: Stefan Israelsson Tampe
Date: Tue, Jan 14, 2020 at 5:23 PM
Subject: Re: GNU Guile 2.9.9 Released [beta]
To: Mikael Djurfeldt
This is how it always have been in guile, without this patch you cannot use
procedure-property, use a function as a key to
it also
is highly invested using procedures as hash keys. What I would probably do
is to apply wingos patch and demand other who want guile 3.0 and python on
guile and guile-log to do the same.
Regards
Stefan
On Tue, Jan 14, 2020 at 5:47 PM Mikael Djurfeldt
wrote:
> It might be reasonabl
I'll apply your patch and see if it works. After reading it more carefully
I think I understand your decrement count. Nice code!
On Tue, Jan 14, 2020 at 5:36 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> 1. I don't understand why you decrement the count in op
ill be affected by the change.
>
> ** Improve SRFI-43 vector-fill!
>
> SRFI-43 vector-fill! now has the same performance whether an optional
> range is provided or not, and is also provided in core. As a side
> effect, vector-fill! and vector_fill_x no longer work on non-vector
>
go wrote:
> On Tue 14 Jan 2020 21:13, Stefan Israelsson Tampe
> writes:
>
> > Okey, here is another case that fails with the patch that prevents
> identity misses for toplevels e.g we need similar fixes for anonymous
> functions.
> >
> > (define-module (b)
> >
Actually the change of adding a binding resulted in a change in python on
guile. There the python module which is compiled to a minimal lisp (and not
tree il) needed to import the else binding.
Den tor 16 jan 2020 12:04Andy Wingo skrev:
> We are delighted to announce GNU Guile release 3.0.0, the
Many thanks wingo and team, really great work!!
On Thu, Jan 16, 2020 at 6:56 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Actually the change of adding a binding resulted in a change in python on
> guile. There the python module which is compiled to a minimal l
I just managed to get guile-log running under guile 3.0.
yay!
On Thu, Jan 16, 2020 at 12:04 PM Andy Wingo wrote:
> We are delighted to announce GNU Guile release 3.0.0, the first in the
> new 3.0 stable release series.
>
> Compared to the previous stable series (2.2.x), Guile 3.0 adds support
>
-- Forwarded message -
From: Stefan Israelsson Tampe
Date: Fri, Jan 24, 2020 at 12:42 PM
Subject: Re: Announcing the first stable release of guile-for-loops
To: Linus Björnstam
Would be cool to have those implemented in guile, that would make my
guile-syntax-parse a bit leaner
This does not look right (for guile 3.0.0)
-
;b.scm:
(define-module (b)
#:export (%f g))
(define %f 1)
(define (g)
(pk %f))
-
;c:scm:
(define-module (c)
#:use-module (b)
#:export (f))
(define (f x)
(set! %f x)
(g))
---
expose it on the
intertubes.
WDYT
/Stefan
Hi,
Here is a repository for enabling or hindering aggressive inlining of
guile-3.0 code. We may use it for discussions of how one could do these
things. Perhaps wingo will change the compiler, but I got the instruction
to code around it and this tool is what I ended up with.
https://gitlab.com/t
same module, which makes it
> implicitly boxed. Slow unless guile is able to do unboxing...
>
> Ludo used the trick here:
> http://git.savannah.gnu.org/cgit/guile.git/commit/?id=bf1f5422bdb364667d6761dd73454558d6dbf895
>
> --
> Linus Björnstam
>
> On Wed, 12 Feb 2020, at 18:
Hi all,
Now in corona times I'm working quite a lot with python-on-guile fixing
bugs in the parser and compiler. Trying to add and test more python
modules. My test case is to get IPython running on python on guile. Some of
the python library code is very advanced python so getting it working is a
Hi
I'm pleased to announce python on guile 1.2. This version increases the
correctness of the parser as well as adding quite a number of system py
files that compiles as an example the we can now generate python ast from
the compiler. Also some work to improve speed have been done.
Python on guil
1 - 100 of 497 matches
Mail list logo