AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 33 |
r3wp | 259 |
total: | 292 |
results window for this page: [start: 1 end: 100]
world-name: r4wp
Group: #Red ... Red language group [web-public] | ||
Andreas: 26-Feb-2012 | So the only way to construct a float32! from a literal, is by casting (`as float32!`) from a float64! literal. | |
Pekr: 29-Feb-2012 | I know. OK, maybe I need an advice. I was looking into some C code educatory example, which contained something like: char multi[5][10]; decomposed to: multi[0] = {'0','1','2','3','4','5','6','7','8','9'} multi[1] = {'a','b','c','d','e','f','g','h','i','j'} multi[2] = {'A','B','C','D','E','F','G','H','I','J'} multi[3] = {'9','8','7','6','5','4','3','2','1','0'} multi[4] = {'J','I','H','G','F','E','D','C','B','A'} which gets stored in a memory block of a "0123456789abcdefghijABCDEFGHIJ9876543210JIHGFEDCBA" value. If I would be supposed (for any reason :-), to interface to such a construct, I would simply use a pointer in Red, and would be responsible to manually decompose/treat the value of arrays, not to break it for the C level code? | |
Steeve: 11-Aug-2012 | is: func [ [catch] {Current face inherits from a block!} spec [block!] /local locals old when init ][ either all [ find spec set-word! ; locals founds not empty? exclude ; new ones (not found in the current face) first locals: construct copy spec ; copy: because [construct] modifies the block (R2 bug ?) first face ][ ; Would be simpler, faster and safer using R3 (objects can be expanded) ; rebuild face with new locals ; (make face spec : can't be used here because of the special bounding rules) when: face/when ; prevent copy/deep of when and init blocks init: face/init face/when: face/init: none set locals none resolve* locals face ; initialize locals with current face (if intersect) face: make old: face locals ; rebuild current face with new locals face/when: when face/init: init do-safe bind bind spec face self; run style constructor bind bind init face self ; rebound current face constructor (which is currently running) error? set old :bound-err ; prevent old object from being used anymore old: none ][ ; no new locals do-safe bind bind spec face self ; just run style's constructor ] if error throw-exit ] | |
Kaj: 17-Sep-2012 | As I said, wrapping a binding in a context isn't enough, in the first place because #define's remain global. Making them context sensitive would help a lot, because they're currently the most primitive construct in Red/System | |
DocKimbel: 4-Dec-2012 | it would be strange from you to try to push us to recreate an object just to expand it That is part of the basic semantics of the R2 object! datatype, it follows the prototype-based model. You construct new objects by copying existing ones, it can be just a copy (cloning the source object), or derivation (extending the source object with new words). Changing object context (adding/removing words) without creating a new one is not consistent anymore, so it can look like a big hack. | |
DocKimbel: 22-Dec-2012 | In other words, we need some kind of Red wrapper (or maybe dialect) on top of Red/System to make it easier to construct programmatically. | |
DocKimbel: 25-Dec-2012 | Ok, I see what you mean. Like in C, you can already write "thread-safe" code in Red/System by using only variables on stack. If you need concurrent access to global variables, usually, the OS are already providing some API for that (locks, semaphores, mutex,...). I haven't chosen yet how it will be implemented at Red/System level, there are different options. For example, it could be handled by the language directly using a similar construct as in Java: synchronize [ x: x + 1 ] In my early design notes, I have researched only how to handle concurrency at Red level, I've left the underlying Red/System part as an "implementation detail". I plan to start working on it after I/O will be implemented. | |
Kaj: 11-Mar-2013 | In that case, it seems obvious to me to do nothing. That's a regular construct in programs | |
Group: Announce ... Announcements only - use Ann-reply to chat [web-public] | ||
MaxV: 10-Sep-2012 | Carl, 9-Sep-2012 15:46:54: "I need to apologize all of you for the lack of response to your comments. This was due to a funny incident that happened on my ranch. Last week, a few heffalumps burst into my basement and turned over the last barrel of 1999 Châtemateloo. Unfortunately, the precious liquid flooded telecommunication cables and I lost network connection. You know me, this is not a reason to give up. Using a microwave oven, amateur radio, and 4 lines of code in REBOL I was able to construct a modem and here I am. Well, I read very carefully your comments (the first two lines of each comment) and I noticed that most of them contain the phrase "Hi Carl". I was hoping that I'll find out from them what further steps should be taken to save the future of REBOL, but it seems that as usual I have to come up with a solution myself. So, here it is. I decided to open source REBOL. Choice of license is very difficult because there are many kinds of them. I examined the majority of them, and none meets my needs. They are overloaded and too complicated. The only thing I can do in this situation is to write my own license. I name it ... Rebolense. Creating a license is not an easy task, but is necessary. I'll be working on it soon, so stay tuned. " | |
Group: Ann-Reply ... Reply to Announce group [web-public] | ||
GrahamC: 2-Jul-2012 | Rebol2 has a pretty straight forward case construct | |
Steeve: 9-Sep-2012 | Well, more I read it, more it becomes obvious. Last week, a few heffalumps burst into my basement and turned over the last barrel of 1999 Châtemateloo Using a microwave oven, amateur radio, and 4 lines of code in REBOL I was able to construct a modem and here I am. Pretty funny | |
Ladislav: 26-Sep-2012 | 'Restricting "library" to only encompass "OS libraries" is certainly a debatable opinion, but it's not the stance the FSF takes.' - My reservation is: - everything mentioned here is just an opinion of the respective person, certainly not a qualified opinion of the lawyer - the DO is not implemented in REBOL at all, is it a functionality implemented in C, and the DO variable is just a variable the interpreter "knows", certainly not some code your REBOL program is "linked to". - also, the user of the interpreter obtains r3.exe and r3.dll, not some other "hypothetic library" which is just a construct you are creating | |
Group: Rebol School ... REBOL School [web-public] | ||
Endo: 17-May-2012 | Here is an example: cgi-obj: construct decode-cgi read-cgi ;check the input all [ in cgi-obj 'email trnEmailAddress: to-email trim form cgi-obj/email not empty? trnEmailAddress ] [ ;evrything seems ok send trnEmailAddress reform ["Thank you. Your number is" token "."] quit ] print "Error!" | |
Henrik: 7-Oct-2012 | it's also possible to simply add a pane of faces that construct the text in the necessary parts. with SIZE-TEXT you can then calculate the necessary size of each part and write a little routine to lay it out. it's a bit of work, though. | |
Andreas: 16-Nov-2012 | Basically, you create an HTML file and put it on your webserver. Let's call it "form.html": <form action="form.cgi"><input type="text" name="word"><input type="submit"></form> Then you create a REBOL CGI matching the "action" used above, so "form.cgi", and also put it on your webserver: #!/usr/local/bin/rebol278 -cs REBOL [] cgi-values: construct decode-cgi system/options/cgi/query-string ;; Now you can access the "word" value submitted via the HTML form ;; as cgi-values/word. ;; Let's echo the value back to the user, as an example: print rejoin [ "Content-type: text/html" crlf crlf cgi-values/word ] | |
Pekr: 31-Jan-2013 | btw - do might be unsecure, e.g. with CGI code. Maybe 'construct would do the trick too, without evaluating the stuff? | |
caelum: 31-Jan-2013 | I see what you mean. I just read the function summary for 'construct'. My objects are encrypted before they get saved anywhere. Thanks for the tip Pekr. | |
Maxim: 1-Feb-2013 | the most secure method is to SAVE/ALL AND CONSTRUCT. also, btw, using MOLD/ALL can save a lot of ram because things like hash! and objects! do not get double allocated. on big datasets like I'm using it means saving 100MB RAM on app startup . :-) just be carefull with save/all & mold/all they can corrupt some data types just like when /ALL isn't used. it does allow much more, but it still can create some un-reloadable issues... always test it with your current data structures before blindly adopting it. | |
BrianH: 1-Feb-2013 | In this case, you keep your code and data separate because code is best saved with MOLD and reconstructed with DO, but data of types that don't have a normal literal form (but aren't affected by binding) are often better saved with MOLD/all and restored with LOAD. The main thing is that we don't have a literal syntax to declare word bindings; instead, we have a way to construct them with code. Same goes for cyclic or DAG structures that aren't strictly nested. So, if you need to create such things, you need to run code. And you need to keep your untrustworthy data that you can't safely DO separate from that code. | |
Maxim: 22-Mar-2013 | I don't agree, because 'H is defined within context of 'G and uses 'H binding. its both consistent and logical... because Rebol binding is supposed to be static. in the above example, I'd say the construct itself does what it should, but the real question is should one usually do this... no. I understand its a trap, but its not a trap for which the language is responsible, the user is simply leveraging the language. | |
Group: Databases ... group to discuss various database issues and drivers [web-public] | ||
Pekr: 11-Nov-2012 | yes, you have basically two options: 1) work with string - insert db {insert into data1 ....} - you simply construct the DB string directly 2) work with block - insert db ["initial string here, contatining values(?)" value] - which allows to work with rebol blocks and evaluate some things ... | |
Pekr: 11-Nov-2012 | >> blk: decode-cgi "var1=Petr" == [var1: "Petr"] >> type? blk == block! >> object: construct blk >> object >> object/var1 == "Petr" | |
Pekr: 11-Nov-2012 | so use: values: decode-cgi read-cgi result: construct values insert db ["insert into data1(oneone) values(?)" result/oneone] | |
afsanehsamim: 11-Nov-2012 | i am using the first one ... can i use codes which you mensioned in above ? values: decode-cgi read-cgi result: construct values insert db ["insert into data1(oneone) values(?)" result/oneone] | |
Pekr: 12-Nov-2012 | Create 2 files. Call the first one e.g. cgi-test.html, and upload it to your server. The only thing you have to change is the link to your .cgi script in there: <HTML> <TITLE>Simple Web Form</TITLE> <BODY> <b>Simple Web Form</b><p> <FORM ACTION="http://www.xidys.com/cgi-bin/cgi-test.cgi"> <INPUT TYPE="TEXT" NAME="Field" SIZE="25"><BR> <INPUT TYPE="SUBMIT" NAME="Submit" VALUE="Submit"> </FORM> </BODY> </HTML> Create a second file, called cgi-test.cgi (it has to align to how you name it in the above source file). Upload it to your cgi working directory. Remember to change the first line to contain the path, where your REBOL executable is placed: #!/usr/local/bin/rebcmd -sqc REBOL [] print join "Content-type: text/plain" newline start: now/time/precise submitted: decode-cgi read-cgi values: construct submitted prin "Submitted: " print mold submitted prin "values: " print mold values prin "values/field: " print mold values/field print now/time/precise - start print newline Now go to your URL, and try to submit some values. You can test it on my site at: http://www.xidys.com/cgi-test.html | |
Group: !REBOL3 ... General discussion about REBOL 3 [web-public] | ||
Maxim: 21-Jan-2013 | but I'll probably be using modules as the basic construct for slim R3, instead of objects... in my model, it might not really matter, I manage access/biding to/from modules actually altering and expanding the module when it is being loaded. the data being sent to slim isn't executed directly, the block is sent to a manager, which does some binding and security stuff first. | |
Sunanda: 13-Mar-2013 | CFOR, EVERY etc I'm happy with FOR as I do not need to construct and perhaps REDUCE a block to set up variable start conditions -- just have to set words to values. For me, the syntaxtic sugar neatness of the new proposals is outweighed by the simplicity of the setup for the existing method. No real opinion on how to standardise the existing behavior other than to reiterate a point Brian has already made: FOR start and end can work on series too; all the examples I've seen of proposed change behavior is for numbers. We need to ensure thar series FORing works as expected too. | |
Ladislav: 13-Mar-2013 | I'm happy with FOR as I do not need to construct and perhaps REDUCE a block to set up variable start conditions - this looks like you never used CFOR, otherwise you would have know that it does not require anything of that kind | |
BrianH: 16-Mar-2013 | The existing LOOP is used quite often, so any replacement for it won't go in R3 by default. However, the main reason LOOP is used is because it doesn't have the overhead that a lot of the other loops have, less than the other natives even. Its simplicity and definite form are its strengths - a loop with a more flexible form would be need to process that flexibility at runtime, which would add inefficiency that could easily be avoided by making that choice at development time by choosing the loop that meets your needs. And any loop construct that requires any kind of manual reducing of its arguments in order to have it take the result of an expression is a definite no-go. I just got rid of that in REWORD. I like http://issue.cc/r3/884as a replacement for FOR. It keeps the local binding (unlike Marco's CFOR above, sorry) and is flexible in behavior without being flexible in form (it has a very simple implementation). | |
Gregg: 19-Mar-2013 | @BrianH, when you say "And any loop construct that requires any kind of manual reducing of its arguments in order to have it take the result of an expression is a definite no-go.", does "manual reducing" mean having the user do it? e.g., if I get a spec passed to my dialected LOOP func, and I REDUCE it or DO/NEXT internally, is that a no-go? If so, where should I look for the reasons and guidelines about it? | |
Pekr: 9-Apr-2013 | Another interesting thing I noticed: facets: [ init-size: 28x28 bg-color: 80.100.120 border-color: 0.0.0.128 pen-color: ; set by on-draw area-fill: ; set by on-draw material: 'chrome focus-color: guie/colors/focus draw-mode: 'normal materials: none face-width: none ] Normally, in regular Rebol code, 'pen-color and 'area-fill, would be set to 'chrome, if I would use it to construct an object. But maybe it is just a spec block, so I should not care? I mean - what about setting them initially to 'none too, for a convenience? :-) | |
Ladislav: 5-Jun-2013 | #[[Adrians Among other things, how is it OK to invoke arg-adder without providing the one arg it expects when you have "return/redo :arg-adder? ]]AdrianS RETURN/REDO is a construct returning (in this case) the ARG-ADDER function and setting up an indicator telling the interpreter that after obtaining the function as a result it should reevaluate it collecting the respective number of arguments for it (one in this case). | |
Cyphre: 22-Jul-2013 | Geomol, some notest regarding alpha channel: The alpha values seems to be left out. I'ts not left out..that's only the way "mold" of image! datatype works. So I the image have "fully transparent" alphachannel it is just not shown by mold to make the output more readable. But it seems, the alpha channel is separate from RGB values. The alphachannel is always present in the image! datatype (ie. internally it's always 4 components = 32bit bitmap). Again it's just the way "molding" of the datatype displays the content. AFAIK You can construct the image! with alphachannel in various ways for example: separated alpha: >> i: make image! [2x2 #{0102030405060708009A0B0C} #{11121314}] == make image! [2x2 #{ 0102030405060708009A0B0C } #{ 11121314 }] same example but the RGBA compoments together: >> i: to image! #{0102031104050612070809130A0B0C14} == make image! [4x1 #{ 0102030405060708090A0B0C } #{ 11121314 }] >> i/size: 2x2 == 2x2 >> i == make image! [2x2 #{ 0102030405060708090A0B0C } #{ 11121314 }] >> Same way you can get the values in different form: >> i/rgb == #{0102030405060708090A0B0C} >> i/alpha == #{11121314} >> to binary! i == #{0102031104050612070809130A0B0C14} For more I'd suggest you read the image! datatype docs here: http://www.rebol.com/docs/image.html AFAIK The docs were written for R2 but should hold pretty much also for R3. |
world-name: r3wp
Group: All ... except covered in other channels [web-public] | ||
Pekr: 4-Jan-2005 | Has anyone used UML in real-life. Or even more precise - is UML worth studying? I want to construct some system, which will have some object model, inheritance, classes, but dunno if UML is worth studying as reference. I have read few chapters - seems like cool thing, but a bit difficult to swallow - too many terms etc. .... | |
Group: Ann-Reply ... Reply to Announce group [web-public] | ||
JaimeVargas: 4-Mar-2005 | BTW. Pekr we have some graphical tools that let you construct this type of instructions very easily. My objective has been that anyone should be able to manage a unit. But I am getting ahead the game here this is coming in our next releases. I think is going to blow the eyes of some of our competitors. | |
Group: RAMBO ... The REBOL bug and enhancement database [web-public] | ||
sqlab: 25-Apr-2005 | How safe is catch? I have some rebol applications serving message communication (around 1000 to 2000 messages per day mostly) running for more than half a year on Windows2000 Server without interruption since the last update of the OS for security reasons. Recently I had to add some message splitting: one-message --> [message-part-1 message-part-2 message-part-3] I used a construct similar to this forever [ until [new-messages-available] foreach message new-messages [ catch [ if not important [throw] do-some-heavy-message-processing-and data-completion-using-odbc if some-tests [throw] message-parts: split-messages message until [ catch [ message: first message-parts do-more-conversions if other-tests [throw] deliver message emtpy? message-parts: next message-parts ] ] ] ] ] Now I saw two crashes in one day. I was somehow able to reproduce the crash Invalid data type during recycle by playing again the history of one to two weeks. But the crash happened always processing another message. | |
Vincent: 14-May-2005 | #3463 : still crash with 1.2.104 - the problem is not construct/with, it's using an object containing a recursive block as prototype : b: copy [] append/only b b an-object: make object! [a: b] make an-object [] ; crash | |
Volker: 31-Jul-2005 | Don't know when, but old. IIRC older than 'construct. in a way its the predecessor of construct/with . And as such, with only data, there is no problem anyway. but can be used to merge objects too, kind of multiple inheritance. i thought.. ;) | |
Volker: 31-Jul-2005 | I used it primarily for data, to add default fields. item: make context[ defaults ] load %item.r there are no functions, so no problem. now thats construct/with, even no binding nowhere :) But lately i did something obscure and it drove me made.. | |
Group: Core ... Discuss core issues [web-public] | ||
Cyphre: 14-Jan-2005 | have some faster way how to construct those binary! data from Rebol | |
Graham: 8-Mar-2005 | I need to construct what is called a "triplet". The triplet in greylisting parlance is a unique set of three facts about an email. These are IP-address+smtp envelope from+smtp envelope to The idea is that you construct a database of triplets from smtp clients. If you have never seen such a triplet before, you send a smtp delay back to the client. Most well constructed MTA's honor the delay and try again. You set a block period .. from 10 seconds to 1 hour during which you do not accept any mail from that triplet. Spamming engines generally ignore this delay, and just give up. It's too expensive for them to log such delays and retry again. | |
Chris: 14-Mar-2005 | construct head remove remove find third a to-set-word 'b | |
Piotr: 23-Jun-2005 | then how construct local words? | |
JaimeVargas: 13-Sep-2005 | closure, associative arrays, construct with deep copy, load on values that don't exist in system object, others. Some of the bugs that have been fixed are due to our need for more power, stable and predictable interpreter. | |
JaimeVargas: 13-Sep-2005 | Yes, we can patch rebol and fixed ourselves, but we should remove some "surprises" like making CONSTRUCT safe. | |
Group: I'm new ... Ask any question, and a helpful person will try to answer. [web-public] | ||
Chris: 3-Jun-2007 | Perhaps that should be concise -- the expressive I guess is the ability to set the condition after the action, in a way that is easier for our brains to parse. Of course, the core of Rebol's expressiveness is that the language is built on top of a consistent, robust vocubulary (datatypes), though it can take time to learn how to construct the most expressive statements. Ruby is not instinctively reflective (is this the right term)? Now I'm rambling... | |
Chris: 3-Jun-2007 | until [capture-image camera/memory-full?] -- is an awkward construct. | |
Pekr: 3-Jun-2007 | Yes, but with dialects, you can be as free form as you wish ... well, mostly ... But of course that is different - you have to construct your grammar ... | |
Geomol: 5-Aug-2007 | In relation to Roberts post: >> load mold reduce [ does [ join "Rebol" "3"]] == [func [] [join "Rebol" "3"]] >> load mold/all reduce [ does [ join "Rebol" "3"]] ** Syntax Error: Invalid construct -- #[ ** Near: (line 1) [#[function! [][join "Rebol" "3"]]] What!? :-) | |
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 | |
Pekr: 2-Feb-2008 | Steve - but even with VID2 you could pre-construct your styles by 'stylize and instantiate it by directing VID to your style, or you could stylize it even inline within VID, so that you don't need to override specific parts of your button each time ... | |
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, /\/\ | |
mhinson: 22-Apr-2009 | AH, this is a bit of a revelation.. Now I know where to find all those values. And I can use this sort of construct view layout [b: button "Hello!" [b/text: "goodbye"]] Thank you thank you thank you very much. | |
mhinson: 3-May-2009 | the example from Pekr was to show me how to backtrack in order to make the ["b" | "y"] construct work in way that is non-greedy, that is to say so it finds the first occurance of either. | |
Group: Make-doc ... moving forward [web-public] | ||
Pekr: 11-Jan-2005 | but - I would definitely vote for =include command - both for code and another text file, so you would be able to construct more complex docs from smaller parts .... | |
Group: MySQL ... [web-public] | ||
Andreas: 20-Oct-2010 | In any case, I'd probably just do plain queries and construct the JSON from the resultset. | |
Group: Linux ... [web-public] group for linux REBOL users | ||
JaimeVargas: 3-Mar-2006 | It is amazing how we Open Source can divide people. There is gray all over the place and this is not a black and white issue. I think this is not about the armies of developers, or the quality, but about the ability to move fwd and construct on the disclosure of code. For as much bad applications there are in Open Source, there are good ones, OpenBSD, GCC, Postgress, and the one Rebol incorporated AGG. | |
TomBon: 22-Dec-2007 | no overhead, very lean and fast - another fine construct is ubuntu-xen with jeos guest and webmin for admin tasks | |
Group: CGI ... web server issues [web-public] | ||
Volker: 5-Dec-2005 | 2) decode-cgi builds the data itself AFAIK. does not use load. so all data should be strings. i am not sure about words, i guess they are bound. when you only fetch the words and turn them immediate in a string, that should be ok. the usual way is construct decode-cgi that result is save, because all words are bound to that context. | |
Sunanda: 5-Dec-2005 | Petr: <<I mean - above block in 'join statement is reduced - is it secure?>> That should be okay. You could just do a construct/with to create an object. If you are intending to create an object, then pre-process the block from decode-cgi to ensure that the word "self" is not used as a keyword (tip courtesy of Chris RG, if I remember rightly). | |
Group: !Readmail ... a Rebol mail client [web-public] | ||
Gabriele: 1-Jan-2005 | you can use CONSTRUCT, it does not evaluate. or just a block of word, value pairs. | |
PhilB: 10-Jan-2005 | rebmail 4.7.14 & associated helptext has been released (31/12/2004) ... Changes Since 4.7.11 Enhancement - re-work locale format (for security purposes) Bug Fix - Correct Fetch All Error Enhancement - Use load/all & Construct to load locale from file rebmail.r can be found at .... http://www.upnaway.com/~philb/philip/pbmail/readmail.r reabmail is also the following formats rip format at .... http://www.upnaway.com/~philb/philip/pbmail/readmail.rip zip format at .... http://www.upnaway.com/~philb/philip/pbmail/readmail.zip the archive containing rebmail.r & rebamail.html (rip = compressed self extracting rebol archive) Any problems let me know. | |
PhilB: 10-Jan-2005 | rebmail 4.7.14 & associated helptext has been released (10/01/2004) ... Changes Since 4.7.11 4.7.12 - Enhancement - re-work locale format (for security purposes) 4.7.13 - Bug Fix - Correct Fetch All Error 4.7.14 - Enhancement - Use load/all & Construct to load locale from file rebmail.r can be found at .... http://www.upnaway.com/~philb/philip/pbmail/readmail.r reabmail is also the following formats rip format at .... http://www.upnaway.com/~philb/philip/pbmail/readmail.rip zip format at .... http://www.upnaway.com/~philb/philip/pbmail/readmail.zip the archive containing rebmail.r & rebamail.html (rip = compressed self extracting rebol archive) Any problems let me know. | |
Group: Dialects ... Questions about how to create dialects [web-public] | ||
Steeve: 9-Jan-2010 | what is the interest to try to construct something which has no sense in Rebol | |
Group: Web ... Everything web development related [web-public] | ||
Pekr: 7-Nov-2006 | hmm, so construct an object, righ? | |
Andreas: 12-May-2010 | well, one of carl's original issues looks just as bad with this search engine: http://129.33.196.33/search/?query=construct | |
Andreas: 12-May-2010 | I can't find Carl's desired http://www.rebol.com/r3/docs/functions/construct.html at all in above results :) | |
Maxim: 12-May-2010 | I looked at the html source and it should clearly float to the top. strange... its got everything needed to be scored high (title, H1, and many counts of construct in the page). | |
Maxim: 12-May-2010 | Andreas, you're right... same with using a title search with construct. it returns nothing. | |
Graham: 12-May-2010 | if this construct page can't be found by any of the search engines ... is there a no robots directive ? | |
Graham: 12-May-2010 | Looking for construct now brings up http://www.rebol.com/r3/docs/functions/construct.html as the top item | |
Group: Announce ... Announcements only - use Ann-reply to chat [web-public] | ||
Geomol: 28-Dec-2006 | NicomDoc 2.1.0: http://home.tiscali.dk/john.niclasen/nicomdoc/ Added an alternate way to construct tables. Instead of the need for =row and =cell commands, a table can just be lines (each line is a row) and on each line, cells are separated by one or more tabs. Docs with lots of tables will shrink considerable in number of lines needed. The Math specification (http://www.fys.ku.dk/~niclasen/nicomdoc/math.txt) went from 3000 to just below 700 lines this way. | |
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 | |
Group: SDK ... [web-public] | ||
DideC: 23-Feb-2005 | Question: the SDK license require to not let the program interpret Rebol code ! If the program load a config file (with 'construct) does it go against the license or not ? | |
Volker: 24-Feb-2005 | 'construct is ok. user can only insert data, not code. | |
Anton: 24-Feb-2005 | Volker means that CONSTRUCT will not evaluate the spec block, so there will be no explosions :) (make object! spec-blk does evaluate the contents.) | |
Gabriele: 25-Feb-2005 | yep, CONSTRUCT is ok. | |
Gregg: 20-Mar-2006 | I think that has to do with evaluation constraints then. That is, DRAW will get words, but not do further evaluation (kind of like CONSTRUCT), so it's safe. | |
Group: !RebGUI ... A lightweight alternative to VID [web-public] | ||
Ashley: 9-Apr-2005 | Latest build available at: http://www.dobeash.com/files/RebGUI-019.zip Highlights include: - Integrated language localization (see http://www.dobeash.com/it/rebgui/locale.html) - New arrow widget (run %arrow.r to see it in action) - Use of as-pair - Minor updates to pwd-field - title-group simplified Known issues - radio-group fails under 1.2.1 and rebface 1.2.10 (but not view oddly enough). Comment / uncomment radio-group block under %tour.r to see. - Need a "safe" implementation of 'construct for 1.2.1 | |
Vincent: 9-Apr-2005 | 'construct for 1.2.1 : | |
Vincent: 9-Apr-2005 | construct: func [ block [block!] /with object [object!] /local nb spec values name value ][ if not with [object: object!] spec: copy [] values: copy [] parse/all :block [ any [ to set-word! (nb: 0) some [ set name set-word! (nb: nb + 1 append spec :name) ] set value skip ( insert tail values nb insert/only tail values :value ) ] ] append spec none object: make object spec foreach [nb value] values [ loop nb [ set in object (to-word first spec) either find [true false none on off] :value [do value][:value] spec: next spec ] ] object ] | |
Group: Cookbook ... For http://www.rebol.net/cookbook/requests.html [web-public] | ||
DideC: 7-Jul-2005 | config: construct/with load config-file standard-config | |
DideC: 7-Jul-2005 | I use 'construct for security reason, but it's most understandable with 'make : | |
Sunanda: 7-Jul-2005 | DideC -- your method is similar to Henrik's, and has the same limitation: sub-objects fields do not propagate as you'd expect.....No f2-2 field in 'config here: standard-config: make object! [f1: 1 f2: make object! [f2-1: 21 f2-2: 22] f3: 3] config-file: make object! [f1: 88 f2: make object! [f2-1: 99]] probe config: construct/with third config-file standard-config | |
Group: XML ... xml related conversations [web-public] | ||
Graham: 22-Jun-2009 | I was using rebelxml to construct xml ... but I came across some bugs. So this way of doing it looks easier .... | |
Graham: 23-Jun-2009 | What are people using to construct large XML documents ... of 100s of lines? | |
Graham: 28-Jun-2009 | Anyway this is looking promising. I can take an xml message, construct a rebol object from it ... rearrange bits to create a new object and then create a reply xml message. | |
Robert: 2-Jan-2010 | Wouldn't it make a lot more sense to use a C based XML parser, construct a Rebol data-structure/string and return that to Rebol? | |
Group: Tech News ... Interesting technology [web-public] | ||
Henrik: 4-May-2007 | Services are small. They do one single thing and they do that one thing very well. OSX has them and they've been there for ages, but the system only relies on them for manipulating things in apps, not to construct ad hoc apps themselves. How often have you not wanted a cool feature from program X in program Y and vice versa? This would do the trick. | |
JaimeVargas: 7-May-2007 | Gabriele, Even though there Scheme uses two stages the line between compile time and runtime is not the same as in C. You can write macros during runtime that get compile on the fly and avaialbe without ever stopping a program. So in this sense the two phase is just process is not really important. The feature that macros brings is syntactic abstraction. Also in Rebol you can not do low level control structures. That is you can not add foreach without having a looping construct already in place. So the mezzanine is slow. Compare to delimited continuations of Scheme where is only control structure and recursion and optimized goto. You construct other control syntaxes on top of that. | |
JaimeVargas: 15-May-2007 | Gabriele, "brainfuck is turing complete, but don't tell me it's the same as scheme". Well it depends on what you mean by sameness. I am using Turing Complete as the base of the definition. Because if the language is Turing Complete you can construct an emulator of any other language. After all that is needed is bits, memory and register to carry out any computation. It maybe hard to make a Rebol interpreter in brainfuck but it is certainly possible. | |
Pekr: 3-Sep-2008 | Graham - it seems to me, that ppl sometimes construct their problems to prove somethings which actually is not happening. Did I got some crash with FF3? Yes, more than with FF2, especially with stupid quick-time format. But - did I got some tab locks? No, never .... | |
Group: !RebDB ... REBOL Pseudo-Relational Database [web-public] | ||
Ashley: 9-Feb-2006 | The final [untested] solution is about as efficient as you can get. Adding JOIN support to RebDB so it can break the query down into similar steps is not a simple task. In all but the most trivial of cases you'd be better off coding it yourself. What might be a good idea is to add something that lets you more easily specify the most common JOIN operation - master/detail with optional LOV (List Of Values) lookup(s). Your query is a classic example of this construct and it accounts for a surprisingly large number of queries. The function would accept two queries, a master query (the orders table in your case) and a details query (the order-items table) and an optional block of column/LOV-table pairs (that perform substitutions such as company-name). The skeleton would look like: sql-join [master-query [block!] detail-query [block!] /order /lov [block!] ] [ buffer: copy [] ... buffer ] and would be used as such: sql-join/order/lov [ select [company-id order-id date amount total] from orders where [amount > 2000] ] [ select * from order-items where %ID% ] [8 1 5] [company-id companies] Would this make things a tad easier? | |
Ashley: 11-Feb-2006 | Thanks guys, I've had a good look at both implementations and I've got ideas from both for a future full JOIN implementation; but at the moment my master/detail code has come along nicely. I've now enhanced the db-select function to accept statements in these additional forms: select * from master joins [select * from details where &id] on id select * from master joins [select * from details where [all [master-id = &id master-date = &date]] on [id date] which works exactly like a normal join with the following differences: a) It can only join one table to another b) Detail columns are always joined to the right of master columns c) Table.column prefixes are not supported so all columns in the join must be uniquely named Apart from that you get all the benefits of db-select (can replace * with specific column combinations, order and group by on the final result set, etc) *and* it's significantly faster than even the raw REBOL code example I gave before (as the SQL is parsed once within db-select and all loop sub-selects are done in-line). I've also implemented “lookups” with the following form: select * from table replaces id with name select * from table replaces [id-1 id-2] with [table-1 table-2] which performs a highly optimized db-lookup for each replaced value, but has the following restrictions: a) The lookup expects lookup tables in the form [id label other-column(s)] b) Only single-key lookups are supported c) A lookup that fails will replace the column value with none! I'm now in the process of benchmarking these changes against sqlite to see where the bottlenecks (if any) are. Feedback on the design decisions is welcome. While I was doing this, I was once again reminded how cumbersome it is to construct SQL statements (not just for RebDB, same goes for the other SQL protocols), as the heavy use of 'compose, 'rejoin, etc adds noise that reduces legibility. The design goal is to provide alternatives to: sql compose/deep [select * from table where [all [col1 = (val1) col2 = (val2)]]] so for a start the 'sql function should probably accept a string, to allow: sql join “select * from “ table type constructs; but this doesn't make the first example easier. So how about the 'sql function accept a block containing a string statement followed by a number of substitution variables, as in: sql reduce [“select * from table where [all [col1 = &1 col2 = &2]]” val1 val2] which makes things a bit more readable (and shortens the expression if longer word names are used multiple times). So the two questions here are: a) Is this a good idea? b) If so, what substitution character (& % $ @ other) will cause the least conflict with REBOL and/or SQL? | |
Group: SQLite ... C library embeddable DB [web-public]. | ||
Graham: 22-Dec-2008 | You construct your sql statement and test it. | |
Group: !REBOL3-OLD1 ... [web-public] | ||
Henrik: 2-May-2006 | such a construct would make certain loops much simpler | |
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public] | ||
Graham: 26-May-2007 | So, we construct an ideogram around that. | |
MikeL: 17-Jun-2007 | Hi Doc, I was referring to something like this construct/with cgi-block make object! [a: 111 b: 222 c: 3] from http://www.rebol.org/cgi-bin/cgiwrap/rebol/art-display-article.r?article=x60w#toc-20 It could be added by all users to the results of validate but then it would be not be a standard cheyenne solution. It makes sense to me it is ''validate. | |
Graham: 21-Jun-2007 | This is not really about Cheyenne .. but what is the better approach. Using RSP to completely build your page and display it from your datasources, or to dynamically construct the page with javascript and then feed the data in Ajax like ? | |
Group: Games ... talk about using REBOL for games [web-public] | ||
Maxim: 17-Jan-2007 | but its doable. every game out there is an implementation of this concept... with preset rules, preset AI, and loaded graphics. basically, all that is needed (like in the matrix) is to define the construct (laws of physics and rule set which can be exposed and perceived by the agents). |
1 / 292 | [1] | 2 | 3 |