Sergey Logichev wrote:
> Brian,
>  
> Performance gain >4x sounds quite pretty. I see that using loadfunc
> gives about the same speed as pure C (and even faster!!!).
Oops.  Cognitive bias typo.  ;-)  I'll fix that.  loadfunc is NOT faster
than plain C, but on par for this test, perhaps a percentage or three
slower.  Thanks for prompting me take a second closer look at that chart
and the graphic.

> Your investigations are damned interesting as usual. I will be glad to
> help you in some degree. If you need programmers to write
> sample average Unicon code for expertize. I am not an programmer
> expert at all, however make the game with Icon ~20 years.
> I am very well remember the day when I at first time read about Icon
> at PC Magazine at the beginning of 90th. I was employed at that times for
> Soviet defence and had access to US/English magazines in the library.
> The language was such beautiful after algol, Fortran, PL/I and C, that
> I got the bravery and wrote to Ralph Griswould himself. So after while
> he answered (!!!) and sent me back free of charge
> diskette with MS-DOS Icon version 8. It was not easy to start without
> documentation and any book, but some years later we
> started to communuicate with our antogonistic colleagues from US (at
> the times of Gorbachev's perestoika) and they granted me the book
> "Icon Programming Language". After that Icon is my prefered choice!
Cool story, thanks.  My first go at Icon was V6 on VAX/VMS shortly after
getting GCC compiled.  Ralph was and will always be one of my heroes. 
Clinton's name made the rounds when we later compiled Icon for
DECWindows.  Most of my colleagues had to be convinced that complex
graphics programming was that easy.  :-)
>  
> As first step I would propose my own program
> https://sourceforge.net/projects/xmarkup. It may be treated as general
> usage framework,
> which may be used for very wide range of tasks: from text analysis to
> numeric calculations and data visualizations.
Sounds like a worthy path to explore once the task bubbles up to the top
of the to-do pile.
>  
> My best wishes,
> Sergey
>  
> P.S. Could you help me in mastering loadfunc() functionality on
> Windows? I still didn't manage to do that. The main obstacle is how to
> build a library.

Perhaps.  I rarely touch Windows anymore.

(On to the soapbox). The last machine I bought, right at the time when
there was no signed keys for Linux, I disabled UEFI boot and low level
formatted the hard drive for the favoured OS.  I used to dual boot, but
the gutless FUD move of UEFI just meant they lost a programmer, who will
never care to touch Windows again. I now actively tell other programmers
that I think they are being unfairly treated when using Windows, both in
terms of general computing education and regarding the right to exercise
personal freedoms.  (They actually lost me back when trying to kill off
OS/2, but I at least tried to help people with Cygwin issues.  Not
anymore.)  Something like 6? years now, clean and clear, no regrets. 
Gutless move by MS playing into the fears of people that don't know, or
don't care to know better.  Shame on them for trying to slow down
progress yet again for greed and with malice.  Non-technical people have
an excuse to use a consumer grade OS, but I'd like to think that
programmers deserve more and should actively seek alternatives at the
expense of just a little effort. (End soapbox).

If you have particular questions, I might still remember some tricks to
make things work, Sergey.

Have good,
Brian
>  
> 13.06.2017, 11:21, "Brian Tiffin" <bwtif...@gmail.com>:
>>
>> Sergey Logichev wrote:
>>
>>      Jafar,
>>
>>      That are the great news! I hope the implementation of iconc approach
>>      to build will be completed soon. I am very interesting in that as I
>>      suppose performance will increase on some factor. I am waiting with
>>      patience.
>>      Good luck!
>>      Sergey
>>
>>
>> Excuse the topic drift everyone:
>>
>> Sergey, for a hint on one small aspect of performance gain, expect about
>> 4 times raw speed for simple numeric operations. Due to the large
>> integer semantics in Unicon, that are managed implicitly with the small
>> program sample used, that number may be low overall. You can expect more
>> gain from some operations, and less from others. It will be interesting
>> to see how a mix averages out. Hypothesis at this point is that 4x is
>> the low end of the scale.
>>
>> See http://btiffin.users.sourceforge.net/up/performance.html#summary
>>
>> I'll expand on that article to cover more than just summing integers
>> soon. The entire chapter is meant to be a double edged sword, though.
>> Development time with Unicon is the star of the show really, but that is
>> a fairly hard metric to articulate without real world numbers to back
>> it up.
>>
>> The summing integers example is too short, and differences in
>> development times are negligible. The next few entries in that chapter
>> will try and document more complex problems, and track how long it takes
>> to get correct and reliable solutions. That will likely be a hard thing
>> to do objectively. Especially as an individual (with very pro Unicon
>> bias and various (low) levels of expertise with most development
>> environments). I'll try and and find some volunteers that have their
>> own favourites to tackle a set of problems and record the efforts. That
>> will take a while to organize. The goal is to exclude guru level
>> programmers, as those masters are the exception and not generally the
>> rule when measuring the productivity of most software developers.
>>
>> One issue that may make that even more difficult (and I don't think this
>> a provable point without a large scale study), is that Unicon developers
>> may already be a little bit outside the normal curve. I personally
>> think that the average "average programmer" may feel a little bit
>> daunted when faced with some of the features inherent in Unicon, and
>> might not become Unicon programmers. Those that do, by choice, have
>> already shown a particular bias and set of attributes. Like Forth;
>> those that get it, fly; those that don't, walk away and do something
>> else. Same with functional ala Haskel, or Lisp like or .... There is
>> an almost audible clicking noise when people first encounter a language
>> that they are going to "get" and have an innate knack for. :-) Very
>> much like trying to predict someone's favourite colours or types of
>> music. It's almost impossible without asking (and with music, can be
>> outright surprising sometimes).
>>
>> Have good, make well,
>> Brian
>>  
>>
>>  
>>
>>      13.06.2017, 09:27, "Jafar Al-Gharaibeh" <to.ja...@gmail.com
>>     <mailto:to.ja...@gmail.com>>:
>>
>>          Sergey,
>>
>>
>>            unicon -C invoked iconc, the unicon compiler, which
>>         produces native
>>          machine code that can run directly without the need for the
>>          interpreter: iconx. As Clint and I pointed out, this still
>>         in early
>>          stage on Windows and it doesn't get built by default. I get
>>         it to
>>          build and run sometimes on Windows but I didn't spend enough
>>         time to
>>          get it to build reliably to add it to the default build. I'm
>>         working
>>          on improving the build system and standardizing it so that
>>         most bits
>>          are handled automatically and in the same way on all platforms
>>          including Windows. Stay tuned.
>>
>>          Cheers,
>>          Jafar
>>
>>          On Tue, Jun 13, 2017 at 12:29 AM, Sergey Logichev
>>          <slogic...@yandex.ru <mailto:slogic...@yandex.ru>
>>         <mailto:slogic...@yandex.ru <mailto:slogic...@yandex.ru>>> wrote:
>>
>>              Clint,
>>              If you mean that I need GCC to make unicon it's not a
>>         problem. I
>>              usually use mingw/mingw-w64 to build C/C++ sources on
>>         Windows.
>>              But what are rt.a and rt.db? First one is DLL? But for
>>         what? All
>>              works fine on Windows without them.
>>              On MS Win you have three option to build and run Unicon:
>>         CygWin,
>>              Native Windows and Linux Subsystem for Windows (for Win10
>>              home/pro editions only).
>>              I hope that fix of "\" and "/" will be quite simple. In
>>         general
>>              sense Windows port is workable on 100%. If some
>>         inconsistencies
>>              will be found in the future - it's only good strategically.
>>              Unicon is pretty flexible, fast and excellent already.
>>         And will
>>              be better I hope!
>>              By the way, since last year in Unicon sources persists
>>         one buggy
>>              definition in gdbm/systems.h at line #165:
>>              #define TRUNCATE(dbf) close( open (dbf->name,
>>         O_RDWR|O_TRUNC, mode));
>>              Trailing semicolon (;) produces weird consequences during
>>              compilation process and prevent successful build. I
>>         think that ;
>>              added by some strange case.
>>              Sincerely,
>>              Sergey
>>
>>
>>              13.06.2017, 08:06, "Jeffery, Clint (jeffe...@uidaho.edu
>>         <mailto:jeffe...@uidaho.edu>
>>              <mailto:jeffe...@uidaho.edu
>>         <mailto:jeffe...@uidaho.edu>>)" <jeffe...@uidaho.edu
>>         <mailto:jeffe...@uidaho.edu>
>>              <mailto:jeffe...@uidaho.edu <mailto:jeffe...@uidaho.edu>>>:
>>
>>                  Sergey
>>
>>                  Your \ and / issue points out rather simply that
>>             unicon -C
>>                  hasn't fully been ported to Windows yet, and even if
>>             we fix this
>>                  little issue and get it to run, you will need a C
>>             compiler for
>>                  the generated code, and someone will have to build
>>             the runtime
>>                  system rt.a and rt.db on Windows. Maybe most of the
>>             port has
>>                  been done awhile back by Shea, but it is not in the
>>             public
>>                  Unicon binaries yet. I'll check on all this and
>>             report back.
>>
>>                  Clint
>>
>>                  /Sent from my LG G6, an AT&T 4G LTE smartphone/
>>
>>                  ------ Original message------
>>                  *From: *Sergey Logichev
>>                  *Date: *Tue, Jun 13, 2017 12:55 AM
>>                  *To: *Contact - clint.jeff...@gmail.com
>>             <mailto:clint.jeff...@gmail.com>
>>                  <mailto:clint.jeff...@gmail.com
>>             <mailto:clint.jeff...@gmail.com>>;
>>                  *Cc: *Unicon group;
>>                  *Subject:*Re: [Unicon-group] unicon -C ==> -fs tweak
>>
>>                  Clint,
>>
>>                  Now I understand. I suppose that mix of "\" and "/"
>>             is produced
>>                  by "../" somewhere internally in unicon. To avoid
>>             same problem
>>                  (as I use my code on Windows and Unix transparently)
>>             I define
>>                  path-separator character. "\" for Windows and "/"
>>             for Unix and
>>                  all is fine!
>>                  Thank you for reference to utr11, it's quite
>>             informative and no
>>                  more questions.
>>                  Thanks!
>>                  Sergey
>>
>>                  13.06.2017, 07:43, "Clinton Jeffery"
>>             <clint.jeff...@gmail.com <mailto:clint.jeff...@gmail.com>
>>                  <mailto:clint.jeff...@gmail.com
>>             <mailto:clint.jeff...@gmail.com>>>:
>>
>>                      Dear Sergey,
>>
>>                      I agree that "ca-add-link" ... "not ready" is
>>                 not a very good
>>                      message. It is easy to see the spot in the code
>>                      (uni/unicon/ca.icn) where the error message is
>>                 emitted. It is
>>                      less transparent what is the cause, and what is
>>                 the fix. One
>>                      possibility is the mixture of \ and / as path
>>                 separators seen
>>                      in the message.
>>
>>                      The error message occurs when a "table of all
>>                 the ucode files",
>>                      uftbl, does not have a table entry for the
>>                 requested file, in
>>                      this case
>>                 c:\\work\\unicon\\bin\\../ipl/gprocs\\graphics.icn
>>
>>                      I can imagine the table having that path to
>>                 graphics.icn
>>                      inserted, but all with \\ or all with /. Unlike
>>                 a C open()
>>                      command, a table lookup will not accept either
>>                 character as
>>                      equivalent. I will need to experiment on a
>>                 Windows machine to
>>                      try and reproduce your bug and find out if it
>>                 has to do with \\
>>                      vs. / or something else, unless you or someone
>>                 else beats me to
>>                      it. If it is \ and / mixing that is the problem,
>>                 it should be
>>                      pretty easy to fix.
>>
>>                      In answer to your other question, I agree that
>>                 unicon -help is
>>                      swell. The man page for unicon
>>                      is http://unicon.org/utr/utr11.html and if the
>>                 -help output or
>>                      the utr11.html are unclear, we want to know
>>                 about it so we can
>>                      make additions and corrections to them.
>>
>>                      Cheers,
>>                      Clint
>>
>>                      On Tue, Jun 13, 2017 at 12:24 AM, Sergey Logichev
>>                      <slogic...@yandex.ru
>>                 <mailto:slogic...@yandex.ru>
>>                 <mailto:slogic...@yandex.ru
>>                 <mailto:slogic...@yandex.ru>>> wrote:
>>
>>                          Hello Clint,
>>
>>                          Unfortunately, I didn't managed to build my
>>                 lovely program
>>                          with -C option. I got the following (that's
>>                 the end of long
>>                          output):
>>                          Parsing xm.icn:
>>                          
>> ..........................................................................
>>                          Parsing sort.icn: .....
>>                          Parsing process.icn:
>>                          
>> ......................................................
>>                          Parsing options.icn: .
>>                          Parsing regexp.icn:
>>                 ....................................
>>                          Parsing futils.icn: .................
>>                          Parsing escape.icn: ...
>>                          Parsing asort.icn: ............
>>                          Parsing xmprocs.icn: ...............
>>                          Parsing unicodes.icn: ....................
>>                          Parsing htmlutils.icn: ...........
>>                          Parsing graphprocs.icn: ........
>>                          Parsing
>>                 c:\work\unicon\bin\../ipl/gprocs\graphics.icn:
>>                          .........ca-add-link:
>>                          "c:\\work\\unicon\\bin\\../ipl/gprocs\\graphics.icn"
>>                 not ready.
>>
>>                          I don't understand what does it mean - "not
>>                 ready". Could
>>                          you please dechipher this message. I have
>>                 "link graphics"
>>                          in my code and I sure that it is already
>>                 compiled. Without
>>                          option -C all is built fine.
>>                          As for option -fs, in my humble opinion it
>>                 should be
>>                          always. As I understand if I have some
>>                 procedures in code
>>                          which are not called they will be removed during
>>                          compilation as redundant. But it's not my
>>                 case, I need such
>>                          procedures definitly, as my program
>>                 interprets and runs
>>                          "on-the-fly" scripts written in simplified
>>                 Icon/Unicon and
>>                          these scripts can include any available
>>                 procedural calls.
>>                          It's slightly extended version of an
>>                 approach firstly
>>                          implemented by Stephen Wampler in IPL's
>>                 icalc.icn.
>>                          Maybe you can advice some more advanced
>>                 approach to me? I
>>                          will be very appreciated to you.
>>                          Sincerely,
>>                          Sergey Logichev
>>
>>                          PS. I was very happy to see option -help for
>>                 uncion! That's
>>                          really great! Does it exist more complete
>>                 description of
>>                          each option in docs?
>>
>>                          12.06.2017, 20:47, "Clinton Jeffery"
>>                          <clint.jeff...@gmail.com
>>                 <mailto:clint.jeff...@gmail.com>
>>                 <mailto:clint.jeff...@gmail.com
>>                 <mailto:clint.jeff...@gmail.com>>>:
>>
>>                              Dear Uniconers,
>>
>>                              Lots of exciting work is getting done by
>>                     the Unicon
>>                              community right now. I hope you are
>>                     having a blast.
>>
>>                              Just to let you know: after several of
>>                     you reported
>>                              programs that would run under unicon -C
>>                     but only if the
>>                              -fs option was used, I went ahead and
>>                     asked Ken Walker if
>>                              there was any reason not to turn -fs on
>>                     all the time,
>>                              other than the slightly larger code size
>>                     it would entail.
>>                              He indicated that actually using string
>>                     invocation (the
>>                              feature -fs was written to support)
>>                     reduces the
>>                              effectiveness of type inferencing, but
>>                     that leaving -fs on
>>                              was fine if we don't mind the code size.
>>
>>                              So, I turned on -fs automatically if -C
>>                     is used in unicon,
>>                              in our svn repository. It allows a
>>                     number of Unicon
>>                              programs to compile or run correctly
>>                     that otherwise do
>>                              not. But, if you encounter any problems
>>                     due to it, I want
>>                              to hear about them and could change the
>>                     default back if it
>>                              has any really bad side effects. If you
>>                     are using a
>>                              binary distribution or building from a
>>                     .zip this change
>>                              won't affect you for now.
>>
>>                              Cheers,
>>                              Clint
>>
>>                              ,
>>
>>                              
>> ------------------------------------------------------------------------------
>>                              Check out the vibrant tech community on
>>                     one of the world's
>>                              most
>>                              engaging tech sites, Slashdot.org!
>>                              http://sdm.link/slashdot
>>                     <http://sdm.link/slashdot>
>>
>>                              ,
>>
>>                              _______________________________________________
>>                              Unicon-group mailing list
>>                              Unicon-group@lists.sourceforge.net
>>                     <mailto:Unicon-group@lists.sourceforge.net>
>>                              <mailto:Unicon-group@lists.sourceforge.net
>>                     <mailto:Unicon-group@lists.sourceforge.net>>
>>                              
>> https://lists.sourceforge.net/lists/listinfo/unicon-group
>>                      
>>
>>
>>              
>> ------------------------------------------------------------------------------
>>              Check out the vibrant tech community on one of the
>>         world's most
>>              engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>              _______________________________________________
>>              Unicon-group mailing list
>>              Unicon-group@lists.sourceforge.net
>>         <mailto:Unicon-group@lists.sourceforge.net>
>>              <mailto:Unicon-group@lists.sourceforge.net
>>         <mailto:Unicon-group@lists.sourceforge.net>>
>>              https://lists.sourceforge.net/lists/listinfo/unicon-group
>>
>>          
>>
>>
>>
>>      
>> ------------------------------------------------------------------------------
>>      Check out the vibrant tech community on one of the world's most
>>      engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>
>>
>>      _______________________________________________
>>      Unicon-group mailing list
>>      Unicon-group@lists.sourceforge.net
>>     <mailto:Unicon-group@lists.sourceforge.net>
>>      https://lists.sourceforge.net/lists/listinfo/unicon-group
>>
>>  
>>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Unicon-group mailing list
Unicon-group@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/unicon-group

Reply via email to