Windows OS on PSP - Page 2 - Techist - Tech Forum

Go Back   Techist - Tech Forum > Computer Software > Microsoft Windows and Software
Click Here to Login
Closed Thread
 
Thread Tools Display Modes
 
Old 08-16-2005, 12:57 PM   #11 (permalink)
Ultra Techie
 
Join Date: Jul 2005
Posts: 530
Send a message via AIM to TheHeadFL
Default

Its talking about emulating an x86 type system. Anytime you are running an emulation, you want it to run as fast as possible. Especially on limited hardware. In this case, it would've even probably benefited them to write a good portion of it in native assembly.

EDIT: nvm, I misread. I thought that Movitz was something that those people were running Linux and Windows *on top of*.
__________________

__________________
Desktop machine: 2 x Opteron 246, Asus K8N-DL, 2GB PC3200 ECC Reg., XFX GeForce 6600GT, 74gb WD Raptor, 2 x 19\" LCDs, Windows XP x64
Server machine: Intel P4 3.0GHz 2MB EM64T, ECS i865pe, 1GB PC3200, 36gb WD Raptor, Windows Server 2003
Laptop: Dell Inspiron 9100 (Intel P4 3.2GHz 1MB Prescott, i865pe, 512MB PC3200, Mobility Radeon 9700, DVD+R/DL Burner), Windows XP
Linux: P3 450Mhz, 386MB ram, Slackware 10.1 (Running mySQL/Apache)
TheHeadFL is offline  
Old 08-16-2005, 02:34 PM   #12 (permalink)
Master Techie
 
uzi9mm's Avatar
 
Join Date: Dec 2004
Location: Horseheads, NY
Posts: 2,553
Default

what is lisp, it is like you guys are speaking a different language......... lol
__________________

__________________
INTEL i7 930
ASUS P6X58D
3x2gb Corsair Dominators
EVGA GTX 480
CORSAIR 850-HX
uzi9mm is offline  
Old 08-16-2005, 04:16 PM   #13 (permalink)
Ultra Techie
 
Join Date: Jul 2005
Posts: 530
Send a message via AIM to TheHeadFL
Default

I am sure furtive felon has a better explanation, but unless anything has changed, LISP is short for List Processor, which is a computer programming language.

It is unlike C/C++/Java/etc, however, in that it is a "functional" language, whereas the others are mostly "imperative" languages. The reason why I remarked that it must be slow is because LISP, being functional, is ill-suited for the Von Neumann architecture, which is inherently imperative.

Functional programming - All recursive, usually not in a preset order
Imperative programming - One statement after another in some defined order

Here is a good example of a simple LISP function:

Union Two Sets together:
Code:
(defun union (x y)
     (cond ((null x) y)
          ((member (car x) y)  (union (cdr x) y))
          (T (cons (car x)  (union (cdr x) y))
     )
)
In C++ you might do the following (non-recursive solution off the top of my head):

Code:
int* union(int* set1,int size1, int* set2, int size2)
{
   int c,i;
   int marker=0;
   if (size1<0) return null;
   if (size2<0) return null;
   int *merged = new int[size1+size2];
   int mergesize=size1+size2;
   int *result;
   // Merge two sets
   for (c=0;c<size1;c++)
   {
      merged[c]=set1[c];
   }
   for (c=0;c<size2;c++)
   {
      merged[c+size1]=set2[c];
   }
   // Determine number of unique members
   for (c=0;c<mergesize-1;c++)
   {
      for(i=c+1;i<mergesize;i++)
      {
         if (merged[c]==merged[i]) break;
      }
      if (i != mergesize) continue;
      else 
      {
         marker++;
      }
   }
   // Create correctly sized result set
   result = new int[marker];
   marker=0;
   // Fill result set ensuring no duplication (sets do not by definition have duplicates)
   for (c=0;c<mergesize-1;c++)
   {
      for(i=c+1;i<mergesize;i++)
      {
         if (merged[c]==merged[i]) break;
      }
      if (i != mergesize) continue;
      else 
      {
         result[marker]=merged[c];
         marker++;
      }
   }
   return result;
}
__________________
Desktop machine: 2 x Opteron 246, Asus K8N-DL, 2GB PC3200 ECC Reg., XFX GeForce 6600GT, 74gb WD Raptor, 2 x 19\" LCDs, Windows XP x64
Server machine: Intel P4 3.0GHz 2MB EM64T, ECS i865pe, 1GB PC3200, 36gb WD Raptor, Windows Server 2003
Laptop: Dell Inspiron 9100 (Intel P4 3.2GHz 1MB Prescott, i865pe, 512MB PC3200, Mobility Radeon 9700, DVD+R/DL Burner), Windows XP
Linux: P3 450Mhz, 386MB ram, Slackware 10.1 (Running mySQL/Apache)
TheHeadFL is offline  
Old 08-17-2005, 12:10 PM   #14 (permalink)
Super Techie
 
Join Date: May 2005
Posts: 479
Default

erm, though some dialect of lisp is favorably recursive (scheme comes to mind), Common Lisp you can use iterative approach, with an arguably more powerful macro to handle iterative algorithm than say C++'s while/for/do...while.

However, there is something in lisp called Tail Recursion, where it looks uglier than pure recursion, but it will run at the same speed as iterative approach in 99% of the cases, as compiler optimized for tail recursion will in the end convert the tail recursive algorithm into iterative algorithm..

from your previous example (assuming both works), you can of course see another adventage of lisp, that lisp code is easier to read purely because of it's shortness, which is the basis of code reuseablity and security, with a touch of elegance.. excluding the last two end brackets (in lisp community, we don't line up brackets because that's editor's job to match brackets), would you rather read 4 lines of code or would you rather read 40 lines of code (i didn't count)..
__________________
lisp hacker :D
running: FreeBSD 5.4 - still learning :D
develop with: SBCL + emacs for lisp, Anjuta IDE +gcc for c, SPE for python..
browse with: opera
furtivefelon is offline  
Old 08-17-2005, 02:14 PM   #15 (permalink)
Ultra Techie
 
Join Date: Jul 2005
Posts: 530
Send a message via AIM to TheHeadFL
Default

The problem is that the vast majority of problems in computer science do not lend themselves to recursive solutions. Thus defeating the advantage or purpose of using a functional language.
__________________

__________________
Desktop machine: 2 x Opteron 246, Asus K8N-DL, 2GB PC3200 ECC Reg., XFX GeForce 6600GT, 74gb WD Raptor, 2 x 19\" LCDs, Windows XP x64
Server machine: Intel P4 3.0GHz 2MB EM64T, ECS i865pe, 1GB PC3200, 36gb WD Raptor, Windows Server 2003
Laptop: Dell Inspiron 9100 (Intel P4 3.2GHz 1MB Prescott, i865pe, 512MB PC3200, Mobility Radeon 9700, DVD+R/DL Burner), Windows XP
Linux: P3 450Mhz, 386MB ram, Slackware 10.1 (Running mySQL/Apache)
TheHeadFL is offline  
Closed Thread

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off




Copyright 2002- Social Knowledge, LLC All Rights Reserved.

All times are GMT -5. The time now is 04:19 PM.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.