What sucks about REBOL

  • The command line editing is not similar enough to the one linux users got used to (i read the post and agree on avoiding readline)
    • ctrl-b instead of ctrl-a
    • no ctrl-r
    • cursor keys sux in R3
    • inside screen it's even more fucked up
    • no official advisory for a history file management
    • it whines about TERMCAP entry too long under Ubuntu
  • screen is always either cleared or littered on startup
  • no convenient way of supplying a program from the command line
    • --do is too long
    • i have to supply an explicite quit in the program
    • -w could be the default if the program is supplied from a string on the command line
    • it should be able to consume the program from the stdin (like bash, perl,  php, ruby...)
  • REBOL View includes a lots of very useful features, like loading DLLs and HTTPS, image file manipulation but it doesn't start up properly without an X11 display (** User Error: Bad face in screen pane! ** Near: size-text self)
  • it has only a 32bit version, so on a 64bit linux we have install ia32-libs which is 154M on Ubuntu with all its dependencies
  • stderr handling? or it cant be done in a cross platform way? (under linux, the open/write/lines %/dev/fd/2 works)
  • ... to be continued

I miss a few idioms as default which i would find useful regularly:

  • map-each works like having an implicite /only. the opposite operation would be good maybe with some index variable..
    b: [10 20 30] collect [forall b [keep b/1 keep index? b]] == [10 1 20 2 30 3]
    map-each/index/flat e i [10 20 30] [e i] should give the same result as above
  • join-with: func[b sep] [collect [forall b [keep b/1 unless tail? next b [keep sep]]]]
    print rejoin probe join-with [10 20 30] ", "
    [10 ", " 20 ", " 30]
    10, 20, 30

 

1232 views and 1 response

  • Feb 6 2010, 3:02 AM
    (Facebook) responded:
    Wow. This was unexpected from you :)