America Online APPLE II DEVELOPMENT FORUM CONFERENCE LOG Tuesday, December 28, 1993 10:00 p.m. Eastern Time Topic: HyperLogo GS, from the Byte Works Special Guest: Mike Westerfield Forum Leader: Gary Jacobson (AFL GaryJ) AFL GaryJ Ok, let's start officially.... AFL GaryJ Welcome to the Apple II Development Forum! AFL GaryJ Tonight, we are pleased to have with us as our special guest, Mike Westerfield (MikeW50) from AFL GaryJ the Byte Works. He's here to discuss one of his latest products, HyperLogo GS! AFL GaryJ I believe I'll just turn things over to Mike for the first little bit, and let him tell us about AFL GaryJ his new product, and then we'll open things up for questions and comments. AFL GaryJ GA, Mike :) MikeW50 I'll start with a short description of HyperLogo and how it fits into our other Logos, present MikeW50 and future. HyperLogo GS is a new scripting language for HyperStudio GS. It's a replacement (or MikeW50 suppliment) for SimpleScript, the built-in scripting language. HyperLogo is a full MikeW50 implementation of Logo, a powerful artificial intellegence and graphics language. We've added MikeW50 a few twists to the standard language, though. The main ones are: MikeW50 1. True 3D displays, which you look at with special 3D graphics. MikeW50 2. A 3D turtle that can draw projection 3D or true 3D. MikeW50 3. Support for Talking Tools, so a simple command lets you create programs that talk. MikeW50 4. Support for movies, so you can create and play movies from HyperLogo. MikeW50 HyperLogo is also the default language for HyperStudio Mac, which does not have an implementation MikeW50 of SimpleScript (yet). In addition, 3D Logo GS is out; this is basically the same language, with MikeW50 a few additional commands that let you create desktop programs you can launch from the MikeW50 Finder. And we'll have 3D Logo Mac out soon, too. With that program, you can create a program on the MikeW50 GS and run it on the Mac, or vice-versa. All four Logos are very compatible, so it's easy to move MikeW50 code from platform to platform. MikeW50 Well, that's the quick summary. I'm open for questions! MikeW50 ga AFL GaryJ Thanks, Mike AFL GaryJ Anyone have a question or comment they'd like to start off with? MikeW50 While we wait, I'd like to mention that HyperLogo 1.0.1 GS and 3D Logo 1.0.1 GS are out. If you MikeW50 have the 1.0 version, you can get the update free. See our industry connection area (keyword MikeW50 ByteWorks) for details. Hisfriend Is this only for the //gs? MikeW50 Hisfriend: Nope. HyperLogo GS is the specific topic, but HyperStudio Mac comes with MikeW50 HyperLogo Mac. 3D Logo GS has shipped, and 3D Logo Mac will ship soon. SoftdiskGS What kind of format are you using for the movies? MikeW50 Greg: On the GS, I'm using PaintWorks movie format. It seems to be the most commonly MikeW50 supported. On the Mac, I'm using QuickTime, of course. ga SoftdiskGS Good. I'm working on some movie stuff for Softdisk G-S, and I wanted to make sure we could play your MikeW50 Oh, and we're planning some other movie based GS products to tap into HyperLogo, too. In the MikeW50 future, I expect to expand to support a new format I'm still designing. It's called TwoTime (TM). :) SoftdiskGS movies... (of course, I'm also inventing a new Softdisk Movie Format, to extend the definition of SoftdiskGS Paintworks animations.) MikeW50 Greg, maybe we should get together and chat about this. :) AFL GaryJ :) SoftdiskGS I think that's a good idea... maybe after the conference? MikeW50 Greg: Depends on how late it is. If not, we can pick another time. SoftdiskGS OK by me... I'd hate to introduce a new animation standard, only to have it take over the industry and SoftdiskGS eliminate other new competing standards... ;) << Editor's note: See separate log file for the after-chat discussion on animation "movie" formats >> XWu How does hyperlogo actually replace or supplement HyperStudio? MikeW50 XWu: HyperLogo is an additional scripting language for HyperStudio GS. Once you install it, anytime MikeW50 you pick "Use a Scripting Language" (or whatever the prompt actually says; I forget) you get a choice MikeW50 between SimpleScript and HyperLogo. SimpleScript is easier to use (so far), but HyperLogo does a MikeW50 lot more, supporting lists, movies, 3D, and so on, and it runs faster. You can, of course, us both\ MikeW50 scripting languages in the same stack, too. ga XWu okay thanks XWu I read your interview in Apple II alive AFL GaryJ Andy, you're next with your question. GA AFA Andy I sent mail about the upgrade and I haven't heard from, I know with the AFA Andy holidays and all you have been busy. Did you get the mail? :) MikeW50 Andy: Yes. I haven't sent any updates out yet, but plan to sometime this week. (Probably MikeW50 tomorrow.) I'll continue to send them out about once a week as long as people ask for them. ga AFA Andy Ok, I didn't hear anything, I thought maybe it had been misplaced or something AFA Andy was wrong. GA :) MikeW50 (Did I miss any questions? If so, let me know!) AFL GaryJ Anyone else with a question or comment? (I hope I haven't missed AFL GaryJ any too). DanP18 ? (several related to other products) AFL GaryJ Go ahead, Dan DanP18 1. 6.0.1 disks and guide: I heard they are shipping. What's the backlog DanP18 look like? DanP18 2. Modula 2, Orca Debugger: Are they shipping? DanP18 ga MikeW50 Programmer's Reference for System 6.0.1 is shipping. We're a little over halfway through the MikeW50 backlog, and should have them all shipped soon, maybe this week. MikeW50 We're also shipping the 6.0.1 Boot Disk. Those are going out with the reference manuals. MikeW50 Apple still has not gotten us the 6.0.1 utilities disk. As soon as they do, we'll start shipping it, MikeW50 too. MikeW50 ORCA/Modula-2 is shipping. Due to the other backlogs, it's taking 2-3 weeks from when an order MikeW50 is placed until it ships, but they are going out MikeW50 stedaily. AFL GaryJ (I was wondering about the utilities. Glad you mentioned them :) MikeW50 ORCA/Debugger 1.1 is shipping, too. They are going out pretty much as soon as the order is placed. MikeW50 ga DanP18 Thanks. AFL GaryJ Anything else, Dan? DanP18 Just about C and Pascal, but I'll wait a bit. AFL GaryJ Anyone else have a question/comment for Mike? AFL GaryJ Topic tonight is HyperLogo GS (which is a slightly different product AFL GaryJ than the 3D Logo we discussed over a month ago :) AFL GaryJ MikeW50 Just out of curiosity, how many folks here have one or both of them? BCS Frank Hmmm... I have a GS. DanP18 I still have Apple Logo and MIT Logo :) AFL GaryJ Er... no Frank, he's talking about one of the Logos :) James S WI <-- logoless XWu don't have either... BCS Frank :) MikeW50 :) Does _anyone_ have one of them? If not, I guess this is a great crowd to talk too! ;) DanP18 We just like hanging out with you, Mike. Matt DTS I have 3D Logo! :) SoftdiskGS I almost got 3D Logo, but I decided it wouldn't be practical enough for what I do... I did order SoftdiskGS M2, though... MikeW50 Well, Andy has both, but he left. AFL GaryJ GA, Dan DanP18 Are developers really the target group for Logo, anyway? ga MikeW50 Not application developers. HyperLogo is a pretty good scripting tool for Hyper-Developers, and MikeW50 some are already putting it to use. The stand-alone Logo is targeted more at tearchers and MikeW50 hobbiests. On the other hand, the vast majority of people using any of our products are hobbiests, MikeW50 not professional developers (at least, not on the GS). MikeW50 From a "what does it do" standpoint, the target audience for HyperLogo is anyone who writes MikeW50 scripts, or might need to. For 3D Logo, its anyone who writes programs for their own use that use MikeW50 graphics or artificial intellegence (in the form of list processing, like LISP). Logo is a great MikeW50 language for both of those areas -- better than Pascal, C, or Modula-2. MikeW50 ga AFL GaryJ A "developer" can be anyone who creates a software product (script, or otherwise) to be distributed AFL GaryJ to others. MikeW50 Sure. I think of it more in terms of people who are selling programs. 3D Logo is not the best MikeW50 choice for them, although HyperLogo is a great choice for stack authors. MikeW50 ga AFL GaryJ So, someone who writes HyperLogo scripts (for the education market, or otherwise AFL GaryJ could certainly be considered a developer. MikeW50 Yes. And I'd recommend HyperLogo for them. Except in unusual circumstances, though, I would not MikeW50 recommend 3D Logo for programs you expect to distribute. ga DanP18 I agree. But the crowd (9 people?) that attends this conference are DanP18 usually the more advanced application type developer. AFL GaryJ I understand your point, Dan. (But that's why we *try* to advertise these AFL GaryJ events :) MikeW50 Dan, application developers are allowed to have fun, too. I've had more fun with Logo that with any MikeW50 other recent language. I bet you would, too. :) SoftdiskGS Especially with the new Talking Turtle. :) DanP18 Mike, I had all the Logo fun I could ever want teaching it to kids DanP18 in summer school. two words: NEVER AGAIN. MikeW50 Dan, kick back and watch the 3D turtle cruise out of the screen, and you just might change your mind. MikeW50 Tell you what: we have a 30 day money back garantee. Give it a workout. :) AFC DYAJim we're also the people to recommend these products to friends :) AFL GaryJ GA, Frank BCS Frank Is 3D Logo appropriate for putting together "expert systems" on A2s? MikeW50 Frank: Yes. For that task, it would be a better choice in all ways but one than any other GS MikeW50 language. The one problem you might encounter is speed. For _some_ kinds of expert systems, with a MikeW50 lot of work, Pascal, C or Modula-2 would give faster results. It would take a lot of work to MikeW50 duplicate what Logo will do for you automatically, though. ga BCS Frank Thanks :) MikeW50 A side comment about expert systems and other AI related stuff: LISP is very easy to convert to MikeW50 Logo. In fact, I tested Logo partly by solving problems from an AI textbook written for LISP. AFL GaryJ Ok, XWu. GA XWu Hyperlogo, if someone use it to make a stack, does the user have to have XWu hyperLogo to use the stack? MikeW50 XWu: Nope. There is a HyperLogo runtime module you can give away with your stack. It doesn't cost MikeW50 you anything, either. ga XWu thanks AFL GaryJ Ok, if I'm not mistaken, I think Dan has the next question. GA, Dan DanP18 This is a multi-part question. 1. How big is the interpreter? MikeW50 Dan: 441 blocks on disk. I don't remember the size, but I'll calculate it and get it up here in a MikeW50 moment. ga DanP18 I mean in memory for the actual interpreter code. DanP18 (this isn't really a logo question, but logo may be able to anser it) MikeW50 Dan, I had to figure that one out. The code size is 205K. The interpreter also uses some stack MikeW50 space (a little over 16K) and some dynamic memory (about 11K default, and it grows in 9K chunks to fit MikeW50 the needs of the program). DanP18 I read an article that discussed a huge speed up in a program by using DanP18 an interpreter and an accelerator board. By keeping the interpreter cached DanP18 it only had to slow down to page in a new set of page of tokens. The DanP18 question is: Did you do any accelerated bechmarks, and if so, was the DanP18 speed up linear? DanP18 ga MikeW50 That works better with something like BASIC than with a list processing language. The interpreter MikeW50 is large, but most of the time is spent in a relatively small part of the code. The problem MikeW50 is that list processing languages use memory in uniform size chunks called nodes, and these tend MikeW50 to get scattered through memory very quickly. As a result, caching doesn't do as much good as it MikeW50 would for BASIC, which keeps the program linear. I haven't actually looked at accelerated vs. MikeW50 unaccelerated times for specific numbers to answer your question, but I'm pretty sure you would not MikeW50 see any more benifit from the cacheing than for, say, a database that is grabbing entries from all MikeW50 over memory. ga AFL GaryJ GA, Frank BCS Frank What's the learning curve for folks who haven't BCS Frank used programming languages before? MikeW50 Actually, Logo is easier to learn than just about any other GS language. If you'll bear with me, I'll MikeW50 tell you a story that illustrates just how shallow that learning curve is before you can do fun BCS Frank Please! :) MikeW50 stuff! When I started developing Logo, my daughter was "playing games" on the computers at school to MikeW50 get introduced to computers. I was testing Logo once when she walked by. She was in 2nd grade at MikeW50 the time. I was driving the turtle around the screen. "Oh, that's the game I play at school!" No MikeW50 kidding? a game? She sat down and proceeded to draw a passable american flag by driving the turtle MikeW50 around! I showed her SetPC (SetPenColor), and she immediately started doing it in color -- and MikeW50 brought some of her friends from the neighborhood over MikeW50 to try it, too! They _all_ had no trouble! The 3D cubes were a big hit (their Logo didn't do that... SoftdiskGS (Albeit she has Westerfield genes... :) DanP18 (and in spite of that handicap... }:> MikeW50 :) AFL GaryJ So, now you've got your daughter working on C++ for the IIGS? :) BCS Frank :) AFC DYAJim lol Gary MikeW50 At the same time, Logo is a serious AI language that is sometimes used even in universities. It's MikeW50 sort of the BASIC of the AI world. ga BCS Frank How about for adults? MikeW50 Frank, I really think you can have fun with Logo right away. I like to compare learning Logo to MikeW50 learning Math. You can learn to du fun & useful stuff in a single evening. You'll never get to the MikeW50 point where you have done everything that can be done with the language, though. ga AFL GaryJ GA with your comment, Dan DanP18 Back in '85, I taught Computer Camps for Kids during summer. Within 2 days DanP18 they were driving robots through mazes and arouns the building. ga. DanP18 oohh! are you going to resurrect the Logo robots? (I'll *absolutely* DanP18 get it then!!!) AFL GaryJ :) MikeW50 Actually, we'll eventually resurect LEGO robots! AFL GaryJ Jim, you're next. GA AFC DYAJim Oh, I just wanted to ask the inevitable: what's next? :) MikeW50 3D Logo Mac. Bug fixes. There are 3 projects competing for attention after that; all are at least MikeW50 planned for GS release along with another computer, and one is GS only. You'll see more from us. :) MikeW50 ga AFL GaryJ Modula 3-(d)? AFL GaryJ :) SoftdiskGS C++... C++... C++... AFC DYAJim good! I can't wait (for the GS stuff, at least :) AFL GaryJ GA, James James S WI Do you include any "AI" samples with your logos. MikeW50 Nothing very sophisticated, although maybe I should do a II Alive article for AI in Logo. :) Our MikeW50 manual has a brief intro to Logo. There are some _great_ books you can get, though. My favorite is MikeW50 "Exploring Language with Logo." It's an AI book that teaches you basic natural language MikeW50 processing (how computers use languages like English, and to some extent "understand" them) and MikeW50 teaches Logo at the same time. Wonderful book! ga James S WI ga AFL GaryJ Thanks James. AFL GaryJ Dan, you're next. GA AFL GaryJ Dan? MikeW50 :) AFL GaryJ Well, that' explains it :) MikeW50 Stage fright? AFL GaryJ Well, while we're waiting for Dan to attempt to log back on, does anyone else have AFL GaryJ anything for Mike? James S WI What language is Logo written in? :-) AFL GaryJ :) MikeW50 C. ga SoftdiskGS It's actually written in Logo, James. A great labor-saving device (he just goes into the future, grabs SoftdiskGS a copy of the finished product, and writes it in THAT). :) AFL GaryJ That's how the first assembler was written, I'm sure :) MikeW50 Laugh if you will: ORCA/M is written in ORCA/M, ORCA/Pascal is written in ORCA/Pascal, and MikeW50 ORCA/Modula-2 is written in ORCA/Modula-2! AFC DYAJim what about C, Mike? AFC DYAJim I thought Orca/M was in pascal.. MikeW50 ORCA/C is written in ORCA/Pascal. AFL GaryJ Jim :) AFC DYAJim :) SoftdiskGS And the Orca/Disassembler was disassembled from the Orca/Disassembler? MikeW50 :) AFL GaryJ :) SoftdiskGS (And where does that leave the Orca/Debugger?!?) ;) AFL GaryJ LOL :) MikeW50 :) It was debugged with GSBug. AFL GaryJ Glad you made it back, Dan! GA DanP18 Garbage collection. I remember it being painfully slow on a 128k //e. DanP18 How do you handle it on a GS with a meg or more? MikeW50 Simple: I don't use what I don't need. A small program may only have 1000 nodes to do garbage MikeW50 collectino on. As the program and data grow, so does the node space, and thus the time for MikeW50 garbage collection. ga AFL GaryJ Anything else, Dan? DanP18 Not on garbage collection. I just don't know what I missed when I got DanP18 dropped, so I don't know what to ask. AFL GaryJ Well, we're over our one-hour chat time, and I don't want to keep Mike any longer than requested. AFL GaryJ (But Mike is welcome to stay around if he'd like to chat :) AFL GaryJ But I did want to thank him for coming and presenting his product to us this evening! MikeW50 Thanks for having me, Gary. I appreciate the chance to talk to everyone! AFL GaryJ Anyone else have anything for Mike? (Now's your chance... even off topic :) James S WI Mike, is there any way to find out what "known bugs" there are in ORCA/C. I think I found... James S WI some more problems with the optimizer but I will have to try to icolate them for you. James S WI Before i do that it would be nice to know if you already know about them. AFL GaryJ Mike probably knows about all known bugs. MikeW50 James, I don't have a list in any form I can send you. Even if I did, I'd prefer not too: sometimes MikeW50 what looks like one bug due to the symptoms turns out to be two or more separate problems. James S WI So your saying I need to try to reproduce all of them in little tiney exmaples and send them James S WI to you. (IF I want them fixed) MikeW50 Yep. And I sure do appreciate the effort, too. You will definitely get a corrected copy that way.