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

World: r4wp

[!REBOL3] General discussion about REBOL 3

Scot
22-Dec-2012
[306]
I've spent a lot of time with MDP, written a whole distributed application 
with pages based upon the principles of MDP.  The biggest mess in 
MDP is the need to make HTML pages, which is a fossil and pretty 
awful, but widespread.  People need HTML so we output that.  People 
may want PDF, or RTF or Postscript or MarkDown, or whatever.  Those 
parts will always be a mess because the formats of all those outputs 
are a mess.
Henrik
22-Dec-2012
[307x2]
I've also spent quite a lot of time with MDP as well building now 
around 2 megabytes of manuals with it, and I spent some time adding 
new features to it. I wanted to add a glossary feature, but it's 
quite strained with what we can do now. The HTML part is not so bad. 
The line parser is much worse, both because we are running out of 
space for sensible inline rules (which all are one-char and markdown 
doesn't have this limitation), and the code itself is not very well 
organized.
I would gladly toss out the MDP parser for a clean markdown parser.
AdrianS
22-Dec-2012
[309]
wouldn't Carl's original makedoc.r be convertible with not too much 
effort?
Henrik
22-Dec-2012
[310]
I think it has fewer inline rules.
Gregg
22-Dec-2012
[311]
Gabriele also did a variation for Qtask. Not sure about compatibility, 
but it would be more modern, and likely a very clean implementation.
Chris
22-Dec-2012
[312]
Gabriele's MD3 is fairly awesome, imo. Very easy to build MakeDoc 
'dialects'.
Andreas
22-Dec-2012
[313]
Has MDP ever been really associated with RT? I always thought it 
ways Robert's creation. Whereas MakeDoc and MakeDoc2 where Carl's 
stuff.
Chris
22-Dec-2012
[314x2]
No, I don't believe it was.
It is a superset though, iirc -- any MD(2) document can be processed 
by MDP.
AdrianS
22-Dec-2012
[316]
we should probably try to make it clear for newcomers when we mean 
MakeDoc(2) vs Markdown, which some people might think MD refers to
Chris
22-Dec-2012
[317x2]
Scot, on generation: Gabriele's FSM emitters (particularly for HTML) 
are the most elegant solution to this I've seen. I use it often.
Adrian, I'm not certain, but I believe the settled extension (and 
I suppose shorthand) for MakeDoc is .rmd (Rebol MakeDoc).
AdrianS
22-Dec-2012
[319]
I just meant in here - someone dropping in/by might get confused 
when there are references to MD
BrianH
23-Dec-2012
[320]
Could you all please test the https://github.com/BrianHawley/r3-bh/tree/length-embedded-script
fix? Carl wants more testers before he accepts the https://github.com/rebol/r3/pull/40
pull.
Andreas
23-Dec-2012
[321]
Could you maybe write up some testcases?
BrianH
23-Dec-2012
[322x2]
The only externally visible change is that sys/load-ext-module and 
sys/load-module return 3 values instead of 2. If you don't have any 
code that calls those functions directly, then all working code won't 
be affected. The only code outside of sys-load.r that could hypothetically 
call those functions would have been written by Ladislav for include, 
or Saphiron for their encapper, but even then it's unlikely. Andreas, 
you could grep Saphiron's sources to tell me if those functions are 
referenced outside of sys-load.r.
The only behavioral change is that length-specified embedding works. 
It was documented before, but didn't work because the code above 
sys/load-header didn't support it. With this it does.
Andreas
23-Dec-2012
[324x2]
Where is "length-specified embedding" documented?
I fear that with the pull request as-is, even basic script execution 
is broken:
$ cat foo.r 
REBOL [] print 42
$ ./r3 foo.r 

** Script error: select does not allow integer! for its series argument
** Where: make either either -apply-
** Near: make system/standard/script [
    title: select first code '...

>>
BrianH
23-Dec-2012
[326x6]
I don't even know anymore. I'll write some example code. If your 
script dowsn't have length: some-integer in its header, it won't 
be affected.
Alright, let me check that.
That code in in sys/do*.
Wait, it's not, do* uses select hdr 'title. That's in the fake do 
in sys/start.
Let's not pollute the group. Continuing privately.
OK, it works now.
Ladislav
26-Dec-2012
[332]
MDP is a dialect of Rebol.

 - actually, it is a dialect of Rebol exactly like C, i.e., not at 
 all
Gregg
26-Dec-2012
[333]
To clarify, a dialect needs to be REBOL loadable data, not just a 
string that is parsed.
BrianH
26-Dec-2012
[334x3]
Pekr, R2's console was GUI on Windows, not a real console app. Carl 
had wanted to make an R3 console like R2's but better, in the R3 
GUI. We just never got around to it.
Some of the rest of us (me particularly) had missed the Linux/OSX-style 
real console for R2, and saw the advantage of having that as an option 
in R3. We never really got that because R3 opened another window 
instead of operating in the console it was called from, which turned 
out to be the worst of both worlds.
Carl's blog was about the inline text-mode problem, trying to solve 
the open-a-window bug. That wasn't about the planned GUI, it was 
about fixing the existing console.
Pekr
26-Dec-2012
[337]
brian, iirc, it was about inability to have view exe being used as 
real fonsole. Carl did not find a way of how to do it ...
BrianH
26-Dec-2012
[338x2]
If you are talking about the existing R3 console, the problem was 
that he couldn't make a real console-mode R3 program without losing 
functionality that he only knew how to support in GUI-mode programs, 
and he couldn't make a GUI-mode app use the Windows console without 
allocating its own console window, which lost all of the advantages. 
It's not to say that this can't be done, just that noone who had 
the interest and ability to do this had made the effort, because 
it was low-priority for the contributors at the time. With more contributors 
now, perhaps this will get fixed.
If R3 is able to use the real Windows console instead of its own 
console window, you could solve the color scheme issue by using an 
alternate console - there are many - or changing your settings. It's 
up to you. However, if it allocates its own console window then you 
can't use any of the alternate console managers.
AdrianS
26-Dec-2012
[340]
Hmm, maybe the author of ConEmu should be approached about this - 
maybe he'd be interested in order to get a scripting language included.

http://code.google.com/p/conemu-maximus5/
BrianH
26-Dec-2012
[341]
Stuff like that is what we had in mind as an advantage of supporting 
the regular Windows console, Adrian. That and remote console or powershell 
use.
Andreas
26-Dec-2012
[342x2]
You can fix the "own console popping up" for Win32 R3 right away, 
if you have MSVC installed: 
$ editbin /subsystem:console r3.exe
Then r3.exe will use the "real" Windows console, when launched from 
one.
BrianH
26-Dec-2012
[344]
That's the console-mode app thing. This supposedly caused problems, 
which Carl asked about in the blog.
Andreas
26-Dec-2012
[345]
That's responsible for r3.exe having to pop up it's own console and 
not being able to reuse the parent console, if present.
BrianH
26-Dec-2012
[346x2]
Right. But supposedly changing the app to console-mode like that 
caused other problems, which I don't remember because I don't have 
a link to the blog in question.
Also, is it possible to just compile it that way in the first place? 
And is it possible for such an app to bring up a GUI, say so that 
it can run console scripts and GUI scripts?
Andreas
26-Dec-2012
[348x4]
The other problems need to be ironed out :)
Such an app can bring up a GUI, yes.


However, it will always pop up a console window (which can be closed 
immediately, but this will result in the "console flashing" effect 
some dislike).
Yes, we should built it that way in the first place. We only recently 
added building in GUI mode, to avoid a crash with console mode binaries 
when launched from shells other than cmd.exe. (Another bug that needs 
fixing).
But note that most (all?) official RT R3 alpha builds have been GUI 
mode binaries.
Kaj
26-Dec-2012
[352]
Brian, I build the Red examples in both modes, so you can try out 
the effect if you want. MSDOS/console programs can open a window, 
but Windows/GUI apps don't seem to be capable of using stdout, at 
least not to a console they're started from
BrianH
26-Dec-2012
[353x2]
OK, but I really want to reserve the term "MSDOS" for programs that 
actually run on MSDOS, a still-common embedded systems OS.
Not commonly by MS, but as DOS-compatible platforms.
Kaj
26-Dec-2012
[355]
We know that, but when giving you pointers I have to go by existing 
paths