[Ohrrpgce] SVN: teeemcee/3878 Mac/gfx_sdl: add Help menu and process Cmd-Q, Cmd-H, Cmd-M, Cmd-Shift-H,

Ralph Versteegen teeemcee at gmail.com
Tue Oct 12 22:22:31 PDT 2010


On 13 October 2010 14:53, James Paige <Bob at hamsterrepublic.com> wrote:
> On Wed, Oct 13, 2010 at 02:43:50PM +1300, Ralph Versteegen wrote:
>> On 13 October 2010 14:20,  <subversion at hamsterrepublic.com> wrote:
>> > teeemcee
>> > 2010-10-12 18:20:56 -0700 (Tue, 12 Oct 2010)
>> > 89
>> > Mac/gfx_sdl: add Help menu and process Cmd-Q, Cmd-H, Cmd-M, Cmd-Shift-H, Cmd-? key combos
>> > ---
>> > U   wip/gfx_sdl.bas
>> > U   wip/mac/SDLMain.m
>> > U   wip/scancodes.bi
>>
>> It's a mistake to have the Help menu show in Game. Maybe I can
>> determine that at run-time, and also add extra menus like an in-Game
>> debug menu, and change the name of the application menu to the name of
>> the current game. This could be reused in other backends that have a
>> menubar (the non-existent gfx_wxwidgets). Also, I don't know how to
>> get rid of the search field in the Help menu, that's automatically
>> added to any menu called "Help".
>>
>>
>> So, this was my introduction to Objective-C. I thought Obj-C was as
>> statically typed as C++, but it turns out that you can get totally
>> incorrect code to compile by fiddling with the syntax, and it will
>> either generate a warning or a crash at runtime. Crazy stuff.
>>
>> So how many languages do we have in the repository now? And are there
>> any amongst us who even know half?!
>>
>> FreeBASIC
>> C
>> C++
>> Objective C
>> Hamsterspeak
>> QuickBASIC
>> MASM x86 assembler
>> Python
>> PHP
>> Emacs Lisp
>> Bash script
>> Windows batch script
>> GDB script
>> XSL
>
> Dang. I guess I can consider myself fluent in seven of them. Wait,
> eight, cause you left out Euphoria.
>
>> I know about half of them - I probably couldn't use QB today without screaming.
>
> When could you *ever* use QB without screaming? ;)
>
> Amen to that!
>
> Although now the Euphoria code gives me that bad-old-qb-feeling even
> more than some of the worst qbisms in our FreeBasic code :P
>
> I suggest we immediately re-implement hspeak in INTERCAL!
>
> ---
> James

I spent some time last weekend looking into what could be done about
it. Euphoria 4 (still in beta after many years) actually adds several
nice language features -- like GOTO, and some unusual flow control
constructs. Oh and also hash tables and sets and regexs and namespaces
and many missing sequence operations and lots more in the standard
library: most of hsspiffy.e will be obsolete.

But I have to doubt where Euphoria is going when they sell the
language as incredibly simple (far too simple IMO) but some the
standard library involves executing strings containing *machine code*
-- the language doesn't even support real pointers, but it has lots of
builtins for allocating memory!

But the one damn thing missing is still some kind of actual type
system, so I looked at lots of preprocessors/type systems (builtin
preprocessor support is also new). These seem to come in 3 types:
ridiculously complex and slow, implemented as a library (Diamond,
Diamond Lite, other popular ones); trivial and pretty much useless
(dot4. other unpopular ones); efficient and useful but not compatible
with Euphoria 4 (OOEU (which is very nice, but it's a fork), o4). So
the plan is to take some existing simple preprocessor (dot4) and add
(semi-)static typing to it. That is, no polymorphism, just convenient
member access syntax. And then I'll do a huge cleanup of the code as
part one of HSpeak 4.



More information about the Ohrrpgce mailing list