From c350bb1e9caa4d0aedb6918ff20c427c0b0a3a7a Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Thu, 14 Apr 2016 16:59:08 -0700 Subject: [PATCH] system: can use value-at, don't need to split. --- core/system/system.factor | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/core/system/system.factor b/core/system/system.factor index 2c847a599d..63a5253596 100644 --- a/core/system/system.factor +++ b/core/system/system.factor @@ -1,7 +1,7 @@ -! copyright (c) 2007, 2010 slava pestov. +! Copyright (c) 2007, 2010 slava pestov. ! See http://factorcode.org/license.txt for BSD license. USING: assocs continuations init io kernel kernel.private make -math.parser namespaces sequences splitting ; +math math.parser namespaces sequences ; IN: system PRIMITIVE: (exit) ( n -- * ) @@ -24,12 +24,11 @@ UNION: unix macosx linux ; : vm-git-label ( -- string ) \ vm-git-label get-global ; -: split-vm-git-label ( -- ref git-id ) - vm-git-label "-" split1-last ; +: vm-git-ref ( -- string ) + vm-git-label CHAR: - over last-index head ; -: vm-git-ref ( -- string ) split-vm-git-label drop ; - -: vm-git-id ( -- string ) split-vm-git-label nip ; +: vm-git-id ( -- string ) + vm-git-label CHAR: - over last-index 1 + tail ; : vm-compiler ( -- string ) \ vm-compiler get-global ; @@ -51,20 +50,17 @@ CONSTANT: string>os-hash H{ { "linux" linux } } -: key-for-value ( key hash -- val ) - >alist [ second = ] with find nip first ; - : string>cpu ( str -- class ) string>cpu-hash at ; : cpu>string ( class -- str ) - string>cpu-hash key-for-value ; + string>cpu-hash value-at ; : string>os ( str -- class ) string>os-hash at ; : os>string ( class -- str ) - string>os-hash key-for-value ; + string>os-hash value-at ; PRIVATE> @@ -80,7 +76,8 @@ PRIVATE> "Factor " % vm-version % " " % cpu cpu>string % " (" % build # ", " % - split-vm-git-label [ % "-" % ] [ 10 short head % ] bi* ", " % + vm-git-ref % "-" % + vm-git-id 10 short head % ", " % vm-compile-time % ")\n[" % vm-compiler % "] on " % os os>string % ] "" make ;