• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

AltME groups: search

Help · search scripts · search articles · search mailing list

results summary

worldhits
r4wp5907
r3wp58701
total:64608

results window for this page: [start: 62901 end: 63000]

world-name: r3wp

Group: Red ... Red language group [web-public]
Dockimbel:
21-Jun-2011
A long-term solution could be to disable buffering of C's stdout 
stream, using a call to setvbuf(). It requires passing a stream pointer, 
so I am not sure this is doable now.
Kaj:
21-Jun-2011
In particular, the standard I/O streams stdin and stdout are line 
buffered. Flushing them is often more forceful than necessary: the 
same effect is achieved by printing a newline
Kaj:
21-Jun-2011
Also, when doing an input-line on Linux, stdout is flushed automatically, 
so you can print a question with a prompt directly behind it
Kaj:
21-Jun-2011
NULL can't be used any more as the return value for a function that 
normally returns a pointer:
Dockimbel:
21-Jun-2011
I have pushed a new commit that should fix your issue.
Kaj:
21-Jun-2011
By the way, do we want to keep PRIN? My toes curl a little every 
time I see it. I know it's longer, but I would be OK with replacing 
PRIN & PRINT with PRINT & PRINT-LINE - or PRINT/LINE in Red proper
Dockimbel:
21-Jun-2011
I had a hard time with PRIN at beginning too, but got used to it 
after a few years of practice.
Dockimbel:
21-Jun-2011
I would probably keep PRINT for printing with an added newline. But 
replacing PRIN is welcome if a better alternative is found.
Dockimbel:
21-Jun-2011
PRINT/LINE and PRINT-LINE are a bit too long, especially for using 
from the (future Red) console.
Dockimbel:
21-Jun-2011
That's what I was thinking, but PUT is a bit generic verb. OTOH, 
users coming from other languages wouldn't be shocked by PUT used 
in this context.
Dockimbel:
21-Jun-2011
Well, that can be changed to put-*, not a big deal.
Dockimbel:
21-Jun-2011
But REBOL users might find it a bit misleading.
Kaj:
21-Jun-2011
I suppose READ and WRITE will get a REBOL like implementation?
Kaj:
21-Jun-2011
With the latest series of Red versions, the 0MQ binding didn't work 
anymore due to crashing on a certain imported function call. This 
is now fixed, probably as a side effect of the last few fixes
Kaj:
21-Jun-2011
Shouldn't newline be a byte/char, as in REBOL? It's a string now
Dockimbel:
21-Jun-2011
The problem with FORM is that it implies a new buffer allocation 
that you need to free at some point.
Kaj:
21-Jun-2011
For what it's worth, I just implemented a print-newline because that's 
easier and more efficient than PRIN NEWLINE
Dockimbel:
21-Jun-2011
I am installing FreeBSD8.2 on Vmware to test Red...Wow, it is like 
trying to install Linux in 1996...I am really surprized, I wasn't 
expecting an Ubuntu-like installer, but at least a decent package 
manager...Here's my attempt at installing git:

# pkg_add -r git
Fetching ...
...
# git
git: Command not found.

Great!
Kaj:
21-Jun-2011
Nope. I guess you have a console system now?
Kaj:
21-Jun-2011
Installing X and everything on top manually is a cherished exercise 
on the way to enlightenment :-)
Dockimbel:
21-Jun-2011
I did such installation several times, manually configuring everything, 
last time was in 1997. An OS requiring me to do that in 2011 is a 
joke.
Kaj:
21-Jun-2011
You do realise you've downloaded a server OS? The real joke is REBOL/Core
Kaj:
21-Jun-2011
It's still a favourite bragging exercise in very popular Linux distributions
Dockimbel:
21-Jun-2011
I might have already lost a few potential users just because of that.
Kaj:
21-Jun-2011
Yeah, we've had one paranoid tell us he wouldn't install AltME because 
it's a binary :-/
Dockimbel:
21-Jun-2011
Null is not a replacement for function!.
Kaj:
21-Jun-2011
That is to say; if a C function has a fixed parameter list, can it 
be called with fewer arguments?
Dockimbel:
21-Jun-2011
You should make 2 bindings, one with function!, other with handle! 
(for passing Null). And a wrapper function for the latter one, to 
make it cleaner for the user.
Dockimbel:
21-Jun-2011
I will look into the compiler internal error tomorrow, it needs a 
fix anyway.
Kaj:
21-Jun-2011
Will you implement it, or add a warning?
Dockimbel:
21-Jun-2011
For example, if you encode the arguments number as the first value 
pushed on stack, you can pass a variable number of argument. The 
called function needs, of course,  to use the same convention.
Andreas:
21-Jun-2011
freebsd with libc requires a bit more work
Kaj:
21-Jun-2011
Using Syllable as a development workstation for FreeBSD would be 
a cool feature :-)
Andreas:
21-Jun-2011
well, i could hardcode a hack in the ELF emitter
Andreas:
21-Jun-2011
A Red-generated FreeBSD binary: http://bolka.at/2011/tmp/hello-fbsd.bin
:)
Dockimbel:
22-Jun-2011
Will merge it to main branch in a few minutes.
Kaj:
22-Jun-2011
(Must write a cheer bot one of these days)
Henrik:
22-Jun-2011
Silly question (I'm not in the loop), why was View necessary? Feel 
free to point to a blog post or something that explains it.
Andreas:
22-Jun-2011
for example a struct of an 8-bit char! and a 32-bit integer! takes 
up not 40-bits but actually 64-bits in size (due to alignment constraints, 
in this case).
Henrik:
22-Jun-2011
so this is one of the challenges that are required to solve, when 
creating a new binary emitter?
Andreas:
22-Jun-2011
when writing a new emitter, the "challenge" is mostly the rather 
tedious task os transliterating C structs into REBOL struct!s
Andreas:
22-Jun-2011
Have a look at the current ELF/PE emitters, for example:

https://github.com/dockimbel/Red/blob/master/red-system/formats/ELF.r#L87

https://github.com/dockimbel/Red/blob/master/red-system/formats/PE.r#L145
Dockimbel:
22-Jun-2011
Getting /Core to run on FreeBSD looks like a real challenge :-)
Dockimbel:
22-Jun-2011
Yes, but it requires me to install a lot of stuff...The real issue 
is that /Core is built on obsolete libraries version.
Dockimbel:
22-Jun-2011
Can you push a fix for that? (I'm cooking at the same time)
Dockimbel:
22-Jun-2011
Have you pushed your BSD-specific ELF fixes or does it require a 
proper target config?
Andreas:
22-Jun-2011
that just hardcoded freebsd-specifics, so would have broke linux 
in that form. only a quick experiment to see what's really necessary
Dockimbel:
22-Jun-2011
Could you parametrized those BSD-specific changes with a compiler 
option?
Dockimbel:
22-Jun-2011
Kaj: Null allowed as a function! argument. The changes was very trivial, 
but I tested only if it compiled.
Kaj:
22-Jun-2011
That would be good for the public. Myself, I would probably keep 
updating from trunk. I'm running a Git download through my Syllable 
build system to install a new version
Kaj:
22-Jun-2011
Added a bunch of convenience wrappers to the 0MQ binding, to make 
functions more Red/REBOL like
Dockimbel:
23-Jun-2011
Bytes don't require alignment, 32-bit values do. In message!, vsm-data1 
is aligned on a 32-bit boundary, leaving a 2-bytes hole after vsm-size.
Kaj:
23-Jun-2011
It solves the problem that you don't know how to write a cast because 
in for example
Kaj:
23-Jun-2011
handle! is a #define
Dockimbel:
23-Jun-2011
Assignments can't be used inside an expression, nor can functions 
that don't have a return value.
Dockimbel:
23-Jun-2011
Red/System is not meant to be a REBOL replacement, you will need 
to wait for Red.
Dockimbel:
23-Jun-2011
Red/System cannot be a REBOL replacement, it doesn't live at the 
same level of abstraction.
Kaj:
23-Jun-2011
I know, but this one is very doable. I guess it would be a nice project 
for Brian
Dockimbel:
23-Jun-2011
I could remove the compiler check, so that your code "might" compile, 
but that opens a hole for several others issues.
Steeve:
23-Jun-2011
assignements don't return a value in Red ? 
It should be doable without pain.
Dockimbel:
23-Jun-2011
There is a possible evolution documented in the specification for 
that, allowing also multi-assignments as a side-effect.
Steeve:
23-Jun-2011
a cool side effect
Dockimbel:
23-Jun-2011
I mean writing wrappers for low-level ZMQ imported functions, so 
that they return consistent values. For example, RECEIVE should return 
a message! or null, but not a 0 that needs to be casted to logic!.
Dockimbel:
23-Jun-2011
I just mean findind a way to catch those 0 values transparently.
Dockimbel:
23-Jun-2011
Here a code example of how you could solve that:
	msg: receive ....
  	if zmq-error? [...process error...]


zmq-error? could just check a flag set by last zmq low-level calls.
Kaj:
23-Jun-2011
Such constructs would make the binding a lot more high level and 
would require a lot more code. I'm trying to keep complexity down 
for simplicity and performance
Dockimbel:
23-Jun-2011
The added code won't make any significant overhead in performances 
for a network communication library, the slow parts are the network 
exchanges.
Kaj:
23-Jun-2011
We don't have goto and longjumps, either, so there's little leeway 
for implementing a transparent error trapping framework
Kaj:
23-Jun-2011
If you want the function to return a logic! status and a result to 
be able to handle it locally, the result needs to fetched through 
a pointer, which also raises complexity. We can't handle addresses 
very well yet, either, because get-words only work for native functions
Dockimbel:
23-Jun-2011
My point was: don't return a logic! statut from functions like RECEIVE, 
rather set a flag and check it after RECEIVE call.
Dockimbel:
23-Jun-2011
Yeah right, I was confused by your will to return a logic!.
Kaj:
23-Jun-2011
By the way, 0MQ is not a network communication library per se. It 
can do messaging equally well between processes and even threads, 
so wrapper performance is significant
Dockimbel:
23-Jun-2011
Regression from a recent change, you should get a compilation error 
saying that x is missing a return value.
Kaj:
23-Jun-2011
In this case, I don't need EITHER to return a value
Dockimbel:
23-Jun-2011
Ok, so sounds like a check that shouldn't happen in such case.
Dockimbel:
23-Jun-2011
It is more a matter of tracking than discussing.
Kaj:
23-Jun-2011
I understand; it's just a rotten situation that the communication 
isn't integrated
Kaj:
23-Jun-2011
Ah, the unintegratedness begins. When I type >> in GitHub to denote 
a REBOL result prompt, it interprets it as indent markup
Kaj:
23-Jun-2011
If you had told me twenty years ago that I would be writing prose 
such as "Local logic! in prin-int leaks as global function!", I would 
have seen it as a sure sign of dementia
Dockimbel:
24-Jun-2011
Kaj: thanks for the reports. I was aware of NOT issue and already 
encountered the local name clash, but never got the time to isolate 
it. Fixing them now, before going beta, is a good timing.
Dockimbel:
24-Jun-2011
Red/System will go beta as soon as I:
- fix the remaining bugs from the tracker,

- decide on 2 last syntax issues discussed on the ML (concerning 
struct/pointer literal syntax and aliases)
- make a pass on the specification to fix/update/complete it.
Dockimbel:
24-Jun-2011
I said "base natives", so not a whole REBOL reimplementation.
Dockimbel:
24-Jun-2011
Yes, I know a few potential Red/System testers that are waiting for 
that too.
Dockimbel:
24-Jun-2011
Right, I wanted to make a direct native compilation for Red too, 
but emitting Red/System might be shorter way to reach the goal.
Dockimbel:
24-Jun-2011
As Red/System is a dialect of Red, the compilation should be quite 
easy to achieve.
Kaj:
24-Jun-2011
No problem, it's just a note about the state, and it's ready for 
the solution
Kaj:
26-Jun-2011
Message holders don't leak memory anymore, but now the payload of 
sent messages leaks, due to what seems to be a bug in callbacks. 
More in the tracker
Dockimbel:
27-Jun-2011
Kaj: good to know that you working on improving the 0MQ binding. 
I will have a look on the callback issue.
Dockimbel:
27-Jun-2011
Works fine on Windows, so it looks like a Linux-specific issue...
Kaj:
27-Jun-2011
I think that's a good thing, but it may still be wise to postpone 
the implementation. Having Red will enable more people to contribute, 
but on the other hand, the lack of floating point is blocking a few 
contributors now
Dockimbel:
27-Jun-2011
Floating point support should be added to Red/System if my tests 
shows that I can safely do the Red->Red/System compilation, else 
it will be supported at Red level. Anyway, it is not a priority for 
me, so it probably won't be added before Q4 2010 (unless someone 
wants to contribute by adding it to Red/System).
Dockimbel:
28-Jun-2011
Andreas did a great debugging work on that.
Kaj:
29-Jun-2011
That seems like a nice shortcut, then
Dockimbel:
29-Jun-2011
If you use a variable, you need to pass thru the registers.
Kaj:
29-Jun-2011
I've started working on a cURL binding. It can print the cURL version 
now :-)
Kaj:
29-Jun-2011
I could call it a port from the R3 binding, but it will be more like 
a rewrite
Dockimbel:
29-Jun-2011
Great to know you are working on a new binding. Let me know when 
you will put it online, so I can add a link from red-lang.org.
Kaj:
29-Jun-2011
Ah, yes, because it will be a binding for Red, even though the binding 
is written in Red/System
Kaj:
29-Jun-2011
Since R3 bindings are written in C, their level is comparable to 
a binding in Red/System. But the dynamics are quite different, that's 
what I meant
Kaj:
29-Jun-2011
Hm, a cURL progress callback needs floats. It's pretty limiting if 
you can't get progress feedback
62901 / 6460812345...628629[630] 631632...643644645646647