Front Page All Articles Recent Changes Random Article

Contents

Concatenative language

  • ACL
  • Ait
  • Aocla
  • Breeze
  • Callisto
  • Cat
  • Cognate
  • colorForth
  • Concata
  • CoSy
  • Deque
  • DSSP
  • dt
  • Elymas
  • Enchilada
  • ETAC
  • F
  • Factor
  • Fiveth
  • Forth
  • Fourth
  • Freelang
  • Gershwin
  • hex
  • iNet
  • Joy
  • Joy of Postfix App
  • kcats
  • Kitten
  • lang5
  • Listack
  • LSE64
  • Lviv
  • Meow5
  • min
  • Mirth
  • mjoy
  • Mlatu
  • Ode
  • OForth
  • Om
  • Onyx
  • Plorth
  • Popr
  • Porth
  • PostScript
  • Prowl
  • Quest32
  • Quackery
  • r3
  • Raven
  • Retro
  • RPL
  • SPL
  • Staapl
  • Stabel
  • Tal
  • Titan
  • Trith
  • Uiua
  • Worst
  • xs
  • XY
  • 5th
  • 8th

Concatenative topics

  • Compilers
  • Interpreters
  • Type systems
  • Object systems
  • Quotations
  • Variables
  • Garbage collection
  • Example programs

Concatenative meta

  • People
  • Communities

Other languages

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

Meta

  • Search
  • Farkup wiki format
  • Etiquette
  • Sandbox

Factor/To do/Performance

  • <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"
  • 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
  • tweak array-capacity?

Fixed:

  • linear search of recursive-state
  • make M: word hashcode foldable
  • we're inserting redundant 0 fixnum>= checks in tuple dispatch engine
  • unnecessary 7 slot calls in hashed dispatch
  • 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
  • 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

This revision created on Tue, 18 Nov 2008 15:25:05 by slava

Latest Revisions Edit

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