AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 1023 |
r3wp | 10555 |
total: | 11578 |
results window for this page: [start: 3901 end: 4000]
world-name: r3wp
Group: Ann-Reply ... Reply to Announce group [web-public] | ||
amacleod: 28-Dec-2009 | How do I get an account to R2Beta? | |
BrianH: 9-Mar-2010 | It appears to be a studio of programmers that do development, not an IDE. | |
Maxim: 11-Mar-2010 | in Quebec, they are slowly convrerting the whole civil system into using Electronic records. There are a few recorded cases where patients have been greviously harmed (or died) because hospitals do not share records. here the records are the property of the hospitals and these are worth money. Even if the medical system is public, each hospital and region is managed independently. the Govt is having a hard time getting all the medical infrastructure to cooperate. | |
Maxim: 11-Mar-2010 | One possible reason is that its very easy to uncover ineffeciencies once you can do queries and compare hospitals and individuals. | |
NickA: 24-Jul-2010 | OK, he gets my vote - whatever we're voting on :) What do I have to do to get my hands on MML - this is really useful! | |
Gregg: 15-Aug-2010 | Chris or Graham, do you know if %json.r on json.org needs to change? That is, does it do the right thing given whatever scenario it is that required altjson to change? | |
Graham: 20-Aug-2010 | Chris, Maarten also included switches to encrypt and decrypt files being stored on S3 ... do you want to tackle that as well? :) | |
AdrianS: 24-Aug-2010 | I get: >> do http://www.rebol.org/download-a-script.r?script-name=windows-chrono.r connecting to: www.rebol.org Script: "Chrono - High-precision time measurement" (24-Aug-2010) ** Script Error: Feature not available in this REBOL ** Near: i64-struct: make struct! [ low [integer!] hi [integer!] ] [0 0] >> | |
Group: I'm new ... Ask any question, and a helpful person will try to answer. [web-public] | ||
RobertS: 13-Sep-2007 | so do you think that to-path reduce [ my-path 'my-next-refinement] the best that I can do? | |
RobertS: 13-Sep-2007 | That's 3 times tonight with only 2 teeny blocks and 2 paths and no do against any file and nothing added to user.r | |
RobertS: 13-Sep-2007 | ah-ha ! Works fine in Rebol/Core ! path: 't2/f do join to-path do path 'a | |
RobertS: 13-Sep-2007 | >> t1: [a "one"] == [a "one"] >> t2: [f t1] == [f t1] >> path: 't2/f == t2/f >> do join to-path do path 'a == "one" ; thanks CHRIS | |
RobertS: 13-Sep-2007 | ; but IN the interpreter, to use join >> do join to-path do my-path 'a-further-refinement ; is terrific and has led me to my-path: to-path join reduce[ my-path ] 'a-deeper-tag | |
RobertS: 13-Sep-2007 | ; this work fine for traversal >> navpath: func [ pth [path!] 'wrd [word!] /local p42 ] [ [ p42: do pth [ to-path reduce [p42 :wrd]] >> pp: navpath path a == t1/a >> do pp == "one" | |
RobertS: 14-Sep-2007 | I realized there was this traversal option using a lit-path! treated as a series! but it did not seem to if what I already had was a path! held by a word and I wanted to 'extend' that value with a word. This arises when the embedded word becomes bound to a different block. In that case an OBJECT! looks to be the only option but then the WORDSs in the PATH come already bound to values and so are not 'functors' as are 'a 'd and 'e in your example. I want to construct a resultant valid path! from a valid path! + a lit-word where that word has no value but serves only as functor. I had hoped that the func to-lit-path would be the answer, but I see now that the default Rebol DO path! evaluation precludes this kind of 'append'. I should be able to use a modified version of your eval-path func to take as args a valid path! and a word! My path idea is more like a 'tilde' than our '/' such that I can have ; blk/key~wrd1~wrd2~wrd3 ... ~wrd-n ; e.g., path~wrd1~wrd-i~wrd-j ~wrd-k ; becomes ; ... path2~wrd-m~wrd-n ; i.e., ; blk/key/putative-confirmed-key~wrd-m~wrd-n PARSE is likely part of the answer if I go that TILDE route. Once I have a lit-path! your eval-path is the traversal. A blk of args to a func such as construct_dpath: func [ dpath [lit-path!] functor-words-blk [block! ] /local v1 v2] [ should model my case OK and that dpath can be constructed by modified versions of your eval-path. Thanks | |
PaulB: 17-Nov-2007 | I am actually writing this for use in my job. I am a network support/programmer and I work for Nuns. I have been connecting to their computers using VNC. I always have to try and tell them how to give me the address of their machine after I get them to start VNC. They always have trouble. So I thought I could write something in REBOL do they could just double click and read it clearly on the screen. That is why I mentioned the large font. | |
PaulB: 17-Nov-2007 | Well, there are about 200 computers I would have to do that too. | |
Gabriele: 28-Nov-2007 | hopefully, we'll find some way to do than in R3 | |
SteveT: 12-Jan-2008 | Perspectives of a newbie! By Steve Thornton (SteveT) Hi! everyone, as someone brand new to REBOL I've been asked to log a journal describing my experiences using REBOL. I think the first thing to get out of the way is to tell you where I'm coming to REBOL from. I've programmed on and off for over twenty years starting with Clipper 5 (dBaseII), Visual Basic (Access), C# (SQL Server), Java(NetBeans + JavaDB). I've worked in a variety contract/freelance work. I earn approx half my income form 'Thornton Software' and I work for Iris Software Group - as a training consultant (training accountants :-\ someone has to do it!) I can hear some of you saying 'Ahh! he's an IDE wimp - real men/women code from scratch'. It was strange - every language I've used had an IDE and I was a bit put off having to go find myself an editor. Until something better find's me I'm using the freebie 'CREdit' as recommended by Sunanda. The easiest way to edit/test the scripts is to open an explorer window at the side of the CREdit window showing my scripts folder. I can then drag a .r file onto the CEdit screen and it opens it. To run the script I double-click it in the explorer window. The help and documentation available is better than I have previously experienced. Some of the components I've been wow'ed by so far is Henriks List-View and RebDb from Dobeash. I've looked at RebGUI and for the time being I would prefer not to use anything on top of VID, I need to learn pure VID before using anything else. REBOL Cookbook of examples is a useful place to start. Some more form oriented examples would be cool. Example 014 - 'Open two windows' and Example 10 - 'Simple text form window' are both useful The Event Handling guide is a good resource for programmers moving from Visual Studio etc.. That's more than enough to be going on with, next time I'll cover my experiences with VID, FACES and handling Events. Bye for now. Steve Thornton | |
SteveT: 12-Jan-2008 | Perspectives of a newbie! By Steve Thornton (SteveT) In your first steps in using REBOL (If your like me) you'll go and have a look at other peoples scripts - luckily the REBOL Viewtop is full of them. One thing that stumped me to begin with was that each developer differed slightly in how they setup their 'Layout' or 'Views' this is because there is a degree of flexibility that covers different situations. You can call a view and a layout all in one go, or you can make a layout seperately and then call it when executing the view. While I quickly understood this, I like to follow 'best practice' when creating the initial framework of my application. It would be a great help if a diagram was available showing where to place things. For example I went wrong by trying to place view options/effects inside the layout structure, When you look at some of the one/two line examples it looks as if you can do that. Steve | |
Henrik: 13-Jan-2008 | I guess what LIST-VIEW can do the things it does, mostly because of how simple and flexible block operations are in REBOL. I've not worked much with C or JAVA, but arrays in PHP are a complete nightmare, requiring 20-30 lines of code with what you can do in REBOL in 1-2 lines of code. My coding expertise has less to do with that, than the things REBOL enables you to do within that amount of code. While it's only 110 kB of code, it's still a lot by REBOL standards. The entire of VID3 without the style library is smaller than this. The DevBase application is 50 kb. I'm sure that LIST-VIEW's successor can be half the current size, be faster and more flexible. | |
SteveT: 13-Jan-2008 | Thanks, is it going to be say twelve months before I could do a commercial app text-list 's and all ? | |
SteveT: 13-Jan-2008 | Ok Brock - thanks, I've setup a pretty vanilla script and I'm just going to add these guide like things in and see what they do. | |
BrianH: 17-Jan-2008 | If you want to do keyword-based records, put the keywords and values in the same block and use select/skip data key 2 Put each record in its own block: with variable length records you will need to track the end of the record otherwise. This method will be slower, but take less space when at least half of the fields are usually missing. | |
Henrik: 19-Jan-2008 | it's a supplement to sunanda's example. if you use newblock: copy [] you are correctly creating a new block, but every time you then append to that block, REBOL has to spend a little time allocating new space for the block as it grows. if you preallocate space with say: newblock: make block! 10000 REBOL won't have to do that. This means that when REBOL must garbage collect or when you use 'recycle, it knows that there's one big block there that it can just remove. Easier for REBOL. Having more blocks inside that block makes the case a bit more complex, but since each block inside is only created and manipulated once, there may not be an issue. | |
Henrik: 19-Jan-2008 | be careful about wording, as 'reform is a function in REBOL. :-) all it has to do, is allocate more space. Just imagine a cramped desk and you want to put some things on the desk. Which is faster? Is it to remove one item at a time from the desk to place a new one there, or just swipe the desk clean in one go in order to free all desk space immediately? | |
Henrik: 19-Jan-2008 | View is a bit different, because it hogs memory quite badly. You can do a few limited things there to speed up display, but not much in terms of helping GC. | |
Gabriele: 19-Jan-2008 | if you don't know the final size... it's usually better to let rebol do its magic. but, i'd suggest timing the code and deciding which is really going to perform better, as there are many variables involved. | |
SteveT: 19-Jan-2008 | cool, I think I used to suffer a little because if your try to open a recordSet in visual studio it creates a natural bottle-neck because some idiots might have bound controls - and it has to handle that. I had to do all my processing of data on a 'SQL disconnected basis' know what I mean by that? | |
SteveT: 21-Jan-2008 | Hi Henrik, yes I know it can be done and you can create your own styles or extensions, but new 'Winows' programmers will be very put off by that. they shouldn't have to override the VID to do expected things liek I mentioned. | |
SteveT: 21-Jan-2008 | I'm sorry for all these questions - It sounds like I want you to do my work for me! I don't maind having to figure some things out myself . But I was asked to present waht I found difficult from a newbie point of view. | |
Anton: 21-Jan-2008 | Correct. (context = object). So my above example could be modified to: append code bind [my-word] in o3 'self which is in fact how we used to have to do it, because BIND didn't have object! in list of accepted types for its known-word argument. | |
SteveT: 21-Jan-2008 | The order of execution throws me more than anytihing I would have had to do your code like this code append bind(my-word etc) I'm so used to starting with the item | |
SteveT: 21-Jan-2008 | Rebol you say what you want to do then which object you want to do it to lol | |
BrianH: 21-Jan-2008 | Gregg, your code is more complex than it needs to be. Try this: with: func [object [any-word! object! port!] block [block!]] [ do bind/copy block object ] This is unnecessary in R3, where you can use DO IN instead of WITH. | |
SteveT: 26-Jan-2008 | Hi Henrik, sure do! I've found that it's easy to step into one of the 'deeper' Rebol pools - say 'dialects' and thrash around not getting anything done in a disire to understand. This week I'm trying to learn just enough to do what I have on the drawing-board. | |
Henrik: 2-Feb-2008 | it has nothing to do with appearance | |
SteveT: 8-Feb-2008 | Jounal of a Newbie - by SteveT Back on my travels again now (having to do paid work! ;-/ Have learn't an awful lot about Rebol this month. Managed to get a good prototype reasonably functional. Have finsished my little licence maker app for internal use. Our client records believe it or not were just on Excel!! (Mrs T ) likes Excel! So i've created the same data in a simple client app using Henriks List-View and RebDB. Perfect for our internal use. Going to try to learn more about Rebol3 (VID3) during February (Clients permiting !) Steve | |
Rod: 20-Feb-2008 | So for anyone new to REBOL or more generally to Forth (being one of the inspirations behind REBOL) I'd like to strongly recommend reading Leo Brodie's Thinking Forth - free PDF here - http://thinking-forth.sourceforge.net/ I stumbled across this group of programming books http://prog21.dadgum.com/19.html and it reminded me I had meant to do some reading on Forth. I'm now a third of the way through the Thinking Forth book kicking myself for not having dug into this earlier. Just like learning about the functional perspective with Lisp and Erlang this reading is expanding my programming perspective with every chapter. In addition to being valuable in the REBOL context it is simply a great book on programming in any context. | |
BrianH: 15-Mar-2008 | You don't have to manually check to see if the function takes two arguments; this is good, because doing so is awkward. All you really need to do is call the function in parentheses ( ) or at the end of a code block, so that it can't take more than two arguments even if it tries. If it takes less than two arguments, who cares? | |
RobertS: 29-Mar-2008 | ODE so I though mebbe ;{ which would only end at a ;} as }; will not do ... To take a page from Snobol both would have to be unindented, i.e., occupy first and second char of the line I live in curly-brace land in CURL and a missing brace becomes a headache even in a editor with a scroll-u-there brace-matcher | |
Anton: 22-Jun-2008 | Well, you just pointed out that DO is inconsistent as well. As to how harmfully unexpected that is is another question. It obviously confused Will. Such things can be a problem, because there can be a loss of information. You get the same output from two different inputs, which can't be reversed. | |
Will: 22-Jun-2008 | Thanks Anton 8-) my point was just that for a beginner in the cases block there is value and block to execute pairs, so it sounded logic that adding /default I would also need to append a block do be "done" I was surprised that case for default accept any and not a block , not a problem for me but we needed some minutes to understand that. | |
PeterWood: 23-Jun-2008 | From my point of view If anything is inconsistent it seems to be when Rebol evalutes blocks. If you enter a block in the console, it doesn't get evaluated but other values do. >> [1] == [1] >> a: 1 == 1 The block [1] was not evaluted, the word a was. Though without this possible inconsistency using blocks would be a real pain. | |
Sunanda: 16-Nov-2008 | <I copied your code into rebol/view & ran it to see?> A possibly simpler way is to copy it into the Windows clipboard, then this line in the View console: do read clipboard:// | |
Sunanda: 16-Nov-2008 | A good learning curve, David, might be to adapt the subpanels example. Once you have sets of controls appearing in the subpanel to your satisfaction, you could then go on to do the set dressing: -- styles and absolute positioning to mimic Win XP -- default size depending on user's monitor Then start adding the real functionality! | |
Gregg: 18-Nov-2008 | Not sure what you mean. You can create a layout without viewing it, and use view/new to open more than one window. If you just do VIEW LAYOUT [...], that starts the event loop, and you'll want to use view/new to show other layouts. | |
DavidR: 25-Nov-2008 | I'm afraid I do not understand how sub-panels work can someone give me a commented simple illustration (the simpler the better please) of how they work, sorry to be so thick but its not working in my example? | |
DavidR: 25-Nov-2008 | rebol [Title: "SOS-XP"] view layout [ image center %DT.jpg 768x576 ibevel pewter 6x6 button gray 50x30 "START" [show panel1] at 75x605 button gray 3x30 at 750x610 text "00:00" rate 1 black ;effect [gradient 0x1 0.0.150 0.0.50] feel [engage: func [face act] [face/text: now/time show face]] ] panel1: view layout [ image center %DT.jpg 768x576 ibevel pewter 6x6 at 75x605 button gray 3x30 at 750x610 text "00:00" rate 1 black ;effect [gradient 0x1 0.0.150 0.0.50] feel [engage: func [face act] [face/text: now/time show face]] at 200x300 area wrap font-color white {You use this program & batch files entirely at your own risk, due to the myriad of hardware/software configurations I cannot without any certainty claim that you will not damage your system! Always Always Always make a full system backup of your partition before attempting to use SOS-XP & that you have tested the back up so your are positive in your own mind you can make a recovery!} red bold at 240x410 button "Agree" [show panel2] at 450x410 button "Disagree" [QUIT]] do-events panel2: view layout [ image center %DT.jpg 768x576 ibevel pewter 6x6 button gray 50x30 "START" [show panel3] at 75x605 button gray 3x30 at 750x610 text "00:00" rate 1 black ;effect [gradient 0x1 0.0.150 0.0.50] feel [engage: func [face act] [face/text: now/time show face]] ]755x650 | |
btiffin: 25-Nov-2008 | Yeah DavidR; the order doesn't really matter as long as the definitions come before REBOL has to reduce the value. REBOL will let you make and load values (simply word! at that stage), but these words have to have a value when evaluation (reduce, do, ... or show in this case) is required. Next... Then change the show panel1 to view panel1 after panel1: layout [ ... ] is used to create the face object. | |
Anton: 25-Nov-2008 | Looking at the code, I think you would have been confused by the fact that the first VIEW waits for events. You have a button in there that does SHOW PANEL1, but PANEL1 could not have been set yet in this invocation of the program. That means, if you start this program in a fresh console it will fail, complaining about panel1 not having a value, or, if you had earlier managed to do the panel1 definition code in an earlier version of the code (but still in the same console session), then you would be shown that earlier panel1 version, of course! | |
Anton: 25-Nov-2008 | Here are some ways to use VIEW and DO-EVENTS. 1) view window 2) view/new window1 view/new window2 do-events 3) window: layout [ button "open child window" [ window2: layout [text "child window"] view/new window2 ] ] view window | |
Anton: 25-Nov-2008 | The thing to note is: VIEW without the /NEW refinement, waits for events. If you don't wait for events this way, then you have to wait for events yourself, using DO-EVENTS. Usually you put DO-EVENTS at the end of your script. | |
Henrik: 27-Nov-2008 | Since you are new to programming: Beginning with an existing program like this may not be optimal for understanding how things work, because there are tens of things going on in that example. It's the understanding of the underlying principles that allow you to build your own programs, and beginning with a big example like this throws all principles in your face at once. That can be very confusing, like being asked to fly a jumbo jet without training. This is why it's so difficult for you to get this example to work. What I would do: Put the program away for now and start using the console intensively. Write single commands or a single line of code. The immediate feedback from the console lets you learn quickly. The console is not simply a service to let you run programs: It's a powerful tool that allows you to LEARN. I use it every time I'm in doubt over what a specific command will do. The console is your friend. Don't be afraid of it. :-) When you've written enough VID programs in the console, you can start looking at the example again, or even better: Write it from scratch yourself. That's the best approach. | |
Janko: 10-Jan-2009 | Steeve: I solved it by doing 3 passes , one for each character (.!?) . Performance is not that important here as it's a client , but if it's possible to do it in one pass I would certanly like to learn about it. I will try what you proposed, Thanks! | |
mhinson: 13-Apr-2009 | Hi. I am struggiling to understand parsing & hoping for some pointers. I have read everything I can find but still cant seem to use parsing for basic extraction of information from a number of lines (or even a single line). This is what I am trying to do & would love sme help or links to documentation I may have missed please. lines: {junk wanted line1 contentA rubbish junk notNeeded line2 wanted line three content B rubbish } ;I want to extract ;wanted line1 contentA ;wanted line three content B ;That is to say everything between "wanted" up to "rubbish" but including "wanted" Thanks, /\/\ | |
mhinson: 13-Apr-2009 | Another (maybe foolish) question please. I am trying to use this script to help me understand the use of parsing to extract data from files. If I paste the script into my REBOL/View console it pastes in the script ok, but the examples do not work. This seems very common with a lot of the scripts in this library and is a problem I have been fighting with for several days. This is what I get. >> ini: parse-ini-file %/c/windows/win.ini ** Script Error: Out of range or past end ** Where: parse-ini-file ** Near: append last current-section parsed-line/1 append >> Am I pasting the script & examples to the wrong type of console or something? I feel it must be something I am doing as so few of the example scripts work for me. Thanks, /\/\ | |
mhinson: 14-Apr-2009 | Thanks very much Pater & sqlab. those examples both do exactly what I was thinking. I now need to try & understand how this relates to the parse-tutorial & hopefully I will be able to start using the principles myself. Thanks again. | |
Pekr: 14-Apr-2009 | Regexp is quite different beast, and there are no single rules for translation to REBOL's parse. However - what do you mean by the beginning of the line? Is it the first char right after the end-of-line? | |
Pekr: 14-Apr-2009 | btw - do you use parse/all? I prefer to use parse with the refinement, because using plain 'parse ignores whitespaces, and I don't like when the engine messes with things instead of me :-) | |
mhinson: 14-Apr-2009 | Hi, Pekr, I appreciate that the concept for parsing is different to the use of regular expressions, but there are some things that do map from one to the other & I wondered if any table of those things existed. As a noob sometimes the hardest questions to get answered are the ones where the answer is that there is no concept such as that sought by the noob. e.g. how do you grow strawberries in the sea? The first match must be at the begining of the line. If it was the first line in the set then it would not be after a new line, but other cases it would be. I will use parse/all from now, I like the extra control you describe. here a few lines of a test input, the script I am hoping to develop is to parse the config files from Cisco devices in order to extract the layer 2 & 3 information together with the interface names & descriptions. lines: {interface FastEthernet0 description The connection to the printer ! interface FastEthernet1 ! interface Vlan1 description User vlan (only 1 vlan allowed) no ip address ! interface Dialer0 description Outside ip address negotiated ! interface BVI1 description Inside ip address 192.168.0.1 255.255.255.0 ! ip sla 3 icmp-echo 217.0.0.1 source-interface Dialer0 ip route 0.0.0.0 0.0.0.0 Dialer0 interface ATM0.1 point-to-point no ip redirects no snmp trap link-status pvc 0/38 pppoe-client dial-pool-number 1 ! } ; sqlab, your change to use "thru newline" does what I wanted in this case which is good. ; my next step is to try & understand the "or" construct properly as the code below dosn't quite cut it. wanted: copy [] interface: ["interface" [to #"^/" | to "point-to-point"]] parse lines [any [[copy temp interface (insert tail wanted temp)] | thru newline ]] foreach line wanted [print line] ; thanks very much for your help, /\/\ | |
sqlab: 14-Apr-2009 | I am not sure that I understand your intention. Do you want just interface ATM0.1, then you have to switch the order of your interface rule, as the condition to #"^/" (newline) is already true and done, and your cursor behind "point-to-point". As the first part is true, the second will never be done. | |
mhinson: 15-Apr-2009 | Hi, I have broken this down to try & understand it, but my understanding is still very vague, paticularly in respect of the order of things like the copy statement & also the number of brackets needed is confusing me. lines: {junk Interface fa0 ! interface fa1} spacer: charset " ^/" name-char: complement spacer parse/all lines [ any [ [ [ "interface " copy int-text some name-char (print ["interface: " int-text]) thru newline ] any ["!" break | skip] ] | skip ] ] I need to find some way to make it only get the "interface " if it starts at the first position on the line. I thought I needed to remove the word "any" to do this, but that did not work. | |
mhinson: 16-Apr-2009 | Thanks for your help. I am beginning to wonder if what I am trying to do is not possiable in Rebol. I am impressed at the number of responses, but I still cant find a way to use all the bits together to create a structure that is going to find the bits of data I am after. One of the problems seems to be that catching the the data starting with new line & ending at newline uses up the "newline" for the following line so then that line gets missed. Is there really no symbolic way in Rebol to identify the begining of the line without using the newline char from the end of the previous line? | |
sqlab: 16-Apr-2009 | I see just two ways to get what you desire either you define different rules for interface at the beginning and interface after newline or you do it in a two pass way: first you separate the lines (either by parse or by read/lines) and then you process every line by itself. I would go the easy way with two passes. | |
Pekr: 16-Apr-2009 | uh, was on slow connection, so my reply got lost. Mhinson - there is no symbolic way to represent beginning of the line. I don't know any in any system. The only thing I know is end-of-line (newline). I know what you probably mean - you want to identify beginning of your lines, but even for first line (so not a rule, matching newline first, then next char = beginning of line). But - there is still various ways of how to do it. First - I think that your config files are chaos. Do they have any rules for some sections at all? :-) I also like what sqlab mentioned - sometimes it is easier to break stuff into 2 pass strategy. Read/lines is your friend here. You can try it on text files and you'll see, that the result is going to be a block of lines. I usually do: data: read/lines %my-data-file.txt ;--- remove empty lines from block of lines ... remove-each line data [empty? trim copy line] foreach line data [do something with data ....] Simply put - if rules for parser are out of my scope of capabilities (which happens easily with me :-), I try to find my other way around ... | |
Henrik: 17-Apr-2009 | You are in dialect territory immediately when you are defining a block of data and wanting to do something other than evaluating it with DO. | |
Henrik: 17-Apr-2009 | But in another place, [1 2 3 4] might mean something entirely different. It also happens to evaluate as normal REBOL code: >> do [1 2 3 4] == 4 But of course it doesn't do much. :-) Code is data and data is code. | |
mhinson: 17-Apr-2009 | Perhaps I should go back to trying to form a program specification & see if the advice I get in that context is different. If I have print "hello world" that seems to follow syntax rules shown by "source print" are you saying because I could have >> hi: [print "hello world"] == [print "hello world"] >> do hi hello world I have started using a dialect? | |
Henrik: 17-Apr-2009 | No, when using DO, it will not be a dialect, just normal REBOL code. Before you do anything with it, the block is just a chunk of data. A dialect involves some kind of processor that you write or exists in REBOL already, which you then apply to the chunk of data, but is not the base scanner (the main language parser). | |
mhinson: 17-Apr-2009 | it sounds like a very flexiable concept, but likely to add complexity. parse seems to be well documented in terms of how a string can be split apart in this manner >> probe parse {Hello world} none ["Hello" "world"] but much less documented when trying to do complex stuff... I was in my ignorance expecting it to follow some sorts of syntax rules that I could read about. Have I missed a basic concept? | |
Henrik: 17-Apr-2009 | I know the following sounds basic, but it's _crucial_ to understanding how REBOL works, otherwise you will not "get" REBOL: You must understand the concept that data is code and code is data. That means that anything you write, can be considered pure data. It's what you do with that data that becomes important. It's like speaking a sentence, but only paying attention to the placement of letters. That makes the sentence pure data. If you then pay attention to the words objectively, they can form a sentence, so you can validate its syntax. If you use the sentence in a context, you can apply meaning to it, subjectively. If you switch the context, the sentence can mean something entirely different. This is very important. Context and meaning. For REBOL: [I have a cat] This is a block with 4 words. It's pure data that can be stored in memory, but at that level it doesn't make any sense to REBOL. If you then apply a function to that data, you can process it. DO processes that data as REBOL code. It will be evaluated as REBOL code. Here it will produce an error, because it's not valid REBOL code. If you produce your own dialect, for example with PARSE, you can make that block make sense. When typing in the console, REBOL evaluates it as normal REBOL code by using DO internally. That means: >> now == 17-Apr-2009/18:13:14+2:00 is the same as: do [now] But this block: [now] is just pure innocent data with no meaning. | |
Pekr: 17-Apr-2009 | mhinson: now my explanations to some of your questions, as I think not everything was explained to you properly: 1) parse/all - /all refinement means, that string is parsed "as-is", because without the /all, white-space is skipped: >> parse "this white dog" ["this" "white" "dog"] == true >> parse/all "this white dog" ["this" "white" "dog"] == false >> parse/all "this white dog" ["this" " " "white" " " "dog"] == true I prefer to always use /all refinement for string parsing ... 2) i don't understand why there is | before "some", that code will not work imo ... 3) "ifa:" is a marker. Think about parse in following terms ... you have your data, here a string. Parse is the matching engine, which tries to match your input string according to given rules. In parse context (dialect) you have no means of how to manipulate the input string, except the copy. So markers are usually used, when you want to mark some position, then do something in parens, and then get back the position, or simply mark start: .... then somewhere later end: and in the paren (copy/part start end) to copy the text between the two marked positions ... 4) "skips till one of the OR conditions are met" - very well understood ... 5) Here's slight modification for append/only stuff. Type "help append" in the console. /only appends block value as a block. You will understand that, once you will need such behaviour, so far it can look kind of academic to you :-) I put parens there, to make more obvious, what parameters are consumed by what function .... >> wanted: copy [] == [] >> append (append wanted (copy/part "12345" 3)) interf: copy ["abc"] == ["123" "abc"] >> wanted: copy [] == [] >> append/only (append wanted (copy/part "12345" 3)) interf: copy ["abc"] == ["123" ["abc"]] | |
Group: Announce ... Announcements only - use Ann-reply to chat [web-public] | ||
Maxim: 31-Oct-2006 | There is finally a script to demonstrate some of GLayout's current capabilities. the demo script will download and save slim and glayout on its own (asking first), hands free, no obscure installation needed. do http://www.rebol.org/cgi-bin/cgiwrap/rebol/download-a-script.r?script-name=glayout-demo.r | |
Maxim: 17-Nov-2006 | GLayout demo 0.9.1 Released: ------------------ -auto-updates latest version of GLayout (as per slim requirement). -new layout using switchpad (btw, switchpad automatically adds a right-click popup to select panes) -takes advantage of new GLayout features. -improved input field filter example, now properly reacts to caret offset (cursor) -better button and field options examples -adds center style examples. do http://www.rebol.org/cgi-bin/cgiwrap/rebol/download-a-script.r?script-name=glayout-demo.r | |
Maxim: 3-Jan-2007 | I thought I'd put a direct link to start the app (works in view 1.3.2 & 2.7.x) : do read http://www.pointillistic.com/open-REBOL/moa/steel/retools/download/regraph.r | |
Maxim: 21-Feb-2007 | REMARK HAS NOW FINALLY BEEN RELEASED ON THE STEEL WEB SITE REMARK is a robust web site building tool which allows you to construct your own custom tags using rebol values and dialecting. The main difference of remark with other tools of its kind, is that the web pages do not contain code, they contain data or parameters to your custom tags. Remark also persistently reparses tags until no more custom tags exist in the dialected tags you create. this means you can actually build up your pages with custom which use custom tags themselves... talk about leverage! at version 1.3.5 it support multiple site configs, ftp dumping, site specific configuration, and the very flexible remark engine itself. Creating tags is trivial and for simple templating, you don't even need to know how to code in rebol... just html content within stored files can be nested within your site's pages and will be included, by simply adding a tag which is called like the stored html. Using differently named source file extensions you can even decide to parse the content differently, so that you can create different page templates or one can even decide to create a make-doc handler for example (its not included by default, just possible if you need it). you can check-out the FULL documentation, including tutorial, example site, reference page and guides on adding new tags and templates. here: http://www.pointillistic.com/open-REBOL/moa/steel/retools/index.html | |
[unknown: 9]: 21-Apr-2007 | I created a new project in Qtask called "IT Think Tank" The goal is to invite people that like fiddling with Servers. I realized that I know a lot of people that do this, and they all have the same issues, so they might as well share knowledge. If you would like to be invited to this project, shoot me a private message. The advantage of a group here on Qtask over - lets say - some forum on the web is: - Knowing each other, or being only one degree of separation tends to mean one feels more comfortable asking deeper questions. - Being more than a Forum, people can share files, build Qwikis of common issues, etc. - The people I know tend to be a "click above." | |
Chris: 28-Apr-2007 | Using QM with Cheyenne -- instructions now included in the documentation: http://www.ross-gill.com/QM/introduction.html All mod-QM should do is intercept 404s and redirect the request to QM. I don't think this affects existing setups (please tell me if I'm wrong). QM 404s by default are handled in files://system/views/errors/notfound.rsp | |
Terry: 15-May-2007 | After much consideration, we've decided provide a dual license for Redwerks technologies similar to MySQL's licensing policy.. If you are developing and distributing open source applications under the GPL License, then you are free to use Redwerks Inc. software under the GPL License For OEMs, ISVs, and VARs who distribute Redwerks with their products, and do not license and distribute their source code under the GPL, Redwerks Inc. provides a flexible OEM Commercial License. The dual - license will apply to the following Redwerks Inc. technologies Eco - Our Semantic Network DBMS Framewerks- our website creation middleware built on Eco LFReD - our natual language intelligent agent For more information on this, and how it relates to Rebol, check out the Redwerks group. | |
Geomol: 31-May-2007 | Hokus Pokus! This is a little fun script, I'm working on, that actually may be useful for someone. It can change something into something else. First version could transform bitset! back to it's original string!, then I added conversion between issue! and tuple!. Now it can also translate between many human languages, like in this example: >> do http://www.fys.ku.dk/~niclasen/rebol/hokus-pokus.r >> hokus-pokus/translate "Hello, how are you?" "en2es" == "ÀHola, c—mo eres?" Using the /translate refinement, and the extra argument can be any of: ar2en , "zh2en", "zh-CN2zh-TW", "zh-TW2zh-CN", "en2ar", "en2zh-CN", "en2zh-TW", "en2fr", "en2de", "en2it", "en2ja", "en2ko", "en2pt", "en2ru", "en2es", "fr2en", "fr2de", "de2en", "de2fr", "it2en", "ja2en", "ko2en", "pt2en", "ru2en", "es2en" translating between languages like Arabic, English, Chinese, French, German, Italian, Japanese, Korean, Portuguese, Russian and Spanish. Yeah, it's a real Transmogrifier. Have fun! (It may be hard to type in many of these languages with current REBOL, I don't know! :-)) | |
Geomol: 13-Feb-2008 | I'm confident, we talk weeks, not months. The first part of the code probably in days. From experience, I know, time estimates on software projects are very hard to do, but in this case, all the old code is there, I would just like to review it, test and optimize a little before release. | |
GiuseppeC: 12-Mar-2008 | Oldes, what about uploading your colorizer to rebol.org ? If you don't have the time I could do this for you this round. | |
Geomol: 25-Apr-2008 | GLServer for Win32 is released. There also is a Mac version, Linux is still missing. See group OpenGL. It makes it possible to do 3D graphics from REBOL using OpenGL. | |
BrettH: 20-Jul-2008 | I note with interest the efforts to translate the latest REBOL book from French to English to be published via LuLu. Do you realize that LuLu are unable/unwilling to deliver to international P.O. Box addresses !!?!! -- they gave me some Bull Dust story about how The Australian Postal Service wont deliver to a P.O Box !! Strange how AMAZON seems happy to deliver to a P.O. Box. and have done so for many years. So getting the book might prove difficult for some people. | |
Janko: 9-Apr-2009 | aha, I was totally crazy when I came home from first child.. had no idea what to do.. I am not sure how it will be with second :) | |
Ladislav: 31-May-2009 | Identity, Bindology and Parse versus RE articles the above articles have been revamped and moved to: http://www.rebol.net/wiki/Identity , http://www.rebol.net/wiki/Bindology, http://www.rebol.net/wiki/Parse_versus_RE . When checking, do not forget to read and comment the http://www.rebol.net/wiki/Decimals-64#Rounding section in DevBase. | |
Gregg: 13-Jun-2009 | INCLUDE is very nice. What I think it still missing from the wiki are cons about the lower level alternatives with regard to higher level "standards". e.g. with LOAD and custom scripts you can do anything, sure, but there is no standard model, so each system is ad hoc. | |
xavier: 25-Jun-2009 | i d like to do some 'real' programms in rebol 3 | |
Oldes: 5-Aug-2009 | Hi... we are going to finish with the Machinarium game I'm working on using my Rebol/Flash dialect. Last level left to do, adding sounds and of course some bug fixing and optimizations must be done now. Here is the newest trailer (contains a few game spoilers!): http://www.amanita-design.net/blog/2009/08/05/new-trailer/ | |
Pekr: 1-Sep-2009 | I asked Cyphre to add some examples, he will do it as time permits. This new released version should be more stable and should work both with VID and RebGUI .... | |
amacleod: 4-Sep-2009 | I've finally released my App for Beta testing..over a years work and much more to go before all the features are implemented that will make it a sellable product. I wanted to take a moment to thank this community as I would not have been able to get this far without the Rebol language and even more so the Rebol Community. Thank you all for your patient guidance, and helpful hints and example code. I would like to thank some personally as they have been super helpful (I hope I do not leave anyone out) In no special order: Dockimbel Graham Pekr Henrik Gabriele Sunanda oldes Paul Maxim btiffin Nick Reichart I'm sure I missed a few that helped considerably…sorry if I did. | |
Robert: 2-Nov-2009 | Max, is the C source code available? As a reference how to do extensions etc. | |
Carl: 28-Dec-2009 | We need to update R2, however, I do not want to make this a complicated, time consuming release... because I do not have extra time (between R3 and Website changes.) The top goals are to remove the restrictions on the special features in View, and also to add SSL, if at all possible in a short period of time. The goal IS NOT to fix every little bug... because that would delay the release for a year... or more. | |
Chris: 18-Mar-2010 | R3 version: http://ross-gill.com/r/r3metadb.r Only caveat is that you are limited to writing strings, blocks and binary, so you can do the following in R2 but not R3: write meta/Chris/home http://www.ross-gill.com/ | |
Robert: 10-Jun-2010 | The DLL is only a demonstrator as I wrote to show how to do it. Nothing more. | |
Chris: 6-Sep-2010 | 'tweet function for posting to Twitter: http://www.ross-gill.com/r/tweet.html Usage: do/args http://www.ross-gill.com/r/tweet.r[... keys/secrets per settings ...] tweet "Status Update" You can either do/args, or download the script and modify the header. Caveat: you'll need the Application Key/Secret (obtained from the Twitter Dev Site) and the User Key/Secret (you'd have to do the handshake to get these, see my %twitter.r page: http://www.ross-gill.com/page/Twitter_API_and_REBOL). Use at your own risk, you would not want to share any of the keys/secrets. | |
Maxim: 17-Sep-2010 | particle generator online. built for fun and as a reference for anyone to implement his own .... its on rebol.org. have fun hacking/improving it. pictures: http://www.rebol.org/view-script-images.r?script-name=fire-smoke-particle-generator.r run script: do http://www.rebol.org/download-a-script.r?script-name=fire-smoke-particle-generator.r | |
Fork: 23-Sep-2010 | I still feel it's possible to do much better in terms of an interactive deployment for Rebol tutoring... but the work on telling an open source story for Rebol is even more important than that quibble. | |
ChristianE: 29-Sep-2010 | The R3 ODBC Extension allows easy access to databases and data sources supporting ODBC. The extension supports SQL statements SELECT and INSERT, UPDATE and DELETE as well as catalog functions for tables, columns and types. It supports statement parameters and is Unicode aware. It supports direct and prepared execution of statements. If you're used to the commercial REBOL/Command (or the nowadays freely available REBOL/View) ODBC database access methods, you should have no problems using the ODBC API presented here. There's next to no differences in functionality, it differs mostly in that the extension isn't used with ports, but with "ordinary" functions OPEN-DB, OPEN-SQL, DO-SQL, CLOSE-SQL and CLOSE-DB. This may change when it's possible to provide the extension as an asynchronous R3 device, since the ODBC functions may be blocking. For now, the API is implemented as an embedded host-kit extension (it should easily be possible to provide it as an external dll) and is available for the Windows platform. So far it has been tested with MySQL, PostgreSQL and Intersystems Caché as well as the Microsoft Text Driver. Of course it's supposed to work with any ODBC data source. |
3901 / 11578 | 1 | 2 | 3 | 4 | 5 | ... | 38 | 39 | [40] | 41 | 42 | ... | 112 | 113 | 114 | 115 | 116 |