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

World: r4wp

[#Red] Red language group

DocKimbel
15-Sep-2012
[1724x2]
# rebol -qw red.r %red/tests/hello.red

-= Red Compiler =- 
Compiling red/tests/hello.red ...

...compilation time: 	 30 ms

Compiling to native code... 

...compilation time: 	 1282 ms
...linking time: 	 	 25 ms
...output file size: 	 	30912 bytes

# ./hello
42
Pekr: I had fun too working on low-level with Red/System, but it 
takes a lot of energy while working at Red level is a lot more relaxing. 
;-)


But this is short holidays, once Red gets mature enough (I bet on 
a couple of months), we'll start working on Red/System v2 (rewritten 
in Red, with a new compiler & linker architecture). This will give 
up the opportunity to reboot Red/System, fix a few design decisions 
if required, extend it, and get a clean and lean new code base in 
Red. I plan to write some architectural specs about the target compiler 
before starting, so all contributors will be able provide me with 
feedback before we implement it. Trust me, you _will_ like the final 
compiler! ;-)
Ashley
15-Sep-2012
[1726]
Sure I speak for many who are [silently] watching this and waiting 
for it to mature to the point where we can usefully contribute.
Henrik
15-Sep-2012
[1727]
Ashley, same here. I can't really do much right now other than watch 
this wonderful thing unfold.
DocKimbel
15-Sep-2012
[1728x2]
Ashley: that point is closer than you might think. Even at bootstrapping 
stage, once Red get enough Core features, you and any other reboler 
will be able to add new libraries or port existing one from REBOL 
(should be trivial in most cases). That's not limited to mezz code 
though, you'll be able to add bindings to pretty much anything, protocols, 
provide Red plugins for 3rd-party apps (browsers e.g.), even make 
a View clone if you want (that one could even be a community project). 
:-)
New macros system and Red/System fixes retrofitted from v0.3.0 to 
master branch.
Pekr
15-Sep-2012
[1730]
Which branch should we use? 0.3.0. or master again?
Kaj
15-Sep-2012
[1731]
I guess master if you want Red/Sytsem, v0.3.0 if you want Red
DocKimbel
15-Sep-2012
[1732x3]
Exactly.
We'll probably merge all in master by the end of the month and celebrate 
the first Red alpha release.
Master branch is for stable code in maintenance mode, branches are 
for evolutions that could break code compatibility or stability.
Kaj
15-Sep-2012
[1735]
Red doesn't work yet for me on Linux. See tracker
PeterWood
15-Sep-2012
[1736x2]
Can you apply the non-Windows fix to the Master branch as quick-test 
is failing there now.
Is it too early to report bugs on V.0.3.0 via GitHub ?
DocKimbel
15-Sep-2012
[1738x4]
Kaj: I've answered in the tracker, should be just a couple of definitions 
missing (they are missing for Darwin too).
Bug reports: yes, too early, you can just post them here.
I've applied the fixes to master branch, see my last yellow message.
Tests are running fine on Windows with master branch. I've tested 
them successfully with linux/v0.3.0 too. Will tray again with linux/master.
PeterWood
15-Sep-2012
[1742x3]
Tests also seem broken on Linux.
This is the merge that seems to have caused the problem:

Schulz:Red peter$ git checkout master
Switched to branch 'master'
Schulz:Red peter$ git merge upstream/master
Updating 525097b..ffb1f68
Fast-forward

 red-system/compiler.r                           |   77 ++++++++++++++---------
 red-system/linker.r                             |    2 +-

 red-system/loader.r                             |   67 +++++++++++++++-----

 red-system/targets/IA-32.r                      |   33 ++++++++--
 red-system/targets/target-class.r               |   13 ++--
 red-system/tests/source/compiler/pointer-test.r |    4 +-
 6 files changed, 136 insertions(+), 60 deletions(-)
The output I'm seeing on both Linux and OS X is the same as on V0.3.0 
before you applied the patch.
Kaj
15-Sep-2012
[1745]
The problem is on Linux. I prefer to handle it in the tracker because 
stuff gets lost here
DocKimbel
15-Sep-2012
[1746]
Peter: I can reproduce the issue on Linux, I'm investigating it...
PeterWood
15-Sep-2012
[1747]
Thanks Nenad
DocKimbel
15-Sep-2012
[1748x2]
Should be fixed now, the commit for the fix was missing in master 
branch.
I will add the missing definitions for MacOSX platform in a few minutes.
PeterWood
15-Sep-2012
[1750]
All tests pass on Linux and OS X after latest master branch commit. 
Thanks.
DocKimbel
15-Sep-2012
[1751x3]
Good!
Kaj:does that change anything for your issue on Syllable Server?
For Git command-line users, a useful cheat sheet: 


http://jan-krueger.net/wordpress/wp-content/uploads/2007/09/git-cheat-sheet.pdf
NickA
15-Sep-2012
[1754x3]
For those who are excited about what Doc is doing, please remember 
to continue donating.  He's devoting all his time and work to Red 
at this point.
Doc, you mentioned that the problem with Paypal is that they'll limit 
your total donation amount per year ... for now that works.  To avoid 
large wire fees for those who want to donate, perhaps you could set 
up a US bank account, and then wire money to your account in your 
country, after funds have collected.  If you need help, please let 
me know:  reverse "g r o  tod  z r a t i u g  ta  codmorf"
I want to make sure you stay well financed, so that you can continue 
to work without interuption.
DocKimbel
15-Sep-2012
[1757]
Nick: thank you very much, I appreciate such help and "continue to 
work without interruption" is really all I desire. I'm afraid anyway 
that donation would not be enough with the current community size, 
so I will probably start searching for other ways of funding by the 
end of the year.
NickA
15-Sep-2012
[1758x3]
If you communicate clearly your financial needs, I'll do everything 
possible to help keep you funded.  An occassional update to your 
funding requirements would be appreciated.  I would appreciate being 
added to a regular email update, in case I can't keep up on AltMe. 
 I wonder if others who have donated on Paypal may be interested 
in an occassional update, so they can help when able/motivated.  
Your current progress is very motivating.  I hope that others who 
are watching feel the same way.
Has anyone here worked with OAuth and/or the etzy.com API in REBOL? 
 I'm currently looking through Christopher Ross-Gill's OAuth implementation 
for Twitter, and interested in writing a REBOL app using the etzy.com 
API.  I understand most of it, but don't get the "oauth_signature" 
spec.  Don't have much time for this, so would like to offer some 
$$$ for anyone able to instruct and or provide help implementing 
the etsy API.  Email reverse "g r o  tod  z r a t i u g  ta  codmorf"
oops, meant that for another group.  Sorry!
Kaj
15-Sep-2012
[1761]
Doc, the new commits are in master, not in 0.3.0, so it can't effect 
the problem on Syllable Server
DocKimbel
15-Sep-2012
[1762x2]
Kaj: ok, I will have a deeper look in mmap syscall later, I'm currently 
debugging the OS X version.
Nick: I'll try to do that.
Arnold
15-Sep-2012
[1764]
Please remember we want to contribute but without a reasonable clue 
this is hard to do. (Besides the closed-source issue this is what 
Carl ran into when expecting others to contribute). Me and Github 
wil never become friends for example, I managed to get some source 
long ago but no clue how to update to the newest sources and github 
has informed me they do not wish to support their macosX tool for 
Leopard that I am running, nor remove the useless (?) check on OS 
number 10.5, and I am NOT updating my system and learning all the 
commandlines to upgrade etc is too much effort, (maybe someone can 
build a REBOL interface).
DocKimbel
15-Sep-2012
[1765]
Kaj: I can reproduce a similar memory allocation error on OS X too, 
so I hope that fixing it there will fix it on Syllable too.
Kaj
15-Sep-2012
[1766x4]
I don't think you should use syscalls. It's not the POSIX interface: 
that is implemented in the C library on Linux, and probably most 
other systems
http://pubs.opengroup.org/onlinepubs/9699919799/functions/mmap.html
Note that you need to get the system page size with sysconf():
http://www.gnu.org/software/libc/manual/html_node/Memory_002dmapped-I_002fO.html
DocKimbel
15-Sep-2012
[1770x3]
Ok, got Red working fine on OS X too.
Syscalls: given how much a programming language has to call OS services, 
I don't see why we shouldn't try to avoid an unnecessary layer. But 
I'm pragmatic, if we get more troubles than benefits, we'll adopt 
a more classical approach.
Also, syscalls usage gives you a smaller executable (smaller import 
section).
Kaj
15-Sep-2012
[1773]
You won't want to use syscalls for memory management on Syllable 
Desktop, because they're very different. So you'll have to implement 
the POSIX C library wrapper for Syllable Desktop, anyway