AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 50 |
r3wp | 689 |
total: | 739 |
results window for this page: [start: 501 end: 600]
world-name: r3wp
Group: Core ... Discuss core issues [web-public] | ||
amacleod: 14-May-2009 | This is an example of the code I used but it only hi-lites first occurance: if find face/text butt [ hs: caret-to-offset face find face/text butt he: caret-to-offset face find/tail face/text butt fsize: face/size/x draw_contents: copy face/effect/draw get_xys ;(Find the shape of the drawn hi-lite) append face/effect/draw compose/deep [(shape)] ] | |
Maxim: 13-Jun-2009 | the copy is a good idea though, cause if you use it for real data, some functions can mangle the content of the block. I'd even do a copy/deep | |
Ladislav: 13-Jun-2009 | copy/deep isn't necessary, since only the top level is modified (unless the PRE argument isn't modifying) | |
Graham: 27-Jul-2009 | Apart from chucking an error, what is the best way to determine if a path exists inside an object? So, the path might be 10 deep ... | |
BrianH: 4-Aug-2009 | Oh, sorry, I backported it. Try this instead: copy/deep third :now | |
Chris: 19-Aug-2009 | my-repeat: func ['w v b][use reduce [w] compose/deep [(to-set-word w) 0 while [v >= (to-set-word w) (w) + 1][(b)]]] | |
Steeve: 28-Aug-2009 | columns: [a b c d e f] >> c1: use columns copy/deep reduce [columns] == [a b c d e f] >> c2: use columns copy/deep reduce [columns] == [a b c d e f] >> set c1 1 == 1 >> set c2 2 == 2 >> reduce c1 == [1 1 1 1 1 1] >> reduce c2 == [2 2 2 2 2 2] >> c1 == [a b c d e f] >> c2 == [a b c d e f] C1 and C2 are locals | |
Graham: 20-Nov-2009 | this doesn't work ... test: func [ /local lo alert] compose/deep [alert: (:alert) dummy: none lo: {button "test" [ alert "hello" ]} view layout bind to-block lo 'dummy] | |
Graham: 20-Nov-2009 | this works test: func [ /local lo alert dummy] compose/deep [alert: get in system/words 'alert dummy: none lo: {button "test" [ alert "hello" ]} view layout bind to-block lo 'dummy ] just not working in my script though | |
Graham: 20-Nov-2009 | oh .. remove the compose/deep | |
Rebolek: 6-Jan-2010 | This works as I expected: >> a: [1 2] == [1 2] >> compose/deep [[(a)] [(swap a next a)]] == [[1 2] [2 1]] | |
Henrik: 8-Jan-2010 | Janko, try: http://blog.revolucent.net/2009/07/deep-rebol-bindology.html | |
Janko: 21-Jan-2010 | data: parse-fixed-width-lines read/lines %PO.txt [ vat-incl: 4 [ trim empty? not ] vat-num: 9 trim ... ] this func is used to execute [ trim empty? not ] with a value.. which is similar to pipe or stack lang with only 1 level deep stack :)) stream-through: func [ fs d /local x acc ] [ accumulate x acc copy [] fs [ do compose [ (x) d ] ] ] | |
BrianH: 30-Jan-2010 | collect-words: func [ "Collect unique words used in a block (used for context construction)." block [block!] /deep "Include nested blocks" /set "Only include set-words" /ignore "Ignore prior words" words [object! port! block!] "Words to ignore" /local rule word blk w ][ deep: either deep [[path! | set-path! | lit-path! | into rule]] [any-block!] word: either set [set-word!] [any-word!] blk: [] parse block rule: [ set w word (insert tail blk to-word to-string w) | deep | skip ] also either ignore [ unless block? words [words: words-of words] difference blk intersect blk words ] [ unique blk ] (clear blk set [block words] none) ] ; Note: In R3 this is native, called by MAKE OBJECT! ; The words are not supposed to be bound, thus the to-word to-string. | |
Steeve: 23-Feb-2010 | Found ... f: fast-dic: context [ size: 100000 hash: 128 - 1 ;** hash size speed up the search, must be a power of 2 - 1 (ie. 15, 31, 63, 127, 257 ...) master: copy/deep head insert/dup/only [] [] hash + 1 index: make bitset! size flag: func [idx [integer!]][ unless find index idx [ insert index idx insert/only insert tail pick master idx and hash + 1 idx copy [] ] ] flag?: func [idx [integer!]][find index idx] deflag: func [idx [integer!]][ remove/part index idx remove/part find pick master idx and hash + 1 idx 2 ] ] | |
BrianH: 28-Feb-2010 | Btw, that APPLY trick with the missing arguments is used in USE in R3 to initialize the words to none. The source: use: make function! [[ "Defines words local to a block." vars [block! word!] "Local word(s) to the block" body [block!] "Block to evaluate" ][ apply make closure! reduce [to block! vars copy/deep body] [] ]] | |
Gabriele: 5-Mar-2010 | func*: func [ "Defines a user function with given spec and body." [catch] spec [block!] {Help string (opt) followed by arg words (and opt type and string)} body [block!] "The body block of the function" /local f ] [ throw-on-error [ use [*temp*] [ f: make function! spec compose/only/deep [ in-func *temp*: do this-function-name out-func *temp* (body) ] body: second :f body/7: make function! [] body/7 :f ] ] ] | |
Maxim: 23-Apr-2010 | you mean as in deep searching a tree of blocks ? | |
Fork: 25-Jun-2010 | How much of this is cultural and how much is some deep embedded pattern instinct a la X bar theory is tough to say http://en.wikipedia.org/wiki/X-bar_theory | |
Maxim: 14-Jul-2010 | it becomes obvious to advanced users, cause we've had to go deep into the bindology, but casual/intermediate REBOLers se all the datatype/binding/loading stuff as magic. | |
Graham: 14-Aug-2010 | Well, instead then a context function that deep scans for all set words | |
Anton: 16-Aug-2010 | So you can have nested function calls as deep as you like, as long as you specify those which need binding in BIND-FUNCS. | |
Gregg: 19-Aug-2010 | But it's not find/deep, which is what you want. | |
Graham: 19-Aug-2010 | ok... find/deep then :) | |
Graham: 20-Aug-2010 | Maybe Carl can add this as a native for find/deep :) | |
Geomol: 21-Sep-2010 | Oldes, becuase the path might be deep: blk/1/a/2/b | |
Maxim: 21-Sep-2010 | I've had to handle datasets that where 10 levels deep. having to stop mid-way... use a select and then start again, breaks the whole idea of using paths to begin with. | |
Oldes: 22-Sep-2010 | btw.. in many case using temporaly variables is not so bad and may have better results than multiple deep path queries. | |
Group: !RebGUI ... A lightweight alternative to VID [web-public] | ||
Graham: 5-Nov-2008 | I'm going to try copy/deep .. but the errors are occuring in a table that I already pre-process. | |
Pekr: 10-May-2009 | I'll try to talk to Cyphre, but not sure how deep the changes would have to be. If it would require a rewrite, then I am not ready to pay for it once again ... | |
Graham: 29-May-2009 | where's your compose/deep ? | |
Izkata: 29-May-2009 | compose/only/deep, in that case | |
Louis: 30-May-2009 | Graham and Izkata, thanks for the help. But I must be misunderstanding something, as it is still not working. Here is what I have: CONNECT/create/flat %cl.db if error? err: try [ SQL "select * from projects" ][ er: disarm err if find er/arg1 "no such table" [ SQL "create table projects (Priority, ProjectName, ExchangeRate, Objectives, Deliverables)" ] ] do show-cc: make function! [] [ display "CRITICAL LINKS Version 1.0.0" compose/only/deep [ ;image %chain.jpg return group-box "Critical Chain and Theory of Constraints principles" #W data [ text "1. REMEMBER YOUR PURPOSE" font [color: blue size: 26 shadow: 1x1] return ;bar ;return text "2. Free Up Your Major Constraint" font [color: red size: 20 shadow: none] return text "3, Focus on one project at a time---don't multi-task." font [color: black size: 12 shadow: none] ] at 103x14 image %critical-chain.jpg 30x6 at 133x2 group-box "Redeem the Time" #W data [ after 2 label " System Clock Time:" my-time: text 28x7 "0:00:00" return bar return label "Average session time:" my-session: text 28x7 "0:00:00" ] return ;****************************************************************** tab-panel #HWLV data [ ;****************************************************************** "Projects" [ label "Project Name:" ProjectName: field 141x5 label "Priority:" Priority: drop-list 30 #W "1" data ["1" "2" "3" "4" "5" "6" "7" "8" "9" "10"] 10x5 return label "Objectives:" pad 131 label "Exchange Rate" ExchangeRate: field 20x5 return Objectives: area 200x10 return label "Deliverables:" return Deliverables: area 200x10 return label "Current Projects:" return current-projects: table (tab-size + 80x35) #HWLV options ["Priority" right .03 "ProjectName" left .2 "ExchangeRate" left .2 "Objectives" left .3 "Deliverables" left .1] data [(SQL "select * from projects")] return button "Save" [ SQL reduce ["insert into projects values (?,?,?,?,?)" Priority/text ProjectName/text ExchangeRate/text Objectives/text Deliverables/text] current-projects/redraw ] pad 20 radio-group 60x5 data [1 "Add" "Edit"] pad 20 button "Quit" [quit] ] | |
Ashley: 16-Sep-2010 | And my answer is it's not a RebGUI problem. Try the following code on 2.7.7.3.1 (Windows): view center-face make face [effect: [draw [text "xxx"]]] You should see 3 black x's in the top left corner of a new window. Now try this on 2.7.7.2.5 (Mac) ... a blank window appears. I suspect the same thing happens on Linux. This is not a dialect problem (VID or RebGUI) but an issue with REBOL/View AGG font support on non-windows platforms. Also note that while the following works on Windows: view center-face make face compose/deep [effect: [draw [font (make face/font [name: "Verdana" size: 18]) text "xxx"]]] path-qualifying the font name on Mac (and I suspect Linux) still does not work: view center-face make face compose/deep [effect: [draw [font (make face/font [name: "/Library/Fonts/Verdana" size: 18]) text "xxx"]]] | |
Awi: 13-Jan-2011 | REBOL [] do %rebgui.r seat-layout: copy [] loop 16 [ insert tail seat-layout compose/deep [panel 50 data []] for row 1 15 1 [ foreach col [A B - D E] [ insert tail last seat-layout compose/deep [button 7x5 blue (rejoin [row col]) [alert face/text]] ] insert tail last seat-layout [return] ] ] display "test scroll panel" compose/deep [ calendar scroll-panel 152x100 #HW data [after 4 (seat-layout)] calendar ] do-events | |
Awi: 14-Jan-2011 | REBOL [] do %rebgui.r seat-layout: copy [] for slot 1 16 1[ insert tail seat-layout compose/deep [panel 50 data []] for row 1 15 1 [ foreach col [A B - D E] [ insert tail last seat-layout compose/deep [button 7x5 blue (rejoin [row col]) [display "test" [text "see me?"]]] ] insert tail last seat-layout [return] ] ] display "test scroll panel" compose/deep [ table options ["id" left .2 "name" right .8] data [1x2 "A to B" 3x4 "C to D" 5x5 "E to F"] return calendar scroll-panel 152x100 #HW data [after 4 (seat-layout)] ] do-events | |
Henrik: 13-Jul-2011 | I need to copy the entire state of a rebgui table for an undo system. Any idea how to do that? Deep copying the face object is far too slow, so I guess I need to access particuar values in the table that will then update the table properly when calling REDRAW. | |
Group: SVG Renderer ... SVG rendering in Draw AGG [web-public] | ||
Steeve: 13-Oct-2009 | or with reuse: copy/deep :reuse | |
Group: !REBOL3-OLD1 ... [web-public] | ||
Maxim: 28-May-2009 | but this optimization isn't always possible. when nests are deep and composes are chained within each other, you can't just chain insert and remain sane ;-) | |
Dockimbel: 28-May-2009 | Btw (digressing a litlle), I've always found inelegant the way unset! was used by PRINT or other console-oriented functions to avoid returning a value. I'm maybe too purist, but I would have expected PRINT to return the passed argument (making PROBE unnecessary). Other solutions for making functions (native or user-defined) more console-friendly could have been choosed (not having consequences on language's deep semantics), like adding a special flag in the spec block! (as 'save or 'throw). | |
Dockimbel: 28-May-2009 | I understand unset! values as an exception case where there's no value to work with. As such, IMHO, it should be treated as an error as much as possible. We should stick to the principle of least surprise. It wouldn't hurt if R3 unset! values were treated more consistently. But this is a deep topic, I remember that Ladislav had some interesting propositions about unset! (like, IIRC, removing it from user's eyes and keeping it internal only). While browsing about that, I've found a few interesting links : http://www.rebol.net/cgi-bin/r3blog.r?view=0100 http://www.fm.tul.cz/~ladislav/rebol/rep.html#section-18 | |
BrianH: 2-Jun-2009 | I'm not that worried about compatibility here - see bug#666 :) It would be simple to search for, like copy/deep which is also improved in R3. | |
Maarten: 3-Jun-2009 | I would be happy with just breaking out of a nested block and having a "deep" reference instead of only the one from the lastly traversed inner block | |
Maarten: 3-Jun-2009 | Brian, I only want to exit a deep block and get a position back, like [ 1 5 7 ] which would mean: at position 1 there is a block, inside at position 5 another, move to position 7 now. Think at/deep [ [ [ ]]] [1 2 3] - that would be all. | |
Steeve: 3-Jun-2009 | >> words-of :copy == [value /part length /deep] | |
Maarten: 3-Jun-2009 | Brian, parse uses tables (at least last time I checked on compiler construction ;-) so it shoud be a easy to do. If I have at/deep or so, I can creat a new head and build a stack of traversed parse rules. Actually that would represent the table. Which means I could do this today. And I can wite at/deep by using some recursion. Thanks! | |
Steeve: 3-Jun-2009 | same result with: funy: func [spec body][ funco spec append compose/deep [ probe [(spec)] probe stack/args 1 ] body ] | |
shadwolf: 6-Jun-2009 | I started a deep deep thinking process wich is a heavy task for an idiot biain of mine concerning the futur of viva-rebol and where i want to lead it. If you have a little interest for what i'm doing actually you know that i'm actually working on 2 projects viva-rebol and rekini. I'm interrested in transforming viva-rebol into a real time collaborative project. manager/editor something like wave but done in rebol to create rebol application. The idea that comes to my brain is to mix IRC and vivarebol. IRC would be the supplier for sharing real time documents content information and viva-rebol will be at the same time manager and the renderer that will catalise the informations collected by irc. Why irc? first because they have lot of control feature wich can allow anyone to join and see an onShared-creation docuiment or script and only look at it without active participation. That can allow a hierachy system with master, co-writer and only viewer. and the allow the master to select who participate or not to the création. We saw with area-tc that rebol and VID and the dialect concept was really feat to handle uncomon text handling at light speed so the appears clear for me that this is the next step to go. Some people will say to me "but it's more important to have an advanced rich text editor tool" which i answer that boring to do and in the result the gain in notority for rebol is close to 0. So instead of clonning MS-Word using VID I prefere move to the next step wich I hope will lead us to make people see all the potential of rebol. It took me looooooooooong time (6 years in fact) to see how to merge all the interresting part of rebol to make a big project wich we could be all be proud of and show all the interesting part of rebol. Our comminuty is small and working together to make advance the projects is obvious if we want our project to be recognised in some way. If we all work on our sides on our own project achieving a high quality for those projects is hard. So externally we only show to the world project that looks more like teasers than completed project and that not a good thing for rebol promotion. We can say all we want about the way rebol is done by Carl but us as community which goal is to spread rebol world wide we have a part of reponsability in that too. | |
Maxim: 12-Jun-2009 | I've just finished helping the plumber install a new submersible pump in my 50 meter deep well, changed all the electricals too... I didn't have water for the last 4 days... now I can give myself a rare treat. taking the rest of the day off today, so I can do my things.... and that includes one "fun" project... usually a short project that I've been putting off of a long time... today its liquid/R3 :-) | |
Ladislav: 13-Jun-2009 | hmm, since it is about the deep copy, you can always replace it by doing it on your own | |
Maxim: 13-Jun-2009 | Why is it deep copying an object within an object? it shouldn't. | |
Maxim: 13-Jun-2009 | it should only deep copy series... no? | |
Ladislav: 13-Jun-2009 | that is a change in R3: copy/deep now copies objects too. I am not sure, what was the reason for it, though, maybe we should ask in R3 chat? | |
Maxim: 13-Jun-2009 | I definitely will, I didn't realize the /deep until you posted your first comment above. | |
Maxim: 13-Jun-2009 | I'll restate the above... if make object doesn't switch or allow copy not being deep , I'll never be able to use R3. I already hated (but understood the reason behind) the series copy, but this is ridiculous. | |
Maxim: 13-Jun-2009 | I mean.. it being the default in make.... I can see where copy/deep on objects can be usefull, but not as the only way to create new instances of objects. | |
Pekr: 23-Jun-2009 | Maxim, now you can defend your copy deep on object issue - http://www.rebol.net/r3blogs/0212.html | |
Maxim: 23-Jun-2009 | brian I would like your comments on the deep object copy issue ( http://www.rebol.net/r3blogs/0212.html) | |
BrianH: 25-Jun-2009 | Max is missing that I already proposed a more flexible solution than he is proposing. He is so focused on the behavior of MAKE that he missed that I also made proposals for COPY andf COPY/deep. | |
BrianH: 25-Jun-2009 | Without rebinding, both shallow and deep copy of objects can have problems. That's why MAKE is the sensible default, the easy thing. | |
BrianH: 25-Jun-2009 | And if you have MAKE do a deep copy (as it does now in R3), memory explodes and you can't do graph references. So you need a way to make a deep copy too, in case you need to. | |
Izkata: 25-Jun-2009 | (I went to sleep right after my last comment, hence the lag) On equality: Ladislav's idea sounds good, but I don't exactly see the point for having the bottom level in there. What use would it be for? How/where would the range for "approximate" be set? On objects: I think I may have misread it earlier - my comment was, "copy/deep [object1 object2]" should return a new block that still points at object1 and object2, rather than creating two duplicates of them. But from the comments it certainly doesn't sound like I was thinking. (Although make/deep or "copy/deep/types foo [object! series!]" suggestions sound like they may help..?) | |
Izkata: 25-Jun-2009 | I meant the one he labeled "the bottom level", the non-transitive one ;) I'll call "the bottom level" level 1, then increase to 4, for now. Generally I only use EQUAL? in R2, which appears to me to be level 2 (although you named it level 1?), but can see why the stricter levels 3 and 4 are helpful - I just don't see where level 1 can be used right now. As far as naming goes, my only question is the need for negatives. Why isn't NOT sufficient? ("not equal?" rather than "not-equal?", etc) I forget MAKE can be used with things other than object!, I use it that way so rarely. So yeah, /deep doesn't make sense now that I think about it =P | |
Ladislav: 30-Jun-2009 | A question from Carl: Should #877 just cause an error (infinite cycle): a: copy [] insert/only a a copy/deep a | |
Ladislav: 4-Jul-2009 | btw, did you notice there is a deepcopy function? (the http://www.rebol.net/wiki/Identity#Making_a_deep_copy_of_a_.28possibly_cyclic.29_block) | |
RobertS: 17-Jul-2009 | I am trying to traverse paths that I am using at http://cl1p.net where a path might be http://cl1p.net/wp-aule///c2/Is there any way that I can use this to search for any path 3 deep such as http://cl1p.net/wp-aule/wiki/history/c2and http://cl1p.net/wp-aule/wiki/alternate/c2 and http://cl1p.net/wp-aule/smalltalk/wiki/c2??? That is, can we tolerate null in paths as, say , type unset! ?? I think of these as incomplete nestings of blocks where there happen to be unbound keys blk: [k1 [ blka ] where :blka might sometimes be [ k3 blka1 ] and sometimes just [blka1] | |
Geomol: 31-Jul-2009 | Yeah, I found !=. I guess, the :<> is a lexical bug? (I'm still working on a deep test on the lexical analyzer and hope to send the result to Carl and the rest of the R3 developers in the near future.) | |
Sunanda: 1-Aug-2009 | Logical, maybe. Harmless, perhaps. But odd ..... and inconsistent with REPEAT: repeat a none [print a] ** Script error: repeat does not allow none! for its value argument So I am wondering if it is a deep feature, or an oversight. | |
Pekr: 20-Aug-2009 | well, any "system friendly" (=somewhere deep shitty path) placement is VERY uncomfort for me :-) | |
Maxim: 26-Aug-2009 | it definitely is possible language-wise, we are already doing it with string parsing and using load/next. The defining moment here is the decision by Carl to "let go" of the total expressive control of the language, and that will not happen soon IIRC. its already cool that he has decided to open source all but the deep core of the language. | |
Geomol: 2-Sep-2009 | From the docs: COPY/types - specify as a typeset the values to be copied. Note that you can use /types without /deep, in which case the copy is applied only to the top level of values. COPY/deep - perform the copy recursively on each value. If you use /deep without /types, it is assumed that you want to copy all series values (any-string!, binary!, and any-block!) but not bitsets, images, vectors, maps, functions, or objects. I'm pretty sure, I won't be able to remember these rules, so I have to look it up, every time I use it. Result: I will probably not use it, if I don't really really have to. | |
Geomol: 5-Sep-2009 | Someone named Nick suggested having make/deep: http://www.rebol.net/cgi-bin/r3blog.r?view=0239#comments This could remove the need for copying contexts: new-object: make/deep old-object [ ... ] instead of what we have to do now: new-object: make copy/types old-object any-type! [ ... ] | |
Geomol: 5-Sep-2009 | But the /deep refinement for make would only be used with objects, and it's maybe not ok to add a refinement to a function, if it's only to be used with one certain type of argument? | |
Geomol: 5-Sep-2009 | If not, then it could be solved with a new function: make-deep, make-new to something. | |
Geomol: 5-Sep-2009 | Oh my, it's not even enough to just copy/types, I have to do copy/deep/types to get a completely new object: new-object: make copy/deep/types old-object any-type! [ ... ] Does that look simple? No! | |
Steeve: 5-Sep-2009 | you just need to make a wrapper. >>make-full: funco [obj spec][make copy/deep/types obj any-type! spec] Is this such a pain in the ass ? ;-) | |
Henrik: 22-Sep-2009 | The USE proposal intrigues me. I've often had issues with how some set words would appear to be in their own context, if set, deep inside a parse block. I can't come up with an example right now, though. Will all words be in a global context by default now? | |
Pekr: 24-Sep-2009 | Does AND, in our parse situation, have anything in common with math/logic AND? I am not able to see so deep, but I know that parse is in fact some deep math ... | |
Carl: 28-Sep-2009 | 1. "Missing protocols" -- for me, this simply means, some users need to add them, because I'm not going to have the time. Certainly, I can help with deep issues if they come up. | |
Steeve: 6-Oct-2009 | Perhaps we should ask Carl not to copy deep the series when a new calling context is created. Don't know... | |
Steeve: 6-Oct-2009 | What a closure seems to do (sort of): func [][ compose context [ (copy/deep body) ] ] It's not a correct simulation of R2 functions, which should be something like: context [ func spec body ] You see, the context created should be outside, so that it would be build only one time and not each time the function is called. | |
Pekr: 8-Oct-2009 | I am curious about HOW do we actually fix the unicode issues. This might be more deep problem, that might seem. Because If I am not able to print in UTF-8, I need to first print the header, using some conversion, and then the content = the code is not easily cross-platform ... | |
Pavel: 13-Nov-2009 | To Brian I've read your description between FUNC and FUNCT in DevChat. Never seen such summarizing description anywhere, but I think it is very usefull not for beginners only but for everybody not so hawkeyed as gurus. This should be mentioned in docs, or even better short lectures shall be written about such "deep lake" details (to reproduce Carls definition) | |
Maxim: 23-Nov-2009 | its "the deep breath before the plunge" ;-) | |
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public] | ||
Graham: 19-Aug-2009 | Anyone see why this doesn't work grab-cookie: func [ login-url [url!] username password /target web-app-url [url!] /local page auth cookie err ][ if error? set/any 'err try [ page: open login-url cookie: page/locals/headers/set-cookie close page auth: rejoin [ "login=" username "&pass=" password ] page: read/custom login-url compose/deep [ POST (auth) [ cookie: (cookie)]] either target [ page: read/custom web-app-url compose/deep [ GET "" [ cookie: (cookie)]] return page ][ return cookie ] ][ mold disarm err ] ] I can see it sending the cookie after authentication to get a page in a web-app, but I get redirected to the login age | |
Dockimbel: 16-Sep-2009 | That requires a virtual filesystem and deep patching Cheyenne to use it. I've tried to make one a few months ago, but hadn't enough time to finish it. It's a feature I need too (but low pri currently). | |
Dockimbel: 20-Sep-2009 | Quick warn on current email lib in Cheyenne: it was reported that my patchs to REBOL internal functions for RFC compliance are breaking some builtin protocols (HTTP e.g.). That's caused by other LF (instead of CRLF) deep buried in most protocols implementations conflicting with my patches. I'll remove my patches in next SVN build and recode all the stuff. | |
Graham: 22-Sep-2009 | in MTA.r, line 135 change this line scheduler/plan compose/only/deep only [ to scheduler/plan compose/only/deep [ | |
Graham: 24-Sep-2009 | And this works ... myname: "Graham Chiu" myemail: [gchiu-:-compkarori-:-com] toemail: [dontspamme-:-gmail-:-com] subject: "testing Cheyenne" msg: "Yes, this i a message" file: "encap-paths.r" path-to-file: %/c/chesvn/Cheyenne/encap-paths.r result: read/custom http://localhost:7900/email.rsp reduce compose/deep [ 'POST rejoin [ "from=" (myname) "&from=" (myemail) "&to=" (toemail) "&subject=" (subject) "&msg=" (msg) "&file=" (file) "&file=" (path-to-file) ] ] | |
Dockimbel: 22-Dec-2009 | Janko: I'll give it a deep look today. | |
Maxim: 22-Jan-2010 | I was thinking that it could be added within the dialect... I might look how to add it myself and I could give you an example... maybe not now cause I have a lot of things on my plate, but the next time I go deep into cheyenne's guts (next time I work on mod-remark). | |
Dockimbel: 7-Sep-2010 | Because Cheyenne must start as root user to be able to open listen ports < 1024, then only, SU to a non-root user. Unfortunately, all the log files generated during the root phase of Cheyenne's boot process are owned by root, so can't be used anymore once su-ed to a non-root user. An easy way to fix that (but looks a bit ugly to me) could be to chown( ) / chgrp( ) all generated log files before giving up root rights...A cleaner way would involve rethinking the whole boot up process of Cheyenne and Uniserve with deep code architecture impacts (too much work). Any idea on the best way to solve these issues are welcome. | |
MikeL: 6-Feb-2011 | Graham: I am happy using Andrew's ML.r with Cheyenne to implement Don't Repeat Yourself on the few pages that I do. <% include %ml.inc ; does [%pop.r %push.r %build-tag.r %ml.r] which can be pre-loaded print ml compose/deep [ h1 "Heading" p {Text paragraph} p (now) ] %> | |
Maxim: 3-May-2011 | doc, I've been able to add a config for the worker count (min/max) within the httpd.cfg file. it took some doing and a lot of file navigation to under the deep secrets of cheyenne's startup processs ;-) | |
Dockimbel: 4-May-2011 | Max: I am very busy today, I am not sure I will have time to review your code now (you should send me a copy of the changed files first BTW). As you could see, supporting such feature at the config file level is complex because of config file being loaded only when HTTPd service starts (for historical reasons). I am not sure that initializing the HTTPd service ahead is a clean solution (the boot/ line has become a bit hard to read with this /no-start flag that loads and init HTTPd service...). The solution I had in mind was to extract the whole config file loading from %HTTPd.r and put it in %cheyenne.r. This is a deep and complex change, that is why I was waiting to have enough time to do it in a single working session. Anyway, I will examine your solution first. | |
Dockimbel: 7-May-2011 | New Cheyenne revision: 138 FIX: RSP code binding issue with nested DO calls (thanks to Tamas Herman for reporting it). Please pay attention that this fix is really deep in RSP engine, I have tested it with all my RSP apps, but regressions are not excluded. Be sure to report me any odd changes in your app behaviour after upgrading to r138. | |
Dockimbel: 29-May-2011 | JS backend: I thought about that, it should be very doable and probably easier than to support a new CPU target. It would require some deep changes in %emitter.r to make storage for global data platform-specific (this change would be required for other real VMs support like JVM, CLR or AVM2). I've planned to use one of these VM for starting such change on a separate branch of code, as I would probably work on it from time to time during next months in experimental mode. | |
Group: Profiling ... Rebol code optimisation and algorithm comparisons. [web-public] | ||
Maxim: 30-Oct-2009 | I reduce a block which is the test... and since foreach copy/deep, and there is NO word ever refering to the content of the refered block, I think the contents of the blocks prevent the blocks and the data they contain from being collected... the block contains words which are not GC counted as zero reference, so nothing gets de-allocated... that's just my guess. | |
Group: !REBOL3 Schemes ... Implementors guide [web-public] | ||
Graham: 5-Jan-2010 | That's what I notice about R2 ... these character sets keep being redefined because they are hidden deep in the system somewhere | |
Graham: 7-Jan-2010 | the data is returned deep inside the port object |
501 / 739 | 1 | 2 | 3 | 4 | 5 | [6] | 7 | 8 |