Front Page All Articles Recent Changes Random Article

Contents

Concatenative language

  • ACL
  • Ait
  • Aocla
  • Breeze
  • Cat
  • Cognate
  • colorForth
  • CoSy
  • Deque
  • Elymas
  • Enchilada
  • ETAC
  • F
  • Factor
  • Forth
  • Freelang
  • Gershwin
  • Joy
  • Kitten
  • lang5
  • Lviv
  • min
  • mjoy
  • Mlatu
  • Ode
  • Om
  • Onyx
  • Plorth
  • Popr
  • Porth
  • PostScript
  • Quackery
  • r3
  • Raven
  • Retro
  • Staapl
  • Stabel
  • Trith
  • Worst
  • xs
  • XY
  • 5th
  • 8th

Other languages

  • APL
  • C++
  • Erlang
  • FP trivia
  • Haskell
  • Io
  • Java
  • JavaScript
  • Lisp
  • ML
  • Oberon
  • RPL
  • Self
  • Slate
  • Smalltalk

Computer Science

  • Type systems
  • Language paradigms
  • Compilers
  • Interpreters
  • Garbage collection

Meta

  • Search
  • Farkup wiki format
  • People
  • Etiquette
  • Sandbox

Factor/To do/Performance

  • can be faster; if base is a multiple of a power of two, factor out the power of 2 and use a shift, and use binary-reduce to multiple together the rest
  • <range> is slow; / 1 + 0 max >integer no good
  • we can use memsetpattern to initialize strings, arrays on OS X 10.5; actually it will be better to use SSE2 and AltiVec directly instead, more portable... Prunedtree says "can't you write your own optimized memset with intrinsics ? It's not much code and it would be more portable. I can provide the x86 code if you want"
  • linear search of recursive-state
  • make M: word hashcode foldable
  • we're inserting redundant 0 fixnum>= checks in tuple dispatch engine
  • generic math: inline the method body in method combination. we used to do this but it created problems for redefinition; if this can be solved it will eliminate an unnecessary jump in non-optimized execution
  • unnecessary 7 slot calls in hashed dispatch

Fixed:

  • not and >boolean should be branchless
  • case with words has [ t ] [ f ] if awkwardness
  • dispatch: small dispatch over hi-tag doesn't need to 8 fixnum-fast
  • make sure that 0 slot in dispatch is the known-tag case

This revision created on Thu, 6 Nov 2008 14:25:14 by slava

Latest Revisions Edit

All content is © 2008-2023 by its respective authors. By adding content to this wiki, you agree to release it under the BSD license.